Toggle navigation
Service Worker Sorting
Heads up!
Set time in milliseconds inside a below textbox, that will intimate sorting algorithm, and to share its current status and randomly generated number will be added to the collection.
milliseconds
Trigger Sorting
Stop Timer
Status


CNNs learn to minimize a loss function [...] a lot of manual effort still goes into designing effective losses. [...] tell the CNN what we wish it to minimize.


Rising inflation good for the country: Ali Amin Gandapur
by Web DeskISLAMABAD: Federal Minister Ali Amin Gandapur on Friday shared an unusual take on inflation, leaving many surprised, as he said it has benefited Pakistan’s farmers.
Gandapur’s bizarre stance on inflation left Twitterati in splits with many questioning the minister for this unusual statement.
The minister further stressed that it was common for prices to oscillate, but it was only the people who would eventually benefit. “Millions of farmers, our brothers, were affected when potato prices fell,” he noted.
Earlier this month, Pakistan PM’s finance adviser, Abdul Hafeez Sheikh, claimed that tomatoes were being sold at Rs 17/kg, causing a huge uproar on the social media platform.
Known for his controversial statements, in an earlier interview, Gandapur had stated that if India-Pakistan goes to war then Pakistan should use missiles against all those nations who decide to support India.


| Interface | Description |
|---|---|
| HttpClientBuilderConfigurator |
Implementations of this interface can perform post-configuration
of
HttpClientBuilder used by Client internally. |
| Class | Description |
|---|---|
| Client | |
| HttpEndpoint |
Representation of an HTTP endpoint.
|
| HttpResponse |
Representation of an HTTP response.
|
| ReactorNettyClient |
Reactive client based on Reactor Netty.
|
| ReactorNettyClientOptions |
Options for
ReactorNettyClient . |
| Exception | Description |
|---|---|
| HttpClientException |
Java exception for 4xx HTTP responses.
|
| HttpException |
Base exception.
|
| HttpServerException |
Java exception for 5xx HTTP responses.
|


Created? {{isCreated}}
Entered document? {{isEntered}}
Left document? {{isLeft}}
Attribute changed? {{isAttributeChanged}} it is now {{timestamp}}


--- layout: default title: 'Home' ---
Use this document as a way to quickly start any new project.
All you get is this text and a mostly barebones HTML document.
it's raining :cat:s and :dog:s!
Emoji cheat sheet{% if page.title == "Home" %} {{ page.title }}
Test tube logo, CC licence by https://www.iconfinder.com/icons/1215220/chemical_lab_laboratory_medical_research_test_tube_icon#size=128
Mr. John Utterson: The central character of the novel, who narrates most of the story, either directly or through documents which come into his possession. He is also the counsel for, and close friend to, both Dr. Jekyll and Dr. Lanyon.


Toronto
Sep 7, 3.30pm
Get Tickets. Outlaw Music Festival is on the road again! The annual music tour, curated by country music legend Willie Nelson
princess of wales theatre, Toronto
Sep 8, 8pm
Types: Instant Download Tickets, e-Mail Delivery Tickets, Interactive Seat Maps, Last Minute Tickets.
Sky zone trampoline park,Toronto
Sep 10, 8pm
You can get 120 minutes of jump time, a slice of pizza, small drink and a glow shirt for $25.00!!
Art gallery of ontario,Toronto
Sep 11, 7.30pm
Don't Miss Outlaw Music Festival in Toronto - Order Tickets Online. Email Delivery. Instant Download. Unmatched Service. Types: Instant Download Tickets, e-Mail Delivery Tickets, Interactive Seat Maps, Last Minute Tickets.
St.Lawrence Market, Toronto
Sep 15, 5pm
CHEF SCOTT'S - FRIDAY NIGHT MARKET FEAST. Friday nights never tasted so good!
The great hall, Toronto
Sep 15, 1pm
Find Meetups in Toronto, Ontario about Meet and Greets and meet people in your local community who share your interests.


Book Cover Archive
Latest blog post:
Browse designers, titles, etc.
designers
titles
authors
art directors
photographers
illustrators
genres
publication date
publishers
typefaces
Next Page
Previous Page
Viewing 1 of 1
Randomize
Filtered by: Book
Book info:
Smothered in Hugs
author:
Dennis Cooper
Publisher:
Harper Perennial
Publication date:
July 1,
2010
Genre:
Fiction
Design info:
designer:
Milan Bozic
photographer:
Getty Images
See this book at Amazon
Let us know if you have any suggested edits for this entry
Next Page
Previous Page
Viewing 1 of 1
Randomize
Filtered by: Book
v. steady beta


Almarai to distribute SAR 0.85/shr
ALMARAI
2280 -0.60% 49.70 -0.30
Riyadh – Mubasher: Almarai Company’s Board of Directors has recommended distributing cash dividends to shareholders for 2019 at SAR 0.85 per share, equivalent to 8.5% of the share’s par value.
The dividends will have a total amount of SAR 850 million, distributed over a billion shares, according to the company’s statement to the Saudi Stock Exchange (Tadawul) on Monday.
The distribution, which is subject to the approval of the company’s general assembly, will be limited to shareholders who are registered in Tadawul at the end of the second trading day following the General Assembly Meeting, which will be determined after obtaining the formal approval of market authorities.
Source: Mubasher Source: {{details.article.source}}


Port of the "Spout" game by kuni to SDL2 and Emscripten.
Controls:
Source code:
© kuni, EXL on 09-Apr-2023.


{% extends "base_generic.html" %} {% block title %}
We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly..
If they haven't arrived in a few minutes, please make sure you've entered the address you registered with, and check your spam folder.


Up to the advent of audio compression, high-quality digital audio data took a lot of hard disk space to store. Let us go through a short example.
You want to, say, sample your favorite 1-minute song and store it on your harddisk. Because you want CD quality, you sample at 44.1 kHz, stereo, with 16 bits per sample.
44100 Hz means that you have 44100 values per second coming in from your sound
card (or input file). Multiply that by two because you have two channels. Multiply
by another factor of two because you have two bytes per value (that's what 16
bit means). The song will take up
If you wanted to download that over the internet, given an average 56k modem
connected at 44k (which is a typical case), it would take you (at least)
Digital audio coding, which - in this context - is synonymously called digital audio compression as well, is the art of minimizing storage space (or channel bandwidth) requirements for audio data. Modern perceptual audio coding techniques (like MPEG Layer III) exploit the properties of the human ear (the perception of sound) to achieve a size reduction by a factor of 11 with little or no perceptible loss of quality.
Therefore, such schemes are the key technology for high quality low bit-rate applications, like soundtracks for CD-ROM games, solid-state sound memories, Internet audio, digital audio broadcasting systems, and the like.
Audio compression really consists of two parts. The first part, called encoding, transforms the digital audio data that resides, say, in a WAVE file, into a highly compressed form called bitstream. To play the bitstream on your soundcard, you need the second part, called decoding. Decoding takes the bitstream and re-expands it to a WAVE file.
The program that effects the first part is called an audio encoder. LAME is such an encoder . The program that does the second part is called an audio decoder. One well-known MPEG Layer III decoder is Xmms, another mpg123. Both can be found on ww.mp3-tech.org .
It has not been explicitly mentioned up to now: What you end up with after encoding and decoding is not the same sound file anymore: All superflous information has been squeezed out, so to say. It is not the same file, but it will sound the same - more or less, depending on how much compression had been performed on it.
Generally speaking, the lower the compression ratio achieved, the better the sound quality will be in the end - and vice versa. Table 1.1 gives you an overview about quality achievable.
Because compression ratio is a somewhat unwieldy measure, experts use the term bitrate when speaking of the strength of compression. Bitrate denotes the average number of bits that one second of audio data will take up in your compressed bitstream. Usually the units used will be kbps, which is kbits/s, or 1000 bits/s. To calculate the number of bytes per second of audio data, simply divide the number of bits per second by eight.
| Bitrate | Bandwidth | Quality comparable to or better than |
| 16 kbps | 4.5 kHz | shortwave radio |
| 32 kbps | 7.5 kHz | AM radio |
| 96 kbps | 11 kHz | FM radio |
| 128 kbps | 16 kHz | near CD |
| 160-180 kbps (variable bitrate) |
20 kHz | perceptual transparency |
| 256 kbps | 22 kHz | studio |


I am Yucheng Shao. Please call me Ben.
I am generally interested in any application of math in biology.
I am looking for a grad school.
The projects for the bioinformatic class I am taking focus on the p450 protein family.
It is responsible for hydrolyzing organic chemical and is found in a large range of organisms.
I was told that I cannot put links onto this webpage (through GitHub).
Is that so? I found the coding for html kind of fun.
Below is one of my favorite lizards. :)
Special thanks for the following videos:
https://www.youtube.com/watch?v=bWPMSSsVdPk
https://www.youtube.com/watch?v=fayd6VWdzmU


This is a RESTful example of pulling a list of data from MongoDB and showing it on the page. You can add or remove items from the list as well using the included form.
| No. | Title | Directed by | Written by | Air date | Tools |
|---|---|---|---|---|---|
| {{ ep.number }} | {{ ep.title }} | {{ ep.director }} | {{ ep.writer }} | {{ ep.airDate }} |


