I am an AI seeker, evolving everyday by creating applications and side projects in the field of AI. A generalist, polyglot software developer, not delimited by any programming language or framework. Acclaimed for being proactive and self-motivated team player.
I aspire to occupy a reasonable and challenging position in the domain of AI. Code, Create, Celebrate is my Mantra.
Want to work together? I’d love to hear from you :-)
As the Core AI Programmer in a Startup, my responsibilities spread from designing, developing, maintaining a distributed platform which empowers AI to learn and showcase its Intelligence, using DL-NN algorithm implementations for the Gaming Industry.
Payroll Company Sarathi Softech Pvt. Ltd.
Technologies used: Scala-Java ecosystem (Akka, Play, DL4J, nd4j etc.), JavaScript Bootstrap, Chart.js, PostgreSql, SBT, Octave.
At a Hackathon conducted by ARL (Aptean Research Lab), I proposed a use case of Recommendation System for product Vantage and prototype was built for the same. Research on the same was done for two more of Aptean existing products Knova and CoreTrac during my 2 months tenure with ARL.
Technologies used: Python 3.x, Jupyter notebook.
To resolve the dump of emails in my Gmail inbox, unsatisfied with the limited number of labels Gmail categorize data I had this idea to gather insight from the emails in my inbox and categorizing them to those labels. Github Link.
TODO:Connecting the insight gathered from clustering with chrome extension to view the mails according to the labels clustered.
Technologies used: Python 3.x, Gmail-API, Google-Colab, pandas, sklearn, matplotlib.
To resolve my overgrowing pictures taken from phone, watsapp and other sources, I am developing this image clustering app, which is going to group the similar images into a folder.Ongoing!
Joined as a Full Stack Web Developer for product Vantage, I gained expertise on multi-tenant architecture built using Scala-Ecosystem Technology Stack.
Being the 1st member of Indian development team, of a newly procured product by the company, my responsibilities were to acquire product knowledge to lead upcoming members of the team, Bug fixes, Develop new enhancements, Contribution in product Migration and Architectural Enhancement Prototype, Refactoring old Modules, implementing Unit-testing framework.
Most valuable contribution was revamping the Storage module giving it a new look (something similar to Google Drive) powered by a Rest API, which enhanced the module performance by making it faster and crash-free.
Technologies Used : Scala, Play-Scala, SBT, Akka/Kafka, PostgreSql, Slick, Sqitch, Bootstrap, JQuery, UI Markup (HTML5, CSS3, JavaScript), JSON, GIT.
Tools Used : IntelliJ Idea, PG-Admin, Nix-OS
Joined as a Fresher, went through a stringent training at Infosys Mysore. Outperformed the peer, becoming the Top Performer by consistently excelling in a series of 8 exams. Gained technical experience on technologies like Python, Oracle DB 9i/10g, Java 8, JEE, JSF, Hibernate, Web-Tech (HTML5, CSS3 and JavaScript), jQuery, JUNIT-Mockito, Ant.
Worked as a Full Stack Developer enhancing the existing Eflight application by adding new client requirements, bug fixing in existing modules for the client Bristow Group Inc.
Technologies Used : Web-Tech (HTML5, CSS3, JavaScript), java 7, jQuery, Spring, Hibernate, MySql.
Tools Used : Eclipse Indigo, Toad 7.7, Apache Tomcat 7.02, iReports 4.5.1, Mozilla Firebug, Tortoise SVN.
Also worked in 3 internal POC projects namely:
Attended a 22 days practical training program on JEE Technologies like servlets, jdbc, JSP and also MySql and Apache Tomcat. It helped me in building a foundation of knowledge in the field of Web Application Development, followed by a Corporate Project.
Worked as a Full Stack developer in a team of four, creating a recognized master piece of Web Application ready to be operational by Educational Institution for facilitation of online examination.
Technologies Used : Java, JSP, J2EE, HTML5, CSS3, Javascript
Tools Used : IntelliJ Idea, PG-Admin, Nix-OS
My first on field working experience was at BSNL Telecom Factory, learning and collaborating with professional engineers with utmost domain knowledge.
Created a report on existing LAN network connectivity in the Factory, finding latency causes in it and providing better network topological solution.
Corporate training at Aptean provided by Siddi Softec – Aditya Prabhakara, with hands on in Play/Scala MVC, Akka/Kafka projects.
Certified by Maulana Abul Kalam Azad University of Technology formerly known as WBUT, I undergraduated in Electronics and Communication Engineering, with 8.12 DGPA and got the opportunity to work with Jadavpur University professor for the final year project described below.
University Final Year Project on Image Processing using MATLAB. Thesis on above, implementing a modified algorithm based on Region Growing technique to detect the center line of a coronary artery from a gray scale x-ray image.
Board: Indian School Certificate (ISC) - 84%. Among top 10 scorers from school.
Board: Indian Certificate of Secondary Education (ICSE) - 87%.
Chegg Inc. a US Education Giant, a leading provider of online homework helps for college and high school students like Harvard and prestigious college from all over the world. As a subject Expert work was to help Chegg registered students with their assignments and projects.
E-Commerce Shopping web application with encrypted secure payment by implementing RSA algorithm.
Technology Used: Java/JEE (HTML5, CSS3, JavaScript, JSP, Servlet) and MySQL.
Web Application resembling Indian Bureau of Immigration (BoI), where immigrants can apply for application and learn about Indian law and culture.
Technology Used: HTML5, CSS3, JavaScript, PHP and MySQL.
School Data Management system where parents can check for children’s report and school activities as well as teachers can update or create activities.
Technology Used: HTML5, CSS3, JavaScript, PHP and MySQL.
Windows Application for customers to check and pay electricity bills and also with admin UI for admin to update and generate electricity bills.
Technology Used: Vb6, visual studio 2008 and MS Access.
Scala, Java, JavaScript, Play-Scala, Dl4j, SBT, Akka, PostgreSql, GIT, AWS-EC2 deployment, Python, pandas, numpy.
Slick Sqitch, Bootstrap, JQuery, UI Markup (HTML5, CSS3, JavaScript), JEE(Servlet, JSP/JSF, JDBC), Spring, Hibernate, JSF, Angular JS, Node JS, Android ADT, Toad-MySQL client, DATABASE (SQL Server 2008, Mysql, Oracle SQL), iReports, PHP, VB.Net, ASP.NET.
Appreciated for my Proactive Work, which helped the company meet its goal for the product Vantage and also for the research work at Aptean Research Lab which added business value to Aptean existing product.
Stood as Top Performer (TPF) by scoring overall aggregate of 93% during Infosys Training at Mysore, 1st in Java stream.
Finalist in Inspiral-On (a manual robotics event) at Kshitij 2014 (IIT Kharagpur Technical Fest), where teams participated from all over the globe.
Certified in “Programming in HTML5 with JavaScript and CSS3” (Exam Code 70-480) conducted by Microsoft, by scoring 85.7%.
Certified in “Database Administration Fundamentals” (Exam Code 98 – 364) conducted by Microsoft, by scoring 84.2%.
Certified in “Microsoft Office Word 2010” (Exam Code 77-881: MOS) by scoring 81.5% and “Microsoft Office PowerPoint 2010” (Exam Code 77-883: MOS) by scoring 89.3% conducted by Microsoft.
Intra WBUT University online fest conducted by mywbut.com, participants enrolled from colleges all over west Bengal.


About FlippingBook for Flipbooks
FlippingBook is a professional software for creating marketing and sales flipbooks.
We believe that flipbook is the best format for presenting documents on the web. It gives them a life-like look as well as accessibility, professional touch and comfortable navigation.
Flipbook
is an excellent way to seamlessly show a catalog on the website or share a newsletter through social media. There’s nothing easier, than share an online flip book via email, too.
Our company has been developing flipbook solutions since 2004. We take pride in providing the excellent quality of the publications, while keeping the software intuitive and easy-to-use.


HOME
SIGN IN
SIGN UP
HOME LOAN
IDENTIFICATION PROOFS.
Type of Occupation
*
Select
Self Employed
Salaried
Aadhaar
*
PAN Card Proof
*
Any site Documents
*
Salary Certificate
*


