Auth package
The Auth package provides a standardized interface for authentication in Fuel. This allows our users to write their own drivers and easily integrate a new driver to work with old code by keeping the basic methods consistent.
Introduction
Creating an Auth package that will suit everyone or every implementation is impossible. As a framework we don't want to force how you do Auth, but we do want to facilitate you creating your own or using the work of others. This is where the Auth package comes in.
The interface contains 3 types of drivers (which can be extended to more types): login, group & ACL. The login drivers handle a user login and can handle multiple login drivers at the same time. For example one could make it possible for users to login through Twitter and their own native users at the same time using 2 login drivers.
As a next step you could group those 2 types of logins using a group driver that doesn't care about the type of login you're using. And last but not least you can use an Acl driver to give specific rights to those groups.
The above is just an example of how you might use it, not how you have to use it. Read on in the next section to understand which methods are part of the generic interface and which will be driver specific: Writing drivers.
Included drivers
The Auth packages comes with two sets of drivers which provide local access, using one or more database tables.
Simpleauth
As the same implies, this is a basic driver set. It uses a database table to store the user information, and a configuration file to store information about groups, roles, and ACLs. It stores user metadata in a serialized array in the user record. It doesn't have a lot of functionality, but for most applications it can do the job. It is documented here.
Ormauth
This driver set provides similar functionality as the Simpleauth drivers, but stores all information about users, groups, roles and permissions in the database and uses ORM models to access this information. In addition to this, it doesn't store user metadata in an array, but in a separate table, using ORM's EAV container feature to access it. It's API is almost compatible with Simpleauth, the difference is that methods that return user, group or role data now return ORM objects instead of arrays. It is documented here
The Auth package contains the required migration files to create the table structures needed for these drivers. It uses the Auth configuration file to determine what to create, so you need to configure that first.
Supporting classes
Besides full driver sets, the Auth package also contains supporting classes, classes that provide additional functionality to one or all of the drivers.
Opauth
Opauth is a multi-provider authentication framework for PHP, and is installed as a composer package. It provides generic authentication using the OAuth or OpenID protocols, and has a substantial list of ready-made strategies for authentication against popular OAuth platforms like Facebook, Twitter, Github, etc.
The Opauth driver included in the Auth package will interface between Opauth and (currently) either Simpleauth or Ormauth, so that you can link OAuth accounts to local accounts, use local ACL's for OAuth accounts, etc. It is documented here.
Installation
The Auth package is included in the Fuel download. All you need to do is enable it in your config.
'always_load' => array(
'packages' => array(
'auth',
),
),
Configuration
Auth can be configured in a config/auth.php file and takes the following keys:
| Param | Type | Default | Description |
|---|---|---|---|
| driver | string|array |
|
Login drivers to load, the first will also be the default returned by Auth::instance(). |
| verify_multiple_logins | bool |
|
Whether checking for login continues after one driver has validated a login successfully, this makes it possible to login in multiple ways at the same time. |
| salt | string |
|
The salt used for password hashing. |
| iterations | integer |
|
The number of iterations(number of "encryptions" made to the password) made in the password hashing process(Auth uses PBKDF2). More iterations means safer passwords but using more time. Too many iterations may crash your server! |
Note that 'verify_multiple_logins' is a driver level setting. It has no meaning for login drivers, it does not mean "allow a user to be logged-in multiple times"!


3 writes to _history
System.Management.Automation (3)
engine\hostifaces\LocalConnection.cs (3)
211
_history
= new History(this.ExecutionContext);
656
_history
= new History(_engine.Context);
1234
_history
= null;
1 reference to _history
System.Management.Automation (1)
engine\hostifaces\LocalConnection.cs (1)
295
return
_history
;


Featured Section Heading
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Laborum asperiores quos nam inventore assumenda, \ fuga iusto corrupti eveniet delectus, reprehenderit voluptatibus accusantium modi voluptatem, pariatur magni. Vel deserunt deleniti rerum. A week ago a friend invited a couple of other couples over for dinner. Eventually, the food (but not the wine) was cleared off the table for what turned out to be some fierce Scrabbling. Heeding the strategy of going for the shorter, more valuable word over the longer cheaper word, our final play was “Bon,” which–as luck would have it!–happens to be a Japanese Buddhist festival, and not, as I had originally asserted while laying the tiles on the board, one half of a chocolate-covered cherry treat. Anyway, the strategy worked. My team only lost by 53 points instead of 58. Just the day before, our host had written of the challenges of writing short. In journalism–my friend’s chosen trade, and mostly my own, too–Mark Twain’s observation undoubtedly applies: “I didn’t have time to write a short letter, so I wrote a long one instead.” The principle holds across genres, in letters, reporting, and other writing. It’s harder to be concise than to blather. (Full disclosure, this blog post will clock in at a blather-esque 803 words.) Good writing is boiled down, not baked full of air like a souffl??. No matter how yummy souffl??s may be. Which they are. Yummy like a Grisham novel. A paragraph should consist of six to seven sentences. No, it should be no longer than three sentences long. Actually, it should include a topic sentence, several supporting sentences, and possibly a concluding sentence. ... The correct answer is that a paragraph has to be long enough to reach its end.


Right click to save the image
X
Etch-a-Sketch
Random
Shade
Black
New Size
Clear
Draw on hover
Draw on drag
Remove borders


Site is in construction
Over 45,000 guilds
Over 2,500,000 users
3,000 members welcomed daily
Frequent bot updates
and much more in the future...


|
DESERT
3.0
|
#include <uwaloha.h>
Public Member Functions | |
| UWAlohaTimer (UWAloha *m) | |
| virtual | ~UWAlohaTimer () |
| virtual void | freeze () |
| virtual void | unFreeze () |
| virtual void | stop () |
| virtual void | schedule (double val) |
| bool | isIdle () |
| bool | isRunning () |
| bool | isExpired () |
| bool | isFrozen () |
| bool | isActive () |
| void | resetCounter () |
| void | incrCounter () |
| int | getCounter () |
| double | getDuration () |
Protected Attributes | |
| double | start_time |
| double | left_duration |
| int | counter |
| UWAloha * | module |
| UWALOHA_TIMER_STATUS | timer_status |
Base class of all the timer used in this protocol.
This is a derived class of TimerHandler.
|
inline |
Constructor of UWAlohaTimer Class.
|
inlinevirtual |
Destructor of UWAlohaTimer Class.
|
inlinevirtual |
It freezes or in another word, it stops the timer for some time.
Suppose, for some reason we want to stop a timer for some period and we want to run this timer from where it was stopped. This function stops the timer and save the left time duration it must run.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |


NOTE: The following procedures have been replaced by GNU automake and autoconfigure. This page is to be updated in the next release.
Porting to a new machine or operating system ordinarily requires
updating the ./machines
directory and the
./compilers
directories in order to define the build
environment and autoconfigure means. You will probably have to modify
the ntp_machines.h
file and "l_stdlib.h"
files
as well. The two most famous trouble spots are the I/O code in
./xntpd/ntp_io.c
and the clock adjustment code in
./xntpd/ntp_unixclock.c
.
These are the rules so that older bsd systems and the POSIX standard system can coexist together.
select
then include
"ntp_select.h"
. select
is not standard, since
it is very system dependent as to where it is defined. The logic to
include the right system dependent include file is in
"ntp_select.h"
.
"ntp_string.h"
instead of <string.h>
.
"ntp_malloc.h"
if you use
malloc
.
"ntp_io.h"
instead of
<sys/file.h>
or <fnctl.h>
to get
O_*
flags.
"ntp_if.h"
instead of
<net/if.h>
.
"ntp_stdlib.h"
instead of
<stdlib.h>
.
./include/ntp_machine.h
based on system identifier. This
file is included by the "ntp_types.h"
file and should
always be placed first after the <>
defines.
"l_stdlib.h"
file. This
file is included by the "ntp_stdlib.h"
file and should
ordinarily be placed last in the includes list.
"l_stdlib.h"
can contain any extra definitions that are
needed so that gcc
will shut up. They should be controlled
by a system identifier and there should be a separate section for each
system. Really this will make it easier to maintain.
See include/ntp_machines.h
for the various compile time
options.
When you are satisfied the port works and that other ports are not adversely affected, please send patches for the system files you have changed, as well as any documentation that should be updated, including the advice herein.
Good luck.


Code Time!
Now for
sample code
!
Show hide component
Show hide component with multiple paragraphs
Show hide component with better styles
Thanks!
Feel free to check out the code for this presentation on
GitHub
.


Home
Education
Add New Education
View Education
Skills
Add New Skill
View Skills
Work Exp.
Add New Work Exp.
View Work Exp.
Jobs
Add New Job
View Jobs
Search By Jobs
Search By User
Search
Search By User
Search By School
Search By Organization
Search By Employer
Search By Jobs
Edit Resume
View Resume
Notification
Sign In
Sign Up
LogOut
Robo Resume Application @ copyright 2017