Fast elliptic-curve cryptography in a plain javascript implementation.
NOTE: Please take a look at http://safecurves.cr.yp.to/ before choosing a curve for your cryptography operations.
ECC is much slower than regular RSA cryptography, the JS implementations are even more slower.
bash
$ node benchmarks/index.js
Benchmarking: sign
elliptic#sign x 262 ops/sec ±0.51% (177 runs sampled)
eccjs#sign x 55.91 ops/sec ±0.90% (144 runs sampled)
------------------------
Fastest is elliptic#sign
========================
Benchmarking: verify
elliptic#verify x 113 ops/sec ±0.50% (166 runs sampled)
eccjs#verify x 48.56 ops/sec ±0.36% (125 runs sampled)
------------------------
Fastest is elliptic#verify
========================
Benchmarking: gen
elliptic#gen x 294 ops/sec ±0.43% (176 runs sampled)
eccjs#gen x 62.25 ops/sec ±0.63% (129 runs sampled)
------------------------
Fastest is elliptic#gen
========================
Benchmarking: ecdh
elliptic#ecdh x 136 ops/sec ±0.85% (156 runs sampled)
------------------------
Fastest is elliptic#ecdh
========================
```javascript var EC = require(‘elliptic’).ec;
// Create and initialize EC context // (better do it once and reuse it) var ec = new EC(‘secp256k1’);
// Generate keys var key = ec.genKeyPair();
// Sign message (must be an array, or it’ll be treated as a hex sequence) var msg = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]; var signature = key.sign(msg);
// Export DER encoded signature in Array var derSign = signature.toDER();
// Verify signature console.log(key.verify(msg, derSign));
// CHECK WITH NO PRIVATE KEY
// Public key as ‘04 + x + y’ var pub = ‘04bb1fa3…’;
// Signature MUST be either: // 1) hex-string of DER-encoded signature; or // 2) DER-encoded signature as buffer; or // 3) object with two hex-string properties (r and s)
var signature = ‘b102ac…’; // case 1 var signature = new Buffer(‘…’); // case 2 var signature = { r: ‘b1fc…’, s: ‘9c42…’ }; // case 3
// Import public key var key = ec.keyFromPublic(pub, ‘hex’);
// Verify signature console.log(key.verify(msg, signature)); ```
```javascript var EdDSA = require(‘elliptic’).eddsa;
// Create and initialize EdDSA context // (better do it once and reuse it) var ec = new EdDSA(‘ed25519’);
// Create key pair from secret var key = ec.keyFromSecret(‘693e3c…’); // hex string, array or Buffer
// Sign message (must be an array, or it’ll be treated as a hex sequence) var msg = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]; var signature = key.sign(msg).toHex();
// Verify signature console.log(key.verify(msg, signature));
// CHECK WITH NO PRIVATE KEY
// Import public key var pub = ‘0a1af638…’; var key = ec.keyFromPublic(pub, ‘hex’);
// Verify signature var signature = ‘70bed1…’; console.log(key.verify(msg, signature)); ```
```javascript var EC = require(‘elliptic’).ec; var ec = new EC(‘curve25519’);
// Generate keys var key1 = ec.genKeyPair(); var key2 = ec.genKeyPair();
var shared1 = key1.derive(key2.getPublic()); var shared2 = key2.derive(key1.getPublic());
console.log(‘Both shared secrets are BN instances’); console.log(shared1.toString(16)); console.log(shared2.toString(16)); ```
three and more members: ```javascript var EC = require(‘elliptic’).ec; var ec = new EC(‘curve25519’);
var A = ec.genKeyPair(); var B = ec.genKeyPair(); var C = ec.genKeyPair();
var AB = A.getPublic().mul(B.getPrivate()) var BC = B.getPublic().mul(C.getPrivate()) var CA = C.getPublic().mul(A.getPrivate())
var ABC = AB.mul(C.getPrivate()) var BCA = BC.mul(A.getPrivate()) var CAB = CA.mul(B.getPrivate())
console.log(ABC.getX().toString(16)) console.log(BCA.getX().toString(16)) console.log(CAB.getX().toString(16)) ```
NOTE: .derive()
returns a BN instance.
Elliptic.js support following curve types:
Following curve ‘presets’ are embedded into the library:
secp256k1
p192
p224
p256
p384
p521
curve25519
ed25519
NOTE: That curve25519
could not be used for ECDSA, use ed25519
instead.
ECDSA is using deterministic k
value generation as per RFC6979. Most of
the curve operations are performed on non-affine coordinates (either projective
or extended), various windowing techniques are used for different cases.
All operations are performed in reduction context using bn.js, hashing is provided by hash.js
elliptic
for browser and secp256k1-node for
node)This software is licensed under the MIT License.
Copyright Fedor Indutny, 2014.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Ingredients:
| Amount | Ingredient | |
|---|---|---|
| 4 Cans | Beans | |
| 1⁄2 | Orange | |
| 3 Cloves | Garlic | |
| 1 | Onion | |
| 1-2 | Soyrizo | |
| 1 large can | Diced tomatoes | |
| 1 bottle or can | Beer | |
| 1 can | Corn (optional) | |
| To taste | Soy sauce | |
| To taste | Cumin | |
| To taste | Chili powder | |
| To taste | Hot sauce | |
| To taste | Salt & pepper |
Instructions:
| 1. | Sauté onions in olive oil in large pot until clear. | |
| 2. | Add garlic and continue cooking for 3 minutes. | |
| 3. | Add soyrizo and cook for 3 more minutes. | |
| 4. | Add tomatoes, drained beans, beer, orange juice, corn, and stock of water so liquid is about 1 inch above ingredients. | |
| 5. | Boil on low until right consistency, about 40 minutes. | |
| 6. | Add spices to taste and serve. |


Basic Mode:
Show motivational quotes every minutes.
Pro Mode:
Show motivational videos every minutes.


Welcome to report-uri.com Report URI provides real-time security reporting for your site. We support Content Security Policy and many other modern browser security features.
Developing inside a Container using Visual Studio Code Remote Development Developing inside a Container using Visual Studio Code Remote Development
IRL Podcast Manoush Zomorodi explores real stories of life online – and real talk about how we can all keep the Internet healthy, weird and wonderful. IRL is an original podcast from the Mozilla Corporation.
Google Sued For Conspiring To Share Medical Records Against Patient Consent - Slashdot schwit1 writes: A former University of Chicago medical patient filed a class-action lawsuit against the University of Chicago and Google, claiming that the University of Chicago Medical Center is giving private patient information to the tech giant withou...
Easy Acquisition of .NET Framework Targeting Pack by terrajobst · Pull Request #33 · dotnet/designs We believe this is the final plan. Modulo more feedback, we'll be accepting this. /cc @dsplaisted @marek-safar
Blazored/Toast A JavaScript free toast library for Blazor and Razor Component applications - Blazored/Toast
C#: [Obsolete] on an extension method? Also remove ‘this’ tl;dr – To fully deprecate an extension method when you need to maintain binary compatibility (e.g. plugins), especially if it’s colliding with another extension method, you can simply …
Adding ASP.NET Core 3.0 Support by NickCraver · Pull Request #400 · MiniProfiler/dotnet This set of changes drops view profiling for the moment in ASP.NET Core 3.x since the types we were wrapping as "pubternal" are no longer exposed in 3.0. On the framework side, dotnet/asp...
.NET R&D Digest (June, 2019) Its July, it’s Friday and it’s time for next issue of .NET R&D Digest! Besides .NET related topics this issue includes bits about Cloud, Development Tools and Software Architecture. Have a gre…
Documentation - Azure SignalR Service Build and scale real-time web app easily in serverless or server mode. Based on WebSocket supporting broad range of languages and frameworks.
Challenges with Federated Identity in modern browsers Many websites offer a “Log in” capability where they don’t manage the user’s account; instead, they offer visitors the ability to “Login with <identity provider>…


When electromagnetic radiation is incident upon an object, some of the radition is absorbed while some is reflected. The specific proportions that are absorbed and radiated depend on the properties of the object and whether it is in thermodynamic equlibrium with the surrounding evironment. A blackbody is an perfect object in the sense that it abosorbs all the radiation incident upon it and emits radiation depending solely on its temperature.
in-context


tdracer 18th Oct 2013, 21:59 permalink
Post: 1736 |
BA was able to make money on Concorde as in positive cash flow. But they were basically given the airplanes. The commercial failure aspect comes from the simple fact that no one wanted them to build any more (what I've heard is that at least one production Concorde was built but never put into service - basically becoming a donor for spares - not sure if that's true). I also suspect it was too much of a point design - it didn't have the range to be useful in the Pacific.
If BA (and Air France) honestly thought Concorde was a profit center (rather than brand prestige), they would have wanted more
.
BTW, my comments about the flight deck were not intended as criticism - no doubt it was state of the art when it was designed. I was just commenting on how much things have changed since then.
I don't mean to dispute that the Concorde was an incredible airplane and engineering achievement. Just saying that it never really had a chance to be successful. The same thing would have applied to the Boeing SST if it hadn't been cancelled (I knew a guy that worked on the Boeing SST inlet control system - talk about complex
). Cancelling the SST is probably the best thing that ever happened to Boeing - it likely would have bankrupted the company.
Last edited by tdracer; 18th Oct 2013 at
22:01
.
|
DozyWannabe 18th Oct 2013, 22:40 permalink
Post: 1737 |
Quote:
Originally Posted by
tdracer
BA was able to make money on Concorde as in positive cash flow. But they were basically given the airplanes. The commercial failure aspect comes from the simple fact that no one wanted them to build any more (what I've heard is that at least one production Concorde was built but never put into service - basically becoming a donor for spares - not sure if that's true).
|
Not as far as I know - the first UK "production" Concorde intended for testing rather than line flying (G-BBDG) did end up as a donor for spares, but it wasn't a case of an aircraft without a home - it was just the way things turned out - they never intended to sell it to an airline. In fact that very airframe is the one now living at Brooklands. Several things kiboshed Concorde as a going concern in the '70s - not least of which was the protest movement in the US making US airlines shy away. Above all it was not an issue with the project itself, but the early '70s oil crisis which had the most drastic effect. In fact, while the UK government effectively wrote off the cost in the '70s, the profits BA ended up making could have made a sizeable dent in the development costs.
Quote:
|
I also suspect it was too much of a point design - it didn't have the range to be useful in the Pacific.
|
There was a B model on the drawing board which could very well have been capable in that arena.
CONCORDE SST : CONCORDE B
Quote:
|
If BA (and Air France) honestly thought Concorde was a profit center (rather than brand prestige), they would have wanted more
.
|
In fact, BA significantly underestimated what customers would be willing to pay for Concorde service at first - it was this realisation that enabled them to turn a profit!
Quote:
|
The same thing would have applied to the Boeing SST if it hadn't been cancelled (I knew a guy that worked on the Boeing SST inlet control system - talk about complex
). Cancelling the SST is probably the best thing that ever happened to Boeing - it likely would have bankrupted the company.
|
Well, that was kind of the crux of the issue. Boeing had already effectively bet the company on the 747 project, and the 2707 still had technical issues on paper that the Concorde project had already solved. As far as my reading suggests, the runaway success of the 747 in fact owed a lot to the issues that ended up swamping the DC-10 and L-1011 - essentially gifting Boeing a market leading position and rescuing the company from the abyss - the 2707 was cancelled long before that became a reality though. In effect, before the success of the 747 was a done deal, Boeing couldn't stretch to doing both.
Last edited by DozyWannabe; 18th Oct 2013 at
23:02
.
|
tdracer 19th Oct 2013, 01:14 permalink
Post: 1738 |
The Concorde and Boeing SST business cases were built on a couple flawed assumptions.
First, jet fuel would remain dirt cheap and the higher fuel burn of supersonic travel not contribute significantly to cost of operation - which was blown out of the water by the first Arab oil embargo.
Second, that the majority of demand for air travel would remain for the 'premium' product - basically that the majority of people would happily pay a premium to get there faster. This assumption applied to most people who flew on jets in the 1960's - either business travelers or well to do people that weren't that worried about what it cost.
Reality was it went the opposite direction - a shift that started with the 747 and other widebodies. The economies of the wide body aircraft lowered the cost of air travel to the 'everybody' level. Suddenly there was a whole new class of air traveler - people for whom an extra $100 airfare meant they just wouldn't go, never mind that they'd get there in half the time. In short, they didn't foresee air travel becoming just another commodity - the low cost trend that continues today.
The reality was, both the Concorde and the SST needed to sell hundreds of copies to even begin to justify the development costs. The evolution of air travel into a low cost commodity, combined with the rising costs of jet fuel, insured that would never happen.
Last edited by tdracer; 19th Oct 2013 at
01:18
.
Reason: edited to fix typos
|
DozyWannabe 19th Oct 2013, 01:56 permalink
Post: 1739 |
Quote:
Originally Posted by
tdracer
The Concorde and Boeing SST business cases were built on a couple flawed assumptions.
First, jet fuel would remain dirt cheap and the higher fuel burn of supersonic travel not contribute significantly to cost of operation - which was blown out of the water by the first Arab oil embargo.
|
Well, the 2707 project never advanced to the point where such practicalities were considered - but it's certainly the case that part of the Concorde "B" spec was intended to do away with reheat (afterburner) entirely, and be much more fuel-efficient as a result.
Quote:
|
Second, that the majority of demand for air travel would remain for the 'premium' product - basically that the majority of people would happily pay a premium to get there faster. This assumption applied to most people who flew on jets in the 1960's - either business travelers or well to do people that weren't that worried about what it cost.
|
Not necessarily - supersonic travel as a "premium" product was always intended to co-exist with subsonic offerings, much as it ended up doing. There's a revisionist narrative that has the USA betting on mass transit with the 747 versus Europe betting on supersonic transit with Concorde - but all the contemporary material I've read indicates no such thing. Even setting aside the protests within the US against the Concorde, the simple fact is that SST was never going to be a viable domestic solution, so that limited the market for the 2707. Whereas a transatlantic SST was very much a viable proposition due to the transoceanic nature of the journey. It could be argued that even with the oil crisis and the subsequent drop in orders, the UK and French governments gave up on the Concorde project too soon.
Quote:
|
Reality was it went the opposite direction - a shift that started with the 747 and other widebodies. The economies of the wide body aircraft lowered the cost of air travel to the 'everybody' level. Suddenly there was a whole new class of air traveler - people for whom an extra $100 airfare meant they just wouldn't go, never mind that they'd get there in half the time. In short, they didn't foresee air travel becoming just another commodity - the low cost trend that continues today.
|
If that were genuinely the case, then there would have been no Airbus project or consortium. As Clive correctly points out, the A300 project started taking shape while Concorde was undergoing her proving flights. While there's no doubt that the Concorde project was completed for political reasons most of all, the idea that she was a forlorn hope before she went into service is grossly unfair.
Quote:
|
The reality was, both the Concorde and the SST needed to sell hundreds of copies to even begin to justify the development costs. The evolution of air travel into a low cost commodity, combined with the rising costs of jet fuel, insured that would never happen.
|
Yet, as alluded to before, the R&D gains and technological knowledge coming from the project helped to lay the foundations of a pan-European aircraft maker which would eventually go toe-to-toe with the best the USA had to offer. The sidestick technology which led to an unprecedented level of commonality between short-haul and long-haul types was first tested on a Concorde airframe (Google "concorde minimanche"). Added to which is the fact that in Concorde, for all the project's problems, an airliner was produced which - on a technological level at least - left every competitor in the world in the dust. That is something that can never be taken away.
|
NHerby 9th Jan 2014, 03:35 permalink
Post: 1775 |
Quote:
|
Alas, the moderators will likely delete both your message and mine.
|
It would be a pitty!
I don't want to slide in a political argument here, that is not my point at all. I just want to highlight that lobbying against SST, even with totally foolish pleas, had a very negative impact on the commercial outcome of both Concorde and the Boeing SST. Put on top of that what has to be called an economic war between USA and Europe and the fate of Concorde was sealed, no matter how beautifull, technologically advanced and fantastic was the plane. And I think this is the main resaon why no other airliners but BAC and AF bought Concorde.
|
riff_raff 24th Mar 2016, 06:49 permalink
Post: 1936 |
Most people are familiar with the space race between the US and the Soviets, but there was a very interesting race between the US, Europe and the Soviet Union to build a supersonic passenger aircraft. Europe built the successful Concorde, the US had the unsuccessful Boeing SST, and the Soviets had the unsuccessful Tu-144.
Somewhere there is a taped phone conversation of President Kennedy raising heck with someone over the fact that the US does not have a supersonic passenger aircraft program to compete with Concorde.
|


