Contact
sean
@
siobud.com
sean
@
pion.ly
LinkedIn
https://www.linkedin.com/in/sean-dubois/
Pion Slack
https://pion.ly/slack
Current Projects
OBS WebRTC
https://github.com/obsproject/obs-studio/tree/master/plugins/obs-webrtc
Pion Opus
https://github.com/pion/opus
WebRTC for the Curious
https://webrtcforthecurious.com/
Pion WebRTC
https://github.com/pion/webrtc
Pion DTLS
https://github.com/pion/dtls
Pion TURN
https://github.com/pion/turn
Pion SRTP
https://github.com/pion/srtp
Pion ICE
https://github.com/pion/ice
Pion mDNS
https://github.com/pion/mdns
webrtcwork
https://webrtcwork.com/
Past Projects
Amazon Kinesis WebRTC C SDK
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c
fail2web
https://github.com/Sean-Der/fail2web
PHP
https://wiki.php.net/rfc/class_const_visibility
GStreamer
https://github.com/GStreamer/gst-plugins-bad/commits/master/ext/aom
Talks
Conf42: Golang 2021
https://www.youtube.com/watch?v=4kdU9_a-gII
SF Video Technology 2021
https://www.youtube.com/watch?v=s4zBbyNgaMc
GopherCon Europe 2021
https://www.youtube.com/watch?v=_g5mC9R9Jws
London Video Tech Feb 2021
https://www.twitch.tv/videos/907469636?t=0h25m11s
FOSDEM 2021 Go DevRoom
https://video.fosdem.org/2021/D.go/gowebrtc.mp4
FOSDEM 2021 WebRTC DevRoom
https://video.fosdem.org/2021/D.rtc/webrtc_development.mp4
SF Video Technology: January 2021
https://www.twitch.tv/videos/892158324?t=0h37m41s
Demuxed 2020
https://www.youtube.com/watch?v=rQJZtfXLj7U
WebRTC Live #47
https://www.youtube.com/watch?v=SMyua1t_isk
CommCon 2020
https://www.youtube.com/watch?v=3fRw4uKakLM
Go Time Podcast
https://changelog.com/gotime/127
PNW Remote Go Meetup - 14 April 2020
https://www.youtube.com/watch?v=FdgoOrJH8ok&feature=youtu.be&t=989
WebRTC Live #37
https://vimeo.com/380076363
KrankyGeek 2019
https://www.youtube.com/watch?v=BYtNI4esj1I
Programming Throwdown
https://www.programmingthrowdown.com/2019/10/episode-95-webrtc-with-sean-dubois.html
GopherCon 2019
https://www.youtube.com/watch?v=Syt7TnikBfk
CommCon 2019
https://youtu.be/iEYLvkaNTLc?t=447
AllThingsRTC 2019
https://www.youtube.com/watch?v=THBgcbI--ck
Seattle Video Tech 2018
https://www.youtube.com/watch?v=ezZYd5NsxE4
Resume
HTML
resume/index.html
PDF
resume/resume.pdf


Andrei Straut
Full-Stack Developer - Data enthusiast - Software Engineer
Hi! I'm Andrei, and I'm a full-stack software engineer, currently based in Lisbon, Portugal. This is my showcase website, where I occasionally post updates and projects I'm working on. Feel free to explore and look around. If you want to contact me, click here
I have over 10 years of experience, having worked on projects on a variety of business domains, from finance and e-commerce to telecom and real estate. Lately I've been taking an interest in data, statistics and graph theory, and the projects on this website are explorations of these areas


Ahmed Saeed Anand
designed the look of website.
Md. Mahfuz Hossain
(Bangladesh zone) worked for site as an hired IT officer who helped writing the major codes. He used ASP.NET, C#, HTML5, AJAX, Javascript, jQuery to build the website.
Tahmid Islam Sadat
worked on the CSS3 section of the website.
Name:Ahmed Saeed Anand
Works: Web Design, Idea generatation, Login Page.
IDE: Visual Studio 2013 (Update 3), Notepad++, Google Web Developer
Language: HTML5, CSS3
Name: Tahmid Islam Sadat
Works: CSS3 beatification and visual outlook of the website.
IDE: Visual Studio 2013 (Update 3), Notepad++, Google Web Developer
Language: HTML5, ASP.NET 4.5.1, CSS3
References: CSS-Trick, CSS Code Generator
Name: Mohammad Mahfuz Hossain
Post: IT Officer
Works: Server-side Code, Server-side Database
IDE: Visual Studio 2013 (Update 3), SQL Server Management Studio 2014
Languages: ASP.NET 4.5.1, ADO.NET, C#, JavaScript, jQuery 2.1.1, T-SQL, HTML5, CSS3, AJAX.NET
Plugins: ColorBox, Real Ajax Uploader, ChatJs.
Packages: Microsoft nugget.
References: StackOverFlow, CodePlex, W3schools, GitHub, ASP.NET Forums.
Other Members:
Name: Arnab Ganguly
Post: IT Officer (former)
Works: Robota, Login Page.
IDE: Visual Studio 2013 (Update 3)
Language: ASP.NET 4.5.1, JavaScript, HTML5, CSS3.
References: W3schools, GitHub.


Thanksgiving Dinner Costs Fall to Lowest Level in a Decade | Breitbart
Thanksgiving is set to gobble up a smaller part of the family budget this year.
by John CarneyThe cost of a traditional Thanksgiving feast for 10 will be $48.91, according to the American Farm Bureau’s annual survey of classic items found on the Thanksgiving Day dinner table. That’s up just one penny from last year’s average of $48.90.
“The average cost of this year’s Thanksgiving dinner is essentially unchanged from last year, after three years of decline since 2015,” said AFBF Chief Economist Dr. John Newton.
Adjusted for inflation, however, the cost of Thanksgiving is actually down to $19.13, the lowest level in more than a decade.
The price of Turkey is down 4 percent from last year, at $20.80 for a 16-pound bird. That’s the lowest since 2010.
The Farm Bureau’s informal survey looks at prices of turkey, stuffing, sweet potatoes, rolls with butter, peas, cranberries, a veggie tray, pumpkin pie with whipped cream, and coffee and milk, all in quantities sufficient to serve a family of 10 with plenty for leftovers. Rises in the prices of dinner rolls, sweet potatoes, and milk somewhat offset the decline in the price of Turkey.
Pumpkin pie and stuffing both showed price declines.
“While the broader economic message is that food inflation remains tame, the more important take-away is that the upcoming holiday gives us an opportunity to reflect and give thanks,” C.J. Lawrence portfolio adviser Terry Gardner said in a note to clients on Monday.


Dgame.Graphics.Surface
- struct Surface;
- Surface is a wrapper for a SDL_Surface.
Author:
rschuett
- enum BlendMode: ubyte;
- Supported BlendModes
- None
- no blending
- Blend
- dst = (src * A) + (dst * (1-A))
- Add
- dst = (src * A) + dst
- Mod
- dst = src * dst
- enum Mask: ubyte;
- Supported Color Masks
- Red
- Red Mask
- Green
- Green Mask
- Blue
- Blue Mask
- Alpha
- Alpha Mask
- int RMask;
- Default Red Mask.
- int GMask;
- Default Green Mask.
- int BMask;
- Default Blue Mask.
- enum Flip: ubyte;
- Flip mode
- Vertical
- Vertical Flip
- Horizontal
- Horizontal Flip
- this(string filename);
- CTor
- void free();
- Destroy the current Surface and all, which are linked to this Surface.
- const pure nothrow int useCount();
- Returns the current use count
- static Surface make(ushort width, ushort height, ubyte depth = 32);
- Make a new Surface of the given width, height and depth.
- static Surface make(void* memory, ushort width, ushort height, ubyte depth = 32);
- Make an new Surface of the given memory, width, height and depth.
- const pure nothrow bool isValid();
- Returns if the Surface is valid. Which means that the Surface has valid data.
- void loadFromFile(string filename);
- Load from filename. If any data is already stored, the data will be freed.
- void loadFromMemory(void* memory, ushort width, ushort height, ubyte depth = 32);
- Load from memory.
- void saveToFile(string filename);
- Save the current pixel data to the file.
- void fill(ref const Color col, const ShortRect* rect = null);
- Fills a specific area of the surface with the given color.
The second parameter is a pointer to the area.
If it's null, the whole Surface is filled.
- void fill(const Color col, const ShortRect* rect = null);
- Rvalue version
- void fillAreas(ref const Color col, const ShortRect[] rects);
- Fills multiple areas of the Surface with the given color.
- void fillAreas(const Color col, const ShortRect[] rects);
- Rvalue version
- bool optimizeRLE(bool enable);
- Use this function to set the RLE acceleration hint for a surface.
RLE (Run-Length-Encoding) is a way of compressing data.
If RLE is enabled, color key and alpha blending blits are much faster,
but the surface must be locked before directly accessing the pixels.
Returns:
whether the call succeeded or not
- bool lock();
- Use this function to set up a surface for directly accessing the pixels.
Returns:
whether the call succeeded or not
- void unlock();
- Use this function to release a surface after directly accessing the pixels.
- const pure nothrow bool isLocked();
- Returns whether this Surface is locked or not.
- bool mustLock();
- Use this function to determine whether a surface must be locked for access.
- void adaptTo(ref Surface srfc);
- Use this function to adapt the format of another Surface to this surface.
Works like
SDL_DisplayFormat
.
- void adaptTo(SDL_PixelFormat* fmt);
- Use this function to adapt the format of another Surface to this surface.
Works like
SLD_DisplayFormat
.
- void setColorkey(ref const Color col);
- Set the colorkey.
- void setColorkey(const Color col);
- Rvalue version
- void setColorkey(ubyte red, ubyte green, ubyte blue);
- Set the colorkey.
- void setColorkey(ubyte red, ubyte green, ubyte blue, ubyte alpha);
- Set the colorkey.
- Color getColorkey();
- Returns the current colorkey.
- void setAlphaMod(ubyte alpha);
- Set the Alpha mod.
- ubyte getAlphaMod();
- Returns the current Alpha mod.
- void setBlendMode(BlendMode mode);
- Set the Blendmode.
- BlendMode getBlendMode();
- Returns the current Blendmode.
- ShortRect getClipRect();
- Returns the clip rect of this surface.
The clip rect is the area of the surface which is drawn.
- void setClipRect(ref const ShortRect clip);
- Set the clip rect.
- void setClipRect(const ShortRect clip);
- Rvalue version
- const pure nothrow @property string filename();
- Returns the current filename, if any
- const pure nothrow @property ushort width();
- Returns the width.
- const pure nothrow @property ushort height();
- Returns the height.
- inout @property inout(void*) pixels();
- Returns the pixel data of this surface.
- const pure nothrow @property ubyte bits();
- Count the bits of this surface.
Could be 32, 24, 16, 8, 0.
- const pure nothrow @property ubyte bytes();
- Count the bytes of this surface.
Could be 4, 3, 2, 1, 0. (countBits / 8)
- const pure nothrow @property int pitch();
- Returns the Surface pitch or 0.
- const pure nothrow @property const(SDL_PixelFormat*) pixelFormat();
- Returns the PixelFormat
- const bool isMask(Mask mask, ref const Color col);
- Returns if the given color match the color of the given mask of the surface.
See:
Surface.Mask enum.
- const bool isMask(Mask mask, const Color col);
- Rvalue version
- const pure nothrow bool isMask(Mask mask, uint col);
- Returns if the given converted color match the color of the given mask of the surface.
See:
Surface.Mask enum.
- const uint getPixelAt(ref const Vector2s pos);
- Returns the pixel at the given coordinates.
- const uint getPixelAt(ushort x, ushort y);
- Returns the pixel at the given coordinates.
- void putPixelAt(ref const Vector2s pos, uint pixel);
- Put a new pixel at the given coordinates.
- void putPixelAt(ushort x, ushort y, uint pixel);
- Put a new pixel at the given coordinates.
- const Color getColorAt(ref const Vector2s pos);
- Returns the color on the given position.
- const Color getColorAt(ushort x, ushort y);
- Returns the color on the given position.
- inout pure nothrow @property inout(SDL_Surface)* ptr();
- Returns a pointer to the SDL_Surface
- bool blitScaled(ref Surface srfc, const ShortRect* src = null, ShortRect* dst = null);
- Use this function to perform a fast, low quality,
stretch blit between two surfaces of the same pixel format.
src is the a pointer to a Rect structure which represents the rectangle to be copied,
or null to copy the entire surface.
dst is a pointer to a Rect structure which represents the rectangle that is copied into.
null means, that the whole srfc is copied to (0|0).
- bool blitScaled(SDL_Surface* srfc, const ShortRect* src = null, ShortRect* dst = null);
- Same as above, but with a SDL_Surface* instead of a Surface.
- bool lowerBlit(ref Surface srfc, ShortRect* src = null, ShortRect* dst = null);
- Use this function to perform low-level surface blitting only.
- bool lowerBlit(SDL_Surface* srfc, ShortRect* src = null, ShortRect* dst = null);
- Same as above, but with a SDL_Surface* instead of a Surface.
- bool blit(ref Surface srfc, const ShortRect* src = null, ShortRect* dst = null);
- Use this function to perform a fast blit from the source surface to the this surface.
src is the a pointer to a Rect structure which represents the rectangle to be copied,
or null to copy the entire surface.
dst is a pointer to a Rect structure which represents the rectangle that is copied into.
null means, that the whole srfc is copied to (0|0).
- bool blit(SDL_Surface* srfc, const ShortRect* src = null, ShortRect* dst = null);
- Same as above, but with a SDL_Surface* instead of a Surface.
- Surface subSurface(ref const ShortRect rect);
- Returns a subsurface from this surface. rect represents the viewport.
The subsurface is a separate Surface object.
- Surface subSurface(const ShortRect rect);
- Rvalue version
- Surface flip(Flip flip);
- Returns an new flipped Surface
The current Surface is not modified.
Note:
This function may be slow
Page generated by Ddoc.


