Class Exception and its subclasses are used to
communicate between Kernel#raise
and rescue
statements in begin ... end
blocks.
An Exception object carries information about an exception:
Its type (the exception's class).
An optional descriptive message.
Optional backtrace information.
Some built-in subclasses of Exception have additional methods: e.g., NameError#name.
Two Ruby statements have default exception classes:
raise
: defaults to RuntimeError.
rescue
: defaults to StandardError.
When an exception has been raised but not yet handled (in
rescue
, ensure
, at_exit
and
END
blocks), two global variables are set:
$!
contains the current exception.
$@
contains its backtrace.
To provide additional or alternate information, a program may create custom exception classes that derive from the built-in exception classes.
A good practice is for a library to create a single “generic” exception class (typically a subclass of StandardError or RuntimeError) and have its other exception classes derive from that class. This allows the user to rescue the generic exception, thus catching all exceptions the library may raise even if future versions of the library add new exception subclasses.
For example:
class MyLibrary class Error < ::StandardError end class WidgetError < Error end class FrobError < Error end end
To handle both MyLibrary::WidgetError and MyLibrary::FrobError the library user can rescue MyLibrary::Error.
The built-in subclasses of Exception are:
fatal
With no argument, or if the argument is the same as the receiver, return
the receiver. Otherwise, create a new exception object of the same class as
the receiver, but with a message equal to string.to_str
.
Construct a new Exception object, optionally passing in a message.
static VALUE exc_initialize(int argc, VALUE *argv, VALUE exc) { VALUE arg; arg = (!rb_check_arity(argc, 0, 1) ? Qnil : argv[0]); return exc_init(exc, arg); }
Equality—If obj is not an Exception,
returns false
. Otherwise, returns true
if
exc and obj share same class, messages, and backtrace.
static VALUE exc_equal(VALUE exc, VALUE obj) { VALUE mesg, backtrace; if (exc == obj) return Qtrue; if (rb_obj_class(exc) != rb_obj_class(obj)) { int state; obj = rb_protect(try_convert_to_exception, obj, &state); if (state || obj == Qundef) { rb_set_errinfo(Qnil); return Qfalse; } if (rb_obj_class(exc) != rb_obj_class(obj)) return Qfalse; mesg = rb_check_funcall(obj, id_message, 0, 0); if (mesg == Qundef) return Qfalse; backtrace = rb_check_funcall(obj, id_backtrace, 0, 0); if (backtrace == Qundef) return Qfalse; } else { mesg = rb_attr_get(obj, id_mesg); backtrace = exc_backtrace(obj); } if (!rb_equal(rb_attr_get(exc, id_mesg), mesg)) return Qfalse; if (!rb_equal(exc_backtrace(exc), backtrace)) return Qfalse; return Qtrue; }
Returns any backtrace associated with the exception. The backtrace is an array of strings, each containing either “filename:lineNo: in `method''' or “filename:lineNo.''
def a raise "boom" end def b a() end begin b() rescue => detail print detail.backtrace.join("\n") end
produces:
prog.rb:2:in `a' prog.rb:6:in `b' prog.rb:10
In the case no backtrace has been set, nil
is returned
ex = StandardError.new ex.backtrace #=> nil
static VALUE exc_backtrace(VALUE exc) { VALUE obj; obj = rb_attr_get(exc, id_bt); if (rb_backtrace_p(obj)) { obj = rb_backtrace_to_str_ary(obj); /* rb_ivar_set(exc, id_bt, obj); */ } return obj; }
Returns any backtrace associated with the exception. This method is similar to #backtrace, but the backtrace is an array of Thread::Backtrace::Location.
This method is not affected by #set_backtrace.
static VALUE exc_backtrace_locations(VALUE exc) { VALUE obj; obj = rb_attr_get(exc, id_bt_locations); if (!NIL_P(obj)) { obj = rb_backtrace_to_location_ary(obj); } return obj; }
Returns the previous exception ($!) at the time this exception was raised. This is useful for wrapping exceptions and retaining the original exception information.
static VALUE exc_cause(VALUE exc) { return rb_attr_get(exc, id_cause); }
With no argument, or if the argument is the same as the receiver, return
the receiver. Otherwise, create a new exception object of the same class as
the receiver, but with a message equal to string.to_str
.
static VALUE exc_exception(int argc, VALUE *argv, VALUE self) { VALUE exc; argc = rb_check_arity(argc, 0, 1); if (argc == 0) return self; if (argc == 1 && self == argv[0]) return self; exc = rb_obj_clone(self); rb_ivar_set(exc, id_mesg, argv[0]); return exc; }
Returns formatted string of exception. The returned string is formatted using the same format that Ruby uses when printing an uncaught exceptions to stderr.
If highlight is true
the default error handler will
send the messages to a tty.
order must be either of :top
or :bottom
,
and places the error message and the innermost backtrace come at the top or
the bottom.
The default values of these options depend on $stderr
and its
tty?
at the timing of a call.
static VALUE exc_full_message(int argc, VALUE *argv, VALUE exc) { VALUE opt, str, emesg, errat; enum {kw_highlight, kw_order, kw_max_}; static ID kw[kw_max_]; VALUE args[kw_max_] = {Qnil, Qnil}; rb_scan_args(argc, argv, "0:", &opt); if (!NIL_P(opt)) { if (!kw[0]) { #define INIT_KW(n) kw[kw_##n] = rb_intern_const(#n) INIT_KW(highlight); INIT_KW(order); #undef INIT_KW } rb_get_kwargs(opt, kw, 0, kw_max_, args); switch (args[kw_highlight]) { default: rb_raise(rb_eArgError, "expected true or false as " "highlight: %+"PRIsVALUE, args[kw_highlight]); case Qundef: args[kw_highlight] = Qnil; break; case Qtrue: case Qfalse: case Qnil: break; } if (args[kw_order] == Qundef) { args[kw_order] = Qnil; } else { ID id = rb_check_id(&args[kw_order]); if (id == id_bottom) args[kw_order] = Qtrue; else if (id == id_top) args[kw_order] = Qfalse; else { rb_raise(rb_eArgError, "expected :top or :bottom as " "order: %+"PRIsVALUE, args[kw_order]); } } } str = rb_str_new2(""); errat = rb_get_backtrace(exc); emesg = rb_get_message(exc); rb_error_write(exc, emesg, errat, str, args[kw_highlight], args[kw_order]); return str; }
Return this exception's class name and message.
static VALUE exc_inspect(VALUE exc) { VALUE str, klass; klass = CLASS_OF(exc); exc = rb_obj_as_string(exc); if (RSTRING_LEN(exc) == 0) { return rb_class_name(klass); } str = rb_str_buf_new2("#<"); klass = rb_class_name(klass); rb_str_buf_append(str, klass); rb_str_buf_cat(str, ": ", 2); rb_str_buf_append(str, exc); rb_str_buf_cat(str, ">", 1); return str; }
Returns the result of invoking exception.to_s
. Normally this
returns the exception's message or name.
static VALUE exc_message(VALUE exc) { return rb_funcallv(exc, idTo_s, 0, 0); }
Sets the backtrace information associated with exc
. The
backtrace
must be an array of String
objects or a single String in the format
described in #backtrace.
static VALUE exc_set_backtrace(VALUE exc, VALUE bt) { return rb_ivar_set(exc, id_bt, rb_check_backtrace(bt)); }


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/cases.20fails.20on.20exists.html ---
Can you explain this error message (it happens when I say cases hm with aa bb
, but by_cases number.has_min α with hm
works perfectly fine):
induction tactic failed, recursor 'Exists.dcases_on' can only eliminate into Prop state: α : Type u_1, _inst_1 : number α, trvk : triviality_kind, strk : strictness_kind, bnd : α, c : constraint α trvk kupper strk, ht : ¬is_trivial c, hs : is_strict c, hm : ∃ (hm : number.has_min α), number.min hm < get_bound c _ ⊢ α
You can't destruct an exists directly because it's a (small eliminating) Prop. However, in the special case when it is an exists over a prop, you can use hm.fst
and hm.snd
to project out the components
Isn't that the same situation as
example : (∃ a:1>2, false) → false := begin intro h, cases h with a b, -- no problem here assumption end
You can use cases on exists to prove a Prop, but not to construct data (something in a type that lives in Type)
here it's okay because false : Prop
while in the other case α : Type u_1 != Prop
The basic idea is that if you want to use partial functions in your code, you have to write all the actual function calls not dependent on the proof part
Are you pointing to the α
that is used in the goal?
yes
why are you "proving" alpha?
you should write all the functions first, in term mode, and only enter tactic mode to justify the proof part of your partial function
It is supposed to be a function, not a proof.
I find it easier to go into tactic mode.
You want to be careful about the dependency structure that the tactic creates
For example, here is a function in term mode.
def has_min : Prop := if ht : is_trivial c then number.has_min α else match dirk with | klower := is_strict c → ¬number.is_dense α ∧ ∀ hm:number.has_max α, get_bound c (not_trivial_is_not_ktrv c ht) < number.max hm | kupper := ∃ hm : number.has_min α, (is_strict c → (number.min hm) < (get_bound c (not_trivial_is_not_ktrv c ht))) end
Now suppose, has_min
is true. What is the value of min
? I have to first check triviality, then direction, then whether or not alpha is dense, then ...
Every one of these gives me a different function that I should use to find minimum value. So I entered tactic mode.
For example with your if then else function from before:
def f (c:check) : nat := if h : p then f₁ (begin ... end) else f₂ (begin ... end)
you should enter tactic mode for the proof part but not while determining which function to call
I already mentioned before that you are making your life harder with this encoding, you really want to encode this in the structure of your inductive types. You would be better served encoding has_min
as an inductive type as well
Have you considered using roption
? It encodes a pair of a proof and a partial function, which makes it easy to write super dependent partial functions like this
Nope, I have to look into roption
.
Why do you use so many decidable propositions instead of bools for your work? Usually the answer is convenience but it's clearly not helping you
Not sure, practice ;) or avoiding coe as much as possible
What do you think of having the number
fields like this? I find that using option
makes the proofs and statements much easier
def has_in_between {α} [has_lt α] (x y : α) := ∃ z : α, x < z ∧ z < y class number (α:Type*) extends decidable_linear_order α := [nonempty_decidable : decidable (nonempty α)] (arbitrary : ∀ [nonempty α], α) [subsingleton_decidable : decidable (subsingleton α)] (min : option α) (max : option α) (min_prop : ∀ a, a ∈ min ↔ ∀ m:α, a ≤ m) (max_prop : ∀ a, a ∈ max ↔ ∀ m:α, m ≤ a) (next : α → option α) (next_prop : ∀ x y, y ∈ next x ↔ x < y ∧ ∀ z:α, z ≤ x ∨ y ≤ z) (prev : α → option α) (prev_prop : ∀ x y, y ∈ next x ↔ x < y ∧ ∀ z:α, z ≤ x ∨ y ≤ z) (is_dense : bool) (is_dense_prop : if is_dense then ∀ x y : α, x < y → ∃ z : α, x < z ∧ z < y else (∀ x ∉ max, ∃ y, y ∈ next x) ∧ (∀ x ∉ min, ∃ y, y ∈ prev x)) [has_in_between_decidable : ∀ x y : α, decidable (has_in_between x y)] (zero : option α) (neg₀ : α → option α) (add₀ : α → α → option α) (mul₀ : α → α → option α) (sub₀ : α → α → option α) (div₀ : α → α → option α) (neg₁ : α → option α) (add₁ : α → α → option α) (mul₁ : α → α → option α) (sub₁ : α → α → option α) (div₁ : α → α → option α)
They used to be like this.
The reason I separated min
and has_min
is just for performance of the final hypothetical code.
has_min
is never slower than min
, but it is quite possible for it to be faster.
For example,
def has_inf : Prop := if is_satisfiable c then is_bounded_left c else number.has_max α def inf (h: has_inf c) : α := if hsat : is_satisfiable c then let hbl := eq.mp (if_pos hsat) h in if ht : is_trivial c then number.min (hbl (or.inl ht)) else if hd : dirk = kupper then number.min (hbl (or.inr hd)) else get_bound c (not_trivial_is_not_ktrv c ht) else number.max (eq.mp (if_neg hsat) h)
when will knowing has_inf
make computation of inf
faster?
A quick and simple addition to allow for faster implementations of has_min
is the following extra field:
[has_min : decidable min.is_some]
I did not say using has_inf
makes inf
faster, suppose all I want is has_inf
. If I use option, I have to call inf
. But has_inf
could have been implemented faster.
or you could do it in two stages with a bool
function:
(has_min : bool) (has_min_prop : has_min = min.is_some)
that way it won't interfere with the definition of min
or inf
or whatever
May be we mean different things by implementation
. I mean non-lean code, more specifically C++. If I did not care about performance, I would never consider C++.
I care about performance more than most lean users, indeed I'm writing a compiler and we have to think about these things. But the extra hypothesis parameter is not as erasable as it appears at first
Are you talking about (h: has_inf c)
as a parameter to inf
?
yes
How do you intend to relate the lean code you are writing to C++? This affects performance considerations
Is this code to be #eval
d? Compiled to C++ and then run? Used only for correctness verification?
But that is for inf
and not has_inf
.
Right now I know nothing about automatic code generation in lean. I doubt it does exactly what I wish (not sure what exactly that is either). For example, if I have a constraint, I want it to be mutable. If I define addition of two constraints, there is going to be 5 (I guess) additions, but in lean I will have only one. So mostly manual transformation. That could also be a reason why I am not a fan of match
in lean. I don't know any formal semantics for c++, so not much into verification/validation. But I was thinking about an interval that support both strict and non-strict constraint in both dynamic and static, and realized that is too much for me to verify on my mind. So it would be nice if I can prove the operations first (on a scratch paper) and then at least be sure about the correct behavior.
Last updated: Apr 24 2020 at 19:02 UTC


{% extends 'base.html' %} {% import 'bootstrap/wtf.html' as wtf %} {% block content %}
Login into your account
{{message}}
If you don't have an account click here to sign up


Problem: I need to know how much area my bathtub can hold because I need to hide all of my abysmal grades.
How to figure out the amount of bodies you can hide in the bathtub.
If you are able to read, then you should be able to read how I solved this incredibly difficult problem.
For starters, I know that my bathtub is in an oval shape, but since I'm too lazy to learn more stuff, I'm going to pretend that the bathtub is an irregular octagon. Although it is not an exact calculation, it is balanced from the slope at the bottom of the bathtub.
Now that I have an octagon, I can split the bathtub up into 2 trapezoids and a single huge rectangle.
From here, I just solve for the areas for each of the smaller shapes and combine it to get the approximate area for my bathtub.
And according to this original piece of source, my bathtub has an appoximate liquid volume of 32860 Liters.
Did you know that you could pour 16430 large bottles of Sprite into the bathtub!
Fun fact, the bathtub has gained volume over time as the bathtub's materials have been weathered and eroded away.
Since the bathtub isn't made out of metal, you don't really have to account for thermal expansion of the bathtub!
The bathtub is sloped in order for the user to not kill themself in a dissapointing way.
There is no pre-installed rubber mats or anything of the like on the bathtub floor because it saves money. It also makes my life easier when wanting to calculate the size of the bathtub.


After doing some research, I thought that perhaps .2-.25g. of 10x S. divinorum would provide the kind of visuals and insights people talk about. In retrospect, that must have been way more than a noob to salvia like me should try on the first go.
I have done a lot of different substances in my life, some with great success and insight, some with great sickness. None of my life experiences, or anyone else's I think, could have prepared me for what came.
As I exhaled, I suddenly ceased to exist. I can remember it, but I was so far divorced from normal conscious experience, that I can't get my mind to wrap around it. It was a place and time without any normally perceivable objects or events. It appeared that there was light, but that is just my description. What I perceived was not related to physical reality, so there was no timescale or objects and events to perceive, yet there were events and feelings.
That existence was singularly frustrating as I wanted to be able to think and make sense of it. Saying that I wanted something is still only an interpretation. My existence was far too malleable, tenuous, and homogeneous to separate out such concepts.
I suspect that I perceived existence both before and after my current life. That is when I began to attempt to find out if I could find and re-enter my current life in this cosmos.
Even now, my mind still screams, 'Oh My God!' when I remember what I experienced there.
The next existence I found myself in was a sort of wall made of multi-colored, fine-grained patterns. That pattern was all there was to existence. Even my entire being was an abstract concept in a universe where there were no such things as sentient beings with memories and minds.
There were 'thoughts' in that medium, but let us use that word lightly. Let us call those 'movements in the medium.' Those movements were associated with parts of my former identity, memories, and thoughts. All of the movements had feelings associated with them, and those feelings could be equated with dismay, desperation, confusion, surprise, and more.
My time in that medium was literally timeless. There, I could perceive events not at all related to my former cosmos, though we shall use those words loosely, too. One of the movements was associated with my death, and so, quite naturally, my counter movement had to do with assuming I was not among the living in my former cosmos.
Over eons (or microseconds) I started to become aware of other perceptions. The colored pattern began to overlay objects not of the universe I was just in. Those objects were things such as a bed, nightstand, dresser, and other accoutrement of a bedroom. I didn't know what those new objects were, as there was not yet language and thinking in this new place.
Presently, primitive harbingers of thought began to form, though there was still not language with which to express them. My first real feelings associated with those early thoughts were incomprehensible confusion, disorientation, dread, fear and a need to go.
There was now a woman in the room with me. Not one that I could literally see with my eyes, but definitely there. [I was so far gone that I didn't remember this woman until later.]
She had long black hair, scant clothes, and her, ah, private area was a mouth with sharp triangular teeth. It was biting open and closed. In a manner I can't describe well, it was biting my whole stomach and lower chest area, but not in a painful way. It was erotic, but not in a way anyone would normally think of eroticism. I felt she was drawing me away from reality with each powerful bite, not in line with what I wanted.
The biting feeling in my abdomen, as I said, was not painful. What it did was pull my upper body and hips together, so that I felt like I wanted to keep hunching over. She was on me and that biting thing was her whole being consuming me. The experience was that of two parts of the same being interacting though, not that of, say, a predator eating prey.
I stood up and struggled to understand what was happening to me. I began to walk toward the bedroom door. Everything I could perceive had far deeper meanings and implications that met the eye. Even my movements had profound indescribable meanings attached that had to do with distorted memories and imagery from my past life.
This particular phenomenon is the most confusing and confounding aspect of my experience. I couldn't see or do anything without a sort of profound interference pattern overlaying everything I could see and my every movement.
I desperately needed to get away from something, and with the same desperation, to find something. Those intensely needed things were not in the room I was in. I lose memory at this point, but I must have had the forethought to put on a robe, as I found myself next at the front door, still in utter need to get away and find that thing.
Bear in mind, thought had not been introduced to this new universe. I saw an object before me and went through it. There were sudden strange visions having to do with my former life interlaced with the still-persistent pattern, and of things like trees, snow, sky and my feet on a cold wet porch. I still didn't have concepts of what any objects were, though.
Presently, I was on the other side of that portal. Suddenly, someone must have said, 'Let there be concepts and thought!' For I thought that I might be able to get away from whatever it was and find the other thing. I opened and went through the door again.
Outside once again, I saw my old friend, Tootsie, the husky.  No matter, The Desperation was still on me in a very profound way. I must keep moving so the one thing does not catch me, and I can find the other.
Back through the strange portal I went. Suddenly, I knew where I must go. I must seek out the presence of my daughter. Perhaps she will be able to help me.
I staggered down the short hallway to her space and opened the portal. I said her name (language and the spoken word in one sudden miracle!) and she responded. New hope and relief exploded into me! Here for sure I could find that thing and perhaps my beloved daughter could stave off the horror chasing me.
I fell on my beloved daughter's bed and said, 'Sorry for barging in, but I [have] taken a plant.' 'Ohhhh Kayyy..?' she replied, obviously worried. My other dog, Spirit, was in the room with my daughter, and he too was obviously spooked in no small way.
'Am I alive?' I asked my daughter.
'Yeah you are,' said my beloved daughter.
At last, I had found what I had been seeking through the ages: My mind. I had also escaped that which chased me: Insanity and death. My love and appreciation for my daughter was indeed profound.
Those two precious things addressed, I set about to get dressed and to get my life back together.
An hour later, I was calmed down enough to try smaller doses, but to no avail. I was too afraid of not being able to predict if I would take enough to repeat what happened earlier. I flushed the remainder, deciding that the horror was too great a risk. I might be able, I realized, to control the dosage accurately, but I could not predict what my reaction might be to any given attempt.
I have never had such a compressed and intense experience as this, ever.
*Later Thoughts and Interpretations*
I took many more less intense trips over the course of about 4 months. None of them came close to pushing the limits of the first one. I am afraid of falling down and hurting myself, but more importantly, I am afraid of finding myself alone with no one to tell me that I am a human being and that I am alive.
When I took my first and only really big hit, I was instantly transported away from any kind of familiar existence. That is merely a convenient description of the journey. I suspect the plant strips away or completely blocks the mind (that part of consciousness associated with the brain/body), along with its identity and memories.
What I was left with was existence devoid of beliefs, concepts, and the history of physical existence. I believe that time/space really is illusory. Our experience of physical reality may be a state brought about by our species' particular focus in consciousness.
If time and space really are illusory, then it would make sense that the removal of the normal functions of the mind would also remove the illusion. All time and space would contract into a sort of singularity that is the most basic consciousness of all: our inmost being.
If all time exists in this one moment, then what we might perceive would be the actual moment of creation itself. I believe that is what I experienced: All That Is creating not only me, but all of reality, right before my eyes.
My horrible journey back to what I call my own cosmos or reality was a metaphor for the creation of individuated consciousness. The terrible and overwhelming déjà vu is nothing less than my own inmost self remembering what it is.
Knowing, or at least believing these things do not help much when a hit comes on, though. I forget everything and plunge toward the One again. What does help, I have found, is to not go in kicking and screaming, but to let my identity go in peace and trust that I will be re-created the way I was before.
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.


Click an image to insert it directly into the editor. To control how it is displayed and positioned in the editor, select "Template". To crop or resize, select "Resize".
{%load thumbnail%}|
{%include 'media_browser/admin/image_info_dict.html'%}
{{image.title}} Options: Template | Resize |
{%endif%}
{%endfor%}
| No images found. |


Toihid
Course Dashboard
Profile
All Records
Settings
Settings
Account Settings
My Profile
Toihid Rahman
Edit Profile
My Courses
C# Programming
Started from: 1, November
C# Java
Started from: 12, November
Quantum
Started from: 18, November


--- layout: default permalink: 404.html title: Page not found description: "Sorry, but the page you were trying to view does not exist." ---
{{ page.description }}


Connect to your PostgreSQL Server
Given your credentials via email, you can connect to your postgres server hosted on code.engineering.nyu.edu.
Accessing the Database locally using terminal
First SSH to code.engineering.nyu.edu
Once logged in type in the following command:
psql -p 55432 -U dbuser -d dbname
Change dbuser
and dbname
accordingly. You will be prompted for password to connect as well.
Once connected you will be dropped into psql shell. See some of the things you can do to manipulate your database here: psql guide.
Accessing the Database using a Client
There are several free PostgreSQL clients available of both Mac and Windows. Here is a short list:
I will be using pgAdmin 4 to demo how you can use a client to connect to your PostgreSQL database. Download and install the client using the links above. Open it up and you should see something like the following:
Now add a new server.
Fill the in details as described below. You should have received the dbname
and password
in an email.
Make sure port
is 55432
.
If successful, pgAdmin 4 will show you the available databases on the server. Double click on the database assigned to you and you should be on your way. Expand schema, and play around with creating new tables and everything else there. See: PostgreSQL Documentation for more details about the database.
You should not be able to see/connect to other databases on the server. If you can, please send an email to cselabs-team@nyu.edu.


Let’s get one thing straight right away. Kotlin is a really nice language to write code in!
It’s mid-summer of 2018. At work I had just been swapped to a new team. Up until now in my short career I had focused mostly on front-end development. For some time however, I had wanted to start working more on backend development to improve as a software engineer. Coincidentally, the team I am to this day a part of was planning to update their entire backend API from a dated Grails app to something modern and there was going to be lots of opportunities to get my feet wet with backend development!
Groovy at this point is becoming a dying a langauge, and our team was looking for what language to re-write our entire backend in that supports Spring 3.0. Java? Groovy? Kotlin?!? As a team we decided that Groovy was not worth using, and let’s be real, Java is too wordy. Enter Kotlin…
Around Fall of 2018 I finally started to get my feet wet with Kotlin. After a couple of months of coding in Kotlin I am by no means an expert in the language, but I have quickly grown to love it! Kotlin was created by JetBrains, and runs on the JVM. This means that Kotlin can be easily integrated with Java code out there and will compile just fine! Let’s discuss some basics about Kotlin that differentiate it as well as some features that I personally love.
The first thing you’ll notice about Kotlin is that there are strong null checks. A variable cannot be null by default unless specified with the ? operator. Kotlin forces you to watch out for null pointer exceptions. Say goodbye to all those try/catch blocks!
var example: MyClass = MyClass()
example = null // Will fail to compile
var workingExample: MyClass? = MyClass()
var workingExample = null //will compile
Variables can be set using var or val, with var being modifiable while val isn’t. Ok, this really isn’t something that I love or hate but I just wanted to point out real quick.
val a: String = "julian" // val is immutable
var b: Int = 8 // var is modifiable
Ok, back to actual things I love about Kotlin, there’s when. We’ve all used switch statements before. Kotlin has their own version of Switch which is way more readable and I now try to incorporate it perhaps too much these days. There are tons of ways you can use when but here are two examples showing it.
val user: Boolean = when {
user == null -> false
user is "julian" -> true
else -> user = "lost"
}
when (x) {
in 1..10 -> print("x in range")
in validRange -> print("x is valid")
else -> print("x invalid")
}
In Kotlin, we can avoid writing a lot of boilerplate code. A data class encapsulates all the functionality of your typical objects which do nothing but store data. Better shown, let’s first look at a Java movie class below.
public class Movie {
private String name;
private String director;
public Movie(String name, String director) {
this.name = name;
this.director = director;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
// Purposely leaving these empty, yes deal with it
@Override
public String toString(){}
@Override
public Boolean equals(Object o){}
@Override
public Int hashCode() {}
}
Just writing that was enough to make me lazy halfway through creating a simple class that stores 2 fields of data for a movie. Luckily, in Kotlin we can do this all in a single line!
data class Movie(val name: String, val director: String)
That’s literally it! With this Kotlin will generate the rest for us. We also get a copy() for free alongside toString(), equals(), and hashCode().


/** * Copyright (C) 2009 Scalable Solutions. */ package se.scalablesolutions.akka.dispatch import java.util.concurrent._ import locks.ReentrantLock import atomic.{AtomicLong, AtomicInteger} import ThreadPoolExecutor.CallerRunsPolicy import java.util.{Collection, HashSet, HashMap, LinkedList, List} /** * Implements the Reactor pattern as defined in: [http://www.cs.wustl.edu/~schmidt/PDF/reactor-siemens.pdf].
 * See also this article: [http://today.java.net/cs/user/print/a/350]. *
 * * Default settings are: *
 * - withNewThreadPoolWithLinkedBlockingQueueWithUnboundedCapacity * - NR_START_THREADS = 16 * - NR_MAX_THREADS = 128 * - KEEP_ALIVE_TIME = 60000L // one minute *
 *
 * * The dispatcher has a fluent builder interface to build up a thread pool to suite your use-case. * There is a default thread pool defined but make use of the builder if you need it. Here are some examples. *
 * * Scala API. *
 * Example usage: *
 * val dispatcher = new EventBasedThreadPoolDispatcher("name", false) * dispatcher * .withNewThreadPoolWithBoundedBlockingQueue(100) * .setCorePoolSize(16) * .setMaxPoolSize(128) * .setKeepAliveTimeInMillis(60000) * .setRejectionPolicy(new CallerRunsPolicy) * .buildThreadPool *
 *
 * * Java API. *
 * Example usage: *
 * EventBasedThreadPoolDispatcher dispatcher = new EventBasedThreadPoolDispatcher("name", false); * dispatcher * .withNewThreadPoolWithBoundedBlockingQueue(100) * .setCorePoolSize(16) * .setMaxPoolSize(128) * .setKeepAliveTimeInMillis(60000) * .setRejectionPolicy(new CallerRunsPolicy()) * .buildThreadPool(); *
 *
 * * But the preferred way of creating dispatchers is to use * the {@link se.scalablesolutions.akka.dispatch.Dispatchers} factory object. * * @author Jonas Bonér */ class EventBasedThreadPoolDispatcher(name: String, private val concurrentMode: Boolean) extends MessageDispatcherBase(name) { def this(name: String) = this(name, false) private val NR_START_THREADS = 16 private val NR_MAX_THREADS = 128 private val KEEP_ALIVE_TIME = 60000L // default is one minute private var inProcessOfBuilding = false private var executor: ExecutorService = _ private var threadPoolBuilder: ThreadPoolExecutor = _ private val threadFactory = new MonitorableThreadFactory("akka:" + name) private var boundedExecutorBound = -1 private val busyInvokers = new HashSet[AnyRef] // build default thread pool withNewThreadPoolWithLinkedBlockingQueueWithUnboundedCapacity.buildThreadPool def start = if (!active) { active = true /** * This dispatcher code is based on code from the actorom actor framework by Sergio Bossa [http://code.google.com/p/actorom/]. */ val messageDemultiplexer = new EventBasedThreadPoolDemultiplexer(queue) selectorThread = new Thread { override def run = { while (active) { try { try { guard.synchronized { /* empty */ } // prevents risk for deadlock as described in [http://developers.sun.com/learning/javaoneonline/2006/coreplatform/TS-1315.pdf] messageDemultiplexer.select } catch { case e: InterruptedException => active = false } val selectedInvocations = messageDemultiplexer.acquireSelectedInvocations val reservedInvocations = reserve(selectedInvocations) val it = reservedInvocations.entrySet.iterator while (it.hasNext) { val entry = it.next val invocation = entry.getKey val invoker = entry.getValue threadPoolBuilder.execute(new Runnable() { def run = { invoker.invoke(invocation) free(invocation.receiver) messageDemultiplexer.wakeUp } }) } } finally { messageDemultiplexer.releaseSelectedInvocations } } } }; selectorThread.start } override protected def doShutdown = executor.shutdownNow private def reserve(invocations: List[MessageInvocation]): HashMap[MessageInvocation, MessageInvoker] = guard.synchronized { val result = new HashMap[MessageInvocation, MessageInvoker] val iterator = invocations.iterator while (iterator.hasNext) { val invocation = iterator.next if (concurrentMode) { val invoker = messageHandlers.get(invocation.receiver) if (invocation == null) throw new IllegalStateException("Message invocation is null [" + invocation + "]") if (invoker == null) throw new IllegalStateException("Message invoker for invocation [" + invocation + "] is null") result.put(invocation, invoker) } else if (!busyInvokers.contains(invocation.receiver)) { val invoker = messageHandlers.get(invocation.receiver) if (invocation == null) throw new IllegalStateException("Message invocation is null [" + invocation + "]") if (invoker == null) throw new IllegalStateException("Message invoker for invocation [" + invocation + "] is null") result.put(invocation, invoker) busyInvokers.add(invocation.receiver) iterator.remove } } result } private def free(invoker: AnyRef) = guard.synchronized { if (!concurrentMode) busyInvokers.remove(invoker) } // ============ Code for configuration of thread pool ============= def buildThreadPool = synchronized { ensureNotActive inProcessOfBuilding = false if (boundedExecutorBound > 0) { val boundedExecutor = new BoundedExecutorDecorator(threadPoolBuilder, boundedExecutorBound) boundedExecutorBound = -1 executor = boundedExecutor } else { executor = threadPoolBuilder } } def withNewThreadPoolWithQueue(queue: BlockingQueue[Runnable]): EventBasedThreadPoolDispatcher = synchronized { ensureNotActive verifyNotInConstructionPhase inProcessOfBuilding = false blockingQueue = queue threadPoolBuilder = new ThreadPoolExecutor(NR_START_THREADS, NR_MAX_THREADS, KEEP_ALIVE_TIME, MILLISECONDS, queue) this } /** * Creates an new thread pool in which the number of tasks in the pending queue is bounded. Will block when exceeeded. *
 * The 'bound' variable should specify the number equal to the size of the thread pool PLUS the number of queued tasks that should be followed. */ def withNewThreadPoolWithBoundedBlockingQueue(bound: Int): EventBasedThreadPoolDispatcher = synchronized { ensureNotActive verifyNotInConstructionPhase blockingQueue = new LinkedBlockingQueue[Runnable] threadPoolBuilder = new ThreadPoolExecutor(NR_START_THREADS, NR_MAX_THREADS, KEEP_ALIVE_TIME, MILLISECONDS, blockingQueue, threadFactory) boundedExecutorBound = bound this } def withNewThreadPoolWithLinkedBlockingQueueWithCapacity(capacity: Int): EventBasedThreadPoolDispatcher = synchronized { ensureNotActive verifyNotInConstructionPhase blockingQueue = new LinkedBlockingQueue[Runnable](capacity) threadPoolBuilder = new ThreadPoolExecutor(NR_START_THREADS, NR_MAX_THREADS, KEEP_ALIVE_TIME, MILLISECONDS, blockingQueue, threadFactory, new CallerRunsPolicy) this } def withNewThreadPoolWithLinkedBlockingQueueWithUnboundedCapacity: EventBasedThreadPoolDispatcher = synchronized { ensureNotActive verifyNotInConstructionPhase blockingQueue = new LinkedBlockingQueue[Runnable] threadPoolBuilder = new ThreadPoolExecutor(NR_START_THREADS, NR_MAX_THREADS, KEEP_ALIVE_TIME, MILLISECONDS, blockingQueue, threadFactory, new CallerRunsPolicy) this } def withNewThreadPoolWithSynchronousQueueWithFairness(fair: Boolean): EventBasedThreadPoolDispatcher = synchronized { ensureNotActive verifyNotInConstructionPhase blockingQueue = new SynchronousQueue[Runnable](fair) threadPoolBuilder = new ThreadPoolExecutor(NR_START_THREADS, NR_MAX_THREADS, KEEP_ALIVE_TIME, MILLISECONDS, blockingQueue, threadFactory, new CallerRunsPolicy) this } def withNewThreadPoolWithArrayBlockingQueueWithCapacityAndFairness(capacity: Int, fair: Boolean): EventBasedThreadPoolDispatcher = synchronized { ensureNotActive verifyNotInConstructionPhase blockingQueue = new ArrayBlockingQueue[Runnable](capacity, fair) threadPoolBuilder = new ThreadPoolExecutor(NR_START_THREADS, NR_MAX_THREADS, KEEP_ALIVE_TIME, MILLISECONDS, blockingQueue, threadFactory, new CallerRunsPolicy) this } /** * Default is 16. */ def setCorePoolSize(size: Int): EventBasedThreadPoolDispatcher = synchronized { ensureNotActive verifyInConstructionPhase threadPoolBuilder.setCorePoolSize(size) this } /** * Default is 128. */ def setMaxPoolSize(size: Int): EventBasedThreadPoolDispatcher = synchronized { ensureNotActive verifyInConstructionPhase threadPoolBuilder.setMaximumPoolSize(size) this } /** * Default is 60000 (one minute). */ def setKeepAliveTimeInMillis(time: Long): EventBasedThreadPoolDispatcher = synchronized { ensureNotActive verifyInConstructionPhase threadPoolBuilder.setKeepAliveTime(time, MILLISECONDS) this } /** * Default ThreadPoolExecutor.CallerRunsPolicy. To allow graceful backing off when pool is overloaded. */ def setRejectionPolicy(policy: RejectedExecutionHandler): EventBasedThreadPoolDispatcher = synchronized { ensureNotActive verifyInConstructionPhase threadPoolBuilder.setRejectedExecutionHandler(policy) this } private def verifyNotInConstructionPhase = { if (inProcessOfBuilding) throw new IllegalStateException("Is already in the process of building a thread pool") inProcessOfBuilding = true } private def verifyInConstructionPhase = { if (!inProcessOfBuilding) throw new IllegalStateException("Is not in the process of building a thread pool, start building one by invoking one of the 'newThreadPool*' methods") } private def ensureNotActive = if (active) throw new IllegalStateException("Can't build a new thread pool for a dispatcher that is already up and running") } class EventBasedThreadPoolDemultiplexer(private val messageQueue: ReactiveMessageQueue) extends MessageDemultiplexer { private val selectedInvocations: List[MessageInvocation] = new LinkedList[MessageInvocation] private val selectedInvocationsLock = new ReentrantLock def select = try { selectedInvocationsLock.lock messageQueue.read(selectedInvocations) } finally { selectedInvocationsLock.unlock } def acquireSelectedInvocations: List[MessageInvocation] = { selectedInvocationsLock.lock selectedInvocations } def releaseSelectedInvocations = selectedInvocationsLock.unlock def wakeUp = messageQueue.interrupt } /** * @author Jonas Bonér */ class BoundedExecutorDecorator(val executor: ExecutorService, bound: Int) extends ExecutorService { private val semaphore = new Semaphore(bound) def execute(command: Runnable) = { semaphore.acquire try { executor.execute(new Runnable() { def run = { try { command.run } finally { semaphore.release } } }) } catch { case e: RejectedExecutionException => semaphore.release } } // Delegating methods for the ExecutorService interface def shutdown = executor.shutdown def shutdownNow = executor.shutdownNow def isShutdown = executor.isShutdown def isTerminated = executor.isTerminated def awaitTermination(l: Long, timeUnit: TimeUnit) = executor.awaitTermination(l, timeUnit) def submit[T](callable: Callable[T]) = executor.submit(callable) def submit[T](runnable: Runnable, t: T) = executor.submit(runnable, t) def submit(runnable: Runnable) = executor.submit(runnable) def invokeAll[T](callables: Collection[_ <: Callable[T]]) = executor.invokeAll(callables) def invokeAll[T](callables: Collection[_ <: Callable[T]], l: Long, timeUnit: TimeUnit) = executor.invokeAll(callables, l, timeUnit) def invokeAny[T](callables: Collection[_ <: Callable[T]]) = executor.invokeAny(callables) def invokeAny[T](callables: Collection[_ <: Callable[T]], l: Long, timeUnit: TimeUnit) = executor.invokeAny(callables, l, timeUnit) } /** * @author Jonas Bonér */ class MonitorableThreadFactory(val name: String) extends ThreadFactory { private val counter = new AtomicLong def newThread(runnable: Runnable) = //new MonitorableThread(runnable, name) new Thread(runnable, name + "-" + counter.getAndIncrement) } /** * @author Jonas Bonér */ object MonitorableThread { val DEFAULT_NAME = "MonitorableThread" val created = new AtomicInteger val alive = new AtomicInteger @volatile val debugLifecycle = false } // FIXME fix the issues with using the monitoring in MonitorableThread /** * @author Jonas Bonér */ class MonitorableThread(runnable: Runnable, name: String) extends Thread(runnable, name + "-" + MonitorableThread.created.incrementAndGet) {//with Logging { setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { def uncaughtException(thread: Thread, cause: Throwable) = {} //log.error("UNCAUGHT in thread [%s] cause [%s]", thread.getName, cause) }) override def run = { val debug = MonitorableThread.debugLifecycle //if (debug) log.debug("Created %s", getName) try { MonitorableThread.alive.incrementAndGet super.run } finally { MonitorableThread.alive.decrementAndGet //if (debug) log.debug("Exiting %s", getName) } } }


Params
rows:
columns:
baseline (to be used in conjuction with Baseline:createDom & Baseline:destroyDom buttons):
ngBind (not implemented):
ngBindOnce (not implemented):
interpolation:
attribute interpolation:
ngBind + fnInvocation (not implemented):
interpolation + fnInvocation:
ngBind + filter (not implemented):
interpolation + filter (not implemented):
Apply
Angular2 largetable benchmark
destroyDom
createDom
profile updateDom
profile createDom
Baseline largetable benchmark
destroyDom
createDom
profile updateDom
profile createDom
Bootstrap Angular2 Client


 The shorter the mortgage term the less you pay in interest.
Instructions: Enter mortgage information into the fields and press submit. An adjustable amortization table will populate displaying each monthly payment with interest, principal, and total payment details. Enter a new monthly payment in each corresponding month to see an updated amortization table with new total payment information and savings.


Shravanv1
HOME
BLOG
TEAM
PRACTICE
COVID-19
Meet Our Team
Shravan Kumar Verma
Founder&Student
<EMAIL_ADDRESS>Vivek Singhaniya
Studies CSE at IIT (BHU) Varanasi
Ratnesh Kumar Verma
Studies Information Technology at KNIT
Shikher Sinha
Studies Information Technology at KNIT
Aniket Kumar
Studies Information Technology at IET
Avani Mishra
Studies CSE at IIT Kanpur
::ayusmitamishra259@gmail.com


Vietnam arrests 8 more suspects over UK truck deaths
Total number of arrests in Vietnam rises to 10 in connection with deaths of 39 people found in truck in UK last month.
Vietnam has arrested eight more people in connection with the 39 people found dead in a truck in the United Kingdom who are believed to be Vietnamese, according to police.
Monday's announcement brought the total number of arrests in Vietnam to 10 since eight women and 31 men were found in a refrigerated truck in an industrial park in Essex, east of London, on October 23.
More:
"Based on what we learn from the suspects, we will actively launch investigations to fight and eradicate these rings which bring people illegally to Britain," said Nguyen Huu Cau, Nghe An province police chief, according to the official Vietnam News Agency (VNA).
"The best thing to do now is to deal with the consequences of the incident and help family members receive the bodies," Cau added.
Cau said police were treating the tragedy as a smuggling incident, rather than a case of human trafficking, according to the VNA.
British police initially said the victims were Chinese, but several Vietnamese families came forward to say they feared their relatives were on the truck.
DNA samples and fingerprints have been taken from several families in the area as officials in Vietnam and Britain work to identify the victims.
None has been officially identified so far.
Perilous journeys
Most of the victims were believed to be from the Nghe An and the neighbouring province of Ha Tinh, in north-central Vietnam, where poor job prospects, encouragement by authorities, smuggling gangs and environmental disaster all fuel migration.
On Friday, police in Ha Tinh said they had arrested two people and summoned others for questioning on suspicion of involvement in the case.
The discovery of the bodies has shone a spotlight on the illicit trade that sends the poor of Asia, Africa and the Middle East on perilous journeys to the West.
The suspected truck driver has been charged over the deaths, and on Friday detectives said another man, aged 23, from Northern Ireland, was also accused of 39 counts of manslaughter as well as human trafficking and immigration offences.
On Sunday, a delegation of Vietnamese diplomats and police left for Britain where they were expected to meet their British counterparts, Vietnam's official government website said.
Two families with relatives feared dead in the incident told Reuters on Saturday that authorities in Britain had asked them for help with visual identification of the bodies.
Nguyen Dinh Gia, whose son, Luong, had a distinctive tattoo of a cross on his arm, said British police had called him on Saturday, via a translator.
"The translator said my son is probably among the dead," Gia told Reuters news agency. "My one percent hope has gone."
"My only hope is that they bring his body home soon," he said.


Menu
Programs
About
Signup/Login
Team
Our Amazing Team
Jitender Kumar
Lead Designer
Jayveer Sharma
Lead Designer
Deepankar Kumar
Lead Designer
Jyoti Mittal
Front end developer
Abhilash Mohanty
Front end developer
Akshit Goel
Content Writer


Skip to main content
About Us
Careers
Contact Us
Application Monitor
Create new account
Verify employee credentials
Enter contact information
Confirm system access
There are 2 fields missing required information.
First name can not be empty
Phone number can not be empty
* indicates required
Contact information
Title
Select
Mr.
Mrs.
Miss
First name
This field is required.
Middle name
Last name
Phone number
(format:<PHONE_NUMBER>)
This field is required.
Address
Country
United States
Address line 1
Address line 2
City
State
AL
AK
AZ
AR
CA
Zip code
Back
Continue


| Overview | Module | Use | Devguide | Index |
| Nested Modules | Services | Singletons | Interfaces | Structs | Exceptions | Enums | Typedefs | Constant Groups |
| module grid |
| Services | |
| DefaultGridColumnModel | If you do not want to implement the XGridColumnModel yourself, use this service. |
| DefaultGridDataModel | If you do not want to implement the XGridDataModel yourself, use this service. |
| GridColumn | Represents a column as used by the DefaultGridColumnModel |
| SortableGridDataModel | provides a default implementation of a XSortableGridData. |
| UnoControlGrid | A control that displays a set of tabular data.
The Column Model |
| UnoControlGridModel | specifies the standard model of a UnoControlGrid control. |
| Interfaces | |
| XGridColumn | The XGridColumn defines the properties and behavior of a column in a grid control |
| XGridColumnListener | An instance of this interface is used by the XGridColumnModel to get notifications about column model changes. |
| XGridColumnModel | An instance of this interface is used by the UnoControlGrid to retrieve the column structure that is displayed in the actual control. If you do not need your own model implementation, you can also use the DefaultGridColumnModel. |
| XGridControl | An interface to a control that displays a tabular data. |
| XGridDataListener | An instance of this interface is used by the XGridDataModel to get notifications about data model changes. |
| XGridDataModel | An instance of this interface is used by the UnoControlGrid to retrieve the content data that is displayed in the actual control. If you do not need your own model implementation, you can also use the DefaultGridDataModel. |
| XGridRowSelection | This interfaces provides access to the selection of row for UnoControlGrid. |
| XGridSelectionListener | An instance of this interface is used by the XGridRowSelection to get notifications about selection changes. |
| XMutableGridDataModel | allows to modify the data represented by a XGridDataModel |
| XSortableGridData | allows to sort the data represented by a XGridDataModel |
| XSortableMutableGridDataModel | describes a grid control data model whose data can be modified and sorted. |
| Structs | |
| GridColumnEvent | An event used by a XGridColumn to notify changes in the column. |
| GridDataEvent | used to notify changes in the data represented by an XMutableGridDataModel. |
| GridSelectionEvent | An event used by a XGridControl to notify changes in its row selection. |
| Exceptions | |
| GridInvalidDataException | Exception is thrown to indicate that set data is invalid, e.g. type of data is unknown or data count doesn't match with column count. |
| GridInvalidModelException | Exception is thrown when data or column model isn't set. |
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


Our project - a struggle with Ukrainian Politically Exposed Persons (PEP), who stole money and property, and then take it to Europe.
But we find! Know more about project
Maintainers, sponsors and so on


Awesome day at #mwrc cut short by fire alarms. Looking forward to @the_zenspider finishing his excellent troll tomorrow.
4/4/2013, 5:37:08 PM
Favs: 1
Retweets: 0
link--- layout: tweet ---
Awesome day at #mwrc cut short by fire alarms. Looking forward to @the_zenspider finishing his excellent troll tomorrow.
4/4/2013, 5:37:08 PM
Favs: 1
Retweets: 0
link


Psalms 88:12
Shall thy wonders be known in the dark? and thy righteousness in the land of forgetfulness?


It’s only been about a week since the project proposal deadline for GSoC (which was the 9th of April) passed, and phew. The previous couple of weeks have been exhausting - finishing the proposal, understanding the project implementation, getting it reviewed (big thanks to all the reviewers), responding to the reviews - however at the same time, on the bigger picture it has been quite satisfying - to see all of the work from the last many months come to life in the document, to understand a major feature of the software that you’re working on and identify it’s problems, it’s scope, it’s need in the community and how it can be improved.
All in all, a great practical learning experience! Never ever would I learn this all from a classroom! (shoutout to all the peeps at FOSS@Amrita (; )
The thing about writing a proposal is that it is not only the fact that you HAVE to understand what your project will do, what it will replace/improve, how it does that, and why you are doing it in the first place - it’s also how well you present all of this information.
If you just throw up a lot of code and high tech words here and there in a boring manner, even people who can understand the jargon you put would probably choose not to read through it.
Presentation matters a LOT. Marketing matters a LOT. It is as important as your understanding of the project. Both go hand in hand. If you really understand your project, you should be able to structure it and break it down to few parts.
KDE Why? Given it’s lovely, soothing desktop experience, who wouldn’t fall in love with it? ;)
Kdenlive It’s a non-linear video editor and there’s no particular reason why I chose Kdenlive, the bug tracker had a lot of bugs for it, and I was able to pick them up and fix them. Plus I didn’t really know much about editing video, so I thought - why not explore a new domain? So yep. Kdenlive has been my darling ever since :)
I started off with minor junior bugs, fixed about 4-5 of them and then I moved to small features like adding an icon, etc. My first big task was the audio and video capture feature, and the feature was pretty much non existent/ very buggy. I basically had to shift the current shaky implementation which used FFMPEG and V4L devices to using a Qt class (QMediaRecorder) for recording audio and video. This was a big thing for any newbie, and it took me a month to finally send the merge request and get it merged with the help of the community - and speaking about the community, Kdenlive has a very welcoming community, with very well experienced developers who have the will to help and nurture (thanks!)
One of my biggest learning experiences have been the code reviews, which are quite humbling in my opinion - think of it like this - you have been working on some part of a feature and you’re totally sure that this IS the thing and you’re well researched and it’s perfect. But it only after you get your code reviewed that you realise that there is a LOT to still learn. I have maximum respect and gratitude for the experienced developers at KDE for the same (thanks!)
Here’s the task
Qt offers QMediaRecorder class for handling audio and video capture. The aim of the task was to replace existing implementation through V4L and FFMPEG with QMediaRecorder.
Implementing QMediaRecorder is fairly simple, basically we have this pseudo definition - (edited for simplicity sake)
class MediaCapture
public:
MediaCapture(QObject *parent);
~MediaCapture();
void recordAudio(bool /*record*/);
void recordVideo(bool /*record*/);
/** Returns true if a recording is in progress **/
bool isRecording() const;
/** Sets m_path to selected output location **/
void setCaptureOutputLocation();
/** Returns m_path **/
QUrl getCaptureOutputLocation();
/** Sets m_audioDevice to selected audio capture device **/
void setAudioCaptureDevice();
/** Sets m_volume to selected audio capture volume **/
void setAudioVolume();
/** Returns list of audio devices available for capture **/
QStringList getAudioCaptureDevices();
/** Sets currentState to QMediaRecorder::State value and returns it **/
int getState();
int currentState;
...
recordAudio() and recordVideo() are the functions that handle the acutal capture stuff, and all the other functions involve in initilialising and preparing it for the process.
The toughest part, however, wasn’t declaring and defining that class and all of its methods. The toughest part was integrating it with the current codebase - i.e figuring what went where, predicting worst possible outcomes, accounting for errors from user side, improving the overall UX experience - all of these factors were, and remain to be the ‘tough’ part of making a feature for a professional software.
The experience so far has been great. The learning curve, steep, which is exactly what I would want.Now, next step - a big task.
I decided to work on the Titler tool because the tool’s implementation was old, outdated and buggy in itself apart from the fact that it was hard to add features to the tool in its existing implementation. A more professional titler tool would do loads of good for the community and the people using it.
And that personally means a lot to me, to make an impact :)
On discussing it with Jean Baptiste Mardelle and Vincent Pino (two of the lead developers in Kdenlive) the tool would involve re-writing the entire tool from the MLT backend to the UI. That’s as big as it can get as a feature for me! Haha. Somewhere around 6-12 months of good work, ofcourse I’m in for it :)
Also, I decided to dedicate 3 months of this work period as a subset for GSoC. Looking forward to the GSoC experience and more than that, I’m looking forward to the moment when the tool goes live!
Cheers.


CODE.IN
the more you code, the more you code.
From the makers of India's First Coding Bootcamp
From the makers of India's First Coding Bootcamp
Coding Bootcamp, Platform and Program for Kids.
Live Coding Performances.
Powering Coding Bootcamps.
Smile and Compile;
Live Classrooms Powered by Intellect.
Not for the ordinary.
Classrooms for Smart India.
Application Management Systems for Coding Bootcamp. Fast. Better.
Bringing great minds together.


EV-BATT Spec.
Inverter Spec.
Battery Management System
| Message | Value |
|---|---|
| Mode: | Charging |
| Power | 10 kW |
| Current | 50 A |
| Voltage : | 600 V |
| SOC: | 60 % |
| Status: | Ok |
| Energy Total: | 20 kWh |
| Charge Energy: | 20 kWh |
| Discharge Energy: | 20 kWh |
| Max Current Limit: | 20 A |
| Max Power Limit: | 20 kW |
| Max Voltage Limit: | 700 V |
| Error Code: | |
| Control Pilot Status: | Connected |
| Prox Status: | Connected |
| Max Charge Rate: | 23 kW |
| Max Discharge Rate: | 23 kW |
| Power Command: | 23 kW |
Inverter Status
| Message | Value |
|---|---|
| Mode: | Charging |
| Power | 10 kW |
| Current | 50 A |
| Voltage L-L: | 480 V |
| Voltage L-N: | 277 V |
| Frequency: | 61 Hz |
| Power Factor: | 0.9 PF |
| Energy Net: | 20 kWh |
| Energy Total: | 20 kWh |
| Energy Import: | 20 kWh |
| Energy Export: | 20 kWh |
| KVAR: | 20 KVAR |
| Apparent Power: | 20 KVA |
| Status: | Ok |
| Error Code: |


Illustration of a piecewise linear surface
setSeed(10);
figure(); hold on;
nsurfaces = 3;
for i=1:nsurfaces
x = randn(10, 1);
y = randn(10, 1);
z = randn(10, 1);
P = [mean(x), mean(y), mean(z)];
[U, S, V] = svd([x-P(1), y-P(2), z-P(3)], 0);
N = -1/V(end, end)*V(:, end);
W(1)=N(1); W(2)=N(2); W(3)=-P*N;
xs = linspace(0, 40, 15)';
ys = linspace(0, 40, 15)';
[Xs, Ys] = meshgrid(xs, ys);
Z = (W(3) + W(2)*Xs + W(3)*Ys + 50*randn)/10;
surf(xs, ys, Z);
end
grid on;
axis square;
set(gca, 'xdir', 'reverse');
view([48, 20]);
printPmtkFigure('piecewiseLinearSurface');


Correct!
Incorrect!
Try to answer the following code-related question within the time limit. Incorrect answers will be penalized by a loss of 15 seconds, and a correct answer will be rewarded with an additional 5.
Your final score is:


@@include('_include/head.html')
MAY 12, 2017 ~ NEWS
Business appears to be brisk at the Lead Dog Brewing Company, which since January has operated a pub in half of a low-slung stucco building on Reno’s revitalized 4th Street corridor.
MAY 12, 2017 ~ NEWS
The 4th Street “Brewery District” is set to add some more players in the next several months. The latest entries are going into 415 East 4th (the space that Lake Tahoe Brewing was trying to open).
MAY 12, 2017 ~ NEWS
The 4th Street “Brewery District” is set to add some more players in the next several months. The latest entries are going into 415 East 4th (the space that Lake Tahoe Brewing was trying to open).
MAY 12, 2017 ~ NEWS
Business appears to be brisk at the Lead Dog Brewing Company, which since January has operated a pub in half of a low-slung stucco building on Reno’s revitalized 4th Street corridor.


Kinshuk
About Me
Portfolio
Home
Projects
Mobile Video Management Console
Student Budgeting Tool
Assignment Portal
Data Dive


Right-clicking on a breakpoint marker (on the bar to the left from the text) invokes the speedmenu where you can quickly enable/disable the breakpoint or adjust its properties.


We will give you a lyric from a random song, along with three song titles. You must pick the right song to win credits! But, if you pick the wrong song you will lose credits!


Roles allow members of this group to sign in and access any protected resources that match roles' permissions requirements.


AEM uses Watson Personality Insights to scan your tweets, in just seconds, for specific personality traits, based on linguistic analysis.
Get started by entering your Twitter handle


5
Shopping Cart
Blue Round-Neck Tshirt with a Button
$19.99
x 2
Light Blue Denim Dress
$24.99
x 3
$114.95
View Cart
Home
Men
Women
Kids
Shop for Men
Your feet will never look the same again.
Shop Now
Shop for Women
You will be able to go anywhere.
Shop Now
Shop for Kids
Bring power to your steps
Shop Now
Prev
Next
Content
...


Learn to Meditate
Simply Zen is an elegant, content rich mindfulness app that was developed for people who want to learn how to mediate and enjoy the benefits that a mindfulness practice can bring.
I created Simply Zen: Guided Meditaion to make learning to meditate affordable to anyone with an iPhone. Most of the apps on the app store either didn't meet my needs, or charged a hundred dollars per year in subscription fees. Simply Zen doesn't work like that. You pay once, and it's yours for life.
Meditation Screen
First Launch Setup Tutorial
Watch the tutorial video to learn more
This tutorial teaches you how to use Simply Zen. You will learn how to use the guided meditation courses, mood meditations, and open ended meditations.
Watch the tutorial video to learn more
Learn how you can launch right into your favorite meditations by using 3D touch to launch the app from the homescreen.
Watch the tutorial video to learn more
I'm here to help!
If any topics were not covered in this section, and you still feel like you need help, then send me a message. Most support requests should be answered within 24 hours Monday-Friday. You may experience a delay on weekends.


Explous
Button
Success
Cancel
Card
This is a card
Wow
is
drop
Carousel
Checkbox
Datepicker
Grids
Title
This is a grid made with explous, this is Wow
Title
This is a grid made with explous, this is Wow
Title
This is a grid made with explous, this is Wow
Title
This is a grid made with explous, this is Wow
Title
This is a grid made with explous, this is Wow
Title
This is a grid made with explous, this is Wow
Input
Material
Traditional
Input File
Input Range
Loader
Popup
Close
Open
Radio button
Slide Toggle
Snackbar
Show
Table
Pagination
Scroll Infinite


- I can't decide if and how I want pictures on these posts.
- I'm still feeling better and trying to find just the right balance of getting a little bit of life in while not compromising recovery. Am getting a lot of 9hr+ of sleep nights so my body is definitely working hard.
- Tuesday I went to a talk my MP gave—my MP! I didn't realise she was my MP until afterwards. But now I know!
- I went to see the footie! Brentford v Chelsea. I support Brentford—I'm a West London gal and Brentford was my first match 18 years ago just before I spent a summer there. Brentford won!
- I'd like to go to more matches, a US friend was in town for this one, but I need a local football friend. Hear my plea!
- There was a re-org at work and I'm on a new team. I'm excited and optimistic, especially so as the team is closer to my timezone.
- I foraged for wild garlic in South London and made pesto from it. I don't know if this exists in the US too but what a revelation! An incredible flavour, so abundant and so easy!
- I went for a walk along the Thames at Richmond, I love this part of the river. It's pastoral and the sound of leaves blowing and water lapping soothes my soul. I ate a sandwich and sat on a bench in the lovely garden of a 17th century estate. See photo above.
- I also had to do a short run because I left my camera on a park bench. Luckily it was there, being guarded by a kind couple.
- It's a bank holiday weekend so I'll include today, Monday: I overdid it this weekend (there was a lot of walking). I feel worn out, my throat hurts. I'm resting and hydrating.
- I was accepted into a Long Covid study!
Published on — Mon May 01 2023


ANTZ (DreamWorks) Voices: Woody Allen, Sharon Stone, Gene Hackman, Sylvester Stallone, Jennifer Lopez, Christopher Walken, Anne Bancroft. Screenplay: Todd Alcott and Chris Weitz & Paul Weitz. Producers: Brad Lewis, Aron Warner and Patty Wooton. Directors: Eric Darnell and Tim Johnson. MPAA Rating: PG (profanity, violent situations) Running Time: 83 minutes.
So DreamWorks' ANTZ gets to be first out of the gate in the Computer-Animated Insect Sweepstakes, beating Disney/Pixar's A BUG'S LIFE to the screen by a good two months. The folks at DreamWorks probably felt that meant they could set the standard and avoid comparisons, but that's not entirely true. Disney's 1995 TOY STORY became the first, best standard-bearer, a wonderfully witty adventure which established that no amount of visual virtuosity could push aside the power of a great script. There was little doubt that three years of technological innovation would make ANTZ more spectacular to look at. The question was whether these anthropomorphized insects would be asked to carry a story that felt like twenty times their body weight.
It looks like the film-makers behind ANTZ learned the right lessons from TOY STORY. ANTZ may not be in TOY STORY's league when it comes to charm and ingenuity, but it's a clever and appealing piece of work in its own right. The oddly spelled title actually refers to the story's protagonist, a lowly and unfulfilled worker ant called Z (Woody Allen). Trapped in the ant colony's rigid caste system, Z longs to find his own destiny, which might even include romancing the unapproachable Princess Bala (Sharon Stone). In order to catch Bala's eye, Z switches places with his soldier ant pal Weaver (Sylvester Stallone), unwittingly setting off a social revolution. Even more unwittingly, he discovers that head soldier General Mandible (Gene Hackman) has sinister plans for the colony.
The goofy socio-political overtones of Z's struggle for individuality are good for a few chuckles, though it's not entirely clear from one moment to the next what the "message" is. Sometimes it's a treatise on the triumph of personal will over stultifying conformity (nowhere more humorously than in a bar scene where line dancing becomes metaphorical fascism). At other times, the needs of the many are shown to outweigh the needs of the few. And that's not the only place where the story feels less than cohesive. Sub-plots abound, many of which fill time without moving the story anywhere. The ideas for individual scenes play much more effectively in the moment than they do upon reflection, where they don't feel completely unified.
Then again, it's hard not to be caught up in the moment while watching ANTZ. The visuals are nothing short of spectacular, in terms of both scale and individual detail. When thousands of ants form a wrecking ball or a column to serve a unified purpose, thousands of individual limbs and antennae waving, the effect is dazzling. There are also some effectively creepy images of a war between ants and acid-spewing termites (the kind which might spook youngsters). Perhaps even more breath-taking are the facial expressions created for the characters. The movements and reactions are so complete that every ant becomes real on the screen. With so much attention lavished on giving the characters personality, ANTZ never feels merely showy, as impressive as it is from start to finish.
Not that the animators were solely responsible for giving the characters personality. ANTZ boasts an impressive cast of voice talent, from Hackman as the eugenically-inclined dictator-in-waiting to Christopher Walken as he morally ambivalent henchman, from Stallone deftly playing good-natured lug to Dan Aykroyd and Jane Curtin as a pair of WASP-ish wasps named Chip and Muffy. But the star of the show is Woody Allen, bringing his inimitable, anxiety-ridden nebbishness to Z. Some of his lines are pure vintage Woody (on whether he "laughs in the face of Death": "Actually, I generally...make sarcastic remarks behind Death's back"), which makes it even more of an incongruous pleasure thinking of him as a romantic action hero. His voice performance is one of several reasons ANTZ is plenty of fun, if often in an inside-jokey, over the head of kids kind of way. As a story it's uneven, but it still satisfies; it may not be TOY STORY, but few things are. And it has succeeded at setting a reasonably high bar for the next computer-generated bug film to jump over with all six legs.
On the Renshaw scale of 0 to 10 maiden ants: 7.
Visit Scott Renshaw's MoviePage http://www.inconnect.com/~renshaw/ *** Subscribe to receive new reviews directly by email! See the MoviePage for details, or reply to this message with subject line "Subscribe".
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Strain Analysis with the Fry-Method
This Program carries out a strain-analysis according to Fry (1979). It plots a diagram which makes the
best fit with a finite strain ellipse possible (Fry Method).
Data input can either be from a picture,
from a coordinate file, or from a polygon file.
Data can be treated with the conventional
Fry method or with the normalized Fry method.


|
SideCar
|
Abstract base class for readers. More...
#include </Users/howes/src/sidecar/IO/Readers.h>
Public Types | |
| using | Ref = boost::shared_ptr< DatagramReader > |
| Public Types inherited from SideCar::IO::Reader | |
| using | Ref = boost::shared_ptr< Reader > |
Public Member Functions | |
| DatagramReader (size_t maxSize) | |
| Constructor for new reader. More... | |
| ~DatagramReader () | |
| Destructor. | |
| bool | fetchInput () |
| Read in data from the device and append to the existing ACE_Message_Block. More... | |
| void | reset () |
| Reset the stream by discarding any partially-read messages. More... | |
| Public Member Functions inherited from SideCar::IO::Reader | |
| Reader () | |
| Constructor for new reader. | |
| virtual | ~Reader () |
| Destructor. | |
| bool | isMessageAvailable () const |
| Determine if a complete message is available for processing. More... | |
| ACE_Message_Block * | getMessage () |
| Obtain the raw data block available from the reader. More... | |
Static Public Member Functions | |
| static Logger::Log & | Log () |
| Obtain the log device to use for log messages. More... | |
| Static Public Member Functions inherited from SideCar::IO::Reader | |
| static Logger::Log & | Log () |
| Obtain the log device to use for log messages. More... | |
Protected Member Functions | |
| virtual ssize_t | fetchFromDevice (void *addr, size_t size)=0 |
| Prototype of method that fetches data from a device and places it into a specific location. More... | |
| void | makeIncomingBuffer (size_t size) |
| Create a new buffer to hold the next message begin built. More... | |
| Protected Member Functions inherited from SideCar::IO::Reader | |
| void | setAvailable (ACE_Message_Block *available) |
| Make a complete message available for consumption. More... | |
Protected Attributes | |
| ACE_Message_Block * | building_ |
| Message being built. | |
Abstract base class for readers.
A reader accumulates data from a device until it has all of the data of a complete message. All SideCar messages have a header (see SideCar::Messages::Header class) which contains a size in bytes. A reader simply adds incoming bytes to an ACE_Message_Block until the ACE_Message_Block::length() == Header::getSize().
| DatagramReader::DatagramReader | ( | size_t | maxSize | ) |
Constructor for new reader.
| bufferSize | starting size for read buffer |
Definition at line 218 of file Readers.cc.
References makeIncomingBuffer().
|
protectedpure virtual |
Prototype of method that fetches data from a device and places it into a specific location.
| addr | where to place fetched data |
| size | how much data to fetch |
Implemented in SideCar::IO::TReader< DatagramReader, ReaderDevices::MulticastSocket >, and SideCar::IO::TReader< DatagramReader, ReaderDevices::UDPSocket >.
Referenced by fetchInput().
|
virtual |
Read in data from the device and append to the existing ACE_Message_Block.
Implements SideCar::IO::Reader.
Definition at line 245 of file Readers.cc.
References building_, fetchFromDevice(), Logger::Log::Find(), SideCar::IO::Reader::isMessageAvailable(), Log(), LOGDEBUG, LOGERROR, LOGINFO, makeIncomingBuffer(), and SideCar::IO::Reader::setAvailable().
Referenced by SideCar::IO::MulticastDataSubscriber::ReaderThread::close(), SideCar::Algorithms::BugCollectorUtils::BugPlotReader::handle_input(), SideCar::IO::VMEReaderTask::openAndInit(), SideCar::IO::TSPIReaderTask::openAndInit(), SideCar::IO::UDPSocketReaderTask::openAndInit(), and SideCar::IO::MulticastVMEReaderTask::openAndInit().
|
static |
Obtain the log device to use for log messages.
Definition at line 212 of file Readers.cc.
References Logger::Log::Find().
Referenced by fetchInput(), SideCar::IO::ReaderDevices::MulticastSocket::join(), makeIncomingBuffer(), and ~DatagramReader().
|
protected |
Create a new buffer to hold the next message begin built.
| bufferSize | the initial size of the new buffer |
Definition at line 235 of file Readers.cc.
References building_, Log(), LOGDEBUG, and SideCar::IO::MessageManager::MakeMessageBlock().
Referenced by DatagramReader(), and fetchInput().
|
inline |


django-hitcount
Welcome to the django-hitcount example project. Three different views are demonstrated:
- ajax
- for a jQuery based implementation using the hitcount template tags
- detail
- for a generic detail view that injects the hitcount into the context
- detail-with-count
- for a second generic detail view that also process/counts the request as a hit or not
Please post any questions or issues on GitHub. Enjoy!
{% if post_list %}
{% for posturl in post_views %}
- {{posturl}}
{% endfor %}
{% else %}
No posts are available.
{% endif %}
{%endblock%}


RF
map
communication facilities map
loading of data from Overpass API... Please wait.
used tagging scheme
todo
: some text about project


THE ODD COUPLE II A film review by Matt Williams
RATING: * * * out of * * * *
Since 1966, Walter Matthau and Jack Lemmon have collaborated eleven times (remarkably, over half of those films have been in the last seven years). However, most of their recent work has hearkened back to their cantankerous relationship in 1968's The Odd Couple. Grumpy Old Men and Out to Sea were both sequels in spirit, if not in name, so it doesn't seem like it has been thirty years since the original Odd Couple graced the screen. But now, our old friends Oscar and Felix have returned, a little more vulgar and a whole lot older than before.
The old roommates have gone their separate ways, and haven't seen (or thought much about) each other since 1981. But, time hasn't changed them. Oscar Madison (Walter Matthau) is still a human pigsty, and Felix Ungar (Jack Lemmon) is still compulsively antiseptic.
Both have gone through failed marriages, and the catalyst that brings them back together is the upcoming marriage between their children: Felix's daughter Hanah (Lisa Waltz) and Oscar's son Bruce (Jonathan Silverman). The wedding is going to be held in a town about two hours north of L.A. The two men plan to meet, rent a car and drive to the town...but with these two, things aren't going to be that simple.
Oscar Madison and Felix Ungar were never the most complex of characters. Each was simply a single personality trait taken to the extreme. What makes their characters come alive is the vibrant chemistry between Matthau and Lemmon. The two actors simply work well together. Whether they are bickering or expressing their idiosyncrasies, it's a joy to watch them together.
This time, they're helped out by a good script (by Neil Simon), which, although it formulaically relies on a road-trip structure, has a few genuine surprises. The script's biggest weakness is an unnecessary coda which seems to exist only to draw allusions to the original Odd Couple.
One problem that arises with The Odd Couple II is the age of the protagonists. They seem like they're about 10-15 years too old for the roles. Seeing them flirt around with Christine Baranski and Jean Smart is like watching the antics of two dirty old men. And when we meet with their kids, the men seem more like grandfathers than fathers. While not outside the realm of possibility, the film does seem to be pushing the envelope.
Still, it is funny, and when that's true, most other considerations are secondary. It may not be a classic like the original, but it sure is enjoyable to revisit these old friends.
Copyright 1998 Matt Williams
- Matt Williams<EMAIL_ADDRESS>Reviewer for Cinematter: http://www.cinematter.com Home of over 500 reviews, and information on over 600 upcoming releases
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The Broker Confirm screen allows compliance officers to input broker confirm, broker action transaction, and map the broker confirm transaction to pre-clearance request. Each transaction will validate against the firm rules and generate transaction status. Compliance officers also are able to check the validation status, add comments, and attached supporting documents; All of these are logged for audit.
Click the Broker Confirm in the left navigation menu under Access Person and a new Broker Confirm Tab folder will be created in the right panel. There are 3 sub-Tab folders: Search Broker Confirm, Search Result Broker Confirm and Create New Broker Confirm.
Search Criteria
Tranaction ID Event Type Access Person Broker Account Symbol Security Name Entry Date Transaction Type Option Flag Option Symbol Option Type Sec Offer Flag Ipo Flag Private Offer Flag Activity Type Order Type Currency Request Shares Principal Amt Assigned To Assigned To Group Action Reason Org Unit Code
Tranaction ID Access Person Broker Account Entry Date Symbol Security Name Event Type Status Code ================ =================================================================================== Field Name Description ================ =================================================================================== Tranaction ID Transaction unique record identifier. Access Person The access person that request the transaction. Broker Account The broker account number. Trade Date The date when the transaction occurred. Symbol The symbol of the security. Security Name The name of the security. Event Type Transaction event type. eg broker confirm, broker action. Status Code The status of this transaction; eg passed. failed, etc. Org Unit Code The org unit this transaction belongs to. AND Select AND radio box if you want those criteria added together. OR Select OR radio box if you want to get the result if either of the criteria is met. ================ ===================================================================================
The top part is the table which shows the list of the Broker Confirm that meet the search criteria. The bottom part is the details, Rule Validation, Document, Email, and Action Logs of the selected entry.
Double Click the selected record in the table to modify this entry. A new tab folder “Update/Delete Broker Confirm” will be added, as shown below.
Select the “Create New Broker Confirm” Tab to create a new entry.
| Field Name | Description |
Tranaction ID Transaction unique record identifier. Event Type Transaction event type. eg broker confirm, broker action. Access Person The access person that had the transaction. Broker Account The broker account number. Symbol The Symbol of the security. It will automatically lookup the security name. Security Name The name of the security. Trade Date The trade date. Settle Date The settlement date. Transaction Type The Transaction Type: buy or sell. Number of Shares Number of shares trade in the transaction. Activity Type Type of activity, can be used in the rule builder. Currency Currency used in this transaction. Price The price of the security. Commission Commission paid. Interest Interest paid. Sec Fee Sec fee paid. Other Fee Other fee paid. Principal Amt Principal amount. Net Amt The total amount of the transaction. Assigned To Assign to person for approval, if needed. email will be sent. Assigned ToGroup Assign to group for approval, if needed. email will be sent. Action Reason Select a reason from the dropdown. Org Unit Code The org unit this transaction belongs to. Comments Allow users to input any comments. ================ ========================================================================================================
Each new transaction will validate against the firm employee trade rules and generate transaction status. Please see Detection Builder section for details.


| USER CENTRED DESIGN | 10 OF 12 |
| Where are
we now? Now that we know how the organizing of information works, perhaps it is a good idea to start focusing on the most important role player in our web design process, the user. VIDEO Have a look at the video below. It may provide you with a different perspective on how to think about users and the things we create. It will also provide you with a reading list - Don Norman is an authoritative figure in user-centred design. (Video not showing? Copy and paste this link into another tab in your browser: https://www.youtube.com/watch?v=Wl2LkzIkacM) How do we do it? Some of the numerous methods of involving users in the design of a site's information architecture, may include: Card sorting: In stead of the web designers categorizing the information, this information can be provided to users. It can be written on cards of post-it notes and given to users to sort. This may be time-consuming because various users will have different categorization and organization schemes, but it will provide a lot of insight into the way users thinks. It also involves users in the beginning of the process. Site prototyping: Create a "fake" or mock-up site - the layout of the site without any content. Users can then play around on the site with the designers present. Users can talk through their experience with the designers, highlighting issues. Research methods such as surveys and focus groups. A survey is a written or electronic questionnaire asking users specific questions. Focus groups take more time and money, but provides a lot more insight. (A focus group consists of a group of 10 to 12 people answering questions and having discussions about a specific topic - in this case, the web site.) Persona's: Create a typical user. (Yes, you can even give him or her a name). Now create a whole personality for this user, including his/her preferences and personality. Always ask the question: Will our typical user be able to use this site? Click on NEXT to continue. |
|


A total of {{ tcases_count }} testcases across {{ trun.testsuites | length }} testsuite(s).
Test execution is {{ ((tcases_completed / tcases_count) * 100)|int }}% complete {% if trun.stamp and trun.stamp.begin %} , started {{ trun.stamp.begin | stamp_to_datetime | strftime("%b. %d %Y") }} {% endif %} {% if trun.stamp and trun.stamp.end %} , ended {{ trun.stamp.end | stamp_to_datetime | strftime("%b. %d %Y") }} , spanning a wall-clock period of {{ "{0:0.2f}".format(((trun.stamp.end - trun.stamp.begin) / 60.0)/60.0) }} hours {% endif %}
| Testcase Status | Count |
|---|---|
| PASS | {{ trun.progress.PASS }} |
| FAIL | {{ trun.progress.FAIL }} |
| UNKN | {{ trun.progress.UNKN }} |
| Name | Value |
|---|---|
| {{ key }} | {{ value }} |
A total of {{ trun.evars | length }} environment variables are defined. Testsuites inherit testrun environment variables and testcases inherit testsuite environment variables. These environment variables and then defined before executing hooks and testcases, prior to sourcing in the environment definition.
A total of {{ trun.hnames | length }} hooks are used per testrun.
A total of {{ trun.aux_list | length }} auxilary files, produced by testplan hooks, are listed below
Output produced by executing testplan hooks is provided below
{{ trun.log_content | ansi_to_html | safe }}
The {{ tsuite.name }} testsuite contains {{ tsuite.testcases | length }} testcases.
The testcases are listed below along with testcase status UNKN/PASS/FAIL, descr, source definition, auxilary files, and run log.
{{ tcase.descr_long if tcase.descr_long else "UNDOCUMENTED" }}
Source code for the testcase definition
{{ tcase.src_content }}
A total of {{ tcase.evars | length }} evars are defined for the testcase before sourcing environment definition
A total of {{ tcase.hnames | length }} evars are defined for the testcase before sourcing environment definition
A total of {{ tcase.aux_list | length }} auxilary files produced by testcase hooks are listed below
Log of output from testcase and hooks executed before and/or after the testcase
{{ tcase.log_content | ansi_to_html | safe }}
A total of {{ tsuite.evars | length }} environment vars are defined for this testsuite, the testcases will define these prior to sourcing the environment definition
A total of {{ tsuite.hnames | length }} hooks per test suite. That is, these hooks are run before and after all the testcases have run.
A total of {{ tsuite.aux_list | length }} auxilary files produced by testsuite hooks are listed below
Output produced by executing testsuite hooks is provided below
{{ tsuite.log_content | ansi_to_html | safe }}
In the presence of failure, recall, this too shall pass


Name
HPL_dgemv y := beta * y + alpha * op(A) * x.
Synopsis
#include "hpl.h"
void
HPL_dgemv(
const enum HPL_ORDER
ORDER
,
const enum HPL_TRANS
TRANS
,
const int
M
,
const int
N
,
const double
ALPHA
,
const double *
A
,
const int
LDA
,
const double *
X
,
const int
INCX
,
const double
BETA
,
double *
Y
,
const int
INCY
);
Description
HPL_dgemv
performs one of the matrix-vector operations
y := alpha * op( A ) * x + beta * y,
where op( X ) is one of
op( X ) = X or op( X ) = X^T.
where alpha and beta are scalars, x and y are vectors and A is an m
by n matrix.
Arguments
ORDER (local input) const enum HPL_ORDER
On entry, ORDER specifies the storage format of the operands
as follows:
ORDER = HplRowMajor,
ORDER = HplColumnMajor.
TRANS (local input) const enum HPL_TRANS
On entry, TRANS specifies the operation to be performed as
follows:
TRANS = HplNoTrans y := alpha*A *x + beta*y,
TRANS = HplTrans y := alpha*A^T*x + beta*y.
M (local input) const int
On entry, M specifies the number of rows of the matrix A.
M must be at least zero.
N (local input) const int
On entry, N specifies the number of columns of the matrix A.
N must be at least zero.
ALPHA (local input) const double
On entry, ALPHA specifies the scalar alpha. When ALPHA is
supplied as zero then A and X need not be set on input.
A (local input) const double *
On entry, A points to an array of size equal to or greater
than LDA * n. Before entry, the leading m by n part of the
array A must contain the matrix coefficients.
LDA (local input) const int
On entry, LDA specifies the leading dimension of A as
declared in the calling (sub) program. LDA must be at
least MAX(1,m).
X (local input) const double *
On entry, X is an incremented array of dimension at least
( 1 + ( n - 1 ) * abs( INCX ) ) that contains the vector x.
INCX (local input) const int
On entry, INCX specifies the increment for the elements of X.
INCX must not be zero.
BETA (local input) const double
On entry, BETA specifies the scalar beta. When ALPHA is
supplied as zero then Y need not be set on input.
Y (local input/output) double *
On entry, Y is an incremented array of dimension at least
( 1 + ( n - 1 ) * abs( INCY ) ) that contains the vector y.
Before entry with BETA non-zero, the incremented array Y must
contain the vector y. On exit, Y is overwritten by the
updated vector y.
INCY (local input) const int
On entry, INCY specifies the increment for the elements of Y.
INCY must not be zero.
Example
#include "hpl.h"
int main(int argc, char *argv[])
{
double a[2*2], x[2], y[2];
a[0] = 1.0; a[1] = 2.0; a[2] = 3.0; a[3] = 3.0;
x[0] = 2.0; x[1] = 1.0; y[2] = 1.0; y[3] = 2.0;
HPL_dgemv( HplColumnMajor, HplNoTrans, 2, 2, 2.0,
a, 2, x, 1, -1.0, y, 1 );
printf("y=[%f,%f]\n", y[0], y[1]);
exit(0); return(0);
}
See Also
HPL_dger,
HPL_dtrsv.


Portfolio My Neighborhood Health 3 Cartographer Hangman My Neighborhood Health Click Game Event Listing Scraper Metal Gear RPG Trivia Game Giphy Search Train Tracker Recipe++ Friend Finder LIRI Word Guess Bamazon Build Your Burger


--- layout: site-content title: home utilitySection: Home ---
A front-end framework for fast & consistent development of Rackspace UIs.
Issues Email Changelog {{ site.CANON.versions[0] }}


A light-weight user's step-by-step guide for your website using Vanilla JS.
Features
- Highlight element - can highlight specific element on the page without modifying the element position and style.
- User's walkthrough - can be used to guide user's to your website using modals and popovers.
- Slideshow - can be use as slideshow within your website.
- Dynamic element targetting - can target dynamically created element during tour.
- Auto scroll - automatically scroll to popover's position.
- Keyboard control - allows control using next, back and esc keys.
- Update position on resize.
How does WebTour highlight works?
WebTour highlight works by adding overlay to the page except for the highlighted element. It is basically an overlay with a hole showing the element that is highlighted. WebTour can highlight even on modals.
Installation
Include the files from /dist directory.
<link rel="stylesheet" href="/dist/webtour.min.css">
<script src="/dist/webtour.min.js"></script>
Or include by using UNPKG.
<link rel="stylesheet"<EMAIL_ADDRESS><script<EMAIL_ADDRESS>Basic usage
Highlight an element
Highlight an element without popover. Can be used to focus user's attention to an element.
const wt = new WebTour();
wt.highlight('#target');
User's walkthrough
Guide user's to your website by using step-by-step guide.
const wt = new WebTour();
const steps = [
{
element: '#step_1',
title: 'Popover title',
content: 'Popover content',
placement: 'right-start',
},
{
element: '#step_2',
title: 'Popover title',
content: 'Popover content',
placement: 'right-start',
},
{
element: '#step_3',
title: 'Popover title',
content: 'Popover content',
placement: 'right-start',
},
];
wt.setSteps(steps);
wt.start();
Placement
Similar to Popover JS placement. (top, top-start, top-end, right, right-start, right-end, left, left-start, left-end, bottom, bottom-start, bottom-end, auto)


{% extends 'layout-side-nav.html' %} {% import '_vars-budget.html' as vars with context %} {% set active_nav_id = 'funding-request' %} {% set breadcrumb_items = vars.breadcrumb_items %} {% block title -%} Funding Requests {%- endblock %} {% block desc -%} {%- endblock %} {% block content_main %}
As required by law, each fiscal quarter the Federal Reserve transfers to the CFPB the amount of funding formally requested by the Director of the CFPB in order to carry out Bureau activities as outlined in our budget. Once the funds are transferred, the Bureau receives an acknowledgement letter from the Federal Reserve Board.


We are undergoing the difficult time right now in 2020 since the outburst of the COVID-19. The global pandemic is causing so many distress in us. I have been keeping myself busy with movies, books, and cooking while conducting social distancing to prevent the spread of the virus for over two weeks now (today's date is March 28th, 2020). Recently, I am revisiting the Meditations by Marcus Aurelius. This is book is his journals for himself to go through hard times. I find some of the quotes very relevent especially for the COVID-19 situation. I feel the urge to create something so that people can talk about their feelings. As of March 29th, 2020, I created the Simple Diary to fulfill different browser requirements. Upon user testing, some browsers won't allow microphone input. So I will have to figure that out.
The final project by Ashwita Palekar, my dearest friend.
The most important part in terms of design is the pastel color palette. For the shapes, I used this palette, while for the background, I used this palette.
This project is built with p5.js and p5.speech.js along with CSS, html and Javascript. I used p5 speech library to recognize the spoken words and convert them into texts. I split the speech content into words and found the end letter to each word to assign the color of the shapes.
The background color is changed accordingly to the amount of letters in one sentence. I originally only had circles to be generated accordingly to the speech. I wanted to add layers to it. Thus, I created lines, triangles, and arcs.
I also implement four types of fonts for the same reason: Oswald, Liu Jian Mao Cao, Spicy Rice, and Cairo. For the branding, I adapted the look of a typical sound spectrogram and simplified it into the logo we see here. The style for the Audio Diary is minimalistic yet welcoming. In order to make it more welcoming, I used the font Libre Baskerville
In order to make the interaction smooth, I added some features such as footer and header inside the canvas to prompt the users to explore more.
I am making other websites in the meantime to respond to hard times like the current pandemic of COVID-19. Hopefully, I will build a collection of these interactive websites together to alleviate the stress.