◆ addEeFields()
| void OmOtaClass::addEeFields |
( |
OmEeprom & |
ee | ) |
|
Must be called before ee.begin, if you're using OmEeprome
◆ addUpdateControl()
| void OmOtaClass::addUpdateControl |
( |
OmWebPages & |
p | ) |
|
Add an update control to the current page in progress
◆ getIpAddress()
| const char * OmOtaClass::getIpAddress |
( |
| ) |
|
will return a printable IP Address String only after OSS_WIFI_CONNECT has happened
◆ loop()
| bool OmOtaClass::loop |
( |
| ) |
|
Call at the beginning of your loop() function. If it returns true, skip the rest of your loop (Any work needed to update displays during setup and upload and such must be handled in your statusProc)
◆ rebootToOta()
| void OmOtaClass::rebootToOta |
( |
| ) |
|
Call this to reboot, right now, into update mode. (The next boot after this won't be in ota mode.)
◆ setup()
| bool OmOtaClass::setup |
( |
const char * |
wifiSsid, |
|
|
const char * |
wifiPassword, |
|
|
const char * |
wifiBonjour = NULL , |
|
|
OtaStatusProc |
statusProc = NULL |
|
) |
| |
If returns true, skip the rest of your own setup. Uses the ee you passed, or hijacks the whole Eeprom if you didnt.
The documentation for this class was generated from the following files:


Also I'm unsure of this, but does token swapping actually mean token for token, or can you also do KMD for tokens?
oh I think I got it The tokenbid method posts a public bid order. To fill the order, the parent chain's coin must be used.
PHBA206103-Nov-19 07:18 PM
I haven't tried those ask/bid command yet
if you're on windows 10 may be you can try to run komodo under Windows Subsystem for Linux ?
Regnar03-Nov-19 07:22 PM
Yea maybe. I have a raspberry pi I've been meaning to convert to 64 bit to run Komodod on. Maybe it's time I finally do that
CrisF03-Nov-19 07:28 PM
@Regnar very cool!
git checkout dev for dev branch
1
The token marketplace is for token swapping only I believe.(edited)
Regnar03-Nov-19 07:33 PM
I'm a bit new to programming, still getting a grasp on git and working on actual projects instead of simple scripts. But I'll see if I can get the dev branch
CrisF03-Nov-19 07:35 PM
git checkout dev then build. git log -1 will show branch.
To get tokens back to coins I believe that Gateways is needed. The next logical Module to make a demo GUI for?
Regnar03-Nov-19 07:39 PM
Yea I think people are going to want to price in a single unit of account, of which KMD would be ideal
Obviously tokens to tokens is also important, just think KMD deserves to get some love too.
Yea gateways for KMD to KMDT, token DEX to swap KMDT, and withdraw as KMD
CrisF03-Nov-19 07:41 PM
Yes, we'll be able to tokenize kmd for the token market.
I thought @TonyL had a TUI/gui for Gateways already. Couldn't find it, but found his Channels GUI here https://github.com/tonymorony/ChannelsCC-GUI
Organize anything, together. Trello is a collaboration tool that organizes your projects into boards. In one glance, know what's being worked on, who's working on what, and where something is in a process.
Regnar03-Nov-19 08:35 PM
Wow Tony is killing it
CrisF03-Nov-19 08:36 PM
Yeah! Now he's so busy with AtomicDEX. Miss him, haha.
His Prices project is very interesting.
Hopefully we can get this frontend kind of thing sorted out and give him and the other Devs the chance to concentrate on the bigger picture.
Regnar03-Nov-19 08:42 PM
yea I'm almost exclusively python, so front end stuff for me is pretty basic but that's all a proof of concept is anyway
1
Regnar03-Nov-19 08:53 PM
I split up Tony's github to put each link in the proper section
When my initial commit gets accepted (terminology? lol) I'll make a pr for the new update
CrisF03-Nov-19 08:56 PM
Good stuff!
Regnar03-Nov-19 10:10 PM
- Assets
- Pokemon NFTs - [https://github.com/NOCTLJRNE/Komodo-Pokemon.git](https://github.com/NOCTLJRNE/Komodo-Pokemon.git)
- Assets CC TUI in Python - [https://github.com/tonymorony/komodo-cctools-python/blob/master/assets_cc_tui.py](https://github.com/tonymorony/komodo-cctools-python/blob/master/assets_cc_tui.py)
Hey all, if you have any proof of concepts, built something cool using Assets CC (Tokens) and want to put it here, please let me know. The goal is to build out a list of concepts using CCs to help show other developers what is possible
CrisF03-Nov-19 10:25 PM
Nice.
Regnar03-Nov-19 10:26 PM
Got a full list but I figured a lot of the people working on a single CC are checking the CC general channel
CrisF03-Nov-19 10:26 PM
PHMA's weren't NFTs I think.
Regnar03-Nov-19 10:26 PM
ah, yea you're right. I'll fix that on the next commit, hopefully I can add a bunch more at the same time
1
CrisF04-Nov-19 01:40 AM
Hi @johnwhitestar
We have started to put together some reference GUIs for Antara Modules. Very early stages.
PHBA2061 has made a Pokemon token and Regnar has added a lot of info to the resources document that is waiting on the PR to be accepted.
There also now a Trello board for Tokens/Assets here: https://trello.com/b/tpEsu2j1/module-assets
Please add to it if you can.
Organize anything, together. Trello is a collaboration tool that organizes your projects into boards. In one glance, know what's being worked on, who's working on what, and where something is in a process.
Would like to get working on Gateways after Assets. Any input would be appreciated!
Regnar04-Nov-19 02:08 AM
started messing with some HTML to make it prettier. Kinda procrastinating on getting the tokenorders working with the dev branch(edited)
CrisF04-Nov-19 02:30 AM
That looks good :)
What is the first thing you need to do with the tokenorders?(edited)
Regnar04-Nov-19 02:33 AM
Honestly I can probably write what I need just from the docs, seeing the response from tokenorders. But I won't be able to test that it displays right in html
you'll learn a lot out of this curiosity and hit and try
the next project you will do after leaning this will be much greater
I'm just happy that someone feels the need of GUI and actually trying to fill that space with whatever they got.
we can't have enough GUI devs
the more the better
and CC showcase in GUI is much needed
I'm just busy with current project for probably next 2-3 weeks.
then I'll start my contribution on CC GUIs in Node.js + jQuery based work.
Regnar06-Nov-19 03:16 AM
I don't mind GUI in python, which I've gotten pretty used to since I know a bit of it. the HTML stuff is a bit different but is important especially for localhost run browser apps
grewalsatinder06-Nov-19 03:16 AM
I'll suggest you to start taking bits and peaces from bootstrap website and make the HTML layout
Organize anything, together. Trello is a collaboration tool that organizes your projects into boards. In one glance, know what's being worked on, who's working on what, and where something is in a process.
Documentation for developers building on the Komodo Platform
3
NFT cross chain was a goal of @dimxy ?? Re @CrisF trello board. The notarization tx look up seemed to be working. Was going to be tested in labs, but I’m no longer doing it for public demo project.
CrisF06-Nov-19 10:08 AM
Thank @Mylo, great stuff.
The token migration worked for me. I'm hoping someone will try it with a token containing data (image) and confirm the results. Good exp too (edited)
Mylo06-Nov-19 10:09 AM
Ah that’s great to hear. Be handy in an nSPV multi chain app
1
dimxy06-Nov-19 10:20 AM
Yes token migration should work, if any problems plz let me know
CrisF06-Nov-19 10:25 AM
It worked for me, thanks @dimxy.
CrisF06-Nov-19 10:33 AM
I added that to the Resources card in the Trello, @Mylo .
kitblake06-Nov-19 01:01 PM
Hi all! Thanks for the invite @CrisF
CrisF06-Nov-19 01:03 PM
Hey Kit! Welcome
kitblake06-Nov-19 01:04 PM
Woah, lotta channels here. Sorry for the off-topic-ness
CrisF06-Nov-19 01:05 PM
It can get busy at times, haha.
@PHBA2061 made some Pokemon Tokens that might give an idea of what can be done so far. https://discordapp.com/channels/412898016371015680/524538792644837376
above that you'll find Q&A about using IPFS with tokens.
Please ask here if you have any more questions. There are may who can answer better than I, including the Devs who may be able to modify things if you need (not sure on that )
CrisF06-Nov-19 08:07 PM
4
1
Regnar07-Nov-19 02:09 AM
That token Docker walk through was basically how I built my apps lol
I have a TokensCC github bot I will put up on Github and on AwesomeKMD when it's done. Got quite a few bugs to work out though
TonyL07-Nov-19 06:41 AM
Revamping CC tests to add into CI process, found a little inconsistency for asks/bids cancellation (latest FSM).
The case is:
Creating bid and ask from node A. Then cancelling it from node B (which don't have "permission" to cancel it obv).
In case with tokenbidcancel generating transaction which rejecting on the broadcast, in case of tokenaskcancel I'm getting error right on tx generation stage. Example can be found below:
https://paste.ubuntu.com/p/XQ6FD7VqMn/@dimxy can we generate error on tx generation stage in both cases?
dimxy07-Nov-19 07:16 AM
@TonyL Are you suggesting that in your test case tokencancelbid should generate an error (before the tx is sent), like tokencancelask?


We've encountered an error in this request, for which we apologize. It's been logged on the server and, if you're really lucky, someone will notice it and fix the problem for you.


First thing to consider when entering the wilderness is how to avoid getting lost. Bring trail maps and a compass and keep a mental note of landmarks. Dont venture of trails any more than needed as it damages your natural surroundings and losing site of the trail could be something you soon regret.
You have journeyed off the trail in an unfamiliar territory. When going back to where you thought you left off the trail is not there. You begin to doubt your memory of events and you mental landmarks no longer make sense. The trees and rocks begin to look the same and further attempts to get back to a familiar area just leave you feeling more hopeless and confused. Whats next?
Although basic these simple steps can make the differnece between life and death.


14 Dehydration Recovery
The hydrate
data describe the degree of recovery that takes place 90 minutes following treatment of moderate to severe dehydration, for 36 children diagnosed at a hospital’s main pediatric clinic.
Upon diagnosis and study entry, patients were treated with an electrolytic solution at one of seven dose
levels (0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0 mEq/l) in a frozen, flavored, ice popsicle. The degree of rehydration was determined using a subjective scale based on physical examination and parental input, converted to a 0 to 100 point scale, representing the percent of recovery (recov.score
). Each child’s age
(in years) and weight
(in pounds) are also available.
First, we’ll check ranges (and for missing data) in the hydrate
file.
hydrate <- read_csv("data/hydrate.csv")
summary(hydrate)
id recov.score dose
Min. : 1.00 Min. : 44.00 Min. :0.000
1st Qu.: 9.75 1st Qu.: 61.50 1st Qu.:1.000
Median :18.50 Median : 71.50 Median :1.500
Mean :18.50 Mean : 71.56 Mean :1.569
3rd Qu.:27.25 3rd Qu.: 80.00 3rd Qu.:2.500
Max. :36.00 Max. :100.00 Max. :3.000
age weight
Min. : 3.000 Min. :22.00
1st Qu.: 5.000 1st Qu.:34.50
Median : 6.500 Median :47.50
Mean : 6.667 Mean :46.89
3rd Qu.: 8.000 3rd Qu.:57.25
Max. :11.000 Max. :76.00
There are no missing values, and all of the ranges make sense. There are no especially egregious problems to report.
14.1 A Scatterplot Matrix
Next, we’ll use a scatterplot matrix to summarize relationships between the outcome recov.score
and the key predictor dose
as well as the ancillary predictors age
and weight
, which are of less interest, but are expected to be related to our outcome. The one below uses the ggpairs
function in the GGally
package, as introduced in Part A of the Notes. We place the outcome in the bottom row, and the key predictor immediately above it, with age
and weight
in the top rows, using the select
function within the `ggpairs
call.
GGally::ggpairs(dplyr::select(hydrate, age, weight, dose, recov.score),
title = "Scatterplot Matrix for hydrate data")
Registered S3 method overwritten by 'GGally':
method from
+.gg ggplot2
What can we conclude here?
- It looks like
recov.score
has a moderately strong negative relationship with bothage
andweight
(with correlations in each case around -0.5), but a positive relationship withdose
(correlation = 0.36). - The distribution of
recov.score
looks to be pretty close to Normal. No potential predictors (age
,weight
anddose
) show substantial non-Normality. -
age
andweight
, as we’d expect, show a very strong and positive linear relationship, with r = 0.94 - Neither
age
norweight
shows a meaningful relationship withdose
. (r = 0.16)
14.2 Are the recovery scores well described by a Normal model?
Next, we’ll do a more thorough graphical summary of our outcome, recovery score.
p1 <- ggplot(hydrate, aes(sample = recov.score)) +
geom_qq(col = '#440154') + geom_qq_line(col = "red") +
theme(aspect.ratio = 1) +
labs(title = "Normal Q-Q plot: hydrate")
p2 <- ggplot(hydrate, aes(x = recov.score)) +
geom_histogram(aes(y = stat(density)),
bins = 10, fill = '#440154', col = '#FDE725') +
stat_function(fun = dnorm,
args = list(mean = mean(hydrate$recov.score),
sd = sd(hydrate$recov.score)),
col = "red", lwd = 1.5) +
labs(title = "Density Function: hydrate")
p3 <- ggplot(hydrate, aes(x = recov.score, y = "")) +
geom_boxplot(fill = '#440154', outlier.color = '#440154') +
labs(title = "Boxplot: hydrate", y = "")
p1 + (p2 / p3 + plot_layout(heights = c(4,1)))
| min | Q1 | median | Q3 | max | mean | sd | n | missing | |
|---|---|---|---|---|---|---|---|---|---|
| 44 | 61.5 | 71.5 | 80 | 100 | 71.6 | 12.9 | 36 | 0 |
I see no serious problems with assuming Normality for these recovery scores. Our outcome variable doesn’t in any way need to follow a Normal distribution, but it’s nice when it does, because summaries involving means and standard deviations make sense.
14.3 Simple Regression: Using Dose to predict Recovery
To start, consider a simple (one predictor) regression model using dose
alone to predict the % Recovery (recov.score
). Ignoring the age
and weight
covariates, what can we conclude about this relationship?
14.4 The Scatterplot, with fitted Linear Model
ggplot(hydrate, aes(x = dose, y = recov.score)) +
geom_point(size = 2) +
geom_smooth(method = "lm", formula = y ~ x, col = "red") +
labs(title = "Simple Regression model for the hydrate data",
x = "Dose (mEq/l)", y = "Recovery Score (points)")
14.5 The Fitted Linear Model
To obtain the fitted linear regression model, we use the lm
function:
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | 63.90 | 3.97 | 16.09 | 0.00 |
| dose | 4.88 | 2.17 | 2.25 | 0.03 |
So, our fitted regression model (prediction model) is recov.score
= 63.9 + 4.88 dose
.
14.5.1 Confidence Intervals
We can obtain confidence intervals around the coefficients of our fitted model with tidy
, too.
| term | estimate | std.error | statistic | p.value | conf.low | conf.high |
|---|---|---|---|---|---|---|
| (Intercept) | 63.90 | 3.97 | 16.09 | 0.00 | 57.18 | 70.61 |
| dose | 4.88 | 2.17 | 2.25 | 0.03 | 1.21 | 8.55 |
So, our 90% confidence interval for the slope of dose
ranges from 1.21 to 8.55.
14.6 Coefficient Plots
The tidy
method makes it easy to construct coefficient plots using ggplot2
.
td <- tidy(m1, conf.int = TRUE, conf.level = 0.90)
ggplot(td, aes(x = estimate, y = term, col = term)) +
geom_point() +
geom_crossbarh(aes(xmin = conf.low, xmax = conf.high)) +
geom_vline(xintercept = 0) +
guides(col = "none") +
labs(title = "Estimates with 90% confidence intervals from m1 in hydrate")
Another option would be to use geom_errorbarh
in this setting, perhaps with a different color scheme…
td <- tidy(m1, conf.int = TRUE, conf.level = 0.90)
ggplot(td, aes(x = estimate, y = term, col = term)) +
geom_point() +
geom_errorbarh(aes(xmin = conf.low, xmax = conf.high)) +
geom_vline(xintercept = 0) +
scale_color_viridis_d(end = 0.5) +
guides(col = "none") +
labs(title = "Estimates with 90% confidence intervals from m1 in hydrate")
14.7 The Summary Output
To get a more complete understanding of the fitted model, we’ll summarize it.
Call:
lm(formula = recov.score ~ dose, data = hydrate)
Residuals:
Min 1Q Median 3Q Max
-22.3360 -7.2763 0.0632 8.4233 23.9028
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 63.896 3.970 16.093 <2e-16 ***
dose 4.881 2.172 2.247 0.0313 *
---
Signif. codes:
0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 12.21 on 34 degrees of freedom
Multiple R-squared: 0.1293, Adjusted R-squared: 0.1037
F-statistic: 5.047 on 1 and 34 DF, p-value: 0.03127
14.7.1 Model Specification
- The first part of the output specifies the model that has been fit.
- Here, we have a simple regression model that predicts
recov.score
on the basis ofdose
. - Notice that we’re treating
dose
here as a quantitative variable. If we wanteddose
to be treated as a factor, we’d have specified that in the model.
- Here, we have a simple regression model that predicts
14.7.2 Residual Summary
- The second part of the output summarizes the regression residuals across the subjects involved in fitting the model.
- The residual is defined as the Actual value of our outcome minus the predicted value of that outcome fitted by the model.
- In our case, the residual for a given child is their actual
recov.score
minus the predictedrecov.score
according to our model, for that child. - The residual summary gives us a sense of how “incorrect” our predictions are for the
hydrate
observations.- A positive residual means that the observed value was higher than the predicted value from the linear regression model, so the prediction was too low.
- A negative residual means that the observed value was lower than the predicted value from the linear regression model, so the prediction was too high.
- The residuals will center near 0 (the ordinary least squares model fitting process is designed so the mean of the residuals will always be zero)
- We hope to see the median of the residuals also be near zero, generally. In this case, the median prediction is 0.06 point too low.
- The minimum and maximum show us the largest prediction errors, made in the subjects used to fit this model.
- Here, we predicted a recovery score that was 22.3 points too high for one patient, and another of our predicted recovery scores was 23.9 points too low.
- The middle half of our predictions were between 8.4 points too low and 7.3 points too high.
14.7.3 Coefficients Output
- The Coefficients output begins with a table of the estimated coefficients from the regression equation.
- Generally, we write a simple regression model as \(y = \beta_0 + \beta_1 x\).
- In the
hydrate
model, we haverecov.score
= \(\beta_0\) + \(\beta_1\)dose
. - The first column of the table gives the estimated \(\beta\) coefficients for our model
- Here the estimated intercept \(\hat{\beta_0} = 63.9\)
- The estimated slope of dose \(\hat{\beta_1} = 4.88\)
- Thus, our model is
recov.score
= 63.9 + 4.88dose
We interpret these coefficients as follows:
- The intercept (63.9) is the predicted
recov.score
for a patient receiving adose
of 0 mEq/l of the electrolytic solution. - The slope (4.88) of the
dose
is the predicted change inrecov.score
associated with a 1 mEq/l increase in the dose of electrolytic solution.- Essentially, if we have two children like the ones studied here, and we give Roger a popsicle with dose X and Sarah a popsicle with dose X + 1, then this model predicts that Sarah will have a recovery score that is 4.88 points higher than will Roger.
- From the confidence interval output we saw previously with the function
confint(lm(recov.score ~ dose))
, we are 95% confident that the true slope fordose
is between (0.47, 9.30) mEq/l. We are also 95% confident that the true intercept is between (55.8, 72.0).
14.7.4 Correlation and Slope
If we like, we can use the cor
function to specify the Pearson correlation of recov.score
and dose
, which turns out to be 0.36.
- Note that the slope in a simple regression model will follow the sign of the Pearson correlation coefficient, in this case, both will be positive.
hydrate %$% cor(recov.score, dose)
[1] 0.359528
14.7.5 Coefficient Testing
Call:
lm(formula = recov.score ~ dose, data = hydrate)
Residuals:
Min 1Q Median 3Q Max
-22.3360 -7.2763 0.0632 8.4233 23.9028
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 63.896 3.970 16.093 <2e-16 ***
dose 4.881 2.172 2.247 0.0313 *
---
Signif. codes:
0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 12.21 on 34 degrees of freedom
Multiple R-squared: 0.1293, Adjusted R-squared: 0.1037
F-statistic: 5.047 on 1 and 34 DF, p-value: 0.03127
Next to each coefficient in the summary regression table is its estimated standard error, followed by the coefficient’s t value (the coefficient value divided by the standard error), and the associated two-tailed p value for the test of:
- H0: This coefficient’s \(\beta\) value = 0 vs.
- HA: This coefficient’s \(\beta\) value \(\neq\) 0.
For the slope coefficient, we can interpret this choice as:
- H0: This predictor adds no predictive value to the model vs.
- HA: This predictor adds some predictive value to the model.
In the hydrate
simple regression model, by running either tidy
with or just the confint
function shown below, we can establish a confidence interval for each of the estimated regression coefficients.
| term | estimate | std.error | statistic | p.value | conf.low | conf.high |
|---|---|---|---|---|---|---|
| (Intercept) | 63.90 | 3.97 | 16.09 | 0.00 | 55.83 | 71.96 |
| dose | 4.88 | 2.17 | 2.25 | 0.03 | 0.47 | 9.30 |
confint(m1, level = .95)
2.5 % 97.5 %
(Intercept) 55.826922 71.964589
dose 0.465695 9.295466
If the slope of dose was in fact zero, then this would mean that knowing the dose information would be of no additional value in predicting the outcome over just guessing the mean of recov.score
for every subject.
So, since the confidence interval for the slope of dose does not include zero, it appears that there is at least some evidence that the model m1
is more effective than a model that ignores the dose
information (and simply predicts the mean of recov.score
for each subject.) That’s not saying much, actually.
14.7.6 Summarizing the Quality of Fit
- The next part of the regression summary output is a summary of fit quality.
The residual standard error estimates the standard deviation of the prediction errors made by the model.
- If assumptions hold, the model will produce residuals that follow a Normal distribution with mean 0 and standard deviation equal to this residual standard error.
- So we’d expect roughly 95% of our residuals to fall between -2(12.21) and +2(12.21), or roughly -24.4 to +24.4 and that we’d see virtually no residuals outside the range of -3(12.21) to +3(12.21), or roughly -36.6 to +36.6.
- The output at the top of the summary tells us about the observed regression residuals, and that they actually range from -22 to +24.
- In context, it’s hard to know whether or not we should be happy about this. On a scale from 0 to 100, rarely missing by more than 24 seems OK to me, but not terrific.
- The degrees of freedom here are the same as the denominator degrees of freedom in the ANOVA to follow. The calculation is \(n - k\), where \(n\) = the number of observations and \(k\) is the number of coefficients estimated by the regression (including the intercept and any slopes).
- Here, there are 36 observations in the model, and we fit k = 2 coefficients; the slope and the intercept, as in any simple regression model, so df = 36 - 2 = 34.
The multiple R-squared value is usually just referred to as R-squared.
- This is interpreted as the proportion of variation in the outcome variable that has been accounted for by our regression model.
- Here, we’ve accounted for just under 13% of the variation in % Recovery using Dose.
- The R in multiple R-squared is the Pearson correlation of
recov.score
anddose
, which in this case is 0.3595.- Squaring this value gives the R-squared for this simple regression.
- (0.3595)^2 = 0.129
R-squared is greedy.
- R-squared will always suggest that we make our models as big as possible, often including variables of dubious predictive value.
- As a result, there are various methods for adjusting or penalizing R-squared so that we wind up with smaller models.
- The adjusted R-squared is often a useful way to compare multiple models for the same response.
- \(R^2_{adj} = 1 - \frac{(1-R^2)(n - 1)}{n - k}\), where \(n\) = the number of observations and \(k\) is the number of coefficients estimated by the regression (including the intercept and any slopes).
- So, in this case, \(R^2_{adj} = 1 - \frac{(1 - 0.1293)(35)}{34} = 0.1037\)
- The adjusted R-squared value is not, technically, a proportion of anything, but it is comparable across models for the same outcome.
- The adjusted R-squared will always be less than the (unadjusted) R-squared.
14.7.7 ANOVA F test
- The last part of the standard summary of a regression model is the overall ANOVA F test.
The hypotheses for this test are:
- H0: Each of the coefficients in the model (other than the intercept) has \(\beta\) = 0 vs.
- HA: At least one regression slope has \(\beta \neq\) 0
Since we are doing a simple regression with just one predictor, the ANOVA F test hypotheses are exactly the same as the t test for dose:
- H0: The slope for
dose
has \(\beta\) = 0 vs. - HA: The slope for
dose
has \(\beta \neq\) 0
In this case, we have an F statistic of 5.05 on 1 and 34 degrees of freedom, yielding p = 0.03
This provides some evidence that “something” in our model (here, dose
is the only predictor) predicts the outcome to a degree beyond that easily attributed to chance alone. This is not actually surprising, nor is it especially interesting. The confidence interval for the slope is definitely more interesting than this.
- In simple regression (regression with only one predictor), the t test for the slope (
dose
) always provides the same p value as the ANOVA F test.- The F test statistic in a simple regression is always by definition just the square of the slope’s t test statistic.
- Here, F = 5.047, and this is the square of t = 2.247 from the Coefficients output
This test is basically just a combination of the R-squared value (13%) and the sample size. We don’t learn much from it that’s practically interesting or useful.
14.8 Viewing the complete ANOVA table
We can obtain the complete ANOVA table associated with this particular model, and the details behind this F test using the anova
function:
Analysis of Variance Table
Response: recov.score
Df Sum Sq Mean Sq F value Pr(>F)
dose 1 752.2 752.15 5.0473 0.03127 *
Residuals 34 5066.7 149.02
---
Signif. codes:
0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
- The R-squared for our regression model is equal to the \(\eta^2\) for this ANOVA model.
- If we divide SS(dose) = 752.2 by the total sum of squares (752.2 + 5066.7), we’ll get the multiple R-squared [0.1293]
- Note that this is not the same ANOVA model we would get if we treated
dose
as a factor with seven levels, rather than as a quantitative variable.
14.9 Using glance
to summarize the model’s fit
When applied to a linear model, the glance
function from the broom
package summarizes 12 characteristics of the model’s fit.
Let’s look at the eight of these that we’ve already addressed.
glance(m1) %>% select(r.squared:df, df.residual, nobs) %>%
kable(digits = c(3, 3, 1, 2, 3, 0, 0, 0))
| r.squared | adj.r.squared | sigma | statistic | p.value | df | df.residual | nobs |
|---|---|---|---|---|---|---|---|
| 0.129 | 0.104 | 12.2 | 5.05 | 0.031 | 1 | 34 | 36 |
- We’ve discussed the R-square value, shown in
r.squared
. - We’ve also discussed the adjusted R-square value, in
adj.r.squared
-
sigma
is the residual standard error. -
statistic
is the ANOVA F statistic. -
p.value
is the p value associated with the ANOVA F statistic. -
df
is the numerator degrees of freedom (here, thedf
associated withdose
) for the ANOVA test associated with this model. -
df.residual
is the denominator degrees of freedom (here thedf
associated withresidual
) for that same ANOVA test. - Remember that the F-statistic at the bottom of the summary output provides these last four statistics, as well.
-
nobs
is the number of observations (rows) used to fit the model.
Now, let’s look at the remaining four summaries:
| logLik | AIC | BIC | deviance |
|---|---|---|---|
| -140.1 | 286.3 | 291 | 5066.7 |
-
logLik
is the log-likelihood value for the model, and is most commonly used for a model (like the ordinary least squares model fit bylm
that is fit using the method of maximum likelihood). Thus, the log-likelihood value will be maximized in this fit. -
AIC
is the Akaike Information Criterion for the model. When comparing models fitted by maximum likelihood to the same outcome variable (using the same transformation, for example), the smaller the AIC, the better the fit. -
BIC
is the Bayes Information Criterion for the model. When comparing models fitted by maximum likelihood to the same outcome variable (using the same transformation, for example), the smaller the BIC, the better the fit. BIC often prefers models with fewer coefficients to estimate than does AIC.-
AIC
andBIC
can be estimated using several different approaches in R, but we’ll need to use the same one across multiple models if we’re comparing the results, because the concepts are only defined up to a constant.
-
-
deviance
is the fitted model’s deviance, a measure of lack of fit. It is a generalization of the residual sum of squares seen in the ANOVA table, and takes the same value in the case of a simple linear regression model fit withlm
as we have here. For some generalized linear models, we’ll use this for hypothesis testing, just as the ANOVA table does in the linear model case.
14.10 Plotting Residuals vs. Fitted Values
To save the residuals and predicted (fitted) values from this simple regression model, we can use the resid
and fitted
commands, respectively, or we can use the augment
function in the broom
package to obtain a tidy data set containing these objects and others.
augment(m1) %>%
ggplot(., aes(x = .fitted, y = .resid)) +
geom_point() +
geom_smooth(method = "loess", formula = y ~ x, se = F) +
geom_smooth(method = "lm", formula = y ~ x, se = F, col = "red") +
labs(title = "Residuals vs. Fitted values for Model m1")
We can also obtain a plot of residuals vs. fitted values for m1
using the following code from base R.
plot(m1, which = 1)
We hope in this plot to see a generally random scatter of points, perhaps looking like a “fuzzy football.” Since we only have seven possible dose
values, we obtain only seven distinct predicted values, which explains the seven vertical lines in the plot. Here, the smooth red line indicates a gentle curve, but no evidence of a strong curve, or any other regular pattern in this residual plot.


Some basic info about the application
This is another row
All of this is in a fluid contianer
It should resize to mobile screens flawlessly
This template file exists in assets/js/app/templates/about.dot
{{ out += it.util.domForImage("logo.jpg", 100); }}
{{ out += it.util.domForTemplateButton("home","it","Go Home"); }}


tensorlayer.rein
¶
discount_episode_rewards (rewards[, gamma]) |
Take 1D float array of rewards and compute discounted rewards for an episode. |
cross_entropy_reward_loss (logits, actions, ...) |
Calculate the loss for Policy Gradient Network. |
Reward functions¶
-
tensorlayer.rein.
discount_episode_rewards
(rewards, gamma=0.99)[source]¶ Take 1D float array of rewards and compute discounted rewards for an episode. When encount a non-zero value, consider as the end a of an episode.
- rewards : numpy list
- a list of rewards
- gamma : float
- discounted factor
>>> rewards = np.asarray([0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1]) >>> gamma = 0.9 >>> discount_rewards = tl.rein.discount_episode_rewards(rewards, gamma) >>> print(discount_rewards) ... [ 0.72899997 0.81 0.89999998 1. 0.72899997 0.81 ... 0.89999998 1. 0.72899997 0.81 0.89999998 1. ]
Cost functions¶
-
tensorlayer.rein.
cross_entropy_reward_loss
(logits, actions, rewards)[source]¶ Calculate the loss for Policy Gradient Network.
- logits : tensor
- The network outputs without softmax. This function implements softmax inside.
- actions : tensor/ placeholder
- The agent actions.
- rewards : tensor/ placeholder
- The rewards.
>>> states_batch_pl = tf.placeholder(tf.float32, shape=[None, D]) # observation for training >>> network = tl.layers.InputLayer(states_batch_pl, name='input_layer') >>> network = tl.layers.DenseLayer(network, n_units=H, act = tf.nn.relu, name='relu1') >>> network = tl.layers.DenseLayer(network, n_units=3, act = tl.activation.identity, name='output_layer') >>> probs = network.outputs >>> sampling_prob = tf.nn.softmax(probs) >>> actions_batch_pl = tf.placeholder(tf.int32, shape=[None]) >>> discount_rewards_batch_pl = tf.placeholder(tf.float32, shape=[None]) >>> loss = cross_entropy_reward_loss(probs, actions_batch_pl, discount_rewards_batch_pl) >>> train_op = tf.train.RMSPropOptimizer(learning_rate, decay_rate).minimize(loss)


--- title: Icon overview category: Icon usage order: 1 description: Here are some examples of commonly-used icons. ---


As an actuarial analyst dealing largely with insurance premium pricing, a big proportion of my work deals with adjusting prices (duh) for certain segments of the book and analysing the impacts of these adjustments on a portfolio level. Also, there is the part of communicating all the model assumptions, calculations and logic back to the stakeholders.
This article will focus mainly on the analysis of impacts to portfolio performance, and how to do it right. Although we will tackle the issue through the lens of the actuarial profession, the metrics used can be easily converted, logic easily applied to other quantitative fields.
Before delving into the details, let’s just go ahead and assume that the performance of a book is measured by the loss ratio, which is calculated as:
Now, note (for you actuaries out there) that we have defined a very general form of the loss ratio here and different insurers will lean towards different variations of this depending on the business requirements. If you have never heard of this term before, just know that a loss ratio of 100% would mean that every dollar an insurer earns from its customers is being used to pay out claims, and insurers all aim to keep this number as low as possible while keeping the interests of its policyholders as its priority.
So, what does this have to do with premium pricing? At the simplest level, a quick look at the loss ratio formula coupled with some knowledge of high school algebra would reveal that an increase in prices would lead a direct increase in written premiums (income) for the insurer, causing a decrease in the loss ratio and ultimately better performance. Right? Well, not quite. As we will discover in the sections to come, there are some nuances and details to be considered when assessing the impacts of these price increases (or decreases).
Setting the Scene
Let us visit a fictional insurer Foo Ltd to walk through the issue step by step. Foo Ltd’s portfolio can be categorised into 5 main policyholder segments:
| Segment | Sales Premiums | Claims Incurred | Loss Ratio |
|---|---|---|---|
| A | $200,000 | $100,000 | 50% |
| B | $50,000 | $40,000 | 80% |
| C | $500,000 | $200,000 | 40% |
| D | $1,000,000 | $800,000 | 80% |
| E | $2,000 | $8,000 | 400% |
| Total | $1,752,000 | $1,148,000 | 66% |
Like any other insurer, some customer segments within Foo Ltd’s book perform better than others, and pricing is one of the levers an insurer can pull in order to improve loss ratios.
Say we are working on a project to bring down the company’s overall 66% loss ratio by targeting segment D with price adjustments.
After some actuarial judgement calls, we decide to increase the premiums for customers in segment D by 20%. How will this change in price impact the overall portfolio performance? Note that although there is a theoretically “correct” answer, we cannot expect to realistically calculate this figure in the same way that we can only infer the true mean of a population from statistical tests.
Naïve Method
Assuming we just take everything at face value, a 20% increase in premiums will bring our sales premiums for segment D from $1,000,000 to $1,200,000. Segment D will then have a new loss ratio of ~67%, and the Foo Ltd’s portfolio will be performing at an overall loss ratio of ~59%, which equates to an approximate 7% absolute (or 11.4% relative) decrease! This can be checked for reasonableness with these quick steps:
-
A 20% increase on Segment D premiums will cause the segment’s loss ratio to decrease from an initial 80% to 67%, an approximate 13% absolute decrease
-
Segment D’s premiums account for ~57% of Foo Ltd’s premiums
-
We can expect the overall effect on the portfolio to be: The effect of the change in loss ratio for Segment D weighted by the premiums, which is 13% * 57%
-
This gives us approximately 7%, which is what we initially calculated. This serves as a quick and useful check to make sure that your calculations are correct
Is 7% correct? Definitely not. It is, however, a reasonable estimate for the impact of this price adjustment given the data provided. Can we do better? We definitely can.
What’s wrong with the Naïve Method?
Well nothing really, but let’s pause for a moment to go through the 2 things that were implicitly assumed when we came to the conclusion that a 7% decrease in loss ratio was a reasonable estimate.
-
Firstly, we assumed that claims incurred by policyholders in segment D will not change after the premium increases have taken place
-
Secondly, and more importantly, we also assumed that the 20% price increase had no effect on segment D policyholders’ demand for the product. In economic terms, we have assumed that the price elasticity of demand of the product in relation to segment D customers is 0.
While these assumptions may be reasonable (and true even) depending on the nature of the business and the particular insurer’s book, this is rarely the case. If we want to relax these assumptions, it would be wise to adjust our initial 7% loss ratio decrease by some amount to represent a more realistic and probable view of what the impacts really are. This “amount” is also known as the mix effect.
The Mix Effect
What then, is this magical number? Could we simply add an arbitrary 2% to our initial 7% to say that the portfolio loss ratio can be expected to decrease by 9% in total from the price adjustments? We definitely can, and I have to stress that there is no one correct method of going about this. An experienced actuary that has been dealing with an insurer for the past 30 years could very well have a good idea of what the mix effects may look like for different segments and premium adjustments at the back of his head. I for one, have neither the experience nor the guts to conjure up an estimate like this and will have to rely on some good old logic and algebra. Don’t get me wrong, there are still some assumptions to be made and reliance on actuarial judgement, but a lot less than just declaring that: “2% is the mix effect”.
Let’s rewind to before the price change and simplify our portfolio. Since we only care about segment D customers, we can view Foo Ltd’s book as:
| Segment | Sales Premiums | Claims Incurred | Loss Ratio |
|---|---|---|---|
| D | $1,000,000 | $800,000 | 80% |
| ROTB | $752,000 | $348,000 | 46% |
| Total | $1,752,000 | $1,148,000 | 66% |
Here, ROTB simply stands for “Rest of the book” and consists of every other customer segment other than segment D. Like before, a 20% price increase for segment D will amount to an approximate 11.4% premium increase for the portfolio, (20% * 1,00,000 / 1,752,000) and ultimately an 11.4% (11.4% * 66% equates to 7% like before) decrease in loss ratio.
Let’s term this the “Rate change effect” as this is a direct result of the higher premiums. However, from earlier discussions, we know that although this is true, it isn’t the whole truth. The complete picture would look more like:
Now comes the time to replace assumption 2 from before with a more realistic one, an elasticity measure. I won’t go through the full explanation of elasticity and you can read up on it here, but essentially, elasticity is a number that describes the sensitivity of consumers to price changes. Put simply, if a product is said to have an elasticity of 1, then a 1% price increase can expect to see a drop of 1% in quantity demanded for the same product.
Let’s assume now that segment D has an elasticity measure such that a 20% price increase will result in Foo Ltd losing 50% worth of premiums in customers. The new weights after this expected loss in customers can be calculated as follows:
Notice that there has been a shift in the mix of customers, and ROTB has a higher weight now compared to before.
Now, if we compare this with the initial loss ratio of 66%, we see that the shift in mix causes a decrease in loss ratio by 6%, because ROTB segment had a lower loss ratio of 46% to begin with and since it now carries more weight in the portfolio, the average loss ratio has converged closer to it.
Now that we have somewhat quantified what this shift in the mix has on Foo Ltd’s loss ratio, we can simply plug the figures back into our initial formula:
Which gives us an estimated portfolio loss ratio of 53% after the price increase instead of the earlier estimate of 59%. This seems a lot more reasonable than before and is probably a more realistic representation of the premium impacts. Again, this is just one of the ways to estimate the mix effect of a premium adjustment but maintains a good balance of tractability and accuracy. Note that, depending on the risk appetite of the insurer, some form of conservatism could be introduced into this calculation to give a more pessimistic view of the impacts if required.
Remember, what George Box tells us: “All models are wrong, but some are useful.”


This quickstart demonstrates using the Firebase SDK for Cloud Functions with an HTTPS trigger through building an endpoint returning the current time.
The function date
returns the current server date. You can
pass it a format
URL Query parameter to format the date.
Further reading:
Clone or download this repo and open the
quickstarts/time-server
directory.
Create a Firebase Project on the Firebase Console.
Set up your Firebase project by running firebase use --add
,
select your Project ID and follow the instructions.
You need to have installed the Firebase CLI. If you haven’t run:
Doesn’t work? You may need to change npm permissions.
First you need to install the npm
dependencies of the
functions:
This installs locally:
Deploy to Firebase using the following command:
This deploys and activates the date Function.
The first time you call
firebase deploy
on a new project with Functions will take longer than usual.
After deploying the function you can open the following URLs in your browser:
https://us-central1-<project-id>.cloudfunctions.net/date
https://us-central1-<project-id>.cloudfunctions.net/date?format=MMMM%20Do%20YYYY%2C%20h%3Amm%3Ass%20a
You can also send the format in the request body. For instance using cURL in the command line:
curl -H 'Content-Type: application/json' /
-d '{"format": "MMMM Do YYYY, h:mm:ss a"}' /
https://us-central1-<project-id>.cloudfunctions.net/date
Formatted dates should be displayed.
We are responding with a 403 error in case of PUT requests:
We’d love that you contribute to the project. Before doing so please read our Contributor guide.
© Google, 2016. Licensed under an Apache-2 license.


Abhishek Ghanshyam Kulkarni
Third Year B.Tech Student +91<PHONE_NUMBER>
Computer Science and Engineering<EMAIL_ADDRESS>Annasahebh Dange College of Engineering And Technology, Ashta
Carrer Objectives
To pursue graduate studies in Computer Science and Engineering, leading to a career in research. I am interested in Java , Node Js , React Js , Javascript , Android development , web technology and to learn new technologies.
Academic Details
| Year | Degree | Institute | Percentage/CGPA |
|---|---|---|---|
| 2021 - Present | TY.BTech in Computer Science and Engineering | Annasahebh Dange College of Engineering And Technology,Ashta | CGPA = 8.85/10 |
| 2019 | Diploma MSBTE,Pune | Government Polytechnic, Miraj | 85.06% |
SCHOLASTIC ACHIEVEMENTS
Coding Skills
Portfolio Video
Declaration
I hereby declare that the above information is true to the best of my knowledge and belief.
Signature
( Abhishek Kulkarni )


Terraform was open-sourced in 2014 under the Mozilla Public License (v 2.0) (the “MPL”). Over the next ~9 years, it built up a community that included thousands of users, contributors, customers, certified practitioners, vendors, and an ecosystem of open-source modules, plugins, libraries, and extensions. Then, on August 10th, 2023, with little or no advance notice or chance for much, if not all, of the community to have any input, HashiCorp switched the license for Terraform from the MPL to the Business Source License (v1.1) (the “BSL”), a non-open source license. In our opinion, this change threatens the entire community and ecosystem that’s built up around Terraform over the last 9 years.
Our concern: the BSL license is a poison pill for Terraform.
Overnight, tens of thousands of businesses, ranging from one-person shops to the Fortune 500, woke up to a new reality where the underpinnings of their infrastructure suddenly became a potential legal risk. The BSL and the additional use grant written by the HashiCorp team are vague, and now every company, vendor, and developer using Terraform has to wonder whether what they are doing could be construed as competitive with HashiCorp’s offerings. The FAQ provides some solace for end-customers and systems integrators today, but even if you might be in the clear now, how can you build confidence that your usage won't violate the license terms in the future? What if your products or HashiCorp's products change? What if HashiCorp changes how they interpret competitive? What if they change the license again? As a result, everything that uses Terraform is on shaky ground.
It is clear to us that under the new license, the thriving ecosystem built up around the open source Terraform will dwindle and wither. As developers consider what tools to learn and what ecosystems to contribute to, and as companies consider what tools to use to manage their infrastructure, more and more, they'll pick alternatives that are genuinely open-source. Existing Terraform codebases will turn into outdated liabilities, independent tooling will all but disappear, and the community will fracture and disappear.
This sort of change also harms all similar open-source projects. Every company and every developer now needs to think twice before adopting and investing in an open-source project in case the creator suddenly decides to change the license. Imagine if the creators of Linux or Kubernetes suddenly switched to a non-open-source license that only permitted non-competitive usage.
We believe that the essential building blocks of the modern Internet, such as Linux, Kubernetes, and Terraform need to be truly open source: that is the only way to ensure that we are building our industry on top of solid and predictable underpinnings.
Our goal: ensure Terraform remains truly open source—always.
Our aim with this manifesto is to return Terraform to a fully open source license. BSL is not open source, so this would mean moving Terraform back to the MPL license, or some other well-known, widely accepted open source license (e.g., Apache License 2.0). Moreover, we want to be confident that Terraform will always remain open source, so you don't have to worry about another sudden license change putting everything at risk.
Our request to HashiCorp: switch Terraform back to an open source license.
We ask HashiCorp to do the right thing by the community: instead of going forward with the BSL license change, switch Terraform back to a truly open source license, and commit to keeping it that way forever going forward. That way, instead of fracturing the community, we end up with a single, impartial, reliable home for Terraform where the whole community can unite to keep building this amazing ecosystem.
Our fallback plan: fork Terraform into a foundation.
If HashiCorp is unwilling to switch Terraform back to an open source license, we propose to fork the legacy MPL-licensed Terraform and maintain the fork in the foundation. This is similar to how Linux and Kubernetes are managed by foundations (the Linux Foundation and the Cloud Native Computing Foundation, respectively), which are run by multiple companies, ensuring the tool stays truly open source and neutral, and not at the whim of any one company.
In particular, we want to create a foundation for Terraform that is:
We acknowledge that maintaining an open source project such as Terraform takes a considerable investment in terms of time, skill, effort, and coordination. We are grateful to HashiCorp for creating Terraform and their leadership in getting it to this point, and to the thousands of community members for their contributions so far. The next step for Terraform must be to remain open source, either by HashiCorp switching it back to a truly open source license or by us forking it into a foundation. Whichever way it turns out, to ensure that there is sufficient investment to grow and evolve Terraform, the signatories below pledge to pool our resources to build a more open, inclusive future for an open source Terraform.
If you’re willing to join our cause, please sign the manifesto as follows:
| Name | Type | How you'd like to help |
|---|---|---|
| Gruntwork | Company | Development; open-source community efforts |
| Spacelift | Company | Cover the cost of 5 FTEs for at least 5 years |
| env0 | Company | Cover the cost of 5 FTEs for at least 5 years |
| Scalr | Company | Cover the cost of 3 FTEs for at least 5 years |
| Digger | Company | Development; open-source community efforts |
| Doppler | Company | Development; open-source community efforts |
| Massdriver | Company | Development; open-source community efforts |
| Qovery | Company | Development; open-source community efforts |
| Rivet | Company | Development; open-source community efforts |
| Terramate | Company | Development; open-source community efforts |
| Terrateam | Company | Development; open-source community efforts |
| Verifa | Company | Development; open-source community efforts |
| Finisterra | Company | Development; open-source community efforts |
| Cloud Posse | Company | Development; open-source community efforts |
If you are a member of the community, a member of the press, an employee of HashiCorp, or anyone else with questions or feedback to share, you can reach the team behind this manifesto by emailing us at<EMAIL_ADDRESS>Is OpenTF going to be a foundation?
We strongly prefer joining an existing reputable foundation over creating a new one. Stay tuned for additional details in the coming week.
Yes, the pledge is open to both all individuals and all companies who care about the future of Terraform. You can also support this initiative by staring this manifesto repository on GitHub and spreading the word via share buttons.
HashiCorp deserves to earn a return on their investment. What's wrong with that?
When any company releases their tool as open source, the contract with the community is always the same: Anyone can use this code, but we the creators hold a privileged position of being at the epicenter of the ecosystem. Vendors then compete to offer the best solution, and the creators enjoy a unique competitive advantage.
We believe that HashiCorp should earn a return by leveraging its unique position in the Terraform ecosystem to build a better product, not by outright preventing others from competing in the first place.
August 15th, 2023


---
layout: default
title: Everybody Votes Channel - Austria Dutch Results
---
February 10, 2007:
Wat doe je liever?
Eten: 55.2%
Slapen: 44.8%
Detailed Results:
Results by Gender:
Male: 46.5% 53.5%
Female: 37.3% 62.7%
National Prediction Accuracy: 53.8%
February 13, 2007:
Je hebt wat tijd over. Wat doe je?
Uitgaan en feesten: 73.2%
Thuisblijven en relaxen: 26.8%
Detailed Results:
Results by Gender:
Male: 28.4% 71.6%
Female: 19.9% 80.1%
National Prediction Accuracy: 32.5%
February 15, 2007:
Bestaan buitenaardse wezens?
Ja: 30.9%
Nee: 69.1%
Detailed Results:
Results by Gender:
Male: 72.0% 28.0%
Female: 56.9% 43.1%
National Prediction Accuracy: 65.4%
February 17, 2007:
Welke superkracht zou je willen hebben?
Röntgenogen: 75.7%
Vliegvermogen: 24.3%
Detailed Results:
Results by Gender:
Male: 25.0% 75.0%
Female: 21.5% 78.5%
National Prediction Accuracy: 69.9%
February 20, 2007:
Wat is belangrijker?
Liefde: 20.9%
Geld: 79.1%
Detailed Results:
Results by Gender:
Male: 76.1% 23.9%
Female: 91.0% 9.0%
National Prediction Accuracy: 79.2%
February 22, 2007:
Wat heb je liever?
Thee: 46.4%
Koffie: 53.6%
Detailed Results:
Results by Gender:
Male: 52.5% 47.5%
Female: 57.9% 42.1%
National Prediction Accuracy: 21.5%
February 24, 2007:
Wat vind je enger?
Slangen: 56.6%
Spinnen: 43.4%
Detailed Results:
Results by Gender:
Male: 44.1% 55.9%
Female: 40.6% 59.4%
National Prediction Accuracy: 64.6%
February 27, 2007:
Wat eet je liever?
Pizza: 33.3%
Pasta: 66.7%
Detailed Results:
Results by Gender:
Male: 71.9% 28.1%
Female: 46.3% 53.7%
National Prediction Accuracy: 87.9%
March 10, 2007:
Wat karakteriseert jou het beste?
Ochtendmens: 70.0%
Nachtbraker: 30.0%
Detailed Results:
Results by Gender:
Male: 26.9% 73.1%
Female: 42.4% 57.6%
National Prediction Accuracy: 82.5%
March 13, 2007:
Wat ben je liever?
Een leeuw: 67.8%
Een tijger: 32.2%
Detailed Results:
Results by Gender:
Male: 32.2% 67.8%
Female: 32.4% 67.6%
National Prediction Accuracy: 44.0%
March 15, 2007:
Je bent muzikant. Wat speel je?
Piano: 64.1%
Gitaar: 35.9%
Detailed Results:
Results by Gender:
Male: 33.3% 66.7%
Female: 46.1% 53.9%
National Prediction Accuracy: 88.2%
March 17, 2007:
Waar eet je het best?
Thuis: 42.0%
In een restaurant: 58.0%
Detailed Results:
Results by Gender:
Male: 57.2% 42.8%
Female: 61.2% 38.8%
National Prediction Accuracy: 58.1%
March 20, 2007:
Spinazie is...
Verrukkelijk: 34.6%
Weerzinwekkend: 65.4%
Detailed Results:
Results by Gender:
Male: 63.2% 36.8%
Female: 74.6% 25.4%
National Prediction Accuracy: 25.7%
March 22, 2007:
Heb je ooit wel een cadeau doorgegeven\naan iemand anders?
Ja: 50.7%
Nee: 49.3%
Detailed Results:
Results by Gender:
Male: 46.4% 53.6%
Female: 61.2% 38.8%
National Prediction Accuracy: 42.4%
March 24, 2007:
Aan welk dier geef je de voorkeur?
Kat: 41.6%
Hond: 58.4%
Detailed Results:
Results by Gender:
Male: 58.6% 41.4%
Female: 57.6% 42.4%
National Prediction Accuracy: 35.8%
March 27, 2007:
Welke sport doe je liever?
Tennis: 29.6%
Golf: 70.4%
Detailed Results:
Results by Gender:
Male: 68.9% 31.1%
Female: 77.1% 22.9%
National Prediction Accuracy: 86.0%
March 29, 2007:
Wat eet je het liefst?
Hartig: 53.7%
Zoet: 46.3%
Detailed Results:
Results by Gender:
Male: 49.4% 50.6%
Female: 34.4% 65.6%
National Prediction Accuracy: 81.4%
March 31, 2007:
Geloof je in astrologie?
Ja: 82.3%
Nee: 17.7%
Detailed Results:
Results by Gender:
Male: 15.2% 84.8%
Female: 27.7% 72.3%
National Prediction Accuracy: 62.2%


Under the direction of the CAA The Met.Office provides low level forecasts for aviation over the UK and offshore waters. A basic service agreed with the CAA provides information to enable all pilots, whether flying for pleasure or for commercial benefits to self brief before take off.
To enable private pilots, smaller aerodromes and flying clubs to fly safely, with confidence and to plan more economically The Met.Office provides tailored weather information by phone, fax and PC.
Mini-MIST Easy to access, accurate up-to-date weather information is provided in text format direct from The Met.Office on your own PC. Tailored especially for the private pilot.
MetFAX Aviation A premium rate fax service providing concise accurate weather information in a cost effective graphic and text format. Suitable for all flyers. There is a subscription MetFAX for overseas customers.
Broadcast Fax Ideal for aviation organisations with regular flights, Broadcast Fax is a faxed weather service sent routinely from The Met.Office in an accurate and up-to-date format.
Direct Access Forecast Services Designed for pilots who need specialist briefings before making critical planning decisions, the Direct access Forecast Service offers personal contact with a Met.Office forecaster for all your route forecasts and planning needs.
Aviation Met. Training Courses providing a thorough grounding in aviation meteorology enabling pilots to understand and interpret the forecasts and implications are conducted at The Met.Office College in Berkshire.
Jill Harmer
Tel.No. +44 (0)1344 856636
E-mail<EMAIL_ADDRESS>Postal Address: Met.Office, Room S1/5, Sutton House, London Road, Bracknell, Berks. RG12 2SY. United Kingdom
or simply fill in our Response Form.


The cURL package contains an utility and a library used for transferring files with URL syntax to any of the following protocols: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. Its ability to both download and upload files can be incorporated into other programs to support functions like streaming media.
This package is known to build and work properly using an LFS-9.1 platform.
Download (HTTP): https://curl.haxx.se/download/curl-7.68.0.tar.xz
Download MD5 sum: ce97d54a5f93607714ceb7f46a0a28f3
Download size: 2.3 MB
Estimated disk space required: 77 MB (add 15 MB for tests)
Estimated build time: 0.4 SBU (add 16 SBU for tests)
make-ca-1.5 (runtime)
Brotli-1.0.7, c-ares-1.15.0, GnuTLS-3.6.12, libidn2-2.3.0, libpsl-0.21.0, libssh2-1.9.0, MIT Kerberos V5-1.18, nghttp2-1.40.0, OpenLDAP-2.4.49, Samba-4.11.6, libmetalink, librtmp, and SPNEGO
stunnel-5.56 (for the HTTPS and FTPS tests) and Valgrind-3.15.0 (this will slow the tests down and may cause failures.)
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/curl
Install cURL by running the following commands:
./configure --prefix=/usr \ --disable-static \ --enable-threaded-resolver \ --with-ca-path=/etc/ssl/certs && make
To run the test suite, issue: make test. Tests 323, 1139, 1140, 1173, and 1560 are known to fail. A few other tests may fail randomly for unknown reasons.
Now, as the root
user:
make install && rm -rf docs/examples/.deps && find docs \( -name Makefile\* -o -name \*.1 -o -name \*.3 \) -exec rm {} \; && install -v -d -m755 /usr/share/doc/curl-7.68.0 && cp -v -R docs/* /usr/share/doc/curl-7.68.0
Simple tests to the new installed curl: curl --trace-ascii debugdump.txt
http://www.example.com/ and curl --trace-ascii d.txt --trace-time
http://example.com/. Inspect the locally created
trace files debugdump.txt
and
d.txt
, which contain version
downloaded files information, etc. One file has the time for each
action logged.
--disable-static
: This
switch prevents installation of static versions of the libraries.
--enable-threaded-resolver
:
This switch enables cURL's builtin
threaded DNS resolver.
--with-ca-path=/etc/ssl/certs
: This
switch sets the location of the BLFS Certificate Authority store.
--with-gssapi
: This parameter adds
Kerberos 5 support to libcurl
.
--without-ssl --with-gnutls
: Use to
build with GnuTLS support instead
of OpenSSL for SSL/TLS.
--with-ca-bundle=/etc/pki/tls/certs/ca-bundle.crt
:
Use this switch instead of --with-ca-path
if building with
GnuTLS support instead of
OpenSSL for SSL/TLS.
--with-libssh2
: This paramater adds
SSH support to cURL. This is
disabled by default.
--enable-ares
: This paramater adds
support for DNS resolution through the c-ares library. It is
disabled by default, but does speed up DNS resolution queries.
find docs ... -exec rm {}
\;: This command removes Makefiles
and man files from the documentation
directory that would otherwise be installed by the commands that
follow.
Last updated on 2020-02-15 08:54:30 -0800


Confessions of a Remote Worker
Jordan Kasper
@jakerella
Confession
Confession
Okay, but it's only small companies, right?
Confession
Confession
How do I manage these people?
Confession
Everybody watch out...
he uses Linux!
Kerry Woo Photography
Confession
Thank You!
Confessions of a Remote Worker
Jordan Kasper |
@jakerella


NB has been designed with the academic community in mind: it uses no encryption, doesn't try too hard to protect itself from malicious users, stores cookies on your computer for quite a long time (unless you log out)... To summarize, don't put confidential information on NB !
NB is a research project and we can't provide any kind of warranty including, but not limited to the availability of the service, the confidentiality of your annotations, the vulnerability of NB to computer attacks etc...


Tue Jan 13, 2009
The first entry of 2009! Granted, this isn’t the most updated blog in the world, but I’ve managed to keep wordbit going for around two years now, which is not bad. I recently tried to find the oldest blog in the world, and this site claims to have been blogging since 1987. But that’s just their opinion - blogs in their modern incarnation haven’t been around for more than about 10 years.
Well, I’d like to wrap up 2008 on a personal note and let you know what’s been going on in my life - besides from recently getting engaged, which I’m really excited about.
On the work side of things, I recently extended my contract at Vtech by another 6 months. I asked for more money, which they were happy to give me. It’s been a great experience no matter what happens. I’ve been working primarily on a business phone system, but have also helped out with the Internal Product Specification (IPS) for an internet radio, which I quite enjoyed. This product recently made its debut at CES and was reviewed on Engadget. It’s nice to be able to finally talk about this stuff! I have one at my desk and really enjoy it - I can totally recommend this nifty little device. The guys put a lot of love into this one.


Three weeks ago, I started as a full time software developer at Intridea. It's been an absolute blast so far, but it happened so quickly that I'm still somewhat dazed at how I got here. Just two month ago, I was in Israel and Egypt visiting Wendy and working on Outspokes, and now I'm working with energetic and talented individuals; all of whom I've never seen in real life before, but many of whom I've heard of in the Ruby community.
Back in September, I quit my full time gig at Coupa to start Outspokes with Arthur and Sean. The first month was like a morale roller coaster ride. We had many ups and downs. We learned a lot of things.  I'm proud of what we accomplished, but I'm ashamed at myself for prioritizing Outspokes before everything and everyone. Friends who kept me company late nights with baked pasta at Shooting Star Cafe, my supportive family, and most of all Wendy - Thank you.
Flash forward to last February, Wendy got a scholarship and was doing chemical engineering research in Israel before she started grad school. I decided to visit her to make up for neglecting our relationship. Spending time away from the Silicon Valley and the constant startup buzz cleared up a lot for me. I realized my dreams of making useful software and building a business weren't mutually exclusive with all the wonderful things I loved in my life. I don't have to choose just one goal; I can have my cake and eat it too. The ghost of myself a year ago would've laughed that I'd grown soft. But I'm not making any compromises on my dreams. I feel that I've actually dispersed a lot of unnecessary pressure and am in a better place to tackle my goals.
Clearing my head was like tipping over a line of dominos, and everything started falling in place during that trip. I decided to put Outspokes on hold because I didn't understand the freelance/consulting market I'm trying to help (more on this in another post). Wendy and I were having a great time traveling the Middle East and making plans for when she returned to the states. I reconnected with a lot of old friends, made some new ones, and was having a great time doing everything I enjoyed.
When I got home, I started to look at jobs near Pasadena, where Wendy's starting grad school next September. At first I was filled with dread when I looked at the startup scene in southern California. I couldn't find a business I felt passionate about. The commute would also sap any remaining soul in my body. Meanwhile, my friends in SF were offering to interview me, and tech companies I believed in were recruiting. I stuck to my guns and kept looking.
One day while I was reading my RSS feeds, I got the crazy idea to ask some of the Ruby consultancies I respected for a job. It was a spur of the moment thing, and I thought it'd be kind of cool to talk to these people whose posts I read everyday, even if they weren't in the area or hiring. I emailed Dave not knowing what to say, other than to say hi and introduce myself. Surprisingly, Dave and Chris got back to me on the phone. I don't remember exactly what we talked about, but I do remember that they didn't ask me any trick programming puzzles or BS interview questions. At the end of the call, they offered me a part-time contracting position.
I was stoked to work with these guys. It wasn't only because they had a strong team who regularly contributes back to the open source community and engages their audience. I liked their enthusiasm for technology and their professionalism towards their clients. They made fantastic looking and useful products. They had a great sense of humor even though I've only heard them on Skype or through chat. My mom had to ask me why I was chuckling to myself when I read co-workers' updates through Presently and on Campfire. When they offered me a full-time position a week later, I said "I'll talk it over with people and sleep on it", but really I was thinking "Score!"
And that's the long-winded version of where I am and how I got to be an Intridean.


This library offers a LeafletMap
component for the mithril framework, which combines leaflet for displaying maps, and leaflet-draw for editing overlays (see the demo).
If you set the view and zoom factor when creating the map, they are used for centring. Otherwise, all initial overlays are used to compute the bounds (see leaflet.fitBounds).
When editing, the last selected editable layer can be edited. So if you have multiple overlays, each of which can be edited, only the one you selected last can be changed. During editing, the same limitations apply as mentioned in leaflet-draw: markers can be moved, polylines and lines can be edited. There is no editing support, however, for multi-lines and multi-polygons.
When multiple overlays are present, a layer control is shown. You can also enable the scale control, optionally choosing between metric, imperial or both.
You can check out the API documentation here or review the example source code.
First, you need to install the required packages: note that this library does not contain leaflet
, or leaflet-draw
, so you need to install them yourself. It has been tested against leaflet
v1.4.
npm i mithril leaflet leaflet-draw mithril-leaflet
# Also install the typings if you use TypeScript
npm i --save-dev @types/leaflet @types/leaflet-draw @types/geojson @types/mithril
Now you can use it in your mithril code.
import { LeafletMap } from 'mithril-leaflet';
import { Feature, Geometry } from 'geojson';
import { LatLngExpression, FeatureGroup, LeafletEvent, geoJSON } from 'leaflet'
...
m(LeafletMap, {
style: 'height: 400px; margin-top: 20px;',
// Default base layer, for others, see https://wiki.openstreetmap.org/wiki/Tile_servers
baseLayers: {
osm: {
url: 'http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
options: {
subdomains: ['a', 'b'],
attribution: '© OpenStreetMap contributors',
maxZoom: 19,
maxNativeZoom: 17,
},
},
},
// Optionally, specify initial view and zoom. By default, fit bounds is applied.
// view: [51.505, -0.09] as LatLngExpression,
// zoom: 13,
// Optionally, add overlay layers and specify which ones are visible.
// overlays,
// visible,
editable: ['test', 'pois'],
onMapClicked: console.log,
showScale: { imperial: false },
onLayerEdited: (f: FeatureGroup) => console.log(JSON.stringify(f.toGeoJSON(), null, 2)),
onLoadedOverlaysChanged: (v: string[]) => (state.visible = v),
})
pnpm m i # You can also use `npm i`, but I prefer [pnpm](https://pnpm.js.org).
npm start # during development
npm run build:domain # for deploying it to GitHub
Generated using TypeDoc


Hi, I'm McKlyde
Github
LinkedIn
Email
Blog
Resume
I design and make cool things with computers.
projects
Edupoint middle man API built in Elixir.
A T9 to Word app built in Haskell
An app that tells you where to eat out when you wanna eat out but you don't know where.
(API)
(iOS Frontend)
Chat app using socket.io


Missile Alert
menu
Launch Checker
Stressed about your impending immolation? Find out in seconds whether North korea launched any missiles today!
-->
Check Launch Status


--- title: Irish Potato Pie layout: post date: '2016-10-10 21:06:42 -0400' type: post parent_id: 0 published: true image: assets/images/post-img/irish-potato-pie-8-508x706.jpg status: publish categories: - Potatoes-Starches meta: _wpas_done_all: 1 _wpghs_github_path: _posts/2016-10-10-irish-potato-pie.md _sha: 84a500629b18cd18f8e41daab43ce73267373885 _edit_last: 1 _thumbnail_id: 437 _jetpack_dont_email_post_to_subs: 1 _posts_by_tag_page_fields: a:2:{s:12:"widget_title";s:0:"";s:11:"widget_tags";s:0:"";} _yourls_url: http://7t3.link/m7vd3 _yourls_clicks: 8 author: login: mkelley email<EMAIL_ADDRESS>display_name: Mike first_name: Mike last_name: Kelley ---
Irish savory potato pie with bacon. Crispy crust layered with potatoes, onions and bacon. The St. Patrick's Day favorite is a must have at an Irish dinner.
Source: Irish Potato Pie


JavaScript's same origin policy will cause access denied or similar error messages to appear if the document loaded into the iframe is from another domain. See more information on the subject.
HTML5 introduces cross-document messaging using postMessage
which is designed to enable documents from separate domains to communicate with each other while still providing protection from cross-site scripting attacks.
The window.postMessage
method is supported by Internet Explorer 8+, Firefox 3+, Opera 10, Safari and Chrome. Find more information and examples at Mozilla Developer Network and WHATWG.


Public Member Functions | |
Destructor | |
| virtual | ~DOMDocumentRange () |
| Destructor. | |
Functions introduced in DOM Level 2 | |
| virtual DOMRange * | createRange ()=0 |
| To create the range consisting of boundary-points and offset of the selected contents. | |
Protected Member Functions | |
Hidden constructors | |
| DOMDocumentRange () |
| DOMDocumentRange::DOMDocumentRange | ( | ) | [protected] |
| virtual DOMDocumentRange::~DOMDocumentRange | ( | ) | [virtual] |
Destructor.
| virtual DOMRange* DOMDocumentRange::createRange | ( | ) | [pure virtual] |
To create the range consisting of boundary-points and offset of the selected contents.


| CBOR Primitive | Notes | Java Mapping | Implementation |
|---|---|---|---|
integer | 1 | long | {@link CBORInt} |
bignum | 1 | BigInteger | {@link CBORBigInt} |
floating point | 2 | double | {@link CBORFloat} |
byte string | byte[] | {@link CBORBytes} | |
text string | String | {@link CBORString} | |
true | boolean | {@link CBORBoolean} | |
false | boolean | {@link CBORBoolean} | |
null | null | {@link CBORNull} |
In addition to the primitives above, this implementation also supports arbitrary tagged objects based on CBOR major type 6 ({@link CBORTag}).
integer
and
bignum
types, must use the integer
type if the value is between
-264
and 264-1
,
otherwise the bignum
type must be used.
The following table holds a few sample values and their proper CBOR encoding:
| Value | Encoding |
|---|---|
0 | 00 |
-1 | 20 |
255 | 18ff |
256 | 190100 |
-256 | 38ff |
-257 | 390100 |
1099511627775 | 1b000000ffffffffff |
18446744073709551615 | 1bffffffffffffffff |
18446744073709551616 | c249010000000000000000 |
-18446744073709551616 | 3bffffffffffffffff |
-18446744073709551617 | c349010000000000000000 |
1900ff
) unless the
CBOR representation offers no alternative (like 1b000000ffffffffff
).
1099511627775
(0xffffffffff
)
would actually yield two bytes less using the bignum
type.
| Value | Encoding |
|---|---|
0.0 | f90000 |
-0.0 | f98000 |
Infinity | f97c00 |
-Infinity | f9fc00 |
NaN | f97e00 |
| Assorted Edge Cases | |
-5.960464477539063e-8 | f98001 |
-5.960465188081798e-8 | fab3800001 |
65504.0 | f97bff |
65504.00390625 | fa477fe001 |
65536.0 | fa47800000 |
10.559998512268066 | fa4128f5c1 |
10.559998512268068 | fb40251eb820000001 |
3.4028234663852886e+38 | fa7f7fffff |
3.402823466385289e+38 | fb47efffffe0000001 |
1.401298464324817e-45 | fa00000001 |
5.0e-324 | fb0000000000000001 |
-1.7976931348623157e+308 | fbffefffffffffffff |
NaN
"signaling" (like f97e01
),
must be flagged as an error.
f98001
.
0.0
and
-0.0
, and the integer number 0
represent the distinct keys
f90000
, f98000
, and 00
respectively.
On output ({@link CBORObject#encode()}) deterministic encoding is always performed regardless of if CBOR data was parsed or created programmatically.
integer
and
text string
,
as well as not being mixed in the same map.
During {@link CBORObject#decode(byte[])}, CBOR data is checked for well-formedness as well as by default, adhering to the determinism scheme.
After successful decoding, the CBOR data is provided as a {@link CBORObject}. For extracting the data of CBOR primitives in a Java compatible way, there are type specific access methods such as {@link CBORObject#getInt()} and {@link CBORObject#getString()}. For accessing structured CBOR objects, the {@link CBORObject#getMap()}, {@link CBORObject#getArray()}, and {@link CBORObject#getTag()} methods, return container objects which in turn facilitate access to individual CBOR objects of the structure.
If the underlying CBOR data type does not match the access method (like performing {@link CBORObject#getInt()} on a {@link CBORBigInt}), an exception is thrown. That is, this implementation performs strict type checking.
However, you typically also want to verify that {@link CBORMap} objects do not contain unexpected keys, or that {@link CBORArray} objects contain unread elements. This can be achieved by calling {@link CBORObject#checkForUnread()}, after all expected objects have been read. This method verifies that the current CBOR object (including possible child objects), have been accessed, otherwise an exception will be thrown.
Built-in cryptographic support classes like {@link CBORValidator} and {@link CBORPublicKey} perform strict type checking as well as verifying that there are no unexpected objects inside of their respective containers.
However, through the {@link CBORDiagnosticNotation} class, CBOR data may also be provided in diagnostic (textual) notation, making CBOR useful for "config" and test data files as well.
By adhering to the
Deterministic Encoding
specification above, CBOR data can be bidirectionally
converted between its native (binary) format and diagnostic notation
without getting corrupted. Note though that text-binary-text "roundtrips"
do not necessarily return identical text: 0x10
used
as diagnostic notation input will return 16
as
diagnostic notation output.
Caveat: for reliable conversions, floating point values must
be aligned with IEEE 754 encoding and rounding rules.
| CBOR Object | Syntax | Notes | Description |
|---|---|---|---|
/ comment text / |
8 | Multi-line comment. Multi-line comments are treated as whitespace and may thus also be used between CBOR objects. | |
# comment text |
7, 8 | Single-line comment.
Single-line comments are terminated by a newline character ('\n' ) or EOF .
Single-line comments may also terminate lines holding regular CBOR items. | |
// comment text | |||
integer |
{sign}{0b |0o |0x }n |
1, 2 |
Arbitrary sized integers without fractional components or exponents.
See CBOR integer encoding.
Binary, octal, and hexadecimal notation is supported by prepending numbers
with 0b , 0o , and 0x respectively.
The latter also permit arbitrary insertions of '_' characters between digits to
enable grouping of data like 0b100_000000001 .
|
bignum | |||
floating point |
{sign}n. n{e± n} |
1, 2 | Floating point values must include a decimal point and an optional exponent. See CBOR floating point encoding. |
NaN | Not a number. See CBOR floating point encoding. | ||
{sign}Infinity | 2 | Infinity. See CBOR floating point encoding. | |
byte string |
h' hex data' | 3, 6 | Byte data provided in hexadecimal notation. Each byte must be represented by two hexadecimal digits. |
b64' base64 data' | 3, 6, 8 | Byte data provided in base64 or base64URL notation.
Padding with '=' characters is optional. | |
' text' | 4, 5, 8 | Byte data provided as UTF-8 encoded text. | |
<< object >> | 8 | Construct holding a CBOR object which is subsequently embedded in a byte string. | |
text string |
" text" | 4, 5 | UTF-8 encoded text string. |
true | true | Boolean value. | |
false | false | ||
null | null | Null value. | |
array | [ objects ] |
Array with zero or more comma separated CBOR objects. | |
map | { key: value } |
Map with zero or more comma separated key/value pairs. Keys and values are expressed as CBOR objects. | |
tag | n( object ) |
1 | Tag holding a CBOR object. |
, | 8 | Separator character for CBOR sequences. |
'-'
) character.' '
, '\t'
, '\r'
, '\n'
)
inside of string quotes are ignored.'\t'
, '\r'
, '\n'
)
inside of string quotes become a part of the text.
To avoid getting newline characters ('\n'
)
included in multi-line text strings,
a line continuation marker consisting of a backslash ('\'
)
immediately preceding the newline may be used.'\''
, '\"'
, '\\'
,
'\b'
, '\f'
, '\n'
,
'\r'
, '\t'
, '\u
hhhh'
).''
) return byte strings of length zero.


We need to make sure you're eligible for {{ 'a parking permit' if serviceString == 'parking-permit' else 'a bus pass' }}.
Or


ACM UNO is the University of New Orleans branch of the Association for Computing Machinery. The purpose of the ACM is to engage students in an extracurricular environment where they will further develop their abilities in the field of computer science. Being a member of the Association of Computing Machinery takes knowledge learned in the regular curriculum and applies it to real world scenarios. The experiences in the Association of Computing Machinery will prepare students with the versatility and expertise necessary to be successful in life after college.
Throughout the semester, the ACM will have general meetings in which faculty members and companies from the New Orleans area which come and discuss different technologies and opportunities for our members. Also, each Special Interest Group will have weekly workshops in which the members can meet and learn useful technologies and create projects outside the regular university curriculum.
President - Gabriel Roa
Vice President - Garrick Ranck
Treasurer - Emmanuel Tourniare
Secretary - Aileen Do
Professional Chair - Sanjiv Pradhanag
Social Chair - Michael Kelly
General Meeting - Wednesdays from 1PM to 2PM (Biweekly)
Contact<EMAIL_ADDRESS>/ President: geroa@uno.edu


Ticket
You can have single or multiple tickets, where certain tickets become available under certain conditions, e.g. early bookings, group discounts, maximum bookings per ticket, etc. Basic HTML is allowed in ticket labels and descriptions.
| Ticket Name |
Price |
Min/Max |
Start/End |
Available Spaces |
Booked Spaces |
| {{ticket.name}} |
{{ticket.price | currency}} |
{{ticket.least}}/{{ticket.most}} |
{{ticket.from}} - {{ticket.until}} |
{{ticket.spaces}} |
{{ticket.booked}} |
Event Option
Individual tickets with remaining spaces will not be available if total booking spaces reach this limit. Leave blank for no limit.
If set, the total number of spaces for a single booking to this event cannot exceed this amount.Leave blank for no limit.
This is the definite date after which bookings will be closed for this event, regardless of individual ticket settings above. Default value will be the event start date.


Enter a WebID into the following box, then click to display its content.
The contents should be in a machine readable format (RDF/XML, Turtle, N3, RDFa) which this page will parse and then display a very small subsection of information with the help of the rdflib javascript library.
Also since this
request is NOT passing though a proxy located on the same host as this page is served from, and
since the embedded javascript will be fetching that file directly on the internet, the file will need to
be CORS enabled if it is not coming from the same server as this
file is. CORS enabled means it has to emmit the HTTP
header Access-Control-Allow-Origin: *
when it is served. I am not sure what the point of this 'security
restriction' is, if it is one at all.
If you see this then fetching the remote profile did not succeed, or is not yet finished.
Below are the friends as linked to from that profile. Here we limit ourselves to simply name information and links. More information should be found at the remote profile, which could be merged here and shown as a card too. But well, one step at a time.