2.1 Summarizing data
The dplyr package is a marvelous and very intuitive set of tools to perform fast and easy data manipulation and summarization in preparation e.g. for visualization. In the following, we’ll guide you through a selection of operations you may find helpful within the course of future R workflows on the basis of the diamonds
dataset. Based on a very comprehensive RPubs tutorial, these include
filter()
,select()
,arrange()
,mutate()
, andsummarise()
(incl.group_by()
),
each of which will be accompanied by an equivalent base-R approach.
Subsetting data via filter()
Just like base-R subset()
or simply indexing via conditional expressions included in square brackets, filter()
creates a subset of your data based on some user-defined criteria. Before we dive any deeper into this, let’s check your subsetting abilities.
Task: base-R subsetting
Suppose we want to create a subset of diamonds
keeping all D-, E- or F-colored specimen with a ‘Premium’ or ‘Ideal’ cut quality and a weight of more than 3 carat. Try to figure out two different solutions, one with and one without using subset
.
Using filter()
is straightforward and very similar to subset()
. The first argument represents the dataset under investigation, whereas any subsequent argument represents a logical expression to filter particular rows. Note that in contrast to the direct subsetting via square brackets, you are not required to repeat the name of the dataset with every single condition.
library(dplyr)
filter(diamonds, carat > 3 &
cut %in% c("Premium", "Ideal") &
color %in% c("D", "E", "F"))
## # A tibble: 2 x 10
## carat cut color clarity depth table price x y z
## <dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 3.01 Premium F I1 62.2 56 9925 9.24 9.13 5.73
## 2 3.05 Premium E I1 60.9 58 10453 9.26 9.25 5.66
Selecting columns via select()
Selecting specific columns from a dataset follows a similar syntax to filter()
and works analogous to SQL standards. Again, the first argument represents the dataset under consideration followed by the desired column names (without double quotes).
dplyr::select(diamonds, carat, cut, color, clarity)
## # A tibble: 53,940 x 4
## carat cut color clarity
## <dbl> <ord> <ord> <ord>
## 1 0.23 Ideal E SI2
## 2 0.21 Premium E SI1
## 3 0.23 Good E VS1
## 4 0.29 Premium I VS2
## 5 0.31 Good J SI2
## 6 0.24 Very Good J VVS2
## 7 0.24 Very Good I VVS1
## 8 0.26 Very Good H SI1
## 9 0.22 Fair E VS2
## 10 0.23 Very Good H VS1
## # ... with 53,930 more rows
Note that both the use of c()
to combine the single column names into a vector as well as the need for double quotes became obsolete. In addition to this, column names may be treated analogous to numeric indices, eliminating the need to count columns when desiring to extract several consecutive columns from a rather wide datasets.
dplyr::select(diamonds, carat:clarity, price)
## # A tibble: 53,940 x 5
## carat cut color clarity price
## <dbl> <ord> <ord> <ord> <int>
## 1 0.23 Ideal E SI2 326
## 2 0.21 Premium E SI1 326
## 3 0.23 Good E VS1 327
## 4 0.29 Premium I VS2 334
## 5 0.31 Good J SI2 335
## 6 0.24 Very Good J VVS2 336
## 7 0.24 Very Good I VVS1 336
## 8 0.26 Very Good H SI1 337
## 9 0.22 Fair E VS2 337
## 10 0.23 Very Good H VS1 338
## # ... with 53,930 more rows
There’s also a set of additional helper functions, including starts_with()
, ends_with()
, matches()
and contains()
, which definitely go beyond the scope of this short introduction. Still, it’s good to know that such things existed in case you needed any of them.
A brief note on chaining (or pipelining)
Now suppose we wanted to select the same columns from the previously created subset of data. Traditionally, this would either require a 2-step approach, generating otherwise unnecessary intermediate results, via
## first, create subset
diamonds_sub <- filter(diamonds, carat > 3 &
cut %in% c("Premium", "Ideal") &
color %in% c("D", "E", "F"))
## second, select columns
select(diamonds_sub, carat:clarity, price)
or nested function calls which are usually hard to read.
## all-in-one nested solution
select(
filter(diamonds, carat > 3 &
cut %in% c("Premium", "Ideal") &
color %in% c("D", "E", "F")),
carat:clarity, price
)
dplyr introduces the %>%
operator which is meant to bridge a set of connected processing steps, thus eliminating the need for intermediary variables (e.g. diamonds_sub
in the above example) or nested function calls. Just think of %>%
as a “then” connecting two parts of a sentence.
diamonds %>%
filter(carat > 3 &
cut %in% c("Premium", "Ideal") &
color %in% c("D", "E", "F")) %>%
dplyr::select(carat:clarity, price)
## # A tibble: 2 x 5
## carat cut color clarity price
## <dbl> <ord> <ord> <ord> <int>
## 1 3.01 Premium F I1 9925
## 2 3.05 Premium E I1 10453
Note that chaining comes in handy when performing multiple operations at once, rendering your code much more elegant and reducing the accumulated overhead significantly. The single worksteps can be read from left to right and from top to bottom, just like you would read the pages of a book.
Reordering rows via arrange()
arrange()
ensures a fast and easy rearrangement of rows based on certain variables. Although this can be done using base-R, its necessity soon becomes clear when dealing with rearrangements based on multiple variables as the dplyr approach requires far less typing.
Task: base-R rearrangement of rows
Here’s a tricky one. Let’s assume we wanted to rearrange the rows of a subset of diamonds
(color, price, carat) according to color, with the best color (D) on top. Since we’re also interested in a preferably low price, the diamonds of uniform color should be sorted according to their price, with cheapest ones on top. Finally, for each set of diamonds with a specified color and price, we want their weights arranged in descending order, with the heaviest specimen on top.
Again, the dplyr approach is much simpler and can be done in one go.
diamonds %>%
dplyr::select(color, price, carat) %>%
arrange(color, price, desc(carat))
## # A tibble: 53,940 x 3
## color price carat
## <ord> <int> <dbl>
## 1 D 357 0.23
## 2 D 357 0.23
## 3 D 361 0.32
## 4 D 362 0.23
## 5 D 367 0.24
## 6 D 367 0.20
## 7 D 367 0.20
## 8 D 367 0.20
## 9 D 373 0.24
## 10 D 373 0.23
## # ... with 53,930 more rows
Adding new columns via mutate()
mutate()
lets you add new variables to an existing data frame. It is basically an extended version of base-R transform()
in the sense that it allows you to directly work with columns you’ve just created.
diamonds %>%
dplyr::select(color, carat, price) %>%
mutate(ppc = price / carat,
ppc_rnd = round(ppc, 2))
## # A tibble: 53,940 x 5
## color carat price ppc ppc_rnd
## <ord> <dbl> <int> <dbl> <dbl>
## 1 E 0.23 326 1417.391 1417.39
## 2 E 0.21 326 1552.381 1552.38
## 3 E 0.23 327 1421.739 1421.74
## 4 I 0.29 334 1151.724 1151.72
## 5 J 0.31 335 1080.645 1080.65
## 6 J 0.24 336 1400.000 1400.00
## 7 I 0.24 336 1400.000 1400.00
## 8 H 0.26 337 1296.154 1296.15
## 9 E 0.22 337 1531.818 1531.82
## 10 H 0.23 338 1469.565 1469.57
## # ... with 53,930 more rows
Summarise values via summarise()
Similar to plyr::summarise()
, the dplyr version of summarise()
lets you melt a dataset into a single row depending on the supplied function. The function works quite similar to base-R aggregate()
. However, the ease of use is definitely on the side of summarise()
.
Task: base-R data aggregation
In order to demonstrate dplyr’s ease of use in terms of data summarization, try to aggregate()
the diamonds
dataset in such a fashion that you end up with a data frame showing the minimum, mean and maximum price per diamond color.
As for the dplyr solution, the group_by
function comes in handy when trying to calculate metrics from sub-groups of data, e.g. depending on the diamonds’ color, rather than from the entire data frame.
diamonds %>%
group_by(color) %>%
summarise(MIN = min(price), MEAN = mean(price), MAX = max(price))
## # A tibble: 7 x 4
## color MIN MEAN MAX
## <ord> <dbl> <dbl> <dbl>
## 1 D 357 3169.954 18693
## 2 E 326 3076.752 18731
## 3 F 342 3724.886 18791
## 4 G 354 3999.136 18818
## 5 H 337 4486.669 18803
## 6 I 334 5091.875 18823
## 7 J 335 5323.818 18710
In order to summarize an entire variable into one single value, just drop the group_by
function.
summarise(diamonds, min = min(price), mean = mean(price), max = max(price))
## # A tibble: 1 x 3
## min mean max
## <dbl> <dbl> <dbl>
## 1 326 3932.8 18823
Now that you’re familiar with the basics of data manipulation via dplyr and before moving on to actual data visualization via ggplot2, it’s time to have a brief look at data format conversion from wide to long format which is essential for displaying numerous groups of data in one single plot.