BTS tease new music on the way
LOS ANGELES, Dec 9 — The seven-member boy band — which is comprised of J-Hope, Jimin, Suga, RM, Jungkook, Jin and V — has recently announced that they are in the middle of creating material for a forthcoming new album.
The K-pop sensation broke the news during Variety’s Hitmakers brunch at the Soho House in West Hollywood this weekend, where they received the award for Group of the Year.
“The great news is that we are currently working on our new music and new album and can’t wait to share them with you guys in the near future. I hope you guys are so excited to discover what BTS has in store in 2020,” RM teased in the band’s acceptance speech.
Details about BTS’s forthcoming new studio album are still scarce at this date, as the supergroup has yet to announce an official release date.
The band unveiled their sixth EP, Map of the Soul: Persona, last April.
The full-length was notably led by the record-breaking Boy With Luv featuring Halsey, whose accompanying visual smashed YouTube’s record for most views in 24 hours.
The Clementine vocalist has recently reunited with BTS bandmate Suga on SUGA’s Interlude, which will appear on her forthcoming third album Manic.
As Billboard pointed out, BTS dominate most of the publication’s year-end charts, occupying half of the rungs inside the top 10 on the list of the “world” albums that performed the best throughout the past 12 months.
What’s more, their managing company Big Hit Entertainment revealed that their “Love Yourself: Speak Yourself” mega tour drew a total audience of more than two million at 62 shows in 23 cities.
In addition to working on a new album, the chart-topping septet will be at the centre of the forthcoming drama series, A BTS Universe, which is slated for release in the second half of 2020.
As Entertainment Weekly pointed out, J-Hope, Jimin, Suga, RM, Jungkook, Jin and V will not star in the TV series, with the boy band members being portrayed as younger versions of themselves and therefore by other performers. — AFP-Relaxnews


Sowore, Bakare’s sureties not subject to DSS verification —Falana
by Oladimeji RamonOladimeji Ramon
Human rights lawyer, Mr Femi Falana (SAN), has faulted the claim by the Department of State Services that it could not release #RevolutionNow protest convener, Omoyele Sowore, and Olawale Bakare on bail until it sees and verifies their sureties.
Falana, who is a lawyer for the two detained activists, said in a statement on Thursday that the judge, who admitted Sowore and Bakare to bail and ordered their release, did not assign the DSS with the responsibility of verifying their sureties.
The two men had perfected the bail conditions given then by Justice Ijeoma Ojukwu since November 6, according to Falana, but more than two weeks after, the DSS had refused to let them out of its cells.
In a statement to The PUNCH on Thursday, Falana said, “Pursuant to the verification of the sureties of Omoyele Sowore and Olawale Bakare by the Federal High Court, the trial judge, Honourable Justice Ifeoma Ojukwu, made an order on November 6, 2019 for the release of the defendants from the custody of the DSS.
“The court Order has not authorised the DSS to approve the sureties before releasing Sowore and Bakare from custody.
“Kindly find below the court order being treated with contempt by the DSS which has continued to parade itself as a law-abiding security organisation.”
The DSS had on August 3 arrested Sowore in his Lagos apartment to forestall his planned nationwide #RevolutionNow protest slated for August 5.
Despite Sowore’s arrest, the protest took place but was characterised with brutalisation and arrest of the protesters and journalist by the police.
The DSS has charged Sowore and Bakare with treasonable felony, alleging that the #RevolutionNow protest was aimed at overthrowing President Muhammadu Buhari.


 And from this he gained the greatest possible authority and dignity of his appearance whether standing or sitting. Although his neck was stout and short and his belly seemed to jut out, still the symmetry of his other limbs concealed this. With his gait steady and the whole condition of his body manly; with a voice that was truly loud, but which didn't match the appearance of his body very well.
He was fortunate in his health, except that, in the four years before he died, he was frequently laid low by fevers, and at the very end he was lame in one foot. And even then he acted more by his own judgment than by the advice of his doctors, whom he held as mostly odious, because they urged him to renounce the roasted meat in his diet, which he was used to, and to get used to boiled meat.
He regularly exercised in riding and hunting, which came to him naturally; scarcely any nation in any land can be found that can equal the Franks in this skill.
He also took delight in the steam of hot springs, exercising his body in frequent swims; in which he had so much skill that, in all fairness, no-one could outdo him. For this reason he built a palace at Aix and in his final years lived there without intermission until his death. And he invited not only his sons to bathe, but even his nobles and friends, and at times also a crowd of attendents and bodyguards, so that sometimes a hundred or more men wre bathing together with him.
He was oderate in food and drink, but more so in drink - in fact he loathed drunkeness beyond measure in any sort of man, and particularly in himself and his men. For he could not abstain from food for long, so that he often complained that fast days were harmful to his body.
He would rarely give dinners, and that too only on particular feast days, yet then with a great number of people.
Every day a supper of only four dishes was served, besides roasted meat, which hunters used to bring in on spits, which he happily enjoyed over any other fare.
While dining he listened to either some entertainment or a reader. Histories and deeds of ancient times were read to him. He was also delighted by the books of St Auguntine, and especially by those titled "On the City of God".
He was truly sparing in drinking wine and all drink, so that during supper he seldom had more than three drinks. In the summer he would take some fruit and a single drink after the noon meal, and taking his garments and shoes off, as he was wont to do at night, would rest for two or three hours.
At night, he tended to sleep in such a way that his sleep was interrupted four or five times a night, not only waking up, but even getting out of bed. While he was shod and clothed, he would admit not only friends but even, if a judge of the palace court said that there was some lawsuit that could not be determined without his decree, he immediately ordered them to bring the litigants in and, just as if he was sitting before a tribunal, after examing the quarrel, he pronounced a decision. And he was prepared, not only at this time but also on any other day, to perform his duties or to enjoin any of his ministers.
START
AJC He was overflowing and abundant with eloquence and he could quite frankly express whatever he wished.
AJC And not merely content with his native speech, he also expended an effort in studying foreign tongues.
AJC Among these he therefore learned Latin, so that he was accustomed to pray equally in that and in his native tongue; in truth, he understood Greek better than he spoke it.
AJC Indeed, he was fluent enough to seem glib.
AJC He cherished the liberal arts most zealously, and caused its teachers to be greatly revered with high honors.
AJC In studying grammar he heeded Peter of Pisa, an elderly deacon.
AJC For the other disciplines he had for his teacher Albinus, surnamed Alcuinus, also a deacon, a man from Britain of Saxon blood, a person most learned in every respect. He bestowed the utmost time and toil to learning of both rhetoric and logic, but especially of astronomy, from him.
AJC He learned arithmetic and very carefully examined the course of the stars with a sharp concentration.
AJC He also tried to write, for this reason he was wont to carry tablets and notepads around with him under the pillows on his bed, so he could practice fashioning letters in his spare time, but this ill-timed labor accomplished little, having begun too late in life.
END
-->AJC