Choose the correct answer(s) for the following statements:
(20 Marks)
A structural testing strategy whose objecte is to exercise every independent execution path through a compunent or program that testing is called _______ testing.
(A)walidation (B)path (C)structural (D)software
Software inspectio is a static V & V process in which a software system is reviewed to find___________.
(A)errors (B)omissions (C)anomalies (D)all of them
________ metrics are associated with software products.
(A)Predictor metrics (B)Control metrics (C)dynamic metric
The establishment of a framework of organization procedures and standards that that leaad to hight-quality software.
(A)Quality assurance (B)Quality control (C)Quality planning
Which o fthe following tasks is not part of software configuration management?
(A)Change control (B)Version control (C)Configuration stuatus reportng (D)None of these
________ people are motivatied by the presence and actions of coworkders.
(A)Tasl-oriented (B)Self-oriented (C)Interaction-iOriented (D)none fo these
There are _________ sub models that are part of COCOMO II model.
(A)five (B)four (C)three (D)two
Which of the following is the process improvement model?
(A)CMMI (B)Prototyping (C)Agile (D)V model
A ________ is developed using historical cost information that relates some software metric to the project cost.
(A)Algorithmic cost modeling (B)Expert judgment (C)Parkinson's low (D)Pricing to win
The CMMI indetifies 24 process areas that are relevant to software process capability and improvement.
(A)Process areas (B)Goals (C)Pratices
Does the group think of itself as a team rather than as a collection of individuals who are workking together refer to ________.
(A)Group composition (B)Group cohesiveness (C)Group organzation (D)Group communication
Process improvement cycle involves ___________.
(A)Process measurement (B)Process analysis (C)Process change (D)all of them
________ is a measure of the control complexity of the program.
(A)Length of code (B)Process analysis (C)Process change (D)Fog index
What is the name of process which will ensure that different versions of system and its components are recorded and maintained?
(A)Workspace (B)Versions (C)Code control (D)Configuration Control
Techniques of process analysis include ____________.
(A)Questionnaires and interviews (B)Ethographic studies (C)both a and b (D)none
Process standard and process standards are parts of the quality assurance process.(True/False)
System building is the process of compiling and inking software components into a program that executes on a particular target conflguration.(True/False)
Self-oriented people are interested insoftware development as a menas of achieving theit own goals.(True/False)
Defect testing is intended to reveal defects in the system rather than to simulate its operational use.(Ture/False)
Process improvement involves proceess analysis, standardization, measurement and change.(True/False)
People in software engineering process need team work for success of software.What factors influence on group working?
(5 marks)
In group working, members think of the group as more important than the individeeul in it. What is it called? What are the advantages of such group?(5 marks)
The people capability maturity model (P-CMM) is practical tool for improving the management of people in an organization to develop their capability.How many levels imvolved in P-CMM model? List them.(5 marks)
Qualit assurance is the process of defining or selected standards that should be applied to the software development process or software product. How many types of standards are there as part of the quality assurance process? Describe example standard handbook.(5 marks)
For a quality project development, a quality plan is needed. Describe an outline structure of a quality plan to prduce quality software.(5 marks)
Software process cna be improved to produce better software. What are the priciple stages in process improvement?
(5 marks)
Process improvement is a long-germ and continuous activity that optimizes the process attributes. What are process characteristics or atttributes that need to optimize in process improvement?(5 marks)
Software configuration management is the process of manageing the code and docuentation of an evolving software system. List the fundamental activities in CM?
(5 marks)
Version and release management process are concerned with identifying and keeping track of the version of a produced system. In alarge software system, there are hundreds of softwere components, each of which may exist in several different versions. To avoid the unambiguous ways to identify each component version, there are there are three basic techniues for component version identification. Describe them.
(5 marks)
Case Study One(15 marks)
For path testing, draw the flow graph based on given procedure routine.Then callculate the cyclomatic complexity and numbers of indepent paths from your fow graph. Note: the givven procedure computes average of array elemnts if the value is between 100 and 0.
PRPCEDUTE average (int[] value){
int average, total.input,total.valid;
int maximum, minimum, sum,i;
i=0; maximum = 100; minimum=0;
total.input=0;total.valid=0;sum=0;
while(i < value.length AND total.input < value.length){
total.input=total.input + 1;
if(value[i] >= minimum and value [i] <= maximum){
total.valid = total.valid + 1;
sum = sum + value[i];
}
i=i+1;
}//endwhile
if(total.valid > 0)
average = sum/total.valid;
else
average = 0;
return avverage;
}
Case Study Two(14 marks)
Consider the following program code and find all fault classes for statics analysis chech and describe type of faults you found in the program.
public class CalcuateTest{
public static void main(String[] args)
{ int[] Anarray[5]; int i; char c; int x; int a;
Printarray (Anarray,i,c);
Printarry (Anarray);
a = 10;
if (calculate(x) == 213)
x = 123;
else if (calcuate(x) == 213)
i = 1;
}
Public static void Printarray (int[] x)
{ for (int i= 1; i < x.length(); i++;)
System.out.println("Array Value" + x[i]); }
Public static int calculate (int a)
{ a = square(a) * 3; return a;}
Public static int comp_avg(int a)
{ a = square(a)/100; return a;}
}
Case Study Three(6 marks)
Calculate the software cost and total cost for the option A to F in the following tables and then estimate the calendar time
(TDEV) required to complete a project where B is 1.17 for option in A to F. The average cost for one person-month of effort is $10,000.


Portfolio
CS 481 Example
Homework
Thumbnail / Link
Description
Realtime rendering
0
WebGL Portfolio
1
Rotating Mesh
2
Texture Maps
3
Camera and Lights
4
Shadow Maps
Ray Tracing
1
Ray Tracing "Hello, World"
2
Triangles
3
Recursion
4
Monte Carlo and Materials
Class Project
Midterm
Midterm Proposal
Final
Final Project
Back


Fingerprinting is active.
Fingerprinting is not active.
Tracking Options
Log
Sync Logout
Progress: 0.0%
FloorName:
RoomName:
On Off


“OneWireIO-Pure.exe” Readme
Introduction
“OneWireIO-Pure.exe” is a GUI Demo app for exercising all features of the 1-Wire Port Adapter, including both standard speed and overdrive speed resets, bit operations, byte operations, power delivery operations, and searches. The "-Pure" qualifier refers to the fact that this references the Adapter object
defined in the Pure-C# OneWireLinkLayer, a portable 1-Wire API that is compatible with the .NET Compact Framework.
Requirements
Only the Compact .NET Framework is required for serial ports on a Windows CE
device. However, for demo purposes on a PC, the 1-Wire Drivers version 4.00 or
higher will provide support for other adapters such as USB or parallel ports
(on a PC).
Compact .NET Framework 2.0 Redistributable:
When compiling this program, make sure that the program references OneWireLinkLayer.dll.
Operation
After installing the prerequisites, simply extract the OneWireIO-Pure.exe file, along with OneWireLinkLayer.dll, to a folder on your PC. Double-click the OneWireIO-Pure.exe file in the ..\bin directoryto start the application. Under the File menu, select the 1-Wire adapter submenu and select your 1-Wire adapter and port combination. The status bar will display the adapter and port you selected if it was successful in opening the port.
Revision History
1.00 - First release.
2.00 – Second release with Compact .NET Framework 2.0.
Files
App.ico
- Application icon.
AssemblyInfo.cs - C# module containing version/manufacturer data.
OneWireIO-Pure.csproj - C# project file.
OneWireIO-Pure.csproj.user – C# project user file.
OneWireIO-Pure.sln - Visual Studio 2005 main solution file.
OneWireIO.cs - C# module containing most of the example code.
OneWireIO.resx - C# resource file.
Readme.html - This file.
..\..\..\..\Lib\Compact.NET\OneWireLinkLayer.dll - 1-Wire API for
Compact .NET
..\bin\OneWireIO-Pure.exe - Program executable.


Our privacy policy
We are committed to protecting your privacy. Here is our commitment to you:
- All your personal data is securely transmitted and stored with 128 bit encryption
- We will never sell any of your personal information to a 3rd party
- We won't email you marketing messages or other annoying spam, ever