Tutorials¶
single cell ATAC¶
Currently, for getting started, we recommend Scanpy’s reimplementation of Seurat’s [Satija15] clustering tutorial 2700 PBMCs from 10x Genomics, containing preprocessing, clustering and the identification of cell types via known marker genes.
You might compare this to clustering 68K PBMCs as it would be done in Cell Ranger [Zheng17].
Single cell methylation¶
For trajectory inference on complex datasets, we offer several examples here. Get started here for the following result on hematopoiesis.
You can extend this to multi-resolution analyses of whole animals, such as here.
The PAGA method behind this is described here and can be cited using this doi. As a reference for simple pseudotime analyses, we provide the diffusion pseudotime analyses of [Haghverdi16] for two hematopoiesis datasets: here for [Paul15] and here for [Moignard15].


Hello!
A small introduction about myself
I'm a web developer, web designer and quick learner. I love creating awesome and effective websites for companies and clients of all sizes around the globe.
I look forward to associate myself with an organization where there is an opportunity to share challenging avenues,where my educational potential match organization’s growth, to make a niche for myself in the industry to contribute and upgrade my knowledge.
I can say i’m quite good at
Completed Computer Science & Engineering (CSE) from Narula Institute of Technology under Maulana Abul Kalam Azad University of Technology (MAKAUT), formerly known as West Bengal University of Technology (WBUT), batch (2013-17) with excellence.
Completed ISC with 63.6% from G R S Saraswati Vidya Mandir, Bhagalpur under Central Board of Secondary Education (CBSE).
Completed ISC with 64.6% from SKP Vidya Vihar, Bhagalpur under Central Board of Secondary Education (CBSE).
Developing a web-based application to make banking process online which is developed in PHP language using MYSQL database system.
A resume does not define a true personality. To highlight my adventures and interests, developing a website to let the world know about my interests.
Let's have a talk ...
BTM 2nd Stage, Bengaluru
(+91)-<PHONE_NUMBER>
rahulkhandelwal429@gmail.com


Welcome to Stitchcounter! Stitchcounter can be used to keep track of
stitches for just about anything that has stitches (knitting,
crocheting, other yarncraft), and works offline on modern browsers!
Stitchcounter is lightweight and will remember your stitches even if
you close the page, so long as you do not clear your history, or
view it in an incognito window. While it may work on mobile,
stitchcounter was not intended for devices as small as phones -
there is probably a tool better suited to counting stitches in your
phone's app store.
- find this overview again
- click options > help
- add stitches
- click the big green plus
- press the up arrow on keyboard
- press the spacebar
- remove stitches
- click the big red minus
- press the down arrow on keyboard
- change increment
- this is the amount of stitches you add or remove at once
- click one of the numbers on the bottom
- press the right or left arrow keys
- add a new row
- click the yellow new row button, above the table
- remove the newest row
- click options > remove row
- make a new counter/tab
- click the dark purple button in the top right hand corner
-
the rows, increment, and number of stitches are isolated to their
counter
- switch counters/tabs
-
click the name of the counter from the top selection of tabs
- open multiple tabs at once
-
Make a new tab on your device, and go to stitchcounter.xyz again.
Arrange your windows so both instances of stitchcounter are
visible, then select a different counter on each window.
- remove a counter/tab
- select the tab, then options > delete tab
- hide/show all tabs
- click options > toggle tabs
- clear all data
- click options > reset everything


muni
- show san francisco muni routes and stop predictions
muni
help
[TASK]
muni
list
muni
predict
route direction stop
muni
show
-v
|--verbose
route [direction]
muni retrieves San Francisco MUNI routes information and bus stop prediction
times. muni
is mostly an exercise in implementing the core functions of the muni
NextBus API client.
List all available routes:
$ muni list
F F-Market & Wharves
J J-Church
KT KT-Ingleside/Third Street
L L-Taraval
M M-Ocean View
....
Show basic route information:
$ muni show 21
21 21-Hayes
21_IB1 Inbound to Steuart Terminal
21_OB4 Outbound to Fulton St & Shrader St
Show a route and all stops using -v
or --verbose
:
$ muni show 21 --verbose
21 21-Hayes
21_IB1 Inbound to Steuart Terminal
7499 Fulton St & Shrader St
...
21_OB4 Outbound to Fulton St & Shrader St
6497 Steuart St & Mission St
6501 Steuart St & Market St
5669 Market St & Drumm St
...
Show a route and all stops for a particular direction:
$ muni show 21 outbound --verbose
21 21-Hayes
21_OB4 Outbound to Fulton St & Shrader St
6497 Steuart St & Mission St
6501 Steuart St & Market St
5669 Market St & Drumm St
...
Get predictions for a bus, going a certain direction, at a given stop.
predict
can take the formal tag names for the direction and stop, or
it will perform it's best guess.
With formal direction and stop tags:
$ muni predict 21 21_OB4 5008
Route 21-Hayes going Outbound to Fulton St & Shrader St at Hayes St & Shrader St:
2831 2 minutes
8189 16 minutes
8359 30 minutes
2842 40 minutes
2823 about 1 hour
With a fuzzy stop name:
$ muni predict 21 21_OB4 hayes and shrader
Route 21-Hayes going Outbound to Fulton St & Shrader St at Hayes St & Shrader St:
2831 2 minutes
8189 16 minutes
8359 30 minutes
2842 40 minutes
2823 about 1 hour
With a fuzzy direction and stop name:
$ muni predict 21 inbound hayes and shrader
Route 21-Hayes going Inbound to Steuart Terminal at Hayes St & Shrader St:
8102 less than a minute
2832 2 minutes
2831 22 minutes
8189 32 minutes
2842 about 1 hour