| Package | Description |
|---|---|
| com.tailf.cdb |
Package with methods for connecting to the configuration database.
|
| com.tailf.conf |
Data types and utilities for communication with the server.
|
| com.tailf.dp |
Data provider API package, for implementation of callbacks for validations, actions, transformation etc.
|
| com.tailf.dp.annotations |
Annotations and proxy helper classes for callbacks.
|
| com.tailf.dp.services |
Service callback specific context and utilities.
|
| com.tailf.ha |
Package for setup and control of High Availability cluster nodes.
|
| com.tailf.maapi |
MAAPI is an API which provides full access to the systems internal
transaction engine.
|
| com.tailf.navu |
NAVU (Navigation Utilities) is an API which provides increased
accessibility to the ConfD/NCS populated data model tree:
NAVU-Tree.
|
| com.tailf.notif |
Package for subscription of asynchronous events.
|
| com.tailf.util |
Utility classes for representing compiled ConfNamespaces.
|
| Class and Description |
|---|
| ConfCLIToken |
| ConfException
Exception base class.
|
| ConfIterate
The subinterfaces to this interfaces is used as parameter to various
diffIterate methods. |
| ConfNamespace
Base class of the ConfNamespace objects.
|
| ConfObject
Base class of the Conf data type classes.
|
| ConfPath
Class Representing an KeyPath path.
|
| ConfResponse
Internal Class.
|
| ConfValue
Base class of the DATA_CONTAINER Conf
|
| ConfXMLParam
Represents the base class of a flat XML structure.
|
| DiffIterateFlags
Enumeration flags us by
CdbSubscription.diffIterate(int,CdbDiffIterate,EnumSet,Object) to
control the behavior of iterate over changes made in CDB data. |
| DiffIterateOperFlag
The modification flags supplied by the library to
CdbDiffIterate , MaapiDiffIterate user implementation
of the CdbDiffIterate.iterate(com.tailf.conf.ConfObject[],
DiffIterateOperFlag,com.tailf.conf.ConfObject,com.tailf.conf.ConfObject,
Object) and
MaapiDiffIterate.iterate(com.tailf.conf.ConfObject[],
DiffIterateOperFlag,com.tailf.conf.ConfObject,
com.tailf.conf.ConfObject,Object) . |
| DiffIterateResultFlag
flags us by DiffIterate interface The iterate() method should return any
of the following constants
|
| ErrorCode
Error codes for all errors delivered over the protocol.
|
| Class and Description |
|---|
| Compiler |
| ConfAttributeType
Database types specified when setting up CDB sessions
|
| ConfAttributeValue
Class that represent attribute value for an elements in a model.
|
| ConfBinary
DATA_CONTAINER - Corresponds to the YANG tailf:hex-list and tailf:octet-list.
|
| ConfBit32
DATA_CONTAINER - Corresponds to the YANG bit32 type.
|
| ConfBool
DATA_CONTAINER - Corresponds to the YANG boolean type.
|
| ConfBuf
DATA_CONTAINER - Corresponds to the YANG string type.
|
| ConfDate
DATA_CONTAINER - Corresponds to the confspec xs:date type.
|
| ConfDatetime
DATA_CONTAINER - Corresponds to the YANG date-and-time type.
|
| ConfDefault
Class representing value of type J_DEFAULT.
|
| ConfDottedQuad
DATA_CONTAINER - Corresponds to the YANG dotted-quad type.
|
| ConfDouble
DATA_CONTAINER - Corresponds to the confspec xs:double type.
|
| ConfDuration
DATA_CONTAINER - Corresponds to the confspec xs:duration type.
|
| ConfEnumeration
DATA_CONTAINER - Corresponds to the YANG Enumeration type.
|
| ConfException
Exception base class.
|
| ConfFindNextType
Enum used in findNext calls to determine if the element extraction
should start at indicated element or the element after that
|
| ConfFloat
DATA_CONTAINER - Corresponds to the confspec xs:float type.
|
| ConfHaNode
ConfHaNode represents a HA node by identity and IP address
|
| ConfHexString
DATA_CONTAINER - Corresponds to the YANG
hex-string type. |
| ConfIdentityRef
DATA_CONTAINER - Corresponds to the YANG identityRef type.
|
| ConfInt32
DATA_CONTAINER - Corresponds to the YANG int32 type.
|
| ConfInt64
DATA_CONTAINER - Corresponds to the YANG int64 type.
|
| ConfIP
DATA_CONTAINER - Base class for ConfIPv4 and ConfIPv6 containers
|
| ConfIPAndPrefixLen
DATA_CONTAINER - Base class for ConfIPv4AndPrefixLen and
ConfIPv6AndPrefixLen containers
|
| ConfIPPrefix
DATA_CONTAINER - Base class for ConfIPv4Prefix and
ConfIPv6Prefix containers
|
| ConfIPv4
DATA_CONTAINER - Corresponds to the YANG inet:ipv4-address type.
|
| ConfIPv4AndPrefixLen
DATA_CONTAINER - Corresponds to the YANG tailf:ipv4-address-and-prefix-length
type.
|
| ConfIPv4Prefix
DATA_CONTAINER - Corresponds to the YANG inet:ipv4-prefix type.
|
| ConfIPv6
DATA_CONTAINER - Corresponds to the YANG inet:ipv6-address type.
|
| ConfIPv6AndPrefixLen
DATA_CONTAINER - Corresponds to the YANG tailf:ipv6-address-and-prefix-length
type.
|
| ConfIPv6Prefix
DATA_CONTAINER - Corresponds to the YANG inet:ipv6-prefix type.
|
| ConfIterate
The subinterfaces to this interfaces is used as parameter to various
diffIterate methods. |
| ConfIterateFlags
Enumeration flags us by
CdbSubscription.diffIterate(int,CdbDiffIterate,EnumSet,Object) to
control the behavior of iterate over changes made in CDB data. |
| ConfIterateResultFlag
flags us by DiffIterate interface The iterate() method should return any
of the following constants
|
| ConfKey
This class represents a list key, a list key can consist of one or more
values.
|
| ConfList
DATA_CONTAINER - Corresponds to the YANG leaf-list.
|
| ConfList.WhereTo |
| ConfNamespace
Base class of the ConfNamespace objects.
|
| ConfNoExists
Class representing value of type J_NOEXISTS.
|
| ConfObject
Base class of the Conf data type classes.
|
| ConfObjectRef
Corresponds to the YANG instance-identifier type
|
| ConfOID
DATA_CONTAINER - Corresponds to the YANG tailf:oid type.
|
| ConfPath
Class Representing an KeyPath path.
|
| ConfQname
DATA_CONTAINER - Corresponds to the confspec xs:qName type.
|
| ConfResponse
Internal Class.
|
| ConfTime
DATA_CONTAINER - Corresponds to the confspec xs:time type.
|
| ConfTypeDescriptor
Conf value type descriptor.
|
| ConfUInt32
DATA_CONTAINER - Corresponds to the YANG uint32 type
|
| ConfUInt64
DATA_CONTAINER - Corresponds to the YANG uint64 type
|
| ConfValue
Base class of the DATA_CONTAINER Conf
|
| ConfWarning
Warning messages container.
|
| ConfXMLParam
Represents the base class of a flat XML structure.
|
| ConfXMLParamStart
Identifies a starting point in the model from which other parameters are
relatively defined.
|
| ConfXMLTagH
DATA_CONTAINER - Corresponds to the confspec XML Tag.
|
| DiffIterateFlags
Enumeration flags us by
CdbSubscription.diffIterate(int,CdbDiffIterate,EnumSet,Object) to
control the behavior of iterate over changes made in CDB data. |
| DiffIterateOperFlag
The modification flags supplied by the library to
CdbDiffIterate , MaapiDiffIterate user implementation
of the CdbDiffIterate.iterate(com.tailf.conf.ConfObject[],
DiffIterateOperFlag,com.tailf.conf.ConfObject,com.tailf.conf.ConfObject,
Object) and
MaapiDiffIterate.iterate(com.tailf.conf.ConfObject[],
DiffIterateOperFlag,com.tailf.conf.ConfObject,
com.tailf.conf.ConfObject,Object) . |
| DiffIterateResultFlag
flags us by DiffIterate interface The iterate() method should return any
of the following constants
|
| ErrorCode
Error codes for all errors delivered over the protocol.
|
| ErrorVerbosity
verbosity levels for reported errors
|
| InstancePath
Class Representing an path.
|
| SocketFactoryCallback
Interface for user defined creation of sockets, towards NCS/Confd
|
| XMLParamType
Enum identifying type of ConfXMLParam subclass.
|
| Class and Description |
|---|
| ConfAttributeValue
Class that represent attribute value for an elements in a model.
|
| ConfDatetime
DATA_CONTAINER - Corresponds to the YANG date-and-time type.
|
| ConfException
Exception base class.
|
| ConfFindNextType
Enum used in findNext calls to determine if the element extraction
should start at indicated element or the element after that
|
| ConfIP
DATA_CONTAINER - Base class for ConfIPv4 and ConfIPv6 containers
|
| ConfKey
This class represents a list key, a list key can consist of one or more
values.
|
| ConfNamespace
Base class of the ConfNamespace objects.
|
| ConfObject
Base class of the Conf data type classes.
|
| ConfPath
Class Representing an KeyPath path.
|
| ConfResponse
Internal Class.
|
| ConfTag
Class representing an element in a model.
|
| ConfValue
Base class of the DATA_CONTAINER Conf
|
| ConfXMLParam
Represents the base class of a flat XML structure.
|
| ErrorCode
Error codes for all errors delivered over the protocol.
|
| ErrorMessageFormatter |
| ErrorVerbosity
verbosity levels for reported errors
|
| SnmpVarbind
The SnmpVarbind is a data structure for holding an SNMP variable binding
which is on either of the forms:
Variable - Value
OID - Value
Column - RowIndex - Value
|
| Class and Description |
|---|
| ConfAttributeValue
Class that represent attribute value for an elements in a model.
|
| ConfFindNextType
Enum used in findNext calls to determine if the element extraction
should start at indicated element or the element after that
|
| ConfKey
This class represents a list key, a list key can consist of one or more
values.
|
| ConfObject
Base class of the Conf data type classes.
|
| ConfPath
Class Representing an KeyPath path.
|
| ConfTag
Class representing an element in a model.
|
| ConfValue
Base class of the DATA_CONTAINER Conf
|
| ConfXMLParam
Represents the base class of a flat XML structure.
|
| Class and Description |
|---|
| ConfException
Exception base class.
|
| ConfPath
Class Representing an KeyPath path.
|
| Class and Description |
|---|
| ConfException
Exception base class.
|
| ConfHaNode
ConfHaNode represents a HA node by identity and IP address
|
| ConfValue
Base class of the DATA_CONTAINER Conf
|
| ErrorCode
Error codes for all errors delivered over the protocol.
|
| Class and Description |
|---|
| ConfAttributeType
Database types specified when setting up CDB sessions
|
| ConfAttributeValue
Class that represent attribute value for an elements in a model.
|
| ConfException
Exception base class.
|
| ConfFindNextType
Enum used in findNext calls to determine if the element extraction
should start at indicated element or the element after that
|
| ConfIterate
The subinterfaces to this interfaces is used as parameter to various
diffIterate methods. |
| ConfIterateFlags
Enumeration flags us by
CdbSubscription.diffIterate(int,CdbDiffIterate,EnumSet,Object) to
control the behavior of iterate over changes made in CDB data. |
| ConfIterateResultFlag
flags us by DiffIterate interface The iterate() method should return any
of the following constants
|
| ConfKey
This class represents a list key, a list key can consist of one or more
values.
|
| ConfNamespace
Base class of the ConfNamespace objects.
|
| ConfObject
Base class of the Conf data type classes.
|
| ConfPath
Class Representing an KeyPath path.
|
| ConfResponse
Internal Class.
|
| ConfTag
Class representing an element in a model.
|
| ConfValue
Base class of the DATA_CONTAINER Conf
|
| ConfWarning
Warning messages container.
|
| ConfXMLParam
Represents the base class of a flat XML structure.
|
| DiffIterateFlags
Enumeration flags us by
CdbSubscription.diffIterate(int,CdbDiffIterate,EnumSet,Object) to
control the behavior of iterate over changes made in CDB data. |
| DiffIterateOperFlag
The modification flags supplied by the library to
CdbDiffIterate , MaapiDiffIterate user implementation
of the CdbDiffIterate.iterate(com.tailf.conf.ConfObject[],
DiffIterateOperFlag,com.tailf.conf.ConfObject,com.tailf.conf.ConfObject,
Object) and
MaapiDiffIterate.iterate(com.tailf.conf.ConfObject[],
DiffIterateOperFlag,com.tailf.conf.ConfObject,
com.tailf.conf.ConfObject,Object) . |
| DiffIterateResultFlag
flags us by DiffIterate interface The iterate() method should return any
of the following constants
|
| ErrorCode
Error codes for all errors delivered over the protocol.
|
| SnmpVarbind
The SnmpVarbind is a data structure for holding an SNMP variable binding
which is on either of the forms:
Variable - Value
OID - Value
Column - RowIndex - Value
|
| Class and Description |
|---|
| ConfBinary
DATA_CONTAINER - Corresponds to the YANG tailf:hex-list and tailf:octet-list.
|
| ConfBit32
DATA_CONTAINER - Corresponds to the YANG bit32 type.
|
| ConfBit64
DATA_CONTAINER - Corresponds to the YANG bit64 type.
|
| ConfBool
DATA_CONTAINER - Corresponds to the YANG boolean type.
|
| ConfBuf
DATA_CONTAINER - Corresponds to the YANG string type.
|
| ConfCLIToken |
| ConfDate
DATA_CONTAINER - Corresponds to the confspec xs:date type.
|
| ConfDatetime
DATA_CONTAINER - Corresponds to the YANG date-and-time type.
|
| ConfDecimal64
DATA_CONTAINER - Corresponds to the YANG decimal64 type.
|
| ConfDouble
DATA_CONTAINER - Corresponds to the confspec xs:double type.
|
| ConfDuration
DATA_CONTAINER - Corresponds to the confspec xs:duration type.
|
| ConfEnumeration
DATA_CONTAINER - Corresponds to the YANG Enumeration type.
|
| ConfException
Exception base class.
|
| ConfFloat
DATA_CONTAINER - Corresponds to the confspec xs:float type.
|
| ConfHexList
DATA_CONTAINER - Corresponds to the YANG
tailf:hex-list type. |
| ConfIdentityRef
DATA_CONTAINER - Corresponds to the YANG identityRef type.
|
| ConfInt16
DATA_CONTAINER - Corresponds to the YANG int16 type.
|
| ConfInt32
DATA_CONTAINER - Corresponds to the YANG int32 type.
|
| ConfInt64
DATA_CONTAINER - Corresponds to the YANG int64 type.
|
| ConfInt8
DATA_CONTAINER - Corresponds to the YANG int8 type.
|
| ConfIPv4
DATA_CONTAINER - Corresponds to the YANG inet:ipv4-address type.
|
| ConfIPv4Prefix
DATA_CONTAINER - Corresponds to the YANG inet:ipv4-prefix type.
|
| ConfIPv6
DATA_CONTAINER - Corresponds to the YANG inet:ipv6-address type.
|
| ConfIPv6Prefix
DATA_CONTAINER - Corresponds to the YANG inet:ipv6-prefix type.
|
| ConfIterate
The subinterfaces to this interfaces is used as parameter to various
diffIterate methods. |
| ConfKey
This class represents a list key, a list key can consist of one or more
values.
|
| ConfNamespace
Base class of the ConfNamespace objects.
|
| ConfObject
Base class of the Conf data type classes.
|
| ConfObjectRef
Corresponds to the YANG instance-identifier type
|
| ConfPath
Class Representing an KeyPath path.
|
| ConfResponse
Internal Class.
|
| ConfUInt16
DATA_CONTAINER - Corresponds to the YANG uint16 type
|
| ConfUInt32
DATA_CONTAINER - Corresponds to the YANG uint32 type
|
| ConfUInt64
DATA_CONTAINER - Corresponds to the YANG uint64 type
|
| ConfUInt8
DATA_CONTAINER - Corresponds to the YANG uint8 type
|
| ConfValue
Base class of the DATA_CONTAINER Conf
|
| ConfXMLParam
Represents the base class of a flat XML structure.
|
| DiffIterateFlags
Enumeration flags us by
CdbSubscription.diffIterate(int,CdbDiffIterate,EnumSet,Object) to
control the behavior of iterate over changes made in CDB data. |
| DiffIterateOperFlag
The modification flags supplied by the library to
CdbDiffIterate , MaapiDiffIterate user implementation
of the CdbDiffIterate.iterate(com.tailf.conf.ConfObject[],
DiffIterateOperFlag,com.tailf.conf.ConfObject,com.tailf.conf.ConfObject,
Object) and
MaapiDiffIterate.iterate(com.tailf.conf.ConfObject[],
DiffIterateOperFlag,com.tailf.conf.ConfObject,
com.tailf.conf.ConfObject,Object) . |
| DiffIterateResultFlag
flags us by DiffIterate interface The iterate() method should return any
of the following constants
|
| ErrorCode
Error codes for all errors delivered over the protocol.
|
| Class and Description |
|---|
| ConfDatetime
DATA_CONTAINER - Corresponds to the YANG date-and-time type.
|
| ConfException
Exception base class.
|
| ConfHaNode
ConfHaNode represents a HA node by identity and IP address
|
| ConfObject
Base class of the Conf data type classes.
|
| ConfResponse
Internal Class.
|
| ConfUInt64
DATA_CONTAINER - Corresponds to the YANG uint64 type
|
| ConfValue
Base class of the DATA_CONTAINER Conf
|
| ConfXMLParam
Represents the base class of a flat XML structure.
|
| ErrorCode
Error codes for all errors delivered over the protocol.
|
| Class and Description |
|---|
| ConfException
Exception base class.
|
| ConfPath
Class Representing an KeyPath path.
|
| ConfXMLParam
Represents the base class of a flat XML structure.
|