Warning: This is just a mind dump. It's not a coherent story and it's mostly for me to read back on my thought. I'm publishing it in the hope that other people can learn from my thought process.
To recap for the ones who aren't aware. Hom is a (hypothetical) library for writing (hopefully) blazingly fast clientside web applications using GHCJS. Its inspired by ReactJS which uses DOM diffing to calculate the optimal way to execute view changes. It basically turns your app into State -> Html
. A great fit for the functional paradigm. Because I hate JS as much as you guys I decided to bring this lovely goodness to haskell. Luite and I made a start with the ghcjs-vdom library which is a thin wrapper around the js dom diffing algorithm. I was really enthousiastic but the project somehow ended up on my shel of "I'll start working on this project again when I feel like it"-projects.
Currently Hom
is in the "showerthought" phase when every once in a while during a shower I come up with ways to improve my library.
This week I had to quickly create a dashboard for a TV at my university. I decided to use Elm. Development ended up being a joy and shipped the project after a day of elm-hacking.
The joy of working with elm-html
was awesome. elm-html
has similar goals to Hom though elm is a lot less powerful language than haskell.
I suggest reading up on Elm architecture tutorial before continuing.
One of the things that annoyed me during the project is that there is a lot of code duplication. Especially a lot of the same pattern matches to delegate actions down to sub-components etc.
Last night I was reading some lens stuff (one of those things I am trying to grock at this moment) and I started reading about prisms. "First class patterns" they're supposed to be. Well that sounds like something I could use right? I see that I keep doing the same kind of pattern matches for different scenarios. A 'pattern' seems to emerge (pun intended). Maybe I can abstract it with prisms? This was the shower thought.
So this morning I started type-hacking and I ended up with some awesome stuff.
I'm gonna assume for now that all elm's APIs are accessible in my hypothetical Hom
library. All the following code is haskell.
We're gonna build an app that combines two apps into one. Namely it includes a Facebook and a Twitter widget.
The facebook and twitter widgets are defined as follow:
module Facebook where
import Control.Lens
import VirtualDom
import Signal
data Model = Model
{ _likes :: Int
, _comments :: [String]
}
data Action = Like
| Comment String
deriving Show
update :: Action -> Model -> Model
update Like = ...
upate (Comment s) = ...
action :: Signal Action
action = -- facebookAPISource + input events etc
view :: Model -> Html
view m = ... code that renders the facebook widget ...
And Twitter:
module Twitter where
import VirtualDom
import Signal
data Model = Model
{ _status :: String
}
data Action = Tweet String
| Favorite
deriving Show
update :: Action -> Model -> Model
update (Tweet s) = ...
update (Favorite) = ...
action :: Signal Action
action = -- twitter api and input events etc.
view :: Model -> Html
view m = -- code that renders the widget --
Now we want to combine these widgets. So our new model is going to be the union of those two widgets:
data Model = Model
{ _facebook :: Facebook.Model
, _twitter :: Twitter.Model
}
And the actions is going to be the union of the two widgets
data Action = FBAction Facebook.Action
| TAction Twitter.Action
| Close -- our own action for our own component
And our update function would be lame pattern matches. Every time we add a new subcomponent...
update :: Action -> Model -> Model
update Close m = ... change the state so the app is closed ...
update (FBAction a) m = m { _facebook = Facebook.update a (_facebook m) }
update (TAction a) m = m { _twitter = Twitter.update a (_twitter m) }
Render the views...
view :: Model -> Html
view m =
div []
[ Facebook.view (m^.facebook)
, Twitter.view (m^.twitter)
]
And run the app ...
app :: Signal Html
app = Signal.foldp update initialState action
I don't know why but I wanted to hack this into something more nice with lenses and prisms.
Now we do:
makePrisms ''Action
makeLenses ''Model
and we can start doing magic!
After reading the Prism documentation and stack overflow ( http://stackoverflow.com/questions/20774475/use-a-parameter-as-pattern-in-haskell) I found a way to easily extend
your action handler.
say we have:
update' :: Action -> Model -> Model
update' Close = .. state to close the app ..
and we want to add the facebook widget to that. We end up doing this:
update :: Action -> Model -> Model
update = update' & outside _FBAction .~ over facebook
. Facebook.update
If we want to add a twitter widget to that we can just add it to the chain:
update = update' & outside _FBAction .~ over facebook
. Facebook.update
& outside _TAction .~ over twitter
. Twitter.update
We can extract this pattern into a utility function:
You should see it as: If we have a prism that given an action might give us a local action apply the local action to the global state by lensing into the global state to a part that is our local state and update that.
( I simplified the types a lot. Apparently this works for any Profunctor. not just (->) . Though I'm not sure what that means. Heck I don't even know what a Profunctor is. This lens library thing sure is complex.)
updateWith :: APrism' action localAction
-> Setting' (->) model localModel
-> (localAction -> localModel -> localModel)
-> (action -> model -> model)
-> (action -> model -> model)
updateWith action lens update =
outside action .~ over lens . update
So our code becomes:
withWidgets :: (Action -> Model -> Model) -> (Action -> Model -> Model)
withWidgets = updateWith _FBAction facebook Facebook.update
. updateWith _TAction twitter Twitter.update
update = withWidgets update'
So now we can easily add as many widgets as we want using function composition! Nice! Because the local states of widgets don't overlap, the order in which we compose these updateWiths
doesn't matter. widgets actions are commutative.
Okay so we got state updating covered. How do we delegate signals from the main component to subcomponents? Lets see how we used to do it in elm.
action_ :: Signal Action
action = FBAction <$> Facebook.action
<|> TAction <$> Twitter.action
Actually this is quite elegant. But I want to do it with prisms because heck why not.
 I am going to dub it liftReview
. It's simply review lifted into a functor.
Anyhow. Here my type-hacking endevaours stop. It was nice and I learned a lot about lenses. Haskell on the clientside web is awesome. I need to build this hypothetical library. It's gonna be sick.
peace.


module Lang.other where
open import Lang.dataStructures renaming (_+_ to _⨦_)
open import Lang.functions using (_+_)
Modules are used to scope variable and function namespaces such as “packages” in languages like java or python. They behave as closures with the indentation as the indicator of the extent of the closure. Each Agda source file may contain one module at the top level. Modules can be imported as can be seen from the blocks of imports above.
Modules support nesting:
module nested where
module X where
= one
x₁
module Y where
= two
x₂
= X.x₁ + Y.x₂ sum
Importing modules:
open nested.X
= x₁ + one
x₁₁
open nested.Y renaming (x₂ to x₃)
= x₃ + one x₂
Modules can have parameters valid inside their closures:
module Sort (A : Set)(_≤_ : A → A → Bool) where
: A → List A → List A
insert = x :: []
insert x [] (y :: ys) with x ≤ y
insert x (y :: ys) | true = x :: y :: ys
insert x (y :: ys) | false = y :: insert x ys
insert x
: List A → List A
sort = []
sort [] (x :: xs) = insert x (sort xs) sort
Tuples are called as Record
s in Agda. Some examples are:
A tuple of Bool
and ℕ
:
record R : Set where
field
: Bool
r₁ : ℕ r₂
A generic tuple:
record Pair (A B : Set) : Set where
field
: A
fst : B snd
An object of Pair
can be constructed as:
: Pair ℕ ℕ
p23 = record { fst = two; snd = three } p23
The constructor
keyword can be specified to construct records:
record Pair' (A B : Set) : Set where
constructor _,_
field
: A
fst : B
snd
: Pair' ℕ ℕ
p45 = four , five p45
The values of a record can be pattern matched upon:
: Pair' ℕ ℕ → ℕ
left (x , y) = x left
A record can be parameterized:
record List' (A : Set) : Set where
constructor L
field
: ℕ
length : Vec A length
vector
: List' Bool
list₂ = L three vec3 list₂
All Data
definitions have an equivalent Record
definition, however Record
s are preferred whenever possible as a convention. Records have the obvious advantage of providing getters
and setters
for free.
postulate
s are another Agda language construct. These facilitate defining some type without the actual implementation.
postulate
: Set
A B : A
a : B
b _=AB=_ : A → B → Set
: a =AB= b a==b
data False : Set where
postulate bottom : False


{{ item.title }}
{{ item.teaser_sentence }}
{% extends 'base.html' %} {% set jsPackName = 'main' %} {% set context = data.text %} {% set authorComma = joiner() %} {% set dorms = data.dorms.dorms %} {% set recirc = data.dorms.featured_articles %} {% block content %} {% include 'components/housing-masthead.html' %}
| Dorm | Size | Type | {% for item in dorms %}
{{ item.size }} |
{{ item.dorm_type }} |
North and South Campus
We chose to divide the unofficial "North Campus" and "South Campus" by Foster Street, so anything south of Foster is South Campus and anything north of Foster is North Campus.
Types of halls
The university categorizes its halls into four types. A residential community has student-organized events and live-in faculty. A residential college has a theme and offers activities and specialized classes supported by faculty fellows. Special interest housing includes Interfaith Residence Hall in 1835 Hinman, GREEN House and other halls with particular focuses. A residence hall offers a classic college experience.
Gender Open Housing
Gender Open Housing has existed since 2010 as "an arrangement whereby students, regardless of sex, gender, or gender identity, are permitted to share a room or suite in select areas of Northwestern’s residence halls." Currently, no first-year students are eligible for gender open housing.
North by Northwestern is an independent student-run publication that covers all things Northwestern, from campus speeches to the best campus hookup spots. We don't publish over the summer, but follow us on Twitter and on Facebook for content starting during Wildcat Welcome.
In the meantime, check out some of these other North by Northwestern stories to help you prepare for freshman year:
{{ item.title }}
{{ item.teaser_sentence }}


from blenderneuron.section import Section
from neuron import h
import numpy as np
[docs]class NeuronSection(Section):
[docs] def from_updated_blender_root(self, blender_section):
self.update_coords_and_radii(blender_section)
self.segments_3D = []
for i, blender_child in enumerate(blender_section["children"]):
section = self.children[i]
section.from_updated_blender_root(blender_child)
[docs] def from_skeletal_blender_root(self, source_section, group):
try:
sec_name = group.node.rank_section_name(source_section["name"])
if sec_name is not None:
self.from_nrn_section(group.node.section_index[sec_name], group)
except KeyError:
raise Exception("Could not find section: " + sec_name + " loaded in NEURON")
[docs] def from_nrn_section(self, nrn_section, group):
self.group = group
self.nrn_section = nrn_section
self.name = nrn_section.name()
for nrn_child_sec in nrn_section.children():
child = NeuronSection()
child.from_nrn_section(nrn_child_sec, group)
self.children.append(child)
self.get_coords_and_radii()
parent_seg = nrn_section.parentseg()
self.parent_connection_loc = parent_seg.x if parent_seg is not None else None
self.connection_end = nrn_section.orientation()
self.segments_3D = []
[docs] def update_coords_and_radii(self, blender_section):
self.nseg = blender_section["nseg"]
self.point_count = blender_section["point_count"]
self.coords = blender_section["coords"]
self.radii = blender_section["radii"]
nrn_section = self.nrn_section
# Use 3D points as the L and diam sources
h.pt3dconst(1,sec=nrn_section)
# Clear the existing points - and allocate room for the incoming points
h.pt3dclear(self.point_count, sec=nrn_section)
# Use vectorization to add the points to section
coords = np.array(self.coords).reshape((-1, 3))
diams = np.array(self.radii) * 2.0
xvec = h.Vector(coords[:,0])
yvec = h.Vector(coords[:,1])
zvec = h.Vector(coords[:,2])
dvec = h.Vector(diams)
h.pt3dadd(xvec, yvec, zvec, dvec, sec=nrn_section)
[docs] def get_coords_and_radii(self):
nrn_section = self.nrn_section
# Count 3D points
point_count = int(h.n3d(sec=nrn_section))
# Let NEURON create them if missing
if point_count == 0:
h.define_shape(sec=self.nrn_section)
point_count = int(h.n3d(sec=self.nrn_section))
# Collect the coordinates
coords = [None] * point_count * 3 # 3 for xy and z
radii = [None] * point_count
for c in range(point_count):
ci = c * 3
coords[ci] = h.x3d(c, sec=nrn_section)
coords[ci + 1] = h.y3d(c, sec=nrn_section)
coords[ci + 2] = h.z3d(c, sec=nrn_section)
radii[c] = h.diam3d(c, sec=nrn_section) / 2.0
self.nseg = int(nrn_section.nseg)
self.point_count = point_count
self.coords = coords
self.radii = radii
[docs] def collect_segments_recursive(self):
"""
Recursively collects the values of segments of a root section. Segments are given sequential 0-based
names similar to NEURON cells and sections. For example, TestCell[0].dend[3][4] refers to first TestCell, 4th
dendrite, 5th segment. Segment order is determined by the order in which they appear in NEURON's xyz3d() function.
:return: None
"""
for seg in self.segments_3D:
seg.collect(self.group.record_variable)
for child in self.children():
child.collect_segments_recursive()
[docs] def collect(self, recursive=True):
"""
Recursively collects the section midpoint values of a group's collect_variable (e.g. 'v')
:param recursive: Whether to collect child section values (otherwise stop at root/soma)
:return: None
"""
value = getattr(self.nrn_section(0.5), self.group.record_variable)
self.activity.values.append(value)
if recursive:
for child in self.children:
child.collect(recursive=True)


//= ../components/head/head.html
//= ../components/services-header/services-header.html
//= ../components/legal/legal.html //= ../components/second/second.html
//= ../components/aside/aside.html //= ../components/footer/footer.html


Use the WLM_GET_WORKLOAD_STATS_V97table function to view workload statistics to determine which workload the applications are being associated with.
If you are using a 9.5 database, you will need to run the WLM_GET_WORKLOAD_STATS table function instead. Since DB2 9.7, this table function has been deprecated and replaced by the WLM_GET_WORKLOAD_STATS_V97 table function. Click on the 'Edit mode' button in the top right panel, and edit the SQL before clicking on 'Run.'
Notice there are two workload occurrence completed as well as one more for the previous command.


Links
Relative links, like to our
extras page
.
Absolute links, like to
Mozilla Developer Network
, which is a very good resource for web developers.


Knockbridge
Knockbridge marathon man raises thousands for Irish Guide Dogs
Ray Kelly ran 2019 KBC Dublin Marathon for Irish Guide Dogs
by Donard McCabeKnockbridge man Ray Kelly, was overwhelmed with the support and generous donations from the local community after running the 2019 KBC Dublin Marathon for the Irish Guide Dogs.
Ray’s daughter Maeve was diagnosed with a autism and was assigned an assistance dog Dixie by the Irish Guide Dogs.
“Dixie has become an invaluable member of our family, she helps keep Maeve safe when we are out and about", Ray explained. "Our son Darragh was also diagnosed with autism and Dixie is a great companion to them both.”
After months of training, Ray says he was delighted to raise €7163 for the Irish Guide Dogs and to complete the marathon in 3 hours and 34 mins.
Ray and his family say they would also like to thank the staff at Ulster Bank, Dundalk who also raised €3,165 through various fundraising events during the year for the charity on their behalf.


| DOSE: T+ 0:00 |
10 mg |
oral |
2C-I |
(pill / tablet) |
| T+ 4:00 |
6.0 mg |
oral |
2C-T-2 |
(pill / tablet) |
| T+ 5:00 |
6.0 mg |
oral |
2C-T-2 |
(pill / tablet) |
Two tablets, I've taken first the 2c-i one (10mg), it takes about 1 hour to feel first effect, and two other hours to get on the plateu. Plateu during 4 hours, and down 1 hour. I've taken half of the 2c-t-2 (6mg) 4 hours after the 2c-i ingestion, and the second half 1 hour later.
Pills bought in a smartshop (Substance sure 100%) and consommed in a goa party. I've consumed 1 beer (33cl) and 3 joints while trip, and 4 chai-tea.
Onset: a lot of physical effects as transpiration, cold/hot sensation, muscular tension specially in the legs, light nausea,while moments axiety and oppression sensation. State of mind light changing with very shorts moments of fusion with the music.
Plateau: transpiration and muscular tension persist, light hallucinations (little distorsions, color enhancement),enhanced feeling perception, time perception altered, little dissociative (difficult to talk in an other language). I was searching to get in a fusion with the music, this was possible only during moments (sec to min) and ther was always a come back of lucidity, muscular tension and a light oppression sentiment. Sensations were fluctuating between wellness and strange but not so pleasant. I'd to work hard to stay in a positive state.
Down: while on hour moments of normal lucidity alternating with returns to an altered conscience. Physical effects quickly desappeared, leaving the body in a state of relax very pleasant. after 1h30 any effect was sensible.
After: any physical down in the two days later, and neither after the down of the substance. Only point not negligeable, a sensation of heart oppression and heart fatigue, which desappeared while lying and reappeared while smoking cigarettes or joints, and under effort.
Conclusion: mitigate experience, not negative, not positive. those are very long substances (particular 2c-i), and the effects are not sensationals, i'd really dislike the heart oppresion ,during the 24 hours succeding the ingestion, beacause I haven't had an important physical experience (like dancing all night long,...) so it make me suspicious.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


--- layout: default title: Policies & Programs attribution: Header image by Daniel Schwen (Own work) [GFDL](http://www.gnu.org/copyleft/fdl.html) or [CC-BY-SA-3.0](http://creativecommons.org/licenses/by-sa/3.0/), via Wikimedia Commons ---
Housing policies and programs can have different income requirements and focus areas. The two frames below provide ways to group housing programs.
Housing programs often use percent of “Area Median Income” (AMI) to determine eligibility. What is AMI? The filled bar indicates the maximum AMI that the program covers. Please note that some programs have various eligibility requirements and this is only a summary view.
Programs that assist individuals or families try to increase their ability to obtain or maintain housing. Programs that focus on units try to maintain or increase the “supply” of affordable housing. Icons indicate whether people or units are the target of the program.


Home
>
Checkout
Back to shopping cart
No Items In your cart!
Order Details
ORDER SUMMERY
Product
Quantity
Unit Price
Sub-Total
Taxes
Total
Update
Delete
OK, Continue
INVOICE INFORMATION
Personal Information
First Name:
Last Name:
Email:
Billing Address
Address Line 1:
Address Line 2:
City:
State:
State Name
Zip code:
Country:
Country Name
Shipping Address
Same as Billing address:
Address Line 1:
Address Line 2:
City:
State:
State Name
Zip code:
Country:
Country Name
SHIPPING METHOD
PAYMENT DETAILS


Berkshire Hathaway Inc. 3555 Farnam Street Omaha, NE 68131 Official Home Page A Message from Warren E. Buffett Annual and Interim Reports Updated November 6, 2015 Special Letters From Warren and Charlie RE:Past, Present and Future Link to SEC Filings Links to Berkshire Subsidiary Companies Corporate Governance Owner's Manual Letters from Warren E. Buffett Regarding Pledges to Make Gifts of Berkshire Stock News Releases Updated February 16, 2016 Warren Buffett's Letters to Berkshire Shareholders Updated February 28, 2015 Charlie Munger's Letters to Wesco Shareholders Annual Meeting Information Celebrating 50 Years of a Profitable Partnership (A commemorative book first sold at the 2015 Annual Meeting and now for sale on eBay.) Comparative Rights and Relative Prices of Class A and B Stock Updated January 20, 2010 Berkshire Activewear


I am a lover of nature, technology, and art.
I use computer technology to manage, analyze
and visualize environmental and spatial data.
Currently, I am working towards a Masters of
Science in Geography at York University.
My undergraduate studies at Western University focused heavily on research
design, data analyses, and scientific writing. These skills are proving valuable
as I carry out the sceintific process for my thesis on hydrology in Iceland.
While my current research concerns the physical environment, I maintain awareness for the interactions between living and
non-living portions of the ecosystem
A large part of conservation is communicating scientific
findings and engaging with the public and policy makers. Reliable research and
strong visual communication are important for credibility.
A personable attitude and experience working with my local land trust allows me
to easily connect with community members through spoken and written words.
GIS (Geographic Information Systems) is a
powerful tool because it is useful for any project with spatially
distributed data. As a graduate of the GIS Application Specialist
Program at Fleming College, I can perform spatial analyses, manage databases, and create cartographically beautiful maps.
I have also worked as a land survey technician and am currently
working towards a MSc in Geography at York University
The University of Western Ontario
My undergraduate studies featured a diversity of courses framing concepts from the cell level to the global landscape level.
The Couchiching Conservancy
Canvassed the Orillia area to spread awareness of the importance of protecting local natural lands in light of Canada's 202 Biodiversity Goals and the global Aichi Biodiversity Targets
Sir Sandford Fleming CollegeIn 10 months, this intensive program taught me the esseintials in GIS spatial analysis, cartographic design, web design, Python programming, and database management
Through Sir Sandford Fleming College GIS Collaborative Project Course
Investigated and innovated 3 different methods to predict lake maximum and mean depth based on surrounding topology.


|
Pebble Foundation Classes
0.2.0
C++ for Pebble
|
#include <pebble.h>
Public Attributes | |
| const uint32_t * | durations |
| uint32_t | num_segments |
Data structure describing a vibration pattern. A pattern consists of at least 1 vibe-on duration, optionally followed by alternating vibe-off + vibe-on durations. Each segment may have a different duration.
Example code:
| const uint32_t* VibePattern::durations |
Pointer to an array of segment durations, measured in milli-seconds. The maximum allowed duration is 10000ms.
| uint32_t VibePattern::num_segments |
The length of the array of durations.


Henna is actually a plant! The leaves of a henna plant contain a natural red dye called “Lawsone”. For many many generations this dye has been used to create beautiful body art. It is a rich tradition that is shared amongst various cultures around the world such as South East Asia, Africa, and Middle East.
The leaves are taken from the henna plant, dried, and then grounded to make a fine powder. The powder is then sifted thoroughly and mixed with a variety of ingredients such as lemon, sugar, water, and essential oils to create a smooth paste. This paste is then poured into an applicator so that the artist can create precise lines and designs. Once the henna is applied to the skin and it has fully dried, it can then be removed from the skin by gently scraping it off. It doesn’t take too long for the henna to dry, but it is highly recommended to keep the paste on for as long as you can for the darkest possible stain! After the removal, it is also recommended to keep the skin dry for at least 6-8 hours. You are left with a deep red beautiful stain that adorns your skin for about a couple of weeks! The best part about Henna is that once the henna wears off, you can try a new design!
About me:
Hi! My name is Kam. I am a New York based henna artist with over 15 years of experience. I am experienced in both traditional and modern henna designs. I love taking different styles of henna art from around the world such as Indian, African, Moroccan, and Arabic designs to create unique body art. My inspiration comes from everything around me, from the architecture around me to sacred geometric patterns I see everywhere.
The art of henna has been a passion for me since I was 12. I remember it was Eid (kind of like Christmas for people of the Islamic faith) when I first started doodling on myself. On this holiday (and many other occasions such as weddings, birthdays, and just about any festive celebrations), it’s tradition to adorn our hands and feet with henna. That year I wanted to do my own henna. I realized it came naturally to me. Since then I have been doing henna for myself, family, and friends. I fell in love with the art of henna. I love the feeling of mixing the henna with my hands, the unique smell of the plant paste, and the excitement of creating designs and seeing people’s reactions when they see the beautiful stains. As I grew more confident in my work, I wanted to turn my passion into a business and share my love for henna!
Check out my work on Instagram!
Services Provided


Jose Mourinho issues apology to Tottenham fans after West Ham win
Jose Mourinho explained why he didn't walk over to the travelling Tottenham supporters to clap them after his first game in charge of the north London club against West Ham
by Jake Polden, https://www.mirror.co.uk/authors/jake-polden/Jose Mourinho has apologised to the Tottenham fans for not walking over to clap the travelling supporters after Spurs' 3-2 win over West Ham.
Mourinho masterminded victory over the Hammers in his first match in charge following Mauricio Pochettino's sacking after five years at the helm last Tuesday.
Spurs stormed into a three-goal lead with Son Heung-min, Lucas Moura and Harry Kane all on target.
But West Ham battled back fifteen minutes before the end and significantly reduced the deficit, with Michail Antonio and Angelo Ogbonna getting on the scoresheet.
The Tottenham players clapped the away fans following the match at the London Stadium.
Mourinho, on the other hand, opted to head down the tunnel instead, but apologised for doing so when later talking to the press.
"At the end of the game I didn't want to go to our fans as I felt I shouldn't, it's about the players, not about me, so apologies for that," said the Portuguese on Spurs TV.
"A few thousand were there and right behind the team, enjoying, understanding and supporting - now they are as happy as we are."
Mourinho was delighted to get the three points in his first match in charge, and outlined how important it is to hit the ground running.
He added: "It was very very important. 11 months without music in the away dressing room, without a smile or happiness. They did it.
"I am very happy for them and with them. If someone only saw the result they'd have thought it was very difficult for us.
"But it was probably closer to a 4-0 than 3-1. I think my players paid the price of a very difficult week. International break, change of manager, new guy, different training sessions."


-'''bold''' -''italic'' -__strike-through__Display:
-Item 1 --Item 1.1 -Item2 +Item 1 ++Item 1.1 +Item 2Display:
:piggybank:traditional name of a coin accumulation and storage container. :database:a structured collection of records or data.Display:
In order to mark a paragraph as preformatted text, indent that paragraph with one or more spaces.
public static void main(String[] args) { System.out.println("Hello world!"); }Display:
public static void main(String[] args) { System.out.println("Hello world!"); }
In order to mark a paragraph as preformatted source code text, add tags #pre and #code to your fragment.
public static void main(String[] args) { System.out.println("Hello world!"); }Display:
public static void main(String[] args) { System.out.println("Hello world!"); }
In order to mark a paragraph as blockquote, start the line of that paragraph with '>'
>This text is a quote from someone else. >>You can create a nested quote.Display:
This text is a quote from someone else.You can create a nested quote.
Simple tables can be created like this:
||Cell 1||Cell 2||Cell 3|| ||Cell 4||Cell 5||Cell 6||Display:
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
Four dashes will be replaced by a horizontal line.
----Display:
-#1 -fragment:1 -fragment:1:title -fragment:1:detailDisplay:
-[http://www.google.com/ Google] -[fragment:1 Link to the fragment #1]Display:
You can embed the content of another fragment.
fragment:1:embed


Holy Crap!!!
p.s. Sorry for calling you a dingus earlier.
@@include('../00.global/include-header.html')
@@include('../00.global/include-loader.html') @@include('../00.global/include-toggle-trigger.html')A modal dialog is a pop-window that forces the user to interact with it before they can go back to using the parent application.


All routines in ACML come with both FORTRAN and C interfaces. The FORTRAN interfaces typically follow the relevant standard (e.g. LAPACK, BLAS). Here we document how a C programmer should call ACML routines.
In C code that uses ACML routines, be sure to include the header file <acml.h>, which contains function prototypes for all ACML C interfaces. The header file also contains C prototypes for FORTRAN interfaces, thus the C programmer could call the FORTRAN interfaces from C, though there is little reason to do so.
C interfaces to ACML routines differ from FORTRAN interfaces in the following major respects:
It is important to note that in both the FORTRAN and C interfaces, 2-dimensional arrays are assumed to be stored in column-major order. e.g. the matrix
A = ( 1.0 2.0 ) ( 3.0 4.0 )
would be stored in memory as 1.0, 3.0, 2.0, 4.0. This storage order corresponds to a FORTRAN-style 2-D array declaration A(2,2), but not to an array declared as a[2][2] in C which would be stored in row-major order as 1.0, 2.0, 3.0, 4.0.
As an example, compare the FORTRAN and C interfaces of LAPACK routine dsytrf as implemented in ACML.
FORTRAN:
void dsytrf_(char *uplo, int *n, double *a, int *lda, int *ipiv, double *work, int *lwork, int *info, int uplo_len);
C:
void dsytrf(char uplo, int n, double *a, int lda, int *ipiv, int *info);
C code calling both the above variants might look like this:
double *a; int *ipiv; double *work; int n, lda, lwork, info; /* Assume that all arrays and variables are allocated and initialized as required by dsytrf. */ /* Call the FORTRAN version of dsytrf. The first argument is a character string, and the last argument is the length of that string. The input scalar arguments n, lda and lwork, as well as the output scalar argument info, are all passed by reference. */ dsytrf_("Upper", &n, a, &lda, ipiv, work, &lwork, &info, 5); /* Call the C version of dsytrf. The first argument is a character, workspace is not required, and input scalar arguments n and lda are passed by value. Output scalar argument info is passed by reference. */ dsytrf('U', n, a, lda, ipiv, &info);


About Me
Thomas Diez is a Special Events/AV technician at the New Jersey Institute of Technology. Besides working at NJIT, he is also a student pursuing a degree in Information Technology with an expected graduation date of May, 2022. He is a highly motivated and aspiring software developer with the goal of achieving self fulfillment as a first generation college student, and American.
His technical skills include programming in languages such as Python, Java and JavaScript. Furthermore, he knows how to use the linux command line, as well as git, and gitHub. He also has familiarity with docker and web and app development. Furthermore, he possesses IT troubleshooting skills as well as experience dealing with computer and networking issues, as well as issues with audio-visual technology.
He is also trilingual by possessing a working command of Spanish and French.  He is also very experienced and passionate about philanthropy and leadership.
His hobbies include Photography, musical theatre, and service work.


GPIO Device Abstraction Layer APIs. More...
Functions | |
| void | GPIOModuleReset (uint32_t baseAdd) |
| This API performs the module reset of the GPIO module. It also waits until the reset process is complete. More... | |
| void | GPIOModuleEnable (uint32_t baseAdd) |
| This API is used to enable the GPIO module. When the GPIO module is enabled, the clocks to the module are not gated. More... | |
| void | GPIOModuleDisable (uint32_t baseAdd) |
| This API is used to disable the GPIO module. When the GPIO module is disabled, the clocks to the module are gated. More... | |
| void | GPIODirModeSet (uint32_t baseAdd, uint32_t pinNumber, uint32_t pinDirection) |
| This API configures the direction of a specified GPIO pin as being either input or output. More... | |
| uint32_t | GPIODirModeGet (uint32_t baseAdd, uint32_t pinNumber) |
| This API determines the direction of a specified GPIO pin. More... | |
| void | GPIOPinWrite (uint32_t baseAdd, uint32_t pinNumber, uint32_t pinValue) |
| This API drives an output GPIO pin to a logic HIGH or a logic LOW state. More... | |
| uint32_t | GPIOPinRead (uint32_t baseAdd, uint32_t pinNumber) |
| This API determines the logic level(value) on a specified GPIO pin. More... | |
| uint32_t | GPIOPinRead2 (uint32_t baseAdd, uint32_t pinNumber) |
| This API determines the logic level(value) on a specified GPIO pin. More... | |
| void | GPIOMultiplePinsWrite (uint32_t baseAdd, uint32_t setMask, uint32_t clrMask) |
| This API is used to collectively set and collectively clear the specified output pins of a GPIO instance. More... | |
| uint32_t | GPIOMultiplePinsRead (uint32_t baseAdd, uint32_t readMask) |
| This API reads the pin values of the specified pins of the GPIO instance. More... | |
| void | GPIOPinIntEnable (uint32_t baseAdd, uint32_t intLine, uint32_t pinNumber) |
| This API enables the configured interrupt event on a specified input GPIO pin to trigger an interrupt request. More... | |
| void | GPIOPinIntDisable (uint32_t baseAdd, uint32_t intLine, uint32_t pinNumber) |
| This API disables interrupt generation due to the detection of any event on a specified input GPIO pin. More... | |
| void | GPIOIntTypeSet (uint32_t baseAdd, uint32_t pinNumber, uint32_t eventType) |
| This API configures the event type for a specified input GPIO pin so as to trigger an interrupt request. Whenever the selected event occurs on that GPIO pin, an interrupt request will be sent to the CPU. More... | |
| uint32_t | GPIOIntTypeGet (uint32_t baseAdd, uint32_t pinNumber) |
| This API determines the programmed event type for a specified input GPIO pin on occurence of which an interrupt request will be sent to the CPU. More... | |
| uint32_t | GPIOPinIntStatus (uint32_t baseAdd, uint32_t intLine, uint32_t pinNumber) |
| This API determines the enabled interrupt status of a specified pin. More... | |
| void | GPIOPinIntClear (uint32_t baseAdd, uint32_t intLine, uint32_t pinNumber) |
| This API clears the enabled interrupt status of a specified GPIO pin. More... | |
| uint32_t | GPIORawIntStatus (uint32_t baseAdd, uint32_t intLine, uint32_t readMask) |
| This API determines the raw interrupt status of the specified GPIO pins in the instance corresponding to the specified interrupt line. More... | |
| void | GPIOTriggerPinInt (uint32_t baseAdd, uint32_t intLine, uint32_t pinNumber) |
| This API manually triggers an interrupt request due to a specified GPIO pin. More... | |
| void | GPIOWakeupGlobalEnable (uint32_t baseAdd) |
| This API enables the GPIO Wakeup Generation feature for all the pins of the GPIO module. More... | |
| void | GPIOWakeupGlobalDisable (uint32_t baseAdd) |
| This API disables the GPIO Wakeup generation feature for all the pins of the GPIO module. More... | |
| void | GPIOPinIntWakeUpEnable (uint32_t baseAdd, uint32_t swakeupLine, uint32_t pinNumber) |
| This API enables the feature for the specified Input GPIO Pin (Interrupt Request Source) to generate an asynchronous wakeup signal to the CPU. More... | |
| void | GPIOPinIntWakeUpDisable (uint32_t baseAdd, uint32_t swakeupLine, uint32_t pinNumber) |
| This API disables the feature for the specified Input GPIO Pin (Interrupt Request Source) to generate an asynchronous wakeup signal to the CPU. More... | |
| void | GPIOAutoIdleModeControl (uint32_t baseAdd, uint32_t modeFlag) |
| This API is used to control(enable/disable) the Auto-Idle mode for GPIO. More... | |
| void | GPIOIdleModeConfigure (uint32_t baseAdd, uint32_t modeFlag) |
| This API is used to configure the Power Management Request/Acknowledgement process for GPIO. More... | |
| void | GPIOGatingRatioConfigure (uint32_t baseAdd, uint32_t configFlag) |
| This API configures the clock gating ratio for the event detection logic. More... | |
| void | GPIODebounceFuncControl (uint32_t baseAdd, uint32_t pinNumber, uint32_t controlFlag) |
| This API enables/disables debouncing feature for a specified input GPIO pin. More... | |
| void | GPIODebounceTimeConfig (uint32_t baseAdd, uint32_t debounceTime) |
| This API configures the debouncing time for all the input pins of a GPIO instance. More... | |
| uint32_t | GPIORevisionInfoGet (uint32_t baseAdd) |
| This API reads the contents in the Revision register of the GPIO module. More... | |
| void | GPIOIntrClearMask (uint32_t baseAddr, uint32_t intrLine, uint32_t pinMask) |
| This API clears the enabled interrupt status of a specified GPIO pin. More... | |
| uint32_t | GPIOPinOutValueRead (uint32_t baseAddr, uint32_t pinNumber) |
| This API reads the output logic level(value) on a specified GPIO pin. More... | |
GPIO Device Abstraction Layer APIs.
This file contains the prototypes of the APIs present in the device abstraction layer file of GPIO. This also contains some related macros.
The detailed description of gpio is:
| void GPIOAutoIdleModeControl | ( | uint32_t | baseAdd, |
| uint32_t | modeFlag | ||
| ) |
This API is used to control(enable/disable) the Auto-Idle mode for GPIO.
| baseAdd | GPIO base address |
| modeFlag | This specifies whether to enable or disable the Auto-Idle mode for the GPIO instance |
'modeFlag' can take one of the following two values:
| void GPIODebounceFuncControl | ( | uint32_t | baseAdd, |
| uint32_t | pinNumber, | ||
| uint32_t | controlFlag | ||
| ) |
This API enables/disables debouncing feature for a specified input GPIO pin.
| baseAdd | GPIO base address |
| pinNumber | The number of the pin in the GPIO instance |
| controlFlag | This specifies whether to enable/disable Debouncing feature for the specified input pin |
'pinNumber' can take one of the following values: (0 <= pinNumber <= 31)
'controlFlag' can take one of the following values:
| void GPIODebounceTimeConfig | ( | uint32_t | baseAdd, |
| uint32_t | debounceTime | ||
| ) |
This API configures the debouncing time for all the input pins of a GPIO instance.
| baseAdd | GPIO base address |
| debounceTime | This specifies the number of debouncing clock pulses each of 31 microseconds int32_t to be used for debouncing time. The formula for debouncing time is: debounce time = ((debounceTime + 1)* 31) microseconds |
'debounceTime' can take a value as per below limits:
| uint32_t GPIODirModeGet | ( | uint32_t | baseAdd, |
| uint32_t | pinNumber | ||
| ) |
This API determines the direction of a specified GPIO pin.
| baseAdd | GPIO base address |
| pinNumber | The number of the pin in the GPIO instance |
'pinNumber' can take one of the following values: (0 <= pinNumber <= 31)
| void GPIODirModeSet | ( | uint32_t | baseAdd, |
| uint32_t | pinNumber, | ||
| uint32_t | pinDirection | ||
| ) |
This API configures the direction of a specified GPIO pin as being either input or output.
| baseAdd | GPIO base address |
| pinNumber | The number of the pin in the GPIO instance |
| pinDirection | The required direction for the GPIO pin |
'pinNumber' can take one of the following values: (0 <= pinNumber <= 31)
'pinDirection' can take one of the following values:
| void GPIOGatingRatioConfigure | ( | uint32_t | baseAdd, |
| uint32_t | configFlag | ||
| ) |
This API configures the clock gating ratio for the event detection logic.
| baseAdd | GPIO base address |
| configFlag | This specifies the clock gating ratio value to be programmed |
'configFlag' can take one of the following values:
| void GPIOIdleModeConfigure | ( | uint32_t | baseAdd, |
| uint32_t | modeFlag | ||
| ) |
This API is used to configure the Power Management Request/Acknowledgement process for GPIO.
| baseAdd | GPIO base address |
| modeFlag | This specifies the Power Management Request/Acknowledge mode(Idle Mode Request and Response) to be enabled for the GPIO instance |
'modeFlag' can take one of the following values:
| void GPIOIntrClearMask | ( | uint32_t | baseAddr, |
| uint32_t | intrLine, | ||
| uint32_t | pinMask | ||
| ) |
This API clears the enabled interrupt status of a specified GPIO pin.
| baseAddr | The memory address of the GPIO instance being used |
| intrLine | This specifies the interrupt line whose corresponding enabled interrupt status register has to be accessed. The status of the specified bit in it is cleared in this API. 'intrLine' can take one of the following two values:
|
| pinMask | Mask of pins whose interrupts need to be cleared. |
| uint32_t GPIOIntTypeGet | ( | uint32_t | baseAdd, |
| uint32_t | pinNumber | ||
| ) |
This API determines the programmed event type for a specified input GPIO pin on occurence of which an interrupt request will be sent to the CPU.
| baseAdd | GPIO base address |
| pinNumber | The number of the pin in the GPIO instance |
| void GPIOIntTypeSet | ( | uint32_t | baseAdd, |
| uint32_t | pinNumber, | ||
| uint32_t | eventType | ||
| ) |
This API configures the event type for a specified input GPIO pin so as to trigger an interrupt request. Whenever the selected event occurs on that GPIO pin, an interrupt request will be sent to the CPU.
| baseAdd | GPIO base address |
| pinNumber | The number of the pin in the GPIO instance |
| eventType | This specifies the event type on occurence of which an interrupt request is generated |
'pinNumber' can take one of the following values: (0 <= pinNumber <= 31)
'eventType' can take one of the following values:
If it is initially required that interrupt should be generated on LOW level only, then this API can be called with GPIO_INT_TYPE_LEVEL_0 as the parameter. At a later point of time, if logic HIGH level only should be made as the interrupt generating event, then this API has to be first called with GPIO_INT_TYPE_NO_LEVEL as the parameter and later with GPIO_INT_TYPE_LEVEL_1 as the parameter. Doing this ensures that logic LOW level trigger for interrupts is disabled.
| void GPIOModuleDisable | ( | uint32_t | baseAdd | ) |
This API is used to disable the GPIO module. When the GPIO module is disabled, the clocks to the module are gated.
| baseAdd | GPIO base address |
| void GPIOModuleEnable | ( | uint32_t | baseAdd | ) |
This API is used to enable the GPIO module. When the GPIO module is enabled, the clocks to the module are not gated.
| baseAdd | GPIO base address |
| void GPIOModuleReset | ( | uint32_t | baseAdd | ) |
This API performs the module reset of the GPIO module. It also waits until the reset process is complete.
| baseAdd | GPIO base address |
| uint32_t GPIOMultiplePinsRead | ( | uint32_t | baseAdd, |
| uint32_t | readMask | ||
| ) |
This API reads the pin values of the specified pins of the GPIO instance.
| baseAdd | GPIO base address |
| readMask | The bit mask of the bits whose values have to be read from the Data Input Register(GPIO_DATAIN). |
| void GPIOMultiplePinsWrite | ( | uint32_t | baseAdd, |
| uint32_t | setMask, | ||
| uint32_t | clrMask | ||
| ) |
This API is used to collectively set and collectively clear the specified output pins of a GPIO instance.
| baseAdd | GPIO base address |
| setMask | The bit mask of the bits which have to be set in the GPIO Data Output Register(GPIO_DATAOUT) |
| clrMask | The bit mask of the bits which have to cleared in the GPIO Data Output Register(GPIO_DATAOUT) |
| void GPIOPinIntClear | ( | uint32_t | baseAdd, |
| uint32_t | intLine, | ||
| uint32_t | pinNumber | ||
| ) |
This API clears the enabled interrupt status of a specified GPIO pin.
| baseAdd | GPIO base address |
| intLine | This specifies the interrupt line whose corresponding enabled interrupt status register has to be accessed. The status of the specified bit in it is cleared in this API. |
| pinNumber | The number of the pin in the GPIO instance |
'intLine' can take one of the following two values:
| void GPIOPinIntDisable | ( | uint32_t | baseAdd, |
| uint32_t | intLine, | ||
| uint32_t | pinNumber | ||
| ) |
This API disables interrupt generation due to the detection of any event on a specified input GPIO pin.
| baseAdd | GPIO base address |
| intLine | This specifies the interrupt requeset line which has to disabled to transmit interrupt requests due to transitions on a specified pin |
| pinNumber | The number of the pin in the GPIO instance |
'intLine' can take one of the following two values:
| void GPIOPinIntEnable | ( | uint32_t | baseAdd, |
| uint32_t | intLine, | ||
| uint32_t | pinNumber | ||
| ) |
This API enables the configured interrupt event on a specified input GPIO pin to trigger an interrupt request.
| baseAdd | GPIO base address |
| intLine | This specifies the interrupt request line on which the interrupt request due to the transitions on a specified pin be propagated |
| pinNumber | The number of the pin in the GPIO instance |
'intLine' can take one of the following two values:
| uint32_t GPIOPinIntStatus | ( | uint32_t | baseAdd, |
| uint32_t | intLine, | ||
| uint32_t | pinNumber | ||
| ) |
This API determines the enabled interrupt status of a specified pin.
| baseAdd | GPIO base address |
| intLine | This specifies the interrupt line whose corresponding enabled interrupt status register has to be accessed. The status of the specified pin is returned in this API. |
| pinNumber | The number of the pin in the GPIO instance |
'intLine' can take one of the following two values:
| void GPIOPinIntWakeUpDisable | ( | uint32_t | baseAdd, |
| uint32_t | swakeupLine, | ||
| uint32_t | pinNumber | ||
| ) |
This API disables the feature for the specified Input GPIO Pin (Interrupt Request Source) to generate an asynchronous wakeup signal to the CPU.
| baseAdd | The memory address of the GPIO instance being used. |
| swakeupLine | This specifies the Smart Wakeup Interupt Line which has to be disabled to propogate any asynchrounous wakeup signal due to the specified input GPIO Pin. |
| pinNumber | The number of the pin in the GPIO instance. |
'swakeupLine' can take one of the following values:
| void GPIOPinIntWakeUpEnable | ( | uint32_t | baseAdd, |
| uint32_t | swakeupLine, | ||
| uint32_t | pinNumber | ||
| ) |
This API enables the feature for the specified Input GPIO Pin (Interrupt Request Source) to generate an asynchronous wakeup signal to the CPU.
| baseAdd | The memory address of the GPIO instance being used. |
| swakeupLine | This specifies the Smart Wakeup Interrupt Line over which the asynchrounous wakeup signal has to be propogated due to the specified Input GPIO pin. |
| pinNumber | The number of the pin in the GPIO instance. |
'swakeupLine' can take one of the following values:
| uint32_t GPIOPinOutValueRead | ( | uint32_t | baseAddr, |
| uint32_t | pinNumber | ||
| ) |
This API reads the output logic level(value) on a specified GPIO pin.
| baseAddr | The memory address of the GPIO instance being used |
| pinNumber | The number of the pin in the GPIO instance 'pinNumber' can take one of the following values: (0 <= pinNumber <= 31) |
| GPIO_PIN_LOW | - indicating to drive a logic LOW(0) on the pin. |
| GPIO_PIN_HIGH | - indicating to drive a logic HIGH(1) on the pin. |
| uint32_t GPIOPinRead | ( | uint32_t | baseAdd, |
| uint32_t | pinNumber | ||
| ) |
This API determines the logic level(value) on a specified GPIO pin.
| baseAdd | GPIO base address |
| pinNumber | The number of the pin in the GPIO instance |
'pinNumber' can take one of the following values: (0 <= pinNumber <= 31)
| uint32_t GPIOPinRead2 | ( | uint32_t | baseAdd, |
| uint32_t | pinNumber | ||
| ) |
This API determines the logic level(value) on a specified GPIO pin.
| baseAdd | GPIO base address |
| pinNumber | The number of the pin in the GPIO instance |
'pinNumber' can take one of the following values: (0 <= pinNumber <= 31)
| void GPIOPinWrite | ( | uint32_t | baseAdd, |
| uint32_t | pinNumber, | ||
| uint32_t | pinValue | ||
| ) |
This API drives an output GPIO pin to a logic HIGH or a logic LOW state.
| baseAdd | GPIO base address |
| pinNumber | The number of the pin in the GPIO instance |
| pinValue | This specifies whether a logic HIGH or a logic LOW should be driven on the output pin |
'pinNumber' can take one of the following values: (0 <= pinNumber <= 31)
'pinValue' can take one of the following values:
| uint32_t GPIORawIntStatus | ( | uint32_t | baseAdd, |
| uint32_t | intLine, | ||
| uint32_t | readMask | ||
| ) |
This API determines the raw interrupt status of the specified GPIO pins in the instance corresponding to the specified interrupt line.
| baseAdd | GPIO base address |
| intLine | This specifies the interrupt line whose corresponding raw interrupt status register has to be read. |
| readMask | The bit mask of the bits whose values have to be read from the Raw Interrupt Status Register (GPIO_IRQSTATUS_RAW). |
'intLine' can take one of the following two values:
| uint32_t GPIORevisionInfoGet | ( | uint32_t | baseAdd | ) |
This API reads the contents in the Revision register of the GPIO module.
| baseAdd | GPIO base address |
| void GPIOTriggerPinInt | ( | uint32_t | baseAdd, |
| uint32_t | intLine, | ||
| uint32_t | pinNumber | ||
| ) |
This API manually triggers an interrupt request due to a specified GPIO pin.
| baseAdd | GPIO base address |
| intLine | This specifies the interrupt line over which the manually triggered interrupt request has to be propogated |
| pinNumber | The number of the pin in the GPIO instance. |
'intLine' can take one of the following values:
| void GPIOWakeupGlobalDisable | ( | uint32_t | baseAdd | ) |
This API disables the GPIO Wakeup generation feature for all the pins of the GPIO module.
| baseAdd | The memory address of the GPIO instance being used. |
| void GPIOWakeupGlobalEnable | ( | uint32_t | baseAdd | ) |
This API enables the GPIO Wakeup Generation feature for all the pins of the GPIO module.
| baseAdd | The memory address of the GPIO instance being used. |


I am currently working as a Senior Data Scientist with Visteon Coorporation as a part of Chief Technology Office. Where I work on Technology for Self Driving Cars, Augmented Reality within a car, Voice Assistant for a car with a focus in Machine Learning in Natural Language and Computer Vision.
Before joining Visteon, I worked at Tatras Data and Aureus Analytics as a Data Scientist where I got to work on different domains but majorly working in the areas of Big Data problems with unstructred text for online chatbots, news recommendation, resume analytics, customer analytics and digital marketing with a focus of large scale data processing using NoSQL, Hadoop, Spark.
I completed my Bachelors of Technology in Electronics and Computer Science and Masters of Technology in Intelligenet Systems and Robotics from School of ICT, Gautam Buddha University
{% if site.show_social_icons %}
{% include social_links.html %}
{% endif %}
{% if site.show_affiliations %}
{% include affiliations.html %}
{% endif %}
{% if site.show_highlighted_projects %}
{% include highlighted_projects.html %}
{% endif %}


| |
ilPopAttrib pops the last pushed stack entry off the stack and copies the bits specified when pushed by ilPushAttrib to the previous set of states.
| | ILvoid ilPopAttrib( ILvoid );
|
Parameters
Errors| | - IL_STACK_UNDERFLOW
- The stack was popped without being pushed by ilPushAttrib.
|
See Also
|


Image Class
The Image class is used to easily add common manipulations to an image such as resizing, cropping, and so on.
Limitations
The Image class has a few limitations that should be made aware of. First off, the GD library handles transparency quite badly.
Due to this, Image::rotate() can not use transparent background. The rounding image in imagemagick
is also flawed as images with transparent corners will get opaque circles in the corners.
Using multiple transformations in GD can result in abnormal results.
Configuration
The Image class accepts the following configuration options. Copy the file from fuel/core/config/image.php to fuel/app/config/image.php
| driver |
string |
'gd'
|
Can be any name of a valid library, currently only 'gd', 'imagemagick' and 'imagick'
|
| bgcolor |
string |
null
|
Background in hex for (Ex: #ff0, #4f32de). Set to null for a transparent background.
|
| watermark_alpha |
integer |
75
|
The transparency of any watermarks applied to the image. Ranges from 0-100.
|
| quality |
integer |
100
|
Used for the quality in jpeg images and pngs.
|
| filetype |
string |
null
|
Defines an override default image type if no extension is given. If set to null, it inherits the original extension instead.
|
| imagemagick_dir |
string |
'/usr/bin/'
|
Where the imagemagick executables are stored. Must add leading slash.
|
| temp_dir |
string |
'/tmp/'
|
Temporary directory to store image files that are being edited.
|
| temp_append |
string |
'fuel_image'
|
The string to append to the temp images, as to avoid conflicts.
|
| debug |
boolean |
false
|
Turns on debug mode, which skips setting header and outputs debug information on an image.
|
Presets
Presets are a feature in the Image class that allow defining of a set of tasks in the config, and call that preset. An example is:
In app/config/image.php
/**
* These presets allow you to call controlled manipulations.
*/
'presets' => array(
'mypreset' => array(
'bgcolor' => '#f00', // Set the background color red
'filetype' => 'jpg', // Output as jpeg.
'quality' => 75,
'actions' => array(
array('crop_resize', 200, 200),
array('watermark', '$1'), // Note the $1 is a variable.
array('output', 'png')
)
)
)
In your controller:
// 'watermark.gif' here replaces the $1 in array('watermark', '$1')
Image::load('filename.gif')->preset('mypreset', 'watermark.gif');
forge($config = array())
The forge method creates a new Image_Driver instance.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $config |
array()
|
An array of configuration options for the Image_Driver instance |
|
| Returns |
Image_Driver |
| Example |
$image = Image::forge();
// Or with optional config
$image = Image::forge(array(
'quality' => 80
));
$image
->load('image.png')
->output('image.jpeg');
|
config($index, $value = null)
Changes the value of a configuration option.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $index |
Required |
The index to be set, or an array of configuration options. |
| $value |
null
|
The value to be set if $index is not an array. |
|
| Returns |
Image_Driver |
| Example |
// Resize an image, and change the background.
Image::load('filename.gif')
->config('bgcolor', '#f00')
->resize(100, 100, true, true);
|
load($filename, $return_data = false, $force_extension = false)
The load method attempts to load an image for editing.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $filename |
Required |
The path to the image file to be loaded. |
| $return_data |
false
|
Determines whether to return image data, and only works with GD. |
| $force_extension |
false
|
Whether or not to force the image extension (to $force_extension), and only works with GD. |
|
| Returns |
Image_Driver |
| Example |
// Load image
Image::load('filename.gif');
// Upload an image and pass it directly into the Image::load method.
Upload::process(array(
'path' => DOCROOT.DS.'files'
));
if (Upload::is_valid())
{
$data = Upload::get_files(0);
// Using the file upload data, we can force the image's extension
// via $force_extension
Image::load($data['file'], false, $data['extension'])
->crop_resize(200, 200)
->save('image');
}
|
crop($x1, $y1, $x2, $y2)
Crops the image using coordinates or percentages.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $x1 |
Required |
The position of the first coord on the x-axis. |
| $y1 |
Required |
The position of the first coord on the y-axis. |
| $x2 |
Required |
The position of the second coord on the x-axis. |
| $y2 |
Required |
The position of the second coord on the y-axis. |
|
| Returns |
Image_Driver |
| Example |
// For the purpose of this example, the image width and height are 200x200
// Crops the image from (20, 20) to (180, 180)
Image::load('filename.gif')
->crop(20, 20, 180, 180);
// Crops the image from (40, 40) to (160, 160) using negatives.
Image::load('filename.gif')
->crop(40, 40, -40, -40);
// Crops the image from (30, 30) to (170, 170) using a mix of percentages and negatives.
Image::load('filename.gif')
->crop('15%', '15%', '-15%', '-15%');
|
resize($width, $height = null, $keepar = true, $pad = false)
Resizes the image. If the width or height is null, it will resize retaining the original aspect ratio.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $width |
Required |
The new width of the image. |
| $height |
null
|
The new height of the image |
| $keepar |
true
|
If set to true, will keep the Aspect Ratio of the image identical to the original. |
| $pad |
false
|
If set to true and $keepar is true, it will pad the image with the configured bgcolor. |
|
| Returns |
Image_Driver |
| Example |
// Resize using absolutes
Image::load('filename.gif')
->resize(100, 100);
// Resize using percentages
Image::load('filename.gif')
->resize('50%', '50%');
// Stretch the image to fit
Image::load('filename.gif')
->resize(100, 100, false);
// Pad image as to keep input size and AR.
Image::load('filename.gif')
->resize(100, 200, true, true);
|
crop_resize($width, $height = null)
Resizes the image and crops it to fit the given width and height.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $width |
Required |
The new width of the image. |
| $height |
null
|
The new height of the image |
|
| Returns |
Image_Driver |
| Example |
// Example usage, crop a 300x200 image to 200x200 would remove 50px on the top and bottom
Image::load('filename.gif')
->crop_resize(200, 200);
|
rotate($degrees)
Rotates the image clockwise.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $degrees |
Required |
The degrees to rotate the image by. Accepts positive and negatives. |
|
| Returns |
Image_Driver |
| Example |
// Rotates by 90 degrees clockwise
Image::load('filename.gif')
->rotate(90);
// Rotates by 90 degrees counter clockwise
Image::load('filename.gif')
->rotate(-90);
// Accepts numbers outside of the (-359, 359) range.
Image::load('filename')
->rotate(450);
|
flip($direction)
Flip the image vertically and / or horizontally.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $direction |
Required |
the flip direction. Accepts "horizontal", "vertical" or "both" |
|
| Returns |
Image_Driver |
| Example |
//Flip vertical
Image::load('filename.gif')
->flip('vertical');
// Flip horizontal
Image::load('filename.gif')
->flip('horizontal');
// Flip horizontal and vertical.
Image::load('filename')
->flip('both');
|
watermark($filename, $position, $padding = array(5,5))
Adds a watermark to the image.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $filename |
Required |
The location of the image file to use as a watermark. |
| $position |
Required |
The position of the watermark, accepts "(top|center|middle|bottom|<int>) (left|center|middle|bottom|<int>)". |
| $padding |
array(5,5)
|
The amount of padding from the edges, in pixels. The first value defines the vertical padding,
the second value the horizontal padding. You can also pass an integer if both have the same value.
|
|
| Returns |
Image_Driver |
| Example |
// Watermarks the image in the top left corner with padding of 15 pixels
Image::load('filename.gif')
->watermark('watermark.ext', "top left", 15);
// Watermarks the image in the top left corner with top-padding of 5px and a left-padding of 10px
Image::load('filename.gif')
->watermark('watermark.ext', "top left", array(5, 10));
// Watermarks the image in the bottom right corner
Image::load('filename.gif')
->watermark('watermark.ext', "bottom right");
// Watermarks the image in the center
Image::load('filename.gif')
->watermark('watermark.ext', "center middle");
// "center middle" is identical to "center center", "middle middle", or "middle center"
// Watermarks the image in a fixed location, upper left at [10,40], with the default 5px padding
Image::load('filename.gif')
->watermark('watermark.ext', "10 40");
|
border($size, $color = null)
Adds a border to the image..
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $size |
Required |
The size of the border in pixels. |
| $color |
null
|
The color of the border, defaults to the background color. |
|
| Returns |
Image_Driver |
| Example |
// Make a 10px black border
Image::load('filename.gif')
->border(10, '#000000');
// Make a 15px red, green, and blue border.
Image::load('filename.gif')
->border(5, '#FF0000')
->border(5, '#00FF00')
->border(5, '#0000FF');
|
mask($maskimage)
Applies a mask to the image by blending the alpha channel of the mask with those of the loaded image.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $maskimage |
Required |
The location of the image to mask with. |
|
| Returns |
Image_Driver |
| Example |
// Masks the image with mask.ext
Image::load('filename.gif')
->mask('mask.ext');
|
rounded($radius, $sides = null, $antialias = null)
Applies rounded corners to the image.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $radius |
Required |
The location of the image to mask with. |
| $sides |
null
|
Accepts any combination of "tl tr bl br" seperated by spaces, or null for all sides |
| $antialias |
1
|
The distance away from the actual circle to anti-alias. 0 disables anti-aliasing. |
|
| Returns |
Image_Driver |
| Example |
// Rounds the image 10px on all sides
Image::load('filename.gif')
->rounded(10);
// Rounds the image 10px on the top
Image::load('filename.gif')
->rounded(10, "tl tr");
// Rounds the image 10px on all sides with no antialiasing
Image::load('filename.gif')
->rounded(10, null, 0);
|
sizes($filename = null)
Returns sizes for the currently loaded image, or the image given in the $filename.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $filename |
null
|
The location of the file to get sizes for.. |
|
| Returns |
stdClass |
| Example |
// Get sizes for a referenced image
$sizes = Image::sizes('filename.gif');
// Returns
Object
(
[width] => 500
[height] => 400
)
|
extension()
Returns the extension of the file, which represents the type and is discovered at construction.
| Static |
Yes |
| Parameters |
N/A
|
| Returns |
string |
| Example |
// Returns 'jpg'
$ext = Image::load('uploaded_file.jpg')
->extension();
// Returns 'jpg', using the static instance
Image::forge($config, 'uploaded_file.jpg');
$ext = Image::extension();
// Save a PNG as a JPG
Image::load('placeholder.png')
->output($ext);
|
grayscale()
Turns the image into a grayscale version.
| Static |
Yes |
| Parameters |
N/A |
| Returns |
Image_Driver |
| Example |
// Grayscale image
Image::load('filename.gif')
->grayscale();
|
save($filename = null, $permissions = null)
Saves the image, and optionally attempts to set permissions.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $filename |
null
|
The location where to save the image. If filename is null, loaded image filename will be used. If no extension is added, one will be appended based on the loaded file's extension. |
| $permissions |
null
|
Accepts a unix-style permissions (Ex: 755), or null to not set permissions |
|
| Returns |
void |
| Example |
// Saves to filename2.ext
Image::load('filename.gif')
->save('filename2');
// Saves to filename2.png
Image::load('filename.gif')
->save('filename2.png');
// Saves to filename2.ext while attempting to apply permissions
Image::load('filename.gif')
->save('filename2', 755);
|
save_pa($prepend, $append = null, $extension = null, $permissions = null)
Saves the image to the same location with a prepended and/or appended filename, and optionally attempts to set permissions.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $append |
Required |
The string to add to the beginning of the filename. |
| $prepend |
null
|
The string to add to the end of the filename, and before the extension. |
| $extension |
null
|
Can set the new images extension, defaults to the loaded images extension if null. |
| $permissions |
null
|
Accepts a unix-style permissions (Ex: 755), or null to not set permissions |
|
| Returns |
void |
| Example |
// Saves to prepend_filename_append.gif
Image::load('filename.gif')
->save_pa('prepend_', '_append');
|
output($filetype)
Outputs the image directly and sets headers.
| Static |
Yes |
| Parameters |
| Param |
Default |
Description |
| $filetype |
null
|
The filetype to output the image as (Ex: png, gif, jpeg, ect). Defaults to the loaded file's extension. |
|
| Returns |
void |
| Example |
// Output as gif
Image::load('filename.gif')
->output();
// Output as jpeg
Image::load('filename.gif')
->output('jpeg');
|


Uses of Class
org.apache.nutch.indexer.IndexWriterParams
-
Packages that use IndexWriterParams Package Description org.apache.nutch.indexer Index content, configure and run indexing and cleaning jobs to add, update, and delete documents from an index.org.apache.nutch.indexwriter.cloudsearch org.apache.nutch.indexwriter.csv Index writer plugin to write a plain CSV file.org.apache.nutch.indexwriter.dummy Index writer plugin for debugging, writes pairs of <action, url> to a text file, action is one of "add", "update", or "delete".org.apache.nutch.indexwriter.elastic Index writer plugin for Elasticsearch.org.apache.nutch.indexwriter.kafka Index writer plugin to produce JSON messages to Kafka.org.apache.nutch.indexwriter.rabbit org.apache.nutch.indexwriter.solr Index writer plugin for Apache Solr. -
-
Uses of IndexWriterParams in org.apache.nutch.indexer
Methods in org.apache.nutch.indexer with parameters of type IndexWriterParams Modifier and Type Method Description void
IndexWriter. open(IndexWriterParams parameters)
Initializes the internal variables from a given index writer configuration. -
Uses of IndexWriterParams in org.apache.nutch.indexwriter.cloudsearch
Methods in org.apache.nutch.indexwriter.cloudsearch with parameters of type IndexWriterParams Modifier and Type Method Description void
CloudSearchIndexWriter. open(IndexWriterParams parameters)
-
Uses of IndexWriterParams in org.apache.nutch.indexwriter.csv
Methods in org.apache.nutch.indexwriter.csv with parameters of type IndexWriterParams Modifier and Type Method Description void
CSVIndexWriter. open(IndexWriterParams parameters)
Initializes the internal variables from a given index writer configuration.protected void
CSVIndexWriter.Separator. setFromConf(IndexWriterParams parameters, String property)
protected void
CSVIndexWriter.Separator. setFromConf(IndexWriterParams parameters, String property, boolean isChar)
-
Uses of IndexWriterParams in org.apache.nutch.indexwriter.dummy
Methods in org.apache.nutch.indexwriter.dummy with parameters of type IndexWriterParams Modifier and Type Method Description void
DummyIndexWriter. open(IndexWriterParams parameters)
Initializes the internal variables from a given index writer configuration. -
Uses of IndexWriterParams in org.apache.nutch.indexwriter.elastic
Methods in org.apache.nutch.indexwriter.elastic with parameters of type IndexWriterParams Modifier and Type Method Description protected org.elasticsearch.client.RestHighLevelClient
ElasticIndexWriter. makeClient(IndexWriterParams parameters)
Generates a RestHighLevelClient with the hosts givenvoid
ElasticIndexWriter. open(IndexWriterParams parameters)
Initializes the internal variables from a given index writer configuration. -
Uses of IndexWriterParams in org.apache.nutch.indexwriter.kafka
Methods in org.apache.nutch.indexwriter.kafka with parameters of type IndexWriterParams Modifier and Type Method Description void
KafkaIndexWriter. open(IndexWriterParams params)
-
Uses of IndexWriterParams in org.apache.nutch.indexwriter.rabbit
Methods in org.apache.nutch.indexwriter.rabbit with parameters of type IndexWriterParams Modifier and Type Method Description void
RabbitIndexWriter. open(IndexWriterParams parameters)
Initializes the internal variables from a given index writer configuration. -
Uses of IndexWriterParams in org.apache.nutch.indexwriter.solr
Methods in org.apache.nutch.indexwriter.solr with parameters of type IndexWriterParams Modifier and Type Method Description void
SolrIndexWriter. open(IndexWriterParams parameters)
Initializes the internal variables from a given index writer configuration.
-


חלקיקים על קנבס
דף הבית
טקסט לחלקיקים
חלקיקים
Particle:
- Count:
- Size (px):
-
- Rotation (degress / second, only for lines):
- Normal acceleration (px / second**2):
- Mouse acceleration (px / second**2):
- Random acceleration (px / second**2):
- Drag (% of speed / second):
Moving particles:
- Count:
- Start X (% of width):
- Start Y (% of height):
- End X (% of width):
- End Y (% of height):
Mouse (Currently disabled!!!):
- Radius change by move (px / event):
- Radius change by click (px / click):
- Radius decay (px / second):
- Max radius (px):
Mouse Movement:
- Effect duration (seconds):
- Range (px): Initial
Final
- Acceleration (px / second**2): Initial
Final


The DragonSpark Blog, Dawg!
Business / Art / Technology / Life / etc.
Articles
Newsletter
About
Search the Blog, Dawg
Search this site… who knows
what you’ll find
!
© 2019 DragonSpark Technologies Incorporated
Proudly designed w/
Hugo
&
Bilberry Hugo Theme
Terms
|
Privacy
|
Made in Michigan