| Travis CI | |
| Frameworks | |
| Platform | |
| Licence |
About
RxReduce is a Reactive implementation of the state container pattern (like Redux). It is based on the simple concepts of state immutability and unidirectionnal data flow.
Architecture concerns
Since a few years there has been a lot, I mean a LOT, of blog posts, tutorials, books, conferences about adapting alternate architecture patterns to mobile applications. The idea behind all those patterns is to provide a better way to:
- meet the SOLID requirements (Wikipedia)
- produce a safer code by design
- make our code more testable
The good old MVC tends to be replaced by MVP, MVVM or VIPER. I won’t go into details about these ones as they are well documented. I think MVVM is currently the most trending pattern, mostly because of its similarities with MVC and MVP and its ability to leverage data binding to ease the data flow. Moreover it is pretty easy to be enhanced by a Coordinator pattern and Reactive programming.
Go check this project if you’re interested in Reactive Coordinators (RxFlow) 👌
That said, there is at least one other architecture pattern that stands out a little bit: State Container.
One of the most famous exemple is Redux, but let’s not be restrained by a specific implementation.
Some resources about state containers:
The main goals of this pattern are to:
- expose a clear/reproductible data flow within your application
- rely on a single source of truth: the state
- leverage value types to handle the state immutability
- promote functional programming, as the only way to mutate a state is to apply a free function: the reducer
I find this approach very interesting compared to the more traditional ones, because it takes care of the consistency of your application state. MVC, MVP, MVVM or VIPER help you slice your application into well defined layers but they don’t guide you so much when it comes to handle the state of your app.
Reactive programming is a great companion to state container architectures because it can help to:
- propage the state mutations
- build asynchronous actions to mutate the state (for networking, persistence, …)
RxReduce
RxReduce:
- provides a generic store that can handle all kinds of states
- exposes state mutation through a Reactive mechanism
- provides a simple/unified way to mutate the state synchronously and asynchronously via Actions
Installation
Carthage
In your Cartfile:
github "RxSwiftCommunity/RxReduce"
CocoaPods
In your Podfile:
pod 'RxReduce'
The key principles
The core mechanisms of RxReduce are very straightforward (if you know Redux, you won’t be disturbed):
- the Store is the component that handles your state. It has only one input: the
**dispatch()**
function, that takes an Action as a parameter. - The only way to trigger a State mutation is to call this
**dispatch()**
function. - Actions are simple types with no business logic. They embed the payload needed to mutate the state
- Only free and testable functions called Reducers (RxReduce !) can mutate a State. A
**reduce()**
function takes a State, an Action and returns the new State … that simple. - You can have as many reducers as you want, they will be applied by the Store‘s
**dispatch()**
function sequentially. It could be nice to have a reducer per business concern for instance. - Reducers cannot perform asynchronous logic, they can only mutate the state in a synchronous and readable way. Asynchronous work will be taken care of by Reactive Actions.
- You can be notified of the state mutation thanks to a Driver<State> exposed by the Store.
How to use RxReduce
Code samples
How to declare a State
As the main idea of state containers is about immutability, avoiding reference type uncontrolled propagation and race conditions, a State must be a value type. Structs and Enums are great for that.
import RxReduce
struct DemoState: State, Equatable {
var counterState: CounterState
var usersState: [String]
}
enum CounterState: Equatable {
case empty
case increasing (counter: Int)
case decreasing (counter: Int)
case stopped
}
Making states Equatable is not mandatory but it will allow the Store not to emit new state values if there is no change between 2 actions. So I strongly recommand to conform to Equatable to minimize the number of view refreshes.
How to declare Actions
Actions are simple data types that embed a payload used in the reducers to mutate the state.
import RxReduce
struct IncreaseAction: Action {
let increment: Int
}
struct DecreaseAction: Action {
let decrement: Int
}
struct AddUserAction: Action {
let user: String
}
How to declare Reducers
As I said, a reducer is a free function. These kind of functions takes a value, returns an idempotent value, and performs no side effects. Their declaration is not even related to a type definition. This is super convenient for testing 👍
Here we define 2 reducers that will be applied in sequence each time an Action is dispatched in the Store.
import RxReduce
func counterReducer (state: DemoState?, action: Action) -> DemoState {
var currentState = state ?? DemoState(counterState: CounterState.empty, usersState: [])
var currentCounter = 0
// we extract the current counter value from the current state
switch currentState.counterState {
case .decreasing(let counter), .increasing(let counter):
currentCounter = counter
default:
currentCounter = 0
}
// according to the action we create a new state
switch action {
case let action as IncreaseAction:
currentState.counterState = .increasing(counter: currentCounter+action.increment)
return currentState
case let action as DecreaseAction:
currentState.counterState = .decreasing(counter: currentCounter-action.decrement)
return currentState
default:
return currentState
}
}
func usersReducer (state: DemoState?, action: Action) -> DemoState {
var currentState = state ?? DemoState(counterState: CounterState.empty, usersState: [])
// according to the action we create a new state
switch action {
case let action as AddUserAction:
currentState.usersState.append(action.user)
return currentState
default:
return currentState
}
}
Each of these Reducers will only handle the Actions it is responsible for, nothing less, nothing more.
How to declare a Store
RxReduce provides a concrete Store type. A Store needs at leat one Reducer:
let store = Store<DemoState>(withReducers: [counterReducer, usersReducer])
How to declare a Middleware
Middlewares are very similar to Reducers BUT they cannot mutate the state. They are some kind of passive observers
of what’s being dispatched in the store. Middlewares can be used for logging, analytics, state recording, …
import RxReduce
func loggingMiddleware (state: DemoState?, action: Action) {
guard let state = state else {
print ("A new Action \(action) will provide a first value for an empty state")
return
}
print ("A new Action \(action) will mutate current State : \(state)")
}
A Store initializer takes Reducers and if needed, an Array of Middlewares as well:
let store = Store<DemoState>(withReducers: [counterReducer, usersReducer], withMiddlewares: [loggingMiddleware])
Let’s put the pieces all together
RxReduce allows to listen to the whole state or to some of its properties (we may call them substates). Listening only to substates makes sense when the state begins to be huge and you do not want to be notified each time one of its portion has been modified.
First we pick the substate we want to observe (by passing a closure to the store.state() function):
let counterState: Driver<CounterState> = store.state { (demoState) -> CounterState in
return demoState.counterState
}
let usersState: Driver<[String]> = store.state { (demoState) -> [String] in
return demoState.usersState
}
The trailing closure gives you the whole state of the Store, and you just have to extract the substate you want to observe.
Then subscribe to the substate:
counterState.drive(onNext: { (counterState) in
print ("New counterState is \(counterState)")
}).disposed(by: self.disposeBag)
usersState.drive(onNext: { (usersState) in
print ("New usersState is \(usersState)")
}).disposed(by: self.disposeBag)
And now lets mutate the state:
store.dispatch(action: IncreaseAction(increment: 10))
store.dispatch(action: IncreaseAction(increment: 0))
store.dispatch(action: AddUserAction(user: "Spock"))
Please notice that the second action will not modify the state, and the Store will be smart about that and will not trigger a new value for the counterState. This happens only because DemoState conforms to Equatable.
The output will be:
New counterState is increasing(10) (for the first action)
New usersState is [] (for the first action)
New usersState is ["Spock"] (for the third action)
As we can see, counterState has received only one value 👌
But wait, there’s more …
List of actions
RxReduce is a lightweight framework. Pretty much everything is a protocol (except the Store, but if you want to implement you own Store it is perfectly fine since RxReduce provides a StoreType protocol you can conform to).
Lately, Swift 4.1 has introduced conditional conformance. If you are not familiar with this concept: A Glance at conditional conformance.
Basically it allows to make a generic type conform to a protocol only if the associated inner type also conforms to this protocol.
For instance, RxReduce leverages this feature to make an Array of Actions be an Action to ! Doing so, it is perfectly OK to dispatch a list of actions to the Store like that:
let actions: [Action] = [IncreaseAction(increment: 10), DecreaseAction(increment: 5)]
store.dispatch(action: actions)
The actions declared in the array will be executed sequentially 👌.
Asynchronicity
Making an Array of Actions be an Action itself is neat, but since we’re using Reactive Programming, RxReduxe also applies this technic to Observables. It provides a very elegant way to dispatch an Observable<Action> to the Store (because Observable<Action> is also an Action), making asynchronous actions very simple.
let increaseAction = Observable<Int>.interval(1, scheduler: MainScheduler.instance).map { _ in IncreaseAction(increment: 1) }
store.dispatch(action: increaseAction)
If we want to compare RxReduce with Redux, this ability to execute async actions would be equivalent to an Action Creator
.
For the record, we could even dispatch to the Store an Array of Observable<Action>, and it will be seen as an Action as well.
let increaseAction = Observable<Int>.interval(1, scheduler: MainScheduler.instance).map { _ in IncreaseAction(increment: 1) }
let decreaseAction = Observable<Int>.interval(1, scheduler: MainScheduler.instance).map { _ in DecreaseAction(decrement: 1) }
let asyncActions: [Action] = [increaseAction, decreaseAction]
store.dispatch(action: asyncActions)
Conditional Conformance is a very powerful feature.
Demo Application
A demo application is provided to illustrate the core mechanisms, such as asynchronicity, sub states and view state rendering.
Tools and dependencies
RxReduce relies on:
- SwiftLint for static code analysis (Github SwiftLint)
- RxSwift to expose State and Actions as Observables your app and the Store can react to (Github RxSwift)
- Reusable in the Demo App to ease the storyboard cutting into atomic ViewControllers (Github Reusable)


The Unix command fuser is used to show which processes are using a specified file, file system, or unix socket. For example, to check process IDs and users accessing a USB drive:
fuser shows process opening the file you specified
fuser -uv <filename>
To show processes accessing a particular path, use -m
fuser -uvm /home3
fuser is more useful in identifying process id opening a particular file.
The command can also be used to check what processes are using a network port:
fuser -v -n tcp 80
In the default display mode, each file name is followed by a letter denoting the type of access:
c current directory.
e executable being run.
f open file.
F open file for writing.
r root directory.
m mmap'ed file or shared library
OPTIONS
-k kills all process accessing a file. For example, fuser -k /path/to/your/filename kills all processes accessing this directory without confirmation. Use -i for confirmation
-i interactive mode. Prompt before killing process
-v verbose.
-u append username
-a display all files
-m name specifies a file on a mounted file system or a block device that is mounted. All processes accessing files on that file system are listed. If a directory file is specified, it is automatically changed to name/. to use any file system that might be mounted on that directory.
Also, note that -k sends a SIGKILL to all process. Use the -signal to send a different signal. For a list of signals supported by the fuser run 'fuser -l'


goGen - simple password generator on Golang. Created for education purposes but working for all!
Using the best security policy to generating a mega secure passwords
Use it on Windows/MacOS/Linux or build for your system
Easy to memory but still ultra-secure passwords
You need to install golang version > 1.11
$ git clone https://github.com/PiterPentester/goGen.git
$ cd goGen
$ go build -o goGen .
$ ./goGen -abr
returning randomised password with default length 16 symbols Abracadabra password: yq>$BY23T@lqJ!cS
$ ./goGen -mem
returning more readable password with default number of words - 3 Manta282Grievously438Stank830#
Get releaseWe are cybersecurity enthusiasts who like to developing new things and hacking old! We are not professionals so if you find bugs in our projects - feel free to contact us<EMAIL_ADDRESS>We work on different projects just for fun! If you want - join us! Maybe a few years ago we will be super skilled hackers, but now we just learning.