Folashade Okunubi
jk
a transpiler with polyfills
don't polyfills suck!?
because ES6!
and ES7 too!
ES.Next
Arrow Functions
Let, Const, & Block
Destructuring
Default Values
Modules
Classes
Coverage Table
iE6!? No wai
Coverage Table
iE6!? No wai
JSX support
Don't get left behind
Traceur
CoffeeScript & TypeScript


Class Cell
A cell is a 3-dimensional closed extrusion within a complex.
Inheritance
System.Object
Cell
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Assembly: Hypar.Elements.dll
Syntax
public class Cell : ChildBase<Cell, Extrude>, IDistanceTo, IHasNeighbors<Cell, Extrude>
Fields
BottomFaceId
The ID of this cell's bottom face. If set, it is also expected to be duplicated in list of faces.
In the current implementation of CellComplex, this should always be set.
This may not be the case in the future, if Cells are no longer constrained to vertical extrusions.
Declaration
public ulong? BottomFaceId
Field Value
| Type |
Description |
| System.Nullable<System.UInt64> |
|
FaceIds
The IDs of all the faces which belong to this Cell.
Declaration
public List<ulong> FaceIds
Field Value
| Type |
Description |
| System.Collections.Generic.List<System.UInt64> |
|
TopFaceId
The ID of this cell's top face. If set, it is also expected to be duplicated in list of faces.
In the current implementation of CellComplex, this should always be set.
This may not be the case in the future, if Cells are no longer constrained to vertical extrusions.
Declaration
Field Value
| Type |
Description |
| System.Nullable<System.UInt64> |
|
Methods
DistanceTo(Vector3)
Get the shortest distance from a point to the geometry representing this cell.
Declaration
public override double DistanceTo(Vector3 point)
Parameters
| Type |
Name |
Description |
| Vector3 |
point |
|
Returns
| Type |
Description |
| System.Double |
|
Overrides
Elements.Spatial.CellComplex.ChildBase<Elements.Spatial.CellComplex.Cell, Elements.Geometry.Solids.Extrude>.DistanceTo(Elements.Geometry.Vector3)
GetBottomFace()
Get bottom face, if defined.
Declaration
public Face GetBottomFace()
Returns
GetClosestEdge(Vector3)
Get the associated Edge that is closest to a point.
Declaration
public Edge GetClosestEdge(Vector3 point)
Parameters
| Type |
Name |
Description |
| Vector3 |
point |
|
Returns
GetClosestFace(Vector3)
Get the closest associated face to the supplied position.
Declaration
public Face GetClosestFace(Vector3 point)
Parameters
| Type |
Name |
Description |
| Vector3 |
point |
|
Returns
GetClosestNeighbor(Vector3)
Get the closest associated cell to the supplied point.
Declaration
public Cell GetClosestNeighbor(Vector3 target)
Parameters
| Type |
Name |
Description |
| Vector3 |
target |
|
Returns
GetClosestVertex(Vector3)
Get the associated vertex that is closest to a point
Declaration
public Vertex GetClosestVertex(Vector3 point)
Parameters
| Type |
Name |
Description |
| Vector3 |
point |
|
Returns
GetEdges()
Declaration
public List<Edge> GetEdges()
Returns
| Type |
Description |
| System.Collections.Generic.List<Edge> |
|
GetFaces()
Declaration
public List<Face> GetFaces()
Returns
| Type |
Description |
| System.Collections.Generic.List<Face> |
|
GetGeometry()
Get a Solid Extrusion representing this Cell.
Declaration
public override Extrude GetGeometry()
Returns
Overrides
Elements.Spatial.CellComplex.ChildBase<Elements.Spatial.CellComplex.Cell, Elements.Geometry.Solids.Extrude>.GetGeometry()
GetNeighbors()
Get list of Cells that are neighbors.
Declaration
public List<Cell> GetNeighbors()
Returns
| Type |
Description |
| System.Collections.Generic.List<Cell> |
|
GetNeighbors(Face)
Get the neighbor that shares a specific Face with this cell.
Can be null if the face is not shared.
Declaration
public Cell GetNeighbors(Face face)
Parameters
| Type |
Name |
Description |
| Face |
face |
Shared face
|
Returns
GetTopFace()
Get top face, if defined.
Declaration
Returns
GetVertices(Nullable<Vector3>)
Declaration
public List<Vertex> GetVertices(Vector3? point = null)
Parameters
| Type |
Name |
Description |
| System.Nullable<Vector3> |
point |
|
Returns
| Type |
Description |
| System.Collections.Generic.List<Vertex> |
|
TraverseNeighbors(Vector3, Double)
Traverse the neighbors of this Cell toward the target point.
Declaration
public List<Cell> TraverseNeighbors(Vector3 target, double completedRadius = 0)
Parameters
| Type |
Name |
Description |
| Vector3 |
target |
|
| System.Double |
completedRadius |
If provided, ends the traversal when the neighbor is within this distance to the target point.
|
Returns
| Type |
Description |
| System.Collections.Generic.List<Cell> |
A collection of traversed Cells, including the starting Cell.
|
Implements


Chicken Tikka
Rating
-
Ingredents
Lorem ipsum dolor sit amet.
-
Preperation Instructions
Lorem ipsum dolor sit amet.
-
Third
Lorem ipsum dolor sit amet.
Comments
Mike Linford
I am a very simple card. I am good at containing small bits of information. I am convenient because I require little markup to use effectively.


Om Namo Bagvate.
Be strong in body, clean in mind, lofty in ideals.
Self-confidence is the foundation of all great success and achievement.
You are never too old to set a new goal or dream a new dream.
The starting point of all achievement is desire.
Do something today that your future self will thank you for.
Strive not to be a success, but rather to be value. - Albert Einstein
No matter how cool, talented, educated or rich you think you are, how you treat people tells all. Integrity is everything.


Futures gain on trade deal optimism; service sector data awaited
REUTERS: Wall Street futures rose on Tuesday, a day after all three major U.S. stock indexes closed at record highs on rising hopes of a trade deal between Washington and Beijing.
China is pushing President Donald Trump to remove more tariffs as part of the deal, which may be signed this month, according to the latest reports.
Trade-sensitive chipmakers, including Advanced Micro Devices Inc and Nvidia Corp , rose between 0.6per cent and 1.1per cent in premarket trading. U.S.-listed Chinese stocks also looked set to extend another session of gains.
Gathering optimism around the resolution of the trade war, along with a largely better-than-expected third-quarter earnings season and an upbeat October jobs report have spurred a Wall Street rally this month.
The S&P 500 and Nasdaq closed at record highs for the second consecutive session on Monday, while the Dow Jones hit a record high for the first time since July.
Generic drugmaker Mylan NV rose 1.9per cent after beating Wall Street estimates for third-quarter profit, benefiting from drug launches such as Wixela and Fulphila.
Tapestry Inc was up 2.5per cent as it also beat quarterly profit estimates on strong demand for its high-margin Coach handbags and apparel in China and Europe.
Investor attention now shifts to the ISM's services report, which is expected to show a reading of 53.5 in October, up from 52.6 in September. The report is due at 10 a.m. ET.
At 7:37 a.m. ET, Dow e-minis were up 71 points, or 0.26per cent. S&P 500 e-minis were up 6.25 points, or 0.2per cent and Nasdaq 100 e-minis were up 20.5 points, or 0.25per cent.
Uber Technologies Inc fell 5.8per cent after the ride-hailing service posted a wider third-quarter loss as it tried to outspend competitors through discounts.
Shares of Xerox Holdings Corp were up 5.3per cent after the photocopier maker said it would sell its 25per cent stake in Fuji Xerox, its joint venture with Fujifilm Holdings , for US$2.3 billion.
(Reporting by Arjun Panchadar in Bengaluru; Editing by Anil D'Silva)


FAQ — Frequently Asked Questions
Below you will find some of the most common questions I get for Spito Share. In case you have a question not covered here don't hesitate to contact me.
-
What is a this ?
Spito Share is a super-fast minimalistic URL shortener service and a text/source code sharing service. In a few words, you can share either a long URL or any text you want with your friends or colleagues using the short generated Spit link (spi.to/xxx).
Although it is not a commercial product feel free to use it for your own projects or personal social media sharing needs. As soon as the project is out of Beta, I promise that even if I switch the project's internals/back-end to another framework or server I will keep the active/alive links reachable.
-
What is a Spit ?
Spit is the nickname, if you want, for all the created links through Spito Share.
-
Is my uploaded content secure ?
NoAnyone with access to the Spit URL created can see your content. Future versions will include private spit links.
-
Can I delete a Spit link I made ?
NoOnly by contacting me directly and in extreme cases. The reason is that since everything is public we don't want anyone to be able to delete other's links.
-
What is the point of the Text & Source Code type of Spit ?
At the moment it seems to be just like a big text box where you can put your text or source code and get a shareable link for it to allow easy sharing with others. Soon more features will be added like code syntax highlighting. The goal is to have a minimalistic plain text or source code sharing tool, like a stripped-down version of Gists.


{{< layout}} {{$back}}
Make sure there are no shadows on your face or behind you.
Approved
Shadow on face
Shadow behind head


We would like to appreciate the contribution of people who have helped the framework to enhance by their creative thoughts and spend some time on the framework when they are available.
Zeeshan has suggested the below features and also he reviews the feature and test it before release.
Sholka has suggested the below features and also gives feedbacks on the existing features and constantly reviewing the docs and helping others on gitter as well as github issues.
Emmanuel has suggested the below features and also reviewed the code of the feature.


> Docs > Http Client > Client SSL Configuration
SSL is configured in HttpClientConf
by sslContext
and sslEngineConf
.
Most client applications can use the default SSL configuration without change.
The JVM ships with a set of root CA certificates, stored in a system trust store, typically JAVA-HOME/lib/security/cacerts
.
By default, HttpClient
uses these root CAs to authenticate server certificates. However, you may want to add additional CAs, or trust some self-signed server certificates. You can specify a different trustStoreFile
for sslContext
SSLContext sslContext = new SslConf() .trustStoreFile("./my-ca-certs.jks") .createContext();
You may also choose to trust all server certificates, including all self-signed ones, by trustAll()
SSLContext sslContext = new SslConf() .trustAll() .createContext();
To specify a keyStoreFile
that stores the client certificate public-private key pair
SSLContext sslContext = new SslConf() .keyStoreType("pkcs12") .keyStoreFile("./jane.p12") .keyStorePass(PASSWORD) .createContext();
Some examples of using Java's keytool.
Copy JAVA-HOME/lib/security/cacerts
to ./my-ca-certs.jks
, list its content
> keytool -list -v -keystore my-ca-certs.jks -storepass changeit
Add localhost.cer
, a self-signed server certificate, to the store
> keytool -importcert -alias localhost -file localhost.cer -keystore my-ca-certs.jks -storepass changeit
Create a self-signed certificate for "Jane"
> keytool -genkeypair -alias jane -keyalg RSA -validity 10000 -storetype pkcs12 -keystore jane.p12 -storepass password
To export the certificate to jane.cer
> keytool -exportcert -alias jane -file jane.cer -storetype pkcs12 -keystore jane.p12 -storepass password
Note the store type is pkcs12
, not jks
. To convert pkcs12
to jks
> keytool -importkeystore -srcstoretype pkcs12 -deststoretype jks -srckeystore jane.p12 -srcstorepass password -destkeystore jane.jks


Needle.js core features
The core of NeedleJS is placed in Needle.js file. It provides methods to organize your classes, extend them and add them to the page. At your fingertips you can also find some handy methods and properties.
Class syntax
Classes in NeedleJS are constructor functions with some additional functionality added.
function
Person(name) {this
.name = name ||"Default name"
; } Person.prototype.setName =function
(name) {if
(typeof
name ==="string"
) {this
.name = name; } }; Person.prototype.sayMyName =function
() { console.log("My name is "
+this
.name); }; ...
And now let's see how it would look through NeedleJS:
NEEDLE.plug("Person"
,function
() {function
Person(name) {this
.Person(name); }// this is the constructor of the class (also used for inheritance)
Person.prototype.Person =function
(name) {this
.name = name ||"Default name"
; }// This is public method
Person.prototype.setName =function
(name) {if
(typeof
name ==="string"
) {this
.name = name; } };// This is public method
Person.prototype.sayMyName =function
() { console.log("My name is "
+this
.name); }; Person.prototype.age = 20;// This is public property
Person.race ="Caucasian"
;// This is public static property
// This is private method (shared among all class instances)
function
_sayMyCardID() { console.log("My cardID is ..."
) }var
_salary = 3000;// This is private property/constant
return
Person; });
And that's it. We enclose our constructor Person in a "function" through our framework's plugin feature. This allows us to have private properties and methods which are trully private. It also allows us to require this class on the page once we need it.
Core classes
Inside NeedleJS there are several useful classes providing functionality you can find in most of the libraries out there.
- Ajax - handles AJAX requests to the server.
- DOM - helps you manipulate document elements. Uses Sizzle for selector engine.
- Events - event handler methods and useful event object manipulators.
- XML - providing methods for operating with xml files and values.
- XPath - helps you select xml nodes via XPath.
- Sizzle - JQuery's selector engine.
- Move - handles different movements.
- DragDrop - dragging and dropping html elements.
- BasicOpacity - provides show/hide transparency features.
- Colors - working with color transitions and transformations.
- Expandable - expand/collapse html elements.
- Gradual - providing variety of prograssion (useful for movements, expand/collapse, show/hide).
- Object - all core clases extend this one.
All core classes extend Object class, which provides useful methods for working with class properties, methods and name.
How to use NeedleJS classes
In this section we will see how to request and work with core classes and plugins.
When creating classes with NeedleJS you are actually adding them to the framework. This allows you to use some handy methods on them after that. One such method is require - it loads js file to the document.
N.require("Sizzle.js"
);// requires Sizzle selector engine
N.require("DOM.js"
);// requires DOM core class
N.require("Events.js"
);// requires Events core class
N.require("js/needlejs/plugins/Anchor/Anchor.js"
);// requires Anchor plugin
// onready method executes callback function after all required classes are loaded
N.onready(function
() { });
Nothing special about require method. More about it you can read in the next section.
// onready method executes callback function after all required classes are loaded
N.onready(function
() {// Using Ajax core class
var
ajaxInstance =new
N.Ajax(); ajaxInstance.request("http://<IP_ADDRESS>/path_to_file"
,"post"
,function
() {// callback executes after request is done
// "this" points to current instance for convenience
},"param1=value1¶m2=value2..."
);// Using Anchor plugin
N.plugins.Anchor.scrollTo(0, 0); });
As you can see all core classes are directly attached to Needle and accessed via N object.
Plugins on the other side are attached to Needle's plugins object and accessed via N.plugins.
Knowing that it is easy to operate with classes after that as they act as ordinary constructor functions.
NeedleJS core features
Needle.js provides some handy built in features you can use.
N.require(file, callback);// dynamically adds files to the page and executes function onload
N.objectMerge(Object1, Object2, ...);// merges given number of objects
N.isArray(Array);// checks if passed parameter is Array
N.extend(child, parent);// extends child prototype with parent one
...
var
obj1 = { a : 1, b : 2 };var
obj2 = { c : 3 };// Adding obj2 values to obj1
N.objectMerge(obj1, obj2);// obj1 is now { a : 1, b : 2, c : 3 }
// Adding obj1 and obj2 values to new empty object
var
obj3 = N.objectMerge({}, obj1, obj2);// obj3 is now { a : 1, b : 2, c : 3 }
N.plugins("AdvancedAjax"
,function
() { N.extend(AdvancedAjax, N.Ajax);function
AdvancedAjax() {this
.AdvancedAjax(); } AdvancedAjax.prototype.AdvancedAjax =function
() {this
.Ajax();// calling parent's constructor
};// More methods and properties
...return
AdvancedAjax; });
AdvancedAjax's prototype now contains Ajax's prototype properties and methods (public)
// requires DOM core class and executes callback onload
N.require("DOM.js"
,function
() { alert("DOM.js has loaded"
); }); or N.require("DOM.js"
); N.onready(function
() { alert("DOM.js has loaded"
); });


Click the column headers for sorting. Use the
shift
key to sort by multiple columns at once.
Planet name
Fleet owner
Fleet name
Fleet race
Starbases
Cruisers
Destroyers
Bombers
Scouts
Carried Armies
Ground Armies
Total
0
0
0
0
0
0
0


§238-10 Penalties. Penalties and interest shall be added to and become a part of the tax, when and as provided by section 231-39. [L 1965, c 155, pt of §2; Supp, §119-10; HRS §238-10]


ReactiveX Observables
published by Pradeep on June 15, 2018
Observable emit values over the time and the observer who is interested to receive those values should subscribe for it. On the availability of values observable will push them to subscribers/observers. Observer will not wait for the values instead it will act only when the value is pushed towards it.
Other than the values, observable will also send error or complete notification and once these notifications are sent then no more values are emitted. Its optional for the observer to handle error and complete notifications but if needed observer can handle and process it accordingly.
Chaining Observable
Values traversing between observable and observer can be modified by introducing an intermediate observable. An intermediate observable can modify the values before they reach observer. Adding and removing intermediate observables makes the flow flexible and dynamic.
Lets say we are interested only in printing even numbers so we can arrange two observables. First observable will emit numbers from 1 to infinite and second observable in the chain will filter out all values except even numbers and finally observer will print what ever number pushed towards it. This arrangement is so flexible, we can print odd numbers by just replacing even number with odd number observable.
Number generator (Observable) → Filter even number (Observable) → Print to console (Observer)
Hot and Cold Observables
An hot observable emits values as soon as it is created. This observable will not wait for the observers and those who joined later will receive values from middle.
Cold observable will not emit values until any observer subscribes to it. Observer will see all emitted values.
Operators
ReactiveX provides wide variety of operators. We can apply these operators on the emitted values to transform, filter, aggregate, merge and many more. These operators returns new observable, we can chain multiple operators to form chain of observables.
RxJava
ReactiveX is polyglot, means it is implemented in various of languages and in Java it is RxJava.
Coding Observables in RxJava
Below code creates an observable which emits ten random numbers between the range of 0 to 5 for every 500 milliseconds.
Observable<Integer> observable = Observable.create(observableEmitter -> { (1)
System.out.println("Generating numbers");
new Random().ints(10, 0, 5) (2)
.forEach(i -> {
delay(500); (3)
observableEmitter.onNext(i); (4)
});
});
| 1 | One of the way to get Observable instance is by calling static create method, as we did in above code. We are passing implementation of ObservableOnSubscribe as lambda expression. This expression is executed for each new subscription. |
| 2 | Creating Random class instance to generate ten random numbers between 0 and 5 (exclusive) |
| 3 | delay(500) will make current thread to sleep 500 milliseconds. |
| 4 | On every subscription this lambda gets new instance of ObservableEmitter. Using this instance we can emit values. |
Observables are lazy, they will not emit values until any observer subscribes to it. If you execute above code it will not print 'Generating numbers' because no observers subscribed yet. In the below code we will create an observer which subscribes to this observable.
observable.subscribe( (1)
value -> System.out.print(value + ", ")
);
| 1 | There are many overloaded subscribe methods available in Observable, here we are using one which takes consumer. This consumer is executed for every emitted value from observable and prints it, below is the output of the code; |
Generating numbers
3, 2, 3, 3, 2, 2, 3, 2, 4, 2,
Output shows that 'Generating numbers' is displayed after the subscription and then ten values are printed for every 500 milliseconds. Now lets add little bit more details to this code. We can improve our observable by adding completion and error notifications.
public static void main(String[] args) {
Observable<Integer> observable = Observable.create(observableEmitter -> {
System.out.println("Generating numbers");
new Random().ints(5, 0, 5)
.forEach(i -> {
delay(500);
if(i == 4) (1)
observableEmitter.onError(new IllegalStateException("Value 4 is emitted"));
observableEmitter.onNext(i);
});
observableEmitter.onComplete();
});
observable.subscribe( (2)
value -> System.out.print(value + ", "),
error -> System.out.println("Error:"+error.getMessage()),
() -> System.out.println("Completed")
);
}
public static void delay(int milliseconds){
try {
TimeUnit.MILLISECONDS.sleep(milliseconds);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
| 1 | I am generating five random numbers and if the generated random number is 4 then onError is called which takes Throwable object. I am calling onComplete once all five values are emitted to notify that there are no more values emit. Note that we call onNext to emit values, onError to notify for any error and onComplete to indicate no more values from the emitter. |
| 2 | As I mentioned there are multiple versions of subscribe method available. Here subscribe method takes three parameters; first parameter is consumer which gets the values, second parameter is consumer which gets Throwable to handle the error and third parameter is Action which will be called on complete notification. |
| 3 | Implementation of delay method to block thread based on provided time. |
Output of this code;
Generating numbers
1, 3, Error:Value 4 is emitted
Generating numbers
0, 3, 0, 3, 1, Completed
First execution emits error and second execution completes with out error. Note that after the error there are no more values emitted.
Conclusion
In this article we went through basic introduction of Observables with some coding examples.


Action Path is a mobile app to help citizens provide meaningful feedback about everyday spaces in their cities by inviting engagement when you are near current issues.
Graeff, E. 2014. "Crowdsourcing as Reflective Political Practice: Building a Location-based Tool for Civic Learning and Engagement." Presented at IPP 2014: Crowdsourcing for Politics and Policy, Oxford University, Oxford, UK, September 25.
Graeff, E. 2014. "Action Path: A Location-based Tool for Civic Reflection and Engagement." Presented at Place, (Dis)Place and Citizenship, Wayne State University, Detroit, MI, March 21.
EncuestaCDMX (with Laboratório para la Ciudad). Mexico City, September 2015.
In Mexico, Collaborating on a Civic Engagement App. Civicist.
Civic Tech and Engagement: In Search of a Common Language. techPresident.
Designing for Online Civic Engagement." YouTube.
Erhardt Graeff
<EMAIL_ADDRESS>@erhardt


History
Bookmarks
Cookies
clear
remove all
save all
cancel
add new cookie
x
Please, choose bookmarks folder:


dig axfr @dns_server <domain>
You can work with strings/grep/xxd and other utilities directly on a disk!
strings /dev/sdb #recovers things that may still be readable (including deleted) files
Otherwise, use other forensic tools
grep for a flag:
grep -a '[a-z0-9]\{32\}' /dev/sdb #search for a string 32 characters long with alpha lower and 0-9
# -a flag to treat binary blobs as ASCII
#can also use -B2 and -A2 in order to also grep BEFORE 2 lines and AFTER 2 lines
grep -a B2 -A5 'off the USB' /dev/sdb
Remote copy a drive
ssh pi@<IP> "sudo dcfldd if=/dev/sdb | gzip -1 -" | dcfldd of=pi.dd.gz #gzip on the fly, to stdout and pipe to local dclfdd of
gunzip -d to unzip our image
binwalk -Me to extract things #may or may not find everything (ie text files)
photorec / test disk to recover things from our image
Sometimes forensic tools miss things and manually examining can be fruitful


Introduction
This guide will help you migrate from QuincyKit, HockeyKit or an older version of HockeySDK-iOS to the latest release of the unified HockeySDK for iOS.
First of all we will cleanup the obsolete installation files and then convert your existing code to the new API calls.
Cleanup
First of all you should remove all files from prior versions of either QuincyKit, HockeyKit or HockeySDK-iOS. If you not sure which files you added, here are a few easy steps for each SDK.
QuincyKit
In Xcode open the Project Navigator
(⌘+1). In the search field at the bottom enter “Quincy”. QuincyKit is installed, if search finds the following files:
- BWQuincyManager.h
- BWQuincyManager.m
- Quincy.bundle
Delete them all (“Move to Trash”). Or if you have them grouped into a folder (for example Vendor/QuincyKit) delete the folder.
HockeyKit
In Xcode open the Project Navigator
(⌘+1). In the search field at the bottom enter “Hockey”. HockeyKit is installed, if search finds for example:
- BWHockeyManager.h
- Hockey.bundle
All of them should be in one folder/group in Xcode. Remove that folder.
HockeySDK-iOS before v2.5
In Xcode open the Project Navigator
(⌘+1). In the search field at the bottom enter “CNSHockeyManager”. If search returns any results you have the first release of our unified SDK added to your project. Even if you added it as a git submodule we would suggest you remove it first.
HockeySDK-iOS v2.5.x
In Xcode open the Project Navigator
(⌘+1). In the search field at the bottom enter HockeySDK.framework
. If search returns any results you have the first release of our unified SDK added to your project. Even if you added it as a git submodule we would suggest you remove it first. Repeat the same for CrashReporter.framework
and HockeySDKResources.bundle
.
HockeySDK-iOS v3.0.x
In Xcode open the Project Navigator
(⌘+1). In the search field at the bottom enter HockeySDK.embeddedFramework
. If search returns any results you have the first release of our unified SDK added to your project. Even if you added it as a git submodule we would suggest you remove it first.
Final Steps
Search again in the Project Navigator
(⌘+1) for “CrashReporter.framework”. You shouldn’t get any results now. If not, remove the CrashReporter.framework from your project.
Installation
Follow the steps in our installation guide for either Installation with binary framework distribution (Recommended) or Installation as a subproject
After you finished the steps for either of the installation procedures, we have to migrate your existing code.
Setup
QuincyKit / HockeyKit
In your application delegate (for example AppDelegate.m
) search for the following lines:
[[BWQuincyManager sharedQuincyManager] setAppIdentifier:@"0123456789abcdef"];
[[BWHockeyManager sharedHockeyManager] setAppIdentifier:@"0123456789abcdef"];
[[BWHockeyManager sharedHockeyManager] setUpdateURL:@"https://rink.hockeyapp.net/"];
If you use (as recommended) different identifiers for beta and store distribution some lines may be wrapped with compiler macros like this:
#if defined (CONFIGURATION_Beta)
[[BWQuincyManager sharedQuincyManager] setAppIdentifier:@"BETA_IDENTIFIER"];
#endif
#if defined (CONFIGURATION_Distribution)
[[BWQuincyManager sharedQuincyManager] setAppIdentifier:@"LIVE_IDENTIFIER"];
#endif
For now comment out all lines with either [BWQuincyManager sharedQuincyManager]
or [BWHockeyManager sharedHockeyManager]
.
Open the header file of your application delegate (for example AppDelegate.m
) or just press ^ + ⌘ + ↑ there should be a line like this (AppDelegate should match the name of the file)
@interface AppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate, BWHockeyManagerDelegate> {
Remove the BWHockeyManagerDelegate
. Also look for the following line:
#import "BWHockeyManager.h"
And remove it too. (This line may have a #if macro around it, remove that too)
Now follow the steps described in our setup guide The values for LIVE_IDENTIFIER
and BETA_IDENTIFIER
are used in the setup guide.
After you have finished the setup guide make sure everything works as expected and then delete the out commented lines from above.
HockeySDK-iOS before 2.5
In your application delegate (for example AppDelegate.m
) search for the following lines:
[[CNSHockeyManager sharedHockeyManager] configureWithBetaIdentifier:BETA_IDENTIFIER
liveIdentifier:LIVE_IDENTIFIER
delegate:self];
For now comment out all lines with [CNSHockeyManager sharedHockeyManager]
. Open the header file of your application delegate by pressing ^ + ⌘ + ↑. There should be a line like this:
@interface AppDelegate : NSObject <UIApplicationDelegate, CNSHockeyManagerDelegate> {
Remove CNSHockeyManagerDelegate
, also look for this line:
#import "CNSHockeyManager.h"
And remove that too.
Now follow the steps described in our setup guide The values for LIVE_IDENTIFIER
and BETA_IDENTIFIER
are used in the setup guide.
After you have finished the setup guide make sure everything works as expected and then delete the out commented lines from above.
HockeySDK-iOS 2.5.x
There are no changes to the SDK setup code required. Some delegates methods are deprecated and should be replaced as soon as feasible.
The following delegates in BITCrashManagerDelegate
moved to BITHockeyManagerDelegate
:
- (NSString *)userNameForCrashManager:(BITCrashManager *)crashManager;
is now- (NSString *)userNameForHockeyManager:(BITHockeyManager *)hockeyManager componentManager:(BITHockeyBaseManager *)componentManager;
- (NSString *)userEmailForCrashManager:(BITCrashManager *)crashManager;
is now- (NSString *)userEmailForHockeyManager:(BITHockeyManager *)hockeyManager componentManager:(BITHockeyBaseManager *)componentManager;
HockeySDK-iOS 3.0.x
Instead of implementing the individual protocols in your app delegate, you can now simply add BITHockeyManagerDelegate
alone, e.g.:
@interface BITAppDelegate () BITHockeyManagerDelegate {}
@end
The delegate -(NSString *)customDeviceIdentifierForUpdateManager:(BITUpdateManager *)updateManager
has been removed. To identify the installation please use the new BITAuthenticator
class.
Troubleshooting
ld: warning: directory not found for option ‘….QuincyKit…..’
This warning means there is still a Framework Search Path
pointing to the folder of the old SDK. Open the Project Navigator
(⌘+1) and go to the tab Build Settings
. In the search field enter the name of the folder mentioned in the warning (for example “QuincyKit”) . If the search finds something in Framework Search Paths
you should double click that entry and remove the line which points to the old folder.
Advanced Migration
If you used any optional API calls, for example adding a custom description to a crash report, migrating those would exceed the scope of this guide. Please have a look at the API documentation.


This neural network is trained to turn a guitar into a piano in real time. Watch the video above to see it in action! The version of the pedal below is an experimental "lite" version that downloads the network and then runs locally in your browser!
If you want to run the full version I use and you're familiar with running python, you can find the instructions for running it in the repo here.
NOTE: This network was trained on my specific guitar and setup, so your mileage may vary with your guitar and setup.
If you want to train, customize, or improve, this network, the google colab I use to train the network is here!
If you have ideas or want to colaborate on something, let me know!


| Name | Description |
| no |
The system does not wait to receive a heartbeat before powering on the next
machine in the order. This is the default setting.
|
| systemDefault |
The system uses the default value to determine whether or not to wait to
receive a heartbeat before powering on the next machine in the order.
|
| yes |
The system waits until receiving a heartbeat before powering on the next
machine in the order.
|


A build module in Easyant is a logical unit that provides additional pluggable functionality to your build set up. You may choose to use or ignore such a plugin when running the build. A build module is composed, in the least, of a ant file associated with a ivy specs file. So let's write a Hello World plugin.
> easyant skeleton:newplugin
[input] The path where the skeleton project will be unzipped [.] [input] Organisation name of YOUR project [org.apache.easyant.plugins] org.mycompany [input] Module name of YOUR project myplugin [input] Revision number of YOUR project [0.1]
|-- module.ivy `-- src |-- main | `-- resources | `-- myplugin.ant `-- test `-- antunit `-- myplugin-test.xml
This is the init target of myplugin
[organisation]#[module]
org.mycompany#myplugin
...//your stuff here
hello world !
You can also add a "-Dusername=YOU" on the commandline to display a more personal hello message
> easyant publish-local
> easyant publish-shared
> easyant release
> easyant -p
Main targets: ... myplugin:hello display an hello to current user myplugin:helloworld display an hello world ...
[organisation].[module].[artifact].[type].file
org.mycompany.myplugin.myfile.xsl.file
[organisation].[module].[type].file
org.mycompany#myplugin.properties.file
[organisation]#[module].classpath
org.mycompany#myplugin.classpath
...
> easyant test


debugAssertDoesMeetConstraints method
- @override
Verify that the object's constraints are being met. Override this function in a subclass to verify that your state matches the constraints object. This function is only called in checked mode and only when needsLayout is false. If the constraints are not met, it should assert or throw an exception.
Implementation
@override
void debugAssertDoesMeetConstraints() {
assert(constraints != null);
assert(() {
if (!hasSize) {
assert(!debugNeedsLayout); // this is called in the size= setter during layout, but in that case we have a size
String contract;
if (sizedByParent)
contract = 'Because this RenderBox has sizedByParent set to true, it must set its size in performResize().\n';
else
contract = 'Because this RenderBox has sizedByParent set to false, it must set its size in performLayout().\n';
throw new FlutterError(
'RenderBox did not set its size during layout.\n'
'$contract'
'It appears that this did not happen; layout completed, but the size property is still null.\n'
'The RenderBox in question is:\n'
' $this'
);
}
// verify that the size is not infinite
if (!_size.isFinite) {
final StringBuffer information = new StringBuffer();
if (!constraints.hasBoundedWidth) {
RenderBox node = this;
while (!node.constraints.hasBoundedWidth && node.parent is RenderBox)
node = node.parent;
information.writeln('The nearest ancestor providing an unbounded width constraint is:');
information.write(' ');
information.writeln(node.toStringShallow(joiner: '\n '));
}
if (!constraints.hasBoundedHeight) {
RenderBox node = this;
while (!node.constraints.hasBoundedHeight && node.parent is RenderBox)
node = node.parent;
information.writeln('The nearest ancestor providing an unbounded height constraint is:');
information.write(' ');
information.writeln(node.toStringShallow(joiner: '\n '));
}
throw new FlutterError(
'$runtimeType object was given an infinite size during layout.\n'
'This probably means that it is a render object that tries to be '
'as big as possible, but it was put inside another render object '
'that allows its children to pick their own size.\n'
'$information'
'The constraints that applied to the $runtimeType were:\n'
' $constraints\n'
'The exact size it was given was:\n'
' $_size\n'
'See https://flutter.io/layout/ for more information.'
);
}
// verify that the size is within the constraints
if (!constraints.isSatisfiedBy(_size)) {
throw new FlutterError(
'$runtimeType does not meet its constraints.\n'
'Constraints: $constraints\n'
'Size: $_size\n'
'If you are not writing your own RenderBox subclass, then this is not '
'your fault. Contact support: https://github.com/flutter/flutter/issues/new'
);
}
if (debugCheckIntrinsicSizes) {
// verify that the intrinsics are sane
assert(!RenderObject.debugCheckingIntrinsics);
RenderObject.debugCheckingIntrinsics = true;
final StringBuffer failures = new StringBuffer();
int failureCount = 0;
double testIntrinsic(double function(double extent), String name, double constraint) {
final double result = function(constraint);
if (result < 0) {
failures.writeln(' * $name($constraint) returned a negative value: $result');
failureCount += 1;
}
if (!result.isFinite) {
failures.writeln(' * $name($constraint) returned a non-finite value: $result');
failureCount += 1;
}
return result;
}
void testIntrinsicsForValues(double getMin(double extent), double getMax(double extent), String name, double constraint) {
final double min = testIntrinsic(getMin, 'getMinIntrinsic$name', constraint);
final double max = testIntrinsic(getMax, 'getMaxIntrinsic$name', constraint);
if (min > max) {
failures.writeln(' * getMinIntrinsic$name($constraint) returned a larger value ($min) than getMaxIntrinsic$name($constraint) ($max)');
failureCount += 1;
}
}
testIntrinsicsForValues(getMinIntrinsicWidth, getMaxIntrinsicWidth, 'Width', double.infinity);
testIntrinsicsForValues(getMinIntrinsicHeight, getMaxIntrinsicHeight, 'Height', double.infinity);
if (constraints.hasBoundedWidth)
testIntrinsicsForValues(getMinIntrinsicWidth, getMaxIntrinsicWidth, 'Width', constraints.maxWidth);
if (constraints.hasBoundedHeight)
testIntrinsicsForValues(getMinIntrinsicHeight, getMaxIntrinsicHeight, 'Height', constraints.maxHeight);
// TODO(ianh): Test that values are internally consistent in more ways than the above.
RenderObject.debugCheckingIntrinsics = false;
if (failures.isNotEmpty) {
assert(failureCount > 0);
throw new FlutterError(
'The intrinsic dimension methods of the $runtimeType class returned values that violate the intrinsic protocol contract.\n'
'The following ${failureCount > 1 ? "failures" : "failure"} was detected:\n'
'$failures'
'If you are not writing your own RenderBox subclass, then this is not\n'
'your fault. Contact support: https://github.com/flutter/flutter/issues/new'
);
}
}
return true;
}());
}


PTARDIFF(1) Perl Programmers Reference Guide PTARDIFF(1) NAME ptardiff - program that diffs an extracted archive against an unextracted one DESCRIPTION ptardiff is a small program that diffs an extracted archive against an unextracted one, using the perl module Archive::Tar. This effectively lets you view changes made to an archives contents. Provide the progam with an ARCHIVE_FILE and it will look up all the files with in the archive, scan the current working directory for a file with the name and diff it against the contents of the archive. SYNOPSIS ptardiff ARCHIVE_FILE ptardiff -h $ tar -xzf Acme-Buffy-1.3.tar.gz $ vi Acme-Buffy-1.3/README [...] $ ptardiff Acme-Buffy-1.3.tar.gz > README.patch OPTIONS h Prints this help message SEE ALSO tar(1), Archive::Tar. perl v5.14.2 2014-09-30 PTARDIFF(1)


Scientific Modeling and Programming Lab
It is a management science laboratory of Yonsei university.We are recruiting researchers and internship students.
Please contact us if you have an interest.
boxenju yonsei.ac.kr
Resume file (pdf)
School of Business, Yonsei University
50 Yonsei-ro Seodaemun-gu, Seoul, 120-749, Republic of Korea
+82-2-2123-5481
Online Social Networks, Smartgrid, Multi-Agent Systems, Auctions, OR Applications
September, 2005 ~ Now
July, 1999 ~ August, 2005
September, 1998 ~ July, 1999
| Name | Degree | Graduated in | Career |
|---|---|---|---|
| John | Ph.D. | Feb. 2100 | LG Electronics |
| Mary | Ph.D. | Aug. 2200 | Samsung |
| Mary | M.S. | Aug. 2200 | Samsung |
| Mary | M.S. | Aug. 2200 | Samsung |


An identity, storage, and domain name to the decentrailized world of Ethereum
The current domain name transaction DApp support function is not comprehensive, can not meet the user's domain name trading needs, when the user wants to invest a domain name, he may use a DApp to register the domain name, and then another DApp domain name transaction or transfer, in order to solve this problem, we integrate all the features include: opening, bidding, marking, closing, setting domain name, domain name transfer, providing full ENS function.
We solved the most important question of using DApp: trust, so that all users can feel comfortable using DApp and upload the private key, ENS.bid DApp will provide an offline signature version to ensure that each user's account is secure, allowing Send the transaction to a trusted Enode node by way of an offline signature.
ENS.bid will provide an auction system listing all ENS domain names owned by the seller so that the buyer can select and bid, the time of the bid and the minimum bid price will be determined by the seller, the information between the buyers and sellers will have email reminder, the final bidder, the auction process through the site media co-operation, and the process of domain name transactions through the ENS.bid deployed in the tower chain chain performance guarantee contract to complete.
ENS.bid through a smart contract to provide a decentralized escrow contract to help buyers and sellers through the contract transactions, you can completely avoid the buyers and sellers through the offline trading brought about by the risk, escrow contract code will open source and public for inspection.
ENS.bid special using smart contract to create a domain name loan model, all users can use the Ethereum domain name to borrow, just transfer the domain name to the loan contract, you can calculate the money can be borrowed, we provide the need for Ether uses the domain name as collateral to borrow, and is simple and fast.
We provide .dapp or .dao and other domain names, so Ethereum domain name function is no longer a single.
Yung-Chieh, Tsai has 10 years software development experience, joined Migme in 2016 as a social media company leading in Southeast Asia, helping Migme development distributed architecture. 2017 issued the first ICO project in Taiwan named CryptoABS, is committed to using financial technology to improve the world. Specializes in decentralized systems, crypto currency, blockchain technology, smart contracts.
Phd in Bioinformatic. Win 104 crowdfunding and bring team to Silicon Valley in LEADERG. Develop HA and high-throughput file system for NSRRC. In 2015, join in the biggest social platform Migme in southest Asia, refactor software infrastructure and develop new features on Migme that make MAU to 40m. Now, focus on distributed system and blockchain development. Make decentralization application more popular in the world.


{% extends "base.html" %} {% block head %} {% endblock %} {% block title %}Purchase Receipt{% endblock %} {% block banner %}Receipt of Purchase{% endblock %} {% block lead %}{% endblock %} {% block alerts %}
Total paid: ${{ purchase.get_price }} {% if purchase.occurrence.event.paypal_currency %} ({{ purchase.occurrence.event.paypal_currency }}) {% endif %}
Click "Print Tickets" for printable entry passes with barcodes for this order.
You may choose instead to print your tickets at any time by logging in and clicking "View My Orders" in the menu to the right. You will also be emailed a confirmation with a link to print your tickets later.
Print Tickets {% if purchase.occurrence.event.receipt_text %} {{ purchase.occurrence.event.receipt_text|safe }} {% endif %} {% if purchase.occurrence.event.survival_guide %} {% endif %}


Videos are listed in order of processing completion time, newest to oldest. The reference id (generated by the Dynamic Ingest tester) is a combination of the date/time that the Dynamic Ingest job was initiated and the ingest profile that was used. You can add additional videos using the Dynamic Ingest tester. New videos will appear in this log after processing is complete.
Other parts of this application
| Video ID | Name | Reference ID | Renditions created |
|---|


thUseFullURLPath
Controls whether or not Standard URL values are generated with relative or fully qualified addresses. This applies principally to URL values generated when resolving resources.
The default value for this parameter is "false", signifying that relative URL values are generated by default.
(See also thResourcePath section).


S00192 /
side / orange / 11:40 AM
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.
Indigo
Read more
Read more
Rouge
Read more
Read more
Jaune
Read more
Read more
Orange
Read more
Read more
Vert
Read more
Read more
Bleu
Read more
Read more
Violet
Read more
Read more


Just set up scheduled builds for this site using Netlify and GitHub Actions (following this handy guide) so that I can schedule drafts for the future and have them go live automatically.1 It’s pretty astounding how great these kinds of free tools are at this point.


{% extends 'base.html' %} {% block title %} Settings saved {% endblock %} {% block logo %}
You should close this window now... Thanks


module QCheck:sig
..end
This explains the organization of this module:
'a arbitrary
is used to describe how to generate random values,
shrink them (make counter-examples as small as possible), print
them, etc. Auxiliary modules such as QCheck.Gen
, QCheck.Print
, and QCheck.Shrink
can be used along with QCheck.make
to build one's own arbitrary instances.QCheck.Test
is used to describe a single test, that is, a property of
type 'a -> bool
combined with an 'a arbitrary
that is used to generate
the test cases for this property. Optional parameters
allow to specify the random generator state, number of instances to generate
and test, etc.
let test =
QCheck.(Test.make ~count:1000
(list int) (fun l -> List.rev (List.rev l) = l));;
QCheck.Test.check_exn test;;
let test = QCheck.(
Test.make
~count:10_000 ~max_fail:3
(list small_nat)
(fun l -> l = List.sort compare l));;
QCheck.Test.check_exn test;;
QCheck.Gen.fix
:type tree = Leaf of int | Node of tree * tree
let leaf x = Leaf x
let node x y = Node (x,y)
let g = QCheck.Gen.(sized @@ fix
(fun self n -> match n with
| 0 -> map leaf nat
| n ->
frequency
[1, map leaf nat;
2, map2 node (self (n/2)) (self (n/2))]
))
Gen.generate ~n:20 g;;
More complex and powerful combinators can be found in Gabriel Scherer's
Generator
module. Its documentation can be found
here.
val (==>) : bool -> bool -> bool
b1 ==> b2
is the logical implication b1 => b2
ie not b1 || b2
(except that it is strict and will interact
better with QCheck.Test.check_exn
and the likes, because they will know
the precondition was not satisfied.).
WARNING: this function should only be used in a property
(see QCheck.Test.make
), because it raises a special exception in case of
failure of the first argument, to distinguish between failed test
and failed precondition. Because of OCaml's evaluation order,
both b1
and b2
are always evaluated; if b2
should only be
evaluated when b1
holds, see QCheck.assume
.
val assume : bool -> unit
assume cond
checks the precondition cond
, and does nothing
if cond=true
. If cond=false
, it interrupts the current test.
WARNING This function, like QCheck.(==>)
, should only be used in
a test, not outside.
Example:
Test.make (list int) (fun l ->
assume (l <> []);
List.hd l :: List.tl l = l)
val assume_fail : unit -> 'a
assume_fail ()
is like assume false
, but can take any type
since we know it always fails (like assert false
).
This is useful to ignore some branches in if
or match
.
Example:
Test.make (list int) (function
| [] -> assume_fail ()
| _::_ as l -> List.hd l :: List.tl l = l)
module Gen:sig
..end
module Print:sig
..end
module Iter:sig
..end
module Shrink:sig
..end
Inspired from https://blogs.janestreet.com/quickcheck-for-core/
and Koen Claessen's "Shrinking and Showing functions".
module Observable:sig
..end
A value of type 'a arbitrary
glues together a random generator,
and optional functions for shrinking, printing, computing the size,
etc. It is the "normal" way of describing how to generate
values of a given type, to be then used in tests (see QCheck.Test
).
type'a
stat =string * ('a -> int)
'a
.
The function MUST return a positive integer.type 'a
arbitrary = {
|
gen : |
|||
|
print : |
(* |
print values
| *) |
|
small : |
(* |
size of example
| *) |
|
shrink : |
(* |
shrink to smaller examples
| *) |
|
collect : |
(* |
map value to tag, and group by tag
| *) |
|
stats : |
(* |
statistics to collect and print
| *) |
'a arbitrary
is an object with a method for generating random
values of type 'a
, and additional methods to compute the size of values,
print them, and possibly shrink them into smaller counter-examples.
NOTE the collect field is unstable and might be removed, or
moved into QCheck.Test
.
val make : ?print:'a Print.t ->
?small:('a -> int) ->
?shrink:'a Shrink.t ->
?collect:('a -> string) ->
?stats:'a stat list -> 'a Gen.t -> 'a arbitrary
val set_print : 'a Print.t -> 'a arbitrary -> 'a arbitrary
val set_small : ('a -> int) -> 'a arbitrary -> 'a arbitrary
val set_shrink : 'a Shrink.t -> 'a arbitrary -> 'a arbitrary
val set_collect : ('a -> string) -> 'a arbitrary -> 'a arbitrary
val set_stats : 'a stat list -> 'a arbitrary -> 'a arbitrary
val set_gen : 'a Gen.t -> 'a arbitrary -> 'a arbitrary
val add_stat : 'a stat -> 'a arbitrary -> 'a arbitrary
val gen : 'a arbitrary -> 'a Gen.t
A test is a universal property of type foo -> bool
for some type foo
,
with an object of type foo arbitrary
used to generate, print, etc. values
of type foo
.
See QCheck.Test.make
to build a test, and QCheck.Test.check_exn
to
run one test simply.
For more serious testing, it is better to create a testsuite
and use QCheck_runner
.
module TestResult:sig
..end
module Test:sig
..end
See https://github.com/c-cube/qcheck/issues/31
exception No_example_found of string
val find_example : ?name:string ->
?count:int -> f:('a -> bool) -> 'a Gen.t -> 'a Gen.t
find_example ~f gen
uses gen
to generate some values of type 'a
,
and checks them against f
. If such a value is found, it is returned.
Otherwise an exception is raised.
NOTE this should only be used from within a property in QCheck.Test.make
.No_example_found
if no example is found within count
tries.name
: description of the example to find (used in the exception).count
: number of attempts.f
: the property that the example must satisfy.val find_example_gen : ?rand:Random.State.t ->
?name:string -> ?count:int -> f:('a -> bool) -> 'a Gen.t -> 'a
QCheck.find_example
.
find_example_gen ~f arb ~n
is roughly the same as
Gen.generate1 (find_example ~f arb |> gen)
.No_example_found
if no example was found within count
tries.rand
: the random state to use to generate inputs.QCheck.arbitrary
val choose : 'a arbitrary list -> 'a arbitrary
val unit : unit arbitrary
()
, obviously.val bool : bool arbitrary
val float : float arbitrary
val pos_float : float arbitrary
val neg_float : float arbitrary
val int : int arbitrary
val int_bound : int -> int arbitrary
int_bound n
is uniform between 0
and n
included.val int_range : int -> int -> int arbitrary
int_range a b
is uniform between a
and b
included. b
must be
larger than a
.val small_nat : int arbitrary
val small_int : int arbitrary
val small_signed_int : int arbitrary
val (--) : int -> int -> int arbitrary
QCheck.int_range
.val int32 : int32 arbitrary
val int64 : int64 arbitrary
val pos_int : int arbitrary
val small_int_corners : unit -> int arbitrary
small_int
, but each newly created generator starts with
a list of corner cases before falling back on random generation.val neg_int : int arbitrary
small_int
, not of pos_int
.val char : char arbitrary
val printable_char : char arbitrary
val numeral_char : char arbitrary
'0'..'9'
.val string_gen_of_size : int Gen.t -> char Gen.t -> string arbitrary
val string_gen : char Gen.t -> string arbitrary
small_nat
.val string : string arbitrary
small_nat
and distribution of characters of char
.val small_string : string arbitrary
val small_list : 'a arbitrary -> 'a list arbitrary
0 -- 10
).val string_of_size : int Gen.t -> string arbitrary
char
.val printable_string : string arbitrary
small_nat
and distribution of characters of printable_char
.val printable_string_of_size : int Gen.t -> string arbitrary
printable_char
.val small_printable_string : string arbitrary
val numeral_string : string arbitrary
small_nat
and distribution of characters of numeral_char
.val numeral_string_of_size : int Gen.t -> string arbitrary
numeral_char
.val list : 'a arbitrary -> 'a list arbitrary
small_nat
.val list_of_size : int Gen.t -> 'a arbitrary -> 'a list arbitrary
val array : 'a arbitrary -> 'a array arbitrary
small_nat
.val array_of_size : int Gen.t -> 'a arbitrary -> 'a array arbitrary
val pair : 'a arbitrary -> 'b arbitrary -> ('a * 'b) arbitrary
QCheck.Shrink.pair
)val triple : 'a arbitrary ->
'b arbitrary -> 'c arbitrary -> ('a * 'b * 'c) arbitrary
QCheck.Shrink.pair
and the likesval quad : 'a arbitrary ->
'b arbitrary ->
'c arbitrary ->
'd arbitrary -> ('a * 'b * 'c * 'd) arbitrary
QCheck.Shrink.pair
and the likesval option : 'a arbitrary -> 'a option arbitrary
val fun1_unsafe : 'a arbitrary -> 'b arbitrary -> ('a -> 'b) arbitrary
QCheck.fun_
instead.QCheck.fun1
.val fun2_unsafe : 'a arbitrary ->
'b arbitrary ->
'c arbitrary -> ('a -> 'b -> 'c) arbitrary
QCheck.fun_
instead.fun1
also apply
here.
renamed from QCheck.fun2
.type '_
fun_repr
'f fun_
is a function
of type 'f
, fundamentally.type '_
fun_ =
| |
Fun : |
QCheck.Fn
to see how to apply, print, etc. such a function.
One can also directly pattern match on it to obtain the executable function.
For example:
QCheck.Test.make
QCheck.(pair (fun1 Observable.int bool) (small_list int))
(fun (Fun (_,f), l) -> l=(List.rev_map f l |> List.rev l))
module Fn:sig
..end
val fun1 : 'a Observable.t ->
'b arbitrary -> ('a -> 'b) fun_ arbitrary
fun1 o ret
makes random functions that take an argument observable
via o
and map to random values generated from ret
.
To write functions with multiple arguments, it's better to use QCheck.Tuple
or QCheck.Observable.pair
rather than applying QCheck.fun_
several times
(shrinking will be faster).module Tuple:sig
..end
val fun_nary : 'a Tuple.obs ->
'b arbitrary -> ('a Tuple.t -> 'b) fun_ arbitrary
fun_nary
makes random n-ary functions.
Example:
let module O = Observable in
fun_nary Tuple.(O.int @-> O.float @-> O.string @-> o_nil) bool)
val fun2 : 'a Observable.t ->
'b Observable.t ->
'c arbitrary -> ('a -> 'b -> 'c) fun_ arbitrary
val fun3 : 'a Observable.t ->
'b Observable.t ->
'c Observable.t ->
'd arbitrary -> ('a -> 'b -> 'c -> 'd) fun_ arbitrary
val fun4 : 'a Observable.t ->
'b Observable.t ->
'c Observable.t ->
'd Observable.t ->
'e arbitrary ->
('a -> 'b -> 'c -> 'd -> 'e) fun_ arbitrary
val oneofl : ?print:'a Print.t ->
?collect:('a -> string) -> 'a list -> 'a arbitrary
val oneofa : ?print:'a Print.t ->
?collect:('a -> string) -> 'a array -> 'a arbitrary
val oneof : 'a arbitrary list -> 'a arbitrary
val always : ?print:'a Print.t -> 'a -> 'a arbitrary
val frequency : ?print:'a Print.t ->
?small:('a -> int) ->
?shrink:'a Shrink.t ->
?collect:('a -> string) ->
(int * 'a arbitrary) list -> 'a arbitrary
QCheck.oneof
but with frequencies.val frequencyl : ?print:'a Print.t ->
?small:('a -> int) -> (int * 'a) list -> 'a arbitrary
QCheck.oneofl
, but each element is paired with its frequency in
the probability distribution (the higher, the more likely).val frequencya : ?print:'a Print.t ->
?small:('a -> int) -> (int * 'a) array -> 'a arbitrary
QCheck.frequencyl
, but with an array.val map : ?rev:('b -> 'a) -> ('a -> 'b) -> 'a arbitrary -> 'b arbitrary
map f a
returns a new arbitrary instance that generates values using
a#gen
and then transforms them through f
.rev
: if provided, maps values back to type 'a
so that the printer,
shrinker, etc. of a
can be used. We assume f
is monotonic in
this case (that is, smaller inputs are transformed into smaller outputs).val map_same_type : ('a -> 'a) -> 'a arbitrary -> 'a arbitrary
map
when the transformation preserves the type, which
makes shrinker, printer, etc. still relevant.val map_keep_input : ?print:'b Print.t ->
?small:('b -> int) ->
('a -> 'b) -> 'a arbitrary -> ('a * 'b) arbitrary
map_keep_input f a
generates random values from a
, and maps them into
values of type 'b
using the function f
, but it also keeps the
original value.
For shrinking, it is assumed that f
is monotonic and that smaller input
values will map into smaller values.print
: optional printer for the f
's output.


---
layout: definitions
---
Let $V$ be a vector space and $B$ a basis for $V$. Say $B=\{x_1, \dots, x_n\}$ and consider $B$ as an ordered set. Since $B$ is a spanning set, then there exists a linearly independent combination of $x_1, \dots, x_n$ such that for any $x\in V$, we have $x=\alpha_1x_1 +\dots + \alpha_nx_n $ for some unique $\alpha_1, \dots, \alpha_n$. Then the vector
$$\begin{align*}
\begin{bmatrix}\alpha_1 \\ \dots \\ alpha_n\end{bmatrix} = [x]_{\beta}
\end{align*}$$ is the coordinate vector of $x$ with respect to $B$.
Concepts
Coming soon
Used In
Coming soon
Hypothesis
Coming soon
Results
Coming soon


The class InitialisationHelper performs static initialisation tasks. More...
#include <initialisationhelper.h>
Static Public Member Functions | |
| static QHash< QString, QString > | environmentSettings () |
| static InitialisationHelper * | instance () |
| static QString | setting (const QString &rKey, const QString &rDefault=QString()) |
| static qint64 | startTime () |
Friends | |
| QDebug | operator<< (QDebug debug, const InitialisationHelper &rInitialisationHelper) |
The class InitialisationHelper performs static initialisation tasks.
The InitialisationHelper is either created on the first call or through static initialisation. It will capture the programs startup time, which can be retrieved using startTime(). The system environment is analysed for package related definitions. The result is available over environmentSettings(). The packages custom types are registered with the Qt type system.
Settings for the package can be retrieved using setting(). Two macros are available to help with the creation of singletons / global static objects (LOG4QT_GLOBAL_STATIC and LOG4QT_IMPLEMENT_INSTANCE).
| QHash< QString, QString > Log4Qt::InitialisationHelper::environmentSettings | ( | ) | [inline, static] |
Returns a hash with the settings retrieved from the system environment on startup.
The following table shows the environment variables taken into account and the setting key used for them.
| Environment variable | Setting key |
|---|---|
| LOG4QT_DEBUG | Debug |
| LOG4QT_DEFAULTINITOVERRIDE | DefaultInitOverride |
| LOG4QT_CONFIGURATION | Configuration |
| LOG4QT_CONFIGURATORCLASS | ConfiguratorClass |
References instance().
| static InitialisationHelper* Log4Qt::InitialisationHelper::instance | ( | ) | [static] |
Returns the InitialisationHelper instance.
Referenced by environmentSettings(), setting(), and startTime().
| QString Log4Qt::InitialisationHelper::setting | ( | const QString & | rKey, | |
| const QString & | rDefault = QString() | |||
| ) | [inline, static] |
Returns the value for the setting rKey or rDefault, if it is not defined.
A setting can be either defined by an environment variable or by a key in the application setting. The function will first test the settings made by environment variables for the key rKey using environmentSettings(). If the key is not present and a QCoreApplication exists, the application settings are tested for the key rKey in the group Log4Qt
.
The following setting exists:
| Setting key | Description |
|---|---|
| Debug | The variable controls the Level value for the logger LogManager::logLogger(). If the value is a valid Level string, the level for the logger is set to the level. If the value is not a valid Level string, DEBUG_INT is used. Otherwise ERROR_INT is used. |
| DefaultInitOverride | The variable controls the initialization procedure performed by the LogManager on startup. If it is set to any other value then false the initialization procedure is skipped. |
| Configuration | Specifies the configuration file used for initialising the package. |
| ConfiguratorClass | Specifies the configurator class used for initialising the package. |
References instance().
| qint64 Log4Qt::InitialisationHelper::startTime | ( | ) | [inline, static] |
Returns the start time of the program as the number of milliseconds that have passed since 1970-01-01T00:00:00,000, Coordinated Universal Time (Qt::UTC).
References instance().
| QDebug operator<< | ( | QDebug | debug, | |
| const InitialisationHelper & | rInitialisationHelper | |||
| ) | [friend] |
Writes all object member variables to the given debug stream rDebug and returns the stream.
InitialisationHelper(InitialisationHelper(starttime:1193883677438( QDateTime("Wed Oct 31 21:21:17 2007") ) environmentsettings: QHash(("configuration", "\myapp.log4j") ("Debug", "DEBUG")) ) )