So you want to build a "web app" ...
Downsides of web apps: Performance, Functionality/Access to Hardware, Marketing: App/Play-Store
Me
@colinfrei
First a tiny bit about me: I work as a web developer at Liip, coding in PHP and JavaScript. I've been involved with the Mozilla Community for about a year, mostly because I'd heard about FirefoxOS, and I've been playing around with different parts of it ever since.
I'm definitely not an expert on everything I'm going to talk about, but I have spent too much time playing around and reading specs on a bunch of this stuff.
Topics
Web APIs
Web Activities
App Manifest
Marketplace
I want to give you a little insight into four different things: Web APIs, Web Activities, the App Manifest, and Marketplaces for distributing your app. Hopefully that covers everything you need to turn your existing javascript app or site into a full mobile app.
APIs
WebTelephony
Vibration API
WebSMS
Idle API
Screen Orientation
Power Management API
Mobile Connection API
TCP Socket API
Geolocation API
WiFi Information API
Device Storage API
Contacts API
Mouse Lock API
Open WebApps
WebBluetooth
Network Information API
Battery Status API
Alarm API
Browser API
Time/Clock API
Push Notifications API
Permissions API
WebFM API
FileHandle API
Network Stats API
WebPayment
Ambient light sensor
Proximity sensor
There's a whole bunch of APIs that have come up, this isn't a complete list either. Some are already very widespread, think Geolocation, others not at all. I've never seen WebBluetooth in the wild yet for example, but it sounds like fun. WebNFC is on the list of things to come.
All the apps on the FirefoxOS phones are written using these APIs, and so they let you do most things a phone can. You could theoretically write your own dialer using the WebTelephony app for example.
We'll look at a few fun ones to give you some ideas of how you can extend your existing app easily.
Ambient Light
window.ondevicelight = function (event) {
console.log("Ambient light: " + event.value + " lux");
};
W3C Specification
Ambient Light is a w3c working draft. It adds an event on the window object, which gets called with the lux value the ambient light sensor measured.
This is really straightforward, but allows cool things like allowing you to change the style and the contrast of your site/app based on the ambient light.
Battery Status
var battery = navigator.battery;
/*
battery.level: Battery level between 0 and 1
battery.charging: true/false
battery.chargingTime: Time left to fully charge, in seconds
battery.dischargingTime: Time until fully discharged, in seconds
*/
console.log("Battery level: " + battery.level * 100 + "%");
navigator.battery.addEventListener(
"levelchange",
function() {
// Update display with current battery level
}
);
W3C Specification
The Battery Status API is a W3C Editors Draft. It allows you to get information about the battery by using the navigator.battery object.
Vibration API
navigator.vibrate(1000);
navigator.vibrate([200, 100, 200]);
W3C Specification
This one used to be called WebVibrator , that was changed to Vibration API after all the bad jokes had been made too many times.
The Vibration API is simple as well, it allows you to call a function on the navigator object and either pass it a length it should vibrate (in milliseconds) or an array, where it'll switch between vibrating and not vibrating. So in the bottom example, it'd vibrate for 0.2 seconds, pause for 0.1 seconds and vibrate again for 0.2 seconds.
Push Notifications
// Setup Push Notifications
var reg = navigator.push.register();
reg.onsuccess = function(e) {
var endpointUrl = e.target.result;
// save endpointUrl to app server
}
navigator.mozSetMessageHandler('push', function(m) {
var version = m.version;
// do something based on version
});
//Unregister
navigator.push.unregister(endpointUrl);
SimplePush on MDN
Push notification require a bit more code, since you need a backend to it, but they're still fairly easy. You simplyregister a pushnotification, and the browser will return an endpointUrl, which is on a third-party server. You send that URL to your backend server, and whenever you want to send a push notification to the device, you can PUT to that endpointURL.
That will cause the notification to be pushed to the device, which will broadcast a message, and that message can cause other things to happen, like you notifying the user. We'll see how messages are dealt with in more detail later on.
(Local) Notifications
var notification = navigator.mozNotification;
notification.createNotification(
"Title",
"Notification Text",
iconUrl
);
Open WebApps
var appInstall = navigator.mozApps.install(manifestUrl);
appInstall.onsuccess = function(data) {
// App installed!
};
appInstall.onerror = function() {
console.log("Install failed: " + appInstall.error.name);
};
WebPayment
var payment = navigator.mozPay(JsonWebToken);
payment.onsuccess = function() {
// ...
// Profit!
 It's all specificed in a set of specifications under the name PaySwarm. I haven't played around with it much, but my understanding is that you wrap all the payment information into a so called Web Token, and the payment itself is simply a call to mozPay(), passing in that token and returning the result.
Web Activities
Next up: web activities.
Web activities are similiar to Web Intents , they allow you to build links between apps. There are two sides to that.
Two sides
Use another app's functionality
Offer functionality
One side is when you want to reuse a different apps functionality.
Examples might be sharing something, or taking a picture - you want to offer the functionality to the user of the app, but don't want to implement it all yourself, so you call a web activity.
Sharing might offer a selection of Twitter, Facebook or Google Plus, while take a picture will offer you the Camera or the Gallery.
The other side is if you want to offer functionality from your app, so that other apps can take advantage of it.
What you can do is register your app for existing activities, or you can create your own activities. When creating your own activity, it's considered best practice to prefix it with your URL/Domain, to avoid namespace collisions.
Sharing an Image
var share = new MozActivity({
name: "share",
data: {
type: "image/*",
number: 1,
blobs: [new Blob($('#imgToShare')[0], {type: "text/png"})]
}
});
share.onsuccess = function() {
// Do stuff
};
share.onerror = function () {
// handle error
};
Let's take a closer look at the first scenario first.
Basically all we have to do is instantiate a new object, and tell it what kind of activity we want to execute.
As soon as that object is instantiated the user will see the interface to choose what he wants to do.
Offering an Activity
"pick": {
"href": "./pick.html",
"disposition": "inline",
"filters": {
"type": ["image/*","image/jpeg","image/png"]
},
"returnValue": true
}
The alternative, if our app wants to offer functionality, needs two steps - we need to register the activity and handle it.
Registering the app happens in the app manifest, where we add Objects that configure it.
pick is the name of the activity in this case, and additionally we define the href, which is the page that should be opened when the activity is called. The disposition has two options, either inline or window
returnValue is a boolean, stating if the call will return a value or not.
Finally, filters specify what image types this activity should be offered for. This can be easy like in this example, but can also have things like ranges with a minimum and maximum, a pattern, and more.
Handling the Activity
navigator.mozSetMessageHandler('activity', function(request) {
var options = request.source;
if ("pick" === options.name) {
// Do something with the image
}
});
To handle the activity, what we need to do is
Things to note:
Activity pages have to abide to same origin policy as well
Support for dynamically registering activities is coming but not ready yet
Firefox OS Activities
browse
Browse a gallery to select a Photo
configure
Change phone settings
costcontrol/*
Cost control functionality
dial
Call someone
new
'add something': contact, email, sms
open
'open sthg': contact, gallery, music, video
pick
Retrieve data: contact, image, email
record
Take a picture or record video
save-bookmark
Save a bookmark to the home screen
There are a bunch of activities that FirefoxOS offers by default, which you can take advantage of or use as well.
Cost control allows you to get the available balance and data/voice usage
Firefox OS Activities (2)
share
Share via bluetooth/email, also used to set picture as wallpaper
view
Open sthg: browser, email, pdf, video
update
Update a contact
Firefox on Android also allows you to use some of the activities, and has a mapping to Android's intents.
A 'pick' activity maps to Android's GET_CONTENT Intent.
Open Web App manifest
So what makes it work, what makes the whole thing an app?
All it takes is a manifest, which is a json file containing some metadata about your app.
Basic Manifest
{
"name": "Cool App",
"description": "This app lets you do really awesome stuff"
}
This is a very basic manifest, and includes the two required fields, a name for your app, and a short text describing what your app does.
A bit more data
{
"name": "Cool App",
"description": "This app lets you do really awesome stuff",
"icons": {
"60": "/img/icon-60.png",
"128": "/img/icon-128.png"
},
"fullscreen": true,
"orientations": ["portrait","landscape-secondary"],
"chrome": { "navigation": true},
"developer": {
"name": "Colin Frei",
"url": "http://colinfrei.com"
}
}
Firefox OS App Icon Guidelines
Let's expand on that a bit:
There's some more not really interesting data in here, including data about you, as well as an icon.
You can add a bunch of different icons in different sizes if you want, and for Firefox OS apps there are some guidelines to what icons should look like.
If you want to submit your app to the marketplace you'll need a 128x128 icon
There's also a fullscreen flag, which is specific to FirefoxOS, and allows you to say if the app should be launched in fullscreen mode or not.
Firefox Marketplace requires the developer name to be included.
Adding Chrome
"chrome": { "navigation": true}
The 'chrome' attribute allows you to have a navigation bar appear automatically.
Don't use this. Whenever possible, build a back button into your app directly.
Locales
{
"name": "Cool App",
"description": "This app lets you do really awesome stuff",
"default_locale": "en",
"locales": {
"de": {
"description": "Beschreibung der App"
}
}
}
We can add translations for pretty much all this metadata.
We specify the default_locale property, saying all this stuff is English, and then have a locales object, with an object for each language, where we can overwrite the fields above.
This does not have anything to do with the app's language itself, only the metadata in this manifest file.
You can overwrite almost all the fields in it though, with very few exceptions.
Web Activities
{
"name": "Cool App",
"description": "This app lets you do really awesome stuff",
"activities": {
"pick": {
"href": "./pick.html",
"disposition": "inline",
"filters": {
"type": ["image/*","image/jpeg","image/png"]
},
"returnValue": true
}
}
}
We talked about web activities previously, the configuration for these would go into the manifest file in the activities object.
Messages
{
"name": "Cool App",
"description": "This app lets you do really awesome stuff",
"messages": [
{ "telephony-new-call": "/dialer/index.html#keyboard-view" },
{ "notification": "/dialer/index.html#keyboard-view" },
{ "alarm": "/facebook/fb_sync.html" }
]
}
I'm not the expert on this, but in general messages allow you to catch system events and react to them. The whole thing is a two step process - you register for the event here in the manifest and also have to register the actual callback function in the JavaScript code.
This can be useful combined with the Alarm API as a 'local notification' system.
Market Restrictions
{
"name": "Cool App",
"description": "This app lets you do really awesome stuff",
"installs_allowed_from": [
"https://marketplace.firefox.com",
"http://colinfrei.com"
]
}
Permissions
{
"name": "App Name",
"description": "A description of your app",
"type": "privileged",
"permissions": {
"desktop-notification": {
"description": "Required to notify about stuff"
}
}
}
There are two interesting things here, the type, and the permissions. They're linked, but lets look at them one at a time.
Types
Web
Privileged
Certified
Hosted
✔
✖
✖
Packaged
✔
✔
✔
Types are important - they basically decide what APIs an app has access to. There are three permission types for Firefox OS: web, privileged and certified.
Web apps have the leat permission, but can be distributed in the easiest way.
Privileged apps have access to some APIs that can be "misused", so the code of these apps is reviewed to make sure it doesn't do anything stupid. One example is the Contacts API, which allows you to read the content of your phonebook.
Certified apps have access to all the APIs, so these are extremely limited. This includes things like being allowed to register to handle phone calls. These apps are reviewed for security, and digitally signed. Most apps that are certified are probably preloaded apps.
In addition to permission types there's what I call app types. These differentiate between apps that are hosted on the web and use appcache and stuff to work offline, and apps that are packaged as a zip file and installed directly on the phone.
The important distinction here is between privileged as a permission type and packaged as an app type. I spent about half a day trying to figure out why I didn't have permission to use an API, because I thought packaged automatically meant privileged, which it doesn't.
Permissions
alarms
audio-channel-*
contacts
desktop-notification
geolocation
storage
systemXHR
Full List
Permissions
{
"name": "App Name",
"description": "A description of your app",
"type": "privileged",
"permissions": {
"contacts": {
"description": "Required to match users",
"access": "readonly"
}
}
}
So again, the format for permissions is really easy, just add the permission and a description of what it's used for and you're done. Very few permissions require an additional level, this can be set using the access property.
This can be readonly, readwrite, readcreate or createonly
Versions & Updating
{
"name": "App Name",
"description": "A description of your app",
"version": "2.0"
}
Updating an app happens differently depending on what kind of app we're dealing with. Web Apps can be updated like normal, using the AppCache updating mechanisms.
Packaged apps can be updated by rebuilding the package and updating the version number in the manifest file.
Bits & Pieces
Content Type: application/x-web-app-manifest+json
Same Origin
Absolute Paths
So now we've got our manifest put together! Anything else we need to know?
Well one thing is that manifests need to be served with a content-type of 'application/x-web-app-manifest+json', so that they're recognized and parsed. Github does this automatically for files with a .webapp ending, you can output the content type easily on your own server as well.
Then, the manifest file has to be hosted at the same origin as your app. Seems obvious too, but is probably worth mentioning. Also, paths to icons and so on should be absolute.
There are manifest validators available, and there's also a service with an API that allows you to validate manifests if you happen to need something like that.
Firefox Marketplace
First off, notice that it's called Firefox Marketplace and not Firefox OS Marketplace.
That's because it's not meant only for Firefox OS, you can submit normal web apps, which can be installed through Firefox (like the Chrome Web Store), but also on Firefox on Android, a first step towards mobile apps. And of course you can allow them to be installed on Firefox OS.
Submitting your app
Submitting an app to the Firefox Marketplace works two ways, depending on the type of app you're trying to submit. You'll need to log in with a Persona account and then you'll see a screen where you can select for what device(s) your app is. If you're submitting a hosted web app you can simply enter the URL to your manifest file, and if you want to submit a packaged app you can upload the zip file for it.
The site validates the manifest, and in the case of packaged apps does some security checks on the code as well (CSP). Once those pass you can go to the next step where you can enter details about your app, things like categories, a privacy policy, ...
Review criteria
So there are guidelines to what's allowed in the store and what isn't, and there's a team that reviews all the submissions. Reviews are meant to be fair, and be mostly about security checks and providing feedback to developers.
Reviews are not QA! Reviewers will install the app and click around a bit and make sure the app seems to work and isn't misleading.
Once your app passes the review it'll show up on the marketplace.
You can review apps too!
Reviewer Application
Requirements:
Basic HTML Knowledge
Friendly and helpful attitude
Fluent in English


Today's Bible verse
Click me to display Date and Time.
Layout tutorial
HOME
an manatee
LOCATIONS
CONTACT
Home
a
b
c
d
e


| < Day Day Up > |
|
[SYMBOL]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[W]
[X]
[Y]
[Z]
/var/log file /var/log/console.log file variables for login prompt shell vidcontrol command 2nd Vig, Avleen Vince, Michael 2nd virtual terminals dvt command (ClusterIt tool) logging into viruses Intrusion Detection Systems and scanning Windows computers for Vogel, Karl vol utility (Minix/QNX4) |
| < Day Day Up > |


MATILDA A film review by Michael John Legeros Copyright 1996 Michael John Legeros
(TriStar) Directed by Danny DeVito Written by Nicholas Kazan and Robin Swicord, based on the book by Roald Dahl Cast Mara Wilson, Danny DeVito, Rhea Perlman, Embeth Davidtz, Pam Ferris, Paul Reubens, Tracey Walter MPAA Rating "PG" Running Time 93 minutes Reviewed at Six Forks Station Cinemas, Raleigh, NC (5AUG96)
==
The second Roald Dahl adaptation of the year is a James of a giant disappointment, a strictly-for-kids revenge fantasy about an exceptional little girl (Myra Wilson, from MRS. DOUBTFIRE) and how she gets back at both her nincompoop parents (Danny DeVito and Rhea Perlman) and her school's horrible headmaster (Pam Ferris). Danny DeVito also produces, directs, and even narrates, heaven help us. (The effect of the latter is actually quite jarring. His voice is too recognizable and the resulting contrast-- between the neutral narration and his non-neutral character-- is so confusing that it nearly stops the film cold.) Behind the camera, though, Danny the Director (WAR OF THE ROSES, HOFFA) is as innovative as ever. He has enough cinematic slight-of-hand up his sleeve to rival Brian the DePalma.
Unfortunately, DeVito doesn't know to quit when he's ahead. The director's fatal mistake is that he never pulls back from either the cartoon cruelty or the overplayed buffoonery. The result is a movie that quickly grows tiresome and, like too many other summer entries, ends up a one-dimensional ride. Not that the intended audience will mind. Kids will laugh and scream and shout, while their parents pay attention to other problems, such as the starkly lit exteriors, the off-balance plotting, and one little girl with very little range. (Myra Wilson can express all of, what?, three emotions? Or is four?) There may be as much imagination at work, here, as in WILLY WONKA AND THE CHOCOLATE FACTORY. However, *this* Dahl needs to be handled with a softer touch.
Grade: C+
--
Mike Legeros - Raleigh, NC
<EMAIL_ADDRESS>(h) -<EMAIL_ADDRESS>(w)
Visit me in MOVIE HELL
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


|
SX126x-Arduino
2.0.1
|
Represents the possible radio system error states. More...
#include <sx126x.h>
Data Fields | |
| struct { | |
| uint8_t Rc64kCalib: 1 | |
| RC 64kHz oscillator calibration failed. More... | |
| uint8_t Rc13mCalib: 1 | |
| RC 13MHz oscillator calibration failed. More... | |
| uint8_t PllCalib: 1 | |
| PLL calibration failed. More... | |
| uint8_t AdcCalib: 1 | |
| ADC calibration failed. More... | |
| uint8_t ImgCalib: 1 | |
| Image calibration failed. More... | |
| uint8_t XoscStart: 1 | |
| XOSC oscillator failed to start. More... | |
| uint8_t PllLock: 1 | |
| PLL lock failed. More... | |
| uint8_t BuckStart: 1 | |
| Buck converter failed to start. More... | |
| uint8_t PaRamp: 1 | |
| PA ramp failed. More... | |
| uint8_t __pad0__: 7 | |
| Reserved. More... | |
| } | Fields |
| uint16_t | Value |
Represents the possible radio system error states.
| uint8_t RadioError_t::Rc64kCalib |
RC 64kHz oscillator calibration failed.
| uint8_t RadioError_t::Rc13mCalib |
RC 13MHz oscillator calibration failed.
| uint8_t RadioError_t::PllCalib |
PLL calibration failed.
| uint8_t RadioError_t::AdcCalib |
ADC calibration failed.
| uint8_t RadioError_t::ImgCalib |
Image calibration failed.
| uint8_t RadioError_t::XoscStart |
XOSC oscillator failed to start.
| uint8_t RadioError_t::PllLock |
PLL lock failed.
| uint8_t RadioError_t::BuckStart |
Buck converter failed to start.
| uint8_t RadioError_t::PaRamp |
PA ramp failed.
| uint8_t RadioError_t::__pad0__ |
Reserved.
| struct { ... } RadioError_t::Fields |
| uint16_t RadioError_t::Value |


---
layout: conference
sidemenu: conference
title: "Program"
permalink: "/conference/2018/program/"
tag: MEC2018
id: program
---
Program
Tuesday 22 May 2018
McKeldin Library, 6th floor
Wednesday 23 May 2018
The Clarice: Grand Pavilion
The Clarice: Gildenhorn Recital Hall
The Clarice: Grand Pavilion
Thursday 24 May 2018
The Clarice: Grand Pavilion
The Clarice: Gildenhorn Recital Hall
MilkBoy ArtHouse(7416 Baltimore Ave)
Friday 25 May 2018
MITH - Hornbake Library, lower ground floor
Seminar Room
Seminar Room


|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
| Interface Summary | |
|---|---|
| AnyMatrix | Interface defining very basic matrix operations. |
| BigMatrix | Deprecated. as of 2.0, replaced by FieldMatrix with a BigReal parameter |
| CholeskyDecomposition | An interface to classes that implement an algorithm to calculate the Cholesky decomposition of a real symmetric positive-definite matrix. |
| DecompositionSolver | Interface handling decomposition algorithms that can solve A × X = B. |
| EigenDecomposition | An interface to classes that implement an algorithm to calculate the eigen decomposition of a real matrix. |
| FieldDecompositionSolver<T extends FieldElement<T>> | Interface handling decomposition algorithms that can solve A × X = B. |
| FieldLUDecomposition<T extends FieldElement<T>> | An interface to classes that implement an algorithm to calculate the LU-decomposition of a real matrix. |
| FieldMatrix<T extends FieldElement<T>> | Interface defining field-valued matrix with basic algebraic operations. |
| FieldMatrixChangingVisitor<T extends FieldElement<?>> | Interface defining a visitor for matrix entries. |
| FieldMatrixPreservingVisitor<T extends FieldElement<?>> | Interface defining a visitor for matrix entries. |
| FieldVector<T extends FieldElement<T>> | Interface defining a field-valued vector with basic algebraic operations. |
| LUDecomposition | An interface to classes that implement an algorithm to calculate the LU-decomposition of a real matrix. |
| QRDecomposition | An interface to classes that implement an algorithm to calculate the QR-decomposition of a real matrix. |
| RealMatrix | Interface defining a real-valued matrix with basic algebraic operations. |
| RealMatrixChangingVisitor | Interface defining a visitor for matrix entries. |
| RealMatrixPreservingVisitor | Interface defining a visitor for matrix entries. |
| RealVector | Interface defining a real-valued vector with basic algebraic operations. |
| SingularValueDecomposition | An interface to classes that implement an algorithm to calculate the Singular Value Decomposition of a real matrix. |
| SparseRealMatrix | Marker interface for RealMatrix implementations that require sparse backing storage |
| SparseRealVector | Marker interface for RealVectors that require sparse backing storage |
| Class Summary | |
|---|---|
| AbstractFieldMatrix<T extends FieldElement<T>> | Basic implementation of FieldMatrix methods regardless of the underlying storage. |
| AbstractRealMatrix | Basic implementation of RealMatrix methods regardless of the underlying storage. |
| AbstractRealVector | This class provides default basic implementations for many methods in the
RealVector interface. |
| Array2DRowFieldMatrix<T extends FieldElement<T>> | Implementation of FieldMatrixFieldElement [][] array to store entries. |
| Array2DRowRealMatrix | Implementation of RealMatrix using a double[][] array to store entries and LU decomposition to support linear system solution and inverse. |
| ArrayFieldVector<T extends FieldElement<T>> | This class implements the FieldVector interface with a FieldElement array. |
| ArrayRealVector | This class implements the RealVector interface with a double array. |
| BigMatrixImpl | Deprecated. as of 2.0, replaced by Array2DRowFieldMatrix with a BigReal parameter |
| BlockFieldMatrix<T extends FieldElement<T>> | Cache-friendly implementation of FieldMatrix using a flat arrays to store square blocks of the matrix. |
| BlockRealMatrix | Cache-friendly implementation of RealMatrix using a flat arrays to store square blocks of the matrix. |
| CholeskyDecompositionImpl | Calculates the Cholesky decomposition of a matrix. |
| DefaultFieldMatrixChangingVisitor<T extends FieldElement<T>> | Default implementation of the FieldMatrixChangingVisitor interface. |
| DefaultFieldMatrixPreservingVisitor<T extends FieldElement<T>> | Default implementation of the FieldMatrixPreservingVisitor interface. |
| DefaultRealMatrixChangingVisitor | Default implementation of the RealMatrixChangingVisitor interface. |
| DefaultRealMatrixPreservingVisitor | Default implementation of the RealMatrixPreservingVisitor interface. |
| EigenDecompositionImpl | Calculates the eigen decomposition of a real symmetric matrix. |
| FieldLUDecompositionImpl<T extends FieldElement<T>> | Calculates the LUP-decomposition of a square matrix. |
| LUDecompositionImpl | Calculates the LUP-decomposition of a square matrix. |
| MatrixUtils | A collection of static methods that operate on or return matrices. |
| OpenMapRealMatrix | Sparse matrix implementation based on an open addressed map. |
| OpenMapRealVector | This class implements the RealVector interface with a OpenIntToDoubleHashMap backing store. |
| QRDecompositionImpl | Calculates the QR-decomposition of a matrix. |
| RealMatrixImpl | Deprecated. as of 2.0 replaced by Array2DRowRealMatrix |
| RealVector.Entry | Class representing a modifiable entry in the vector. |
| RealVectorFormat | Formats a vector in components list format "{v0; v1; ...; vk-1}". |
| SingularValueDecompositionImpl | Calculates the compact Singular Value Decomposition of a matrix. |
| SparseFieldMatrix<T extends FieldElement<T>> | Sparse matrix implementation based on an open addressed map. |
| SparseFieldVector<T extends FieldElement<T>> | This class implements the FieldVector interface with a OpenIntToFieldHashMap backing store. |
| Exception Summary | |
|---|---|
| InvalidMatrixException | Thrown when a system attempts an operation on a matrix, and that matrix does not satisfy the preconditions for the aforementioned operation. |
| MatrixIndexException | Thrown when an operation addresses a matrix coordinate (row, col) which is outside of the dimensions of a matrix. |
| MatrixVisitorException | Thrown when a visitor encounters an error while processing a matrix entry. |
| NonSquareMatrixException | Thrown when an operation defined only for square matrices is applied to non-square ones. |
| NotPositiveDefiniteMatrixException | This class represents exceptions thrown when a matrix expected to be positive definite is not. |
| NotSymmetricMatrixException | This class represents exceptions thrown when a matrix expected to be symmetric is not |
| SingularMatrixException | Thrown when a matrix is singular. |
Linear algebra support.
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


Spoilers: Mandy discovers that Lydia's mum is alive in Emmerdale
Lydia Hart (Karen Blick) is in for a huge shock as Mandy Dingle (Lisa Riley) has discovered that her supposedly dead mum Agatha is actually alive and well in Emmerdale. After persuading Lydia to reach out to her sister Beth, Mandy regretted her actions as Lydia just felt worse after Beth treated her with disdain.
As Beth was cold with Lydia and made it clear she had no interest in building a relationship, Mandy was fuming and stormed over to the house to confront her. But when Beth was alerted to the noise Mandy made, Mandy hid and heard Beth explain to her mum that it must have just been kids.
 As Lydia reels from this, she braces herself to meet her mum but there are more shocks on the way.
Advertisement Advertisement
Agatha pays a visit to Lydia and, as they come face to face, Lydia wants answers on why she was given up as a child. But as they talk, Agatha informs her that she is at high risk of Huntington’s Disease as it is a genetic condition in the family.
Lydia is worried and confides to her loved ones that she could be ill and Sam (James Hooton) urges her to go in and get tested. But what will Lydia do? When she had cancer fears, she had felt too anxious to face it for some time – can she cope with this hanging over her or will she bury her head in the sand?
And what about Agatha and Beth? Does Lydia have any hope of becoming part of their family and building any kind of a relationship with them?


Applications invited for auction of 26 iron ore blocks: Pralhad Joshi
Iron ore is a key raw material used in steelmaking
by Press Trust of IndiaMines Minister Pralhad Joshi on Monday said that applications have been invited for auction of 26 more iron ore mines.
"Notice Inviting Tenders for 26 more iron blocks have been issued," Joshi said in a reply to a question in the Rajya Sabha.
Since 2015, 24 iron ore blocks have been auctioned, the minister said.
Iron ore is a key raw material used in steel making.
As per available information, the consumption of iron ore was 166 million tonnes in 2016-17, 175 million tonnes in 2017-18 and 189 million tonnes during 2018-19, the minister said.
The government has notified Mines and Minerals (Development and Regulation) Amendment Act, 2015 to streamline grant of mining leases so as to maintain sufficient availability of iron ore for steel sector, the government had earlier said.


term_expansion/6
[hook]:- multifile user:term_expansion/6.
user:term_expansion(
+Term1,
+Layout1,
+Tokens1,
-Term2,
-Layout2,
-Tokens2)
Overrides or complements the standard transformations to be done by
expand_term/2
.
Term to transform.
Layout term of Term1.
Transformed term.
Layout term of Term2.
expand_term/2
calls this hook predicate first; if it succeeds, the
standard grammar rule expansion is not tried.
Tokens1 is a list of atoms, each atom uniquely identifying an
expansion. It is used to look up what expansions have already been
applied to the clause or goal. The tokens are defined by the user, and
should simply be added to the input list, before expansions
recursively are applied. This token list can for instance be used to
avoid cyclic expansions. The token dcg
is reserved and denotes
grammar rule expansion. Tokens2 should be unified with [Token|Tokens1].
Layout1 and Layout2 are for supporting source-linked
debugging in the context of clause expansion. The predicate should
construct a suitable Layout2 compatible with Term2 that
contains the line number information from Layout1. If source-linked
debugging of Term2 is not important, Layout2 should be []
.
A clause of this predicate should conform to the following template, where convert(Term1,Term2,Layout1,Layout2) should be a goal that performs the actual transformation. Token should be the atom uniquely identifying this particular transformation rule. Tokens2 should be unified with [Token|Tokens1].
user:term_expansion(Term1, Lay1, Tokens1, Term2, Lay2, [Token|Tokens1]) :- nonmember(Token, Tokens1), convert(Term1, Lay1, Term2, Lay2), !.
This hook predicate may return a list of terms rather than a single term. Each of the terms in the list is then treated as a separate clause.
This hook predicate may also be used to transform queries entered at
the terminal in response to the `| ?- ' prompt. In this case,
it will be called with Term1 = ?-(
Query)
and should
succeed with Term2 = ?-(
ExpandedQuery)
.
For accessing aspects of the load context, e.g. the name of the
file being compiled, the predicate
prolog_load_context/2
(see ref-lps-lco) can be used.
Exceptions are treated as failures, except an error message is printed also.


Skip to main content
DroneAid
Tello Demo
DroneAid model inferencing on video stream from a Tello drone
Prediction
Off
On
Min Confidence Level
Counter Prediction History
Tello not connected
Start stream
Loading
children
0
elderly
0
firstaid
0
food
0
ok
0
shelter
0
sos
0
water
0


Before Change
def init_weights(self):
super(HTCMaskHead, self).init_weights()
self.conv_res.init_weights()
def forward(self, x, res_feat=None, return_logits=True, return_feat=True):
if res_feat is not None:
res_feat = self.conv_res(res_feat)
After Change
def init_weights(self):
super(HTCMaskHead, self).init_weights()
if self.with_conv_res:
self.conv_res.init_weights()
def forward(self, x, res_feat=None, return_logits=True, return_feat=True):
if res_feat is not None:
assert self.with_conv_res
res_feat = self.conv_res(res_feat)


| < Day Day Up > |
What has changed between the first and second editions of this book? Depending on how you look at it, either not much or quite a bit.
A quick look at the table of contents shows that most of the first-edition chapters and sections appear in the second edition. We removed two chapters and a handful of sections, but we have added three new chapters and four new sections apart from these new chapters. If you were to judge the scope of the changes by the table of contents, you would likely conclude that the changes were modest.
The changes go far beyond what shows up in the table of contents, however. In no particular order, here is a summary of the most significant changes for the second edition:
Cliff Stein was added as a coauthor.
Errors have been corrected. How many errors? Let's just say several.
There are three new chapters:
Chapter 1 discusses the role of algorithms in computing.
Chapter 5 covers probabilistic analysis and randomized algorithms. As in the first edition, these topics appear throughout the book.
Chapter 29 is devoted to linear programming.
Within chapters that were carried over from the first edition, there are new sections on the following topics:
perfect hashing (Section 11.5),
two applications of dynamic programming (Sections 15.1 and 15.5), and
approximation algorithms that use randomization and linear programming (Section 35.4).
To allow more algorithms to appear earlier in the book, three of the chapters on mathematical background have been moved from Part I to the Appendix, which is Part VIII.
There are over 40 new problems and over 185 new exercises.
We have made explicit the use of loop invariants for proving correctness. Our first loop invariant appears in Chapter 2, and we use them a couple of dozen times throughout the book.
Many of the probabilistic analyses have been rewritten. In particular, we use in a dozen places the technique of "indicator random variables," which simplify probabilistic analyses, especially when random variables are dependent.
We have expanded and updated the chapter notes and bibliography. The bibliography has grown by over 50%, and we have mentioned many new algorithmic results that have appeared subsequent to the printing of the first edition.
We have also made the following changes:
The chapter on solving recurrences no longer contains the iteration method. Instead, in Section 4.2, we have "promoted" recursion trees to constitute a method in their own right. We have found that drawing out recursion trees is less error-prone than iterating recurrences. We do point out, however, that recursion trees are best used as a way to generate guesses that are then verified via the substitution method.
The partitioning method used for quicksort (Section 7.1) and the expected linear-time order-statistic algorithm (Section 9.2) is different. We now use the method developed by Lomuto, which, along with indicator random variables, allows for a somewhat simpler analysis. The method from the first edition, due to Hoare, appears as a problem in Chapter 7.
We have modified the discussion of universal hashing in Section 11.3.3 so that it integrates into the presentation of perfect hashing.
There is a much simpler analysis of the height of a randomly built binary search tree in Section 12.4.
The discussions on the elements of dynamic programming (Section 15.3) and the elements of greedy algorithms (Section 16.2) are significantly expanded. The exploration of the activity-selection problem, which starts off the greedy-algorithms chapter, helps to clarify the relationship between dynamic programming and greedy algorithms.
We have replaced the proof of the running time of the disjoint-set-union data structure in Section 21.4 with a proof that uses the potential method to derive a tight bound.
The proof of correctness of the algorithm for strongly connected components in Section 22.5 is simpler, clearer, and more direct.
Chapter 24, on single-source shortest paths, has been reorganized to move proofs of the essential properties to their own section. The new organization allows us to focus earlier on algorithms.
Section 34.5 contains an expanded overview of NP-completeness as well as new NP-completeness proofs for the hamiltonian-cycle and subset-sum problems.
Finally, virtually every section has been edited to correct, simplify, and clarify explanations and proofs.
| < Day Day Up > |


Guidelines for submitting metadata regarding biosamples and their associated cases to sequence repositories.
| Field | Description | Guidance | Examples | Data Status |
|---|---|---|---|---|
Database Identifiers |
||||
| need this field added | ['Not Applicable', 'Missing', 'Not Collected', 'Not Provided', 'Restricted Access'] | |||
Fields to put in sections |
||||
| Submitter | None | |||
| FASTA filename | None | |||
| Virus name | None | |||
| Type | None | |||
| Passage details/history | None | |||
| Collection date | None | |||
| Location | None | |||
| Additional location information | None | |||
| Host | None | |||
| Additional host information | None | |||
| Gender | None | |||
| Patient age | None | |||
| Patient status | None | |||
| Specimen source | None | |||
| Outbreak | None | |||
| Last vaccinated | None | |||
| Treatment | None | |||
| Sequencing technology | None | |||
| Assembly method | None | |||
| Coverage | None | |||
| Originating lab | None | |||
| Address | None | |||
| Sample ID given by the sample provider | None | |||
| Submitting lab | None | |||
| Address | None | |||
| Sample ID given by the submitting laboratory | None | |||
| Authors | None |