Welcome to Dennis Pavlik's Web-Page
A professional programmer who finds fulfillment in providing development services. In addition, I enjoy learning and teaching people the skills necessary to become a programmer.
Review my resume or feel free to contact me.


Coal-Pollution Rules From Obama Era Put on Chopping Block
by ALEXANDRA JONESWASHINGTON (CN) — Announcing the latest in a series of regulatory breaks for coal industry, the Trump administration called Monday to roll back a set of 2015 Obama-era guidelines crafted to reduce the concentration of toxic coal-ash runoff into waterways.
The policy-change proposal comes a few days after U.S. coal mining giant Murray Energy filed for Chapter 11 protection; the company’s former CEO Bob Murray was a vocal Trump supporter.
Murray Energy’s filing came as a partial result of the fact that coal companies are facing stiff competition from natural-gas and renewable-energy companies that are offering cheaper forms of energy. At least seven other coal companies have filed for bankruptcy protection in 2019, according to The New York Times.
The proposed change to Obama’s rule regulating flue-gas desulfurization and bottom-ash transport was signed Monday by Environmental Protection Agency Administrator Andrew Wheeler. The agency is submitting it for publication in the Federal Register, the official journal of the federal government of the United States.
The EPA says the change will save coal companies more than $175 million in pre-tax compliance costs per year and reduce the amount of pollutants discharged into U.S. waters by approximately 100 million pounds per year — both, a result of less costly technologies that “could be used to comply with the proposed relaxation.”
For U.S. environmental groups, however, the revision will come at a deficit to public health.
The Sierra Club said Monday the proposal will allow coal companies to dump toxic industrial sludge into drinking water.
“The Trump EPA has proven once again that they will put the drinking water of millions of Americans at risk by allowing dirty coal plants to dump their industrial waste into our rivers, streams, and waterways — all just to save wealthy coal executives a few dollars,” Tom Schuster, Sierra Club’s senior campaign representative for Pennsylvania, said in a statement Monday. “This rollback is a travesty and a threat to the health of our communities. There is no reason why any parent should have to think twice about giving their child safe water from a faucet.”
Similarly, Thom Cmar, an attorney with the nonprofit environmental group Earthjustice, said this proposal makes clear that industry profits are more important to the administration than people’s health or clean water.
“These rules are supposed to safeguard our water from toxic pollution, but the laundry list of loopholes proposed by the Trump EPA threatens to completely undo the protections,” he said in a statement Monday. “It is outrageous that Trump’s team is so beholden to polluters that they are willing to let power plants continue to dump lead, mercury, chromium and other dangerous chemicals into our water supply to preserve every last cent of their profits.
The EPA plans to hold a public hearing about the proposed rule Dec. 19 at 1 p.m. An EPA official did not respond to an email seeking comment on the proposal Monday.
Copyright © 2019 courthousenews.com


Need toppings on your pizza? Make your selection here. Bacon Bacon goes well with anything (try us), so of course it’s a popular pizza topping. This fresh spring recipe gets salty, meaty flavor from just a few bacon crumbles. Basil A few fresh basil leaves will taste amazing with any pizza. This simple summertime pizza would make a delicious cookout appetizer. Mushroom This earthy topping can be divisive in the kitchen, but many agree that it fits right in on a pizza, and this breakfast recipe is just perfect Peppers Bacon goes well with anything (try us), so of course it’s a popular pizza topping. This fresh spring recipe gets salty, meaty flavor from just a few bacon crumbles. Pesto A few fresh basil leaves will taste amazing with any pizza. This simple summertime pizza would make a delicious cookout appetizer. Pineaple This earthy topping can be divisive in the kitchen, but many agree that it fits right in on a pizza, and this breakfast recipe is just perfect


See, children, this couple walking along the road. One is a tall, handsome, and very finely made woman, with a beautiful mild firmness of expression, the other a conceited little boy. Why, of course, it is Ma Ruskin taking a stroll with Little Ruskin. They walk straight past the toyshop window without a glance. Little Ruskin knows he will never be allowed the temptation of toys. But Ma Ruskin has promised to take him to a spot, somewhere between Herne Hill and Camberwell, where he may pick a pebble to take home with him. Little Ruskin loves his pebbles.
As they turn a corner, Little Ruskin's buoyant mood changes, however, for ahead of them loom the great granite walls of the Charitable Mercy Home For Crippled Tinies.
“Can we increase the speed of our strolling, Ma, the quicker to be past this benighted cripplehaven?” pleads Little Ruskin.
“We shall stroll at the pace the Lord intends,” replies Ma Ruskin, not unkindly, but with her usual mild firmness.
Little Ruskin begins to tremble.
And then, children, out of the gates of the Mercy Home comes Little Ruskin's worst nightmare! It is a diminutive girlie with a twisted, deformed spine, and her hair is in ringlets!

Ma Ruskin scolds her son for making such a din and a spectacle, and she turns him about and marches him home.

Further reading : Praeterita, Volume I, Chapter V, here.


Little Bear at Work and at Play
by Frances Margaret Fox
“Little Bear’s Surprise Party”
Additional Information
- Year Published: 1920
- Language: English
- Country of Origin: United States of America
- Source: Fox F. M. (1920). Little Bear at Work and at Play. Chicago: Rand McNally and Co.
-
Readability:
- Flesch–Kincaid Level: 4.0
- Word Count: 1,169
- Genre: Fantasy
- Keywords: children's stories
- ✎ Cite This
Downloads
Little Bear did not like to hear any talk about Sleepy Cave, which was the name of the Three Bears’ winter home, the year Jack Frost came late. There were three beds in Sleepy Cave, ready and waiting for the Three Bears-a big, big bed of boughs and moss for huge Father Bear, a middle-sized bed of fir boughs and moss for middle-sized Mother Bear, and a deep, deep bed of feathery moss for Little Bear.
There were also feathery moss blankets taken from fallen logs in the forest—one for huge Father Bear, one for Mother Bear, and the softest, warmest moss blanket of all for Little Bear.
Sleepy Cave was big and warm and dry. There was no chance for snow to drift in the doorway because it was sheltered by a broad overhanging rock, and its back was toward the wind. There was blackberry jam put away in that cave, and combs of honey and other good things to eat in case the family should wake up and feel hungry before spring.
But Little Bear did not like to hear a word about Sleepy Cave. It was the same old story with him, beginning, “I don’t want to sleep all winter! Mrs.  You’ll never grow up!’ She always says that! And Mr. Bob Wildcat, he said—”
“There, there,” Mother Bear interrupted, “don’t let me hear another word about Maria Wildcat or any of the Wildcat family!  “I want to stay in our own little house in the woods and see the snow in the evergreens. I’d love to play in the snow and go sliding on the ice.  Father Deer’s children do not sleep all winter. They make tracks in the snow, and they lie down to rest in the evergreens and watch for their enemies in the middle of the day!  I want to stay here and play all winter like other folks! Sally Beaver’s mother, she said—”
“Hush,” advised Mother Bear, “you have said enough!”
Mother Bear spoke severely, but a moment later when the little fellow went out and sat on the doorstep to think, she said to Father Bear, “Suppose we have a surprise party for Little Bear?”
a table with bags of food and a chair
“A good idea!” agreed Father Bear. “But there is snow in the air, and if there is to be a party it had better be this afternoon. Whom do you wish to invite?”
Mother Bear smiled as she answered, “Let us invite the children of our hibernating friends. I think that will be pleasanter. We’ll invite Auntie Cinnamon’s children, and Uncle Brown Bear’s family, and the Porcupine twins, and the Field Mice children, and the young Musk-rats. If you will do the inviting, I will make blackberry jam and honey cakes and get the house in order!”
Little Bear didn’t even ask a question as Father Bear started out, looking rather proud of his new fur overcoat.
In the afternoon, as Father Bear and Mother Bear were happily waiting for Little Bear’s company, there came a knock at the door, followed by the entrance of Auntie Cinnamon.
“I came to say,” said she, “that my children cannot come to the party because they have gone to sleep for the winter. No, I cannot stay, I thank you, but I am glad to stop in a minute to say good night until spring.”
“Sleepy heads!” exclaimed Little Bear when Auntie Cinnamon had gone on her way.
Next came Uncle Brown Bear. He was so plump he was out of breath from walking fast and had to rest a minute before he could say, “Our children are all asleep and cannot come to the party, but Auntie Brown sent me over to say we thank you, and good night until spring!” And away he went.
“The sleepy heads!” exclaimed Little Bear again, and how he laughed. “But where is the party, Mother Bear, and am I invited?”
Just then came another knock at the door, and Mother Porcupine walked in to say that the twins were tucked away in bed for the winter and so could not come to Little Bear’s surprise party.
Little Bear was so delighted when he learned he was to have a surprise party that he wasn’t disappointed when the laughing Blue Jay came with a message from the Field Mouse mother saying that the Field Mice children just couldn’t keep their eyes open, they were so sleepy, and so of course they could not come to the party.
“I’ll sit by the window and see who does come,” said Little Bear, happy as he could be thinking of the party.
Now it happened that no one else had been invited to the party, so Mother Bear took Little Bear to the cupboard to show him the blackberry sandwiches and honey cakes, while Father Bear stepped out to ask the Blue Jay to please fly quickly away and invite the wildcat children and the young squirrels and chipmunks and foxes to come immediately to the party.
The Blue Jay flew to do this joyful errand, and soon came dozens of chattering, noisy wildwood children to the party.
But when they reached the house they found Little Bear sound asleep with a contented smile on his face, dreaming of the party! The merry children could not awaken him, although they tried their best because they wished to share with him the blackberry jam and honey cakes.
Late that afternoon when the party was over and the frolicking children had gone, Father Bear took Little Bear in his arms, and Mother Bear closed the house. Then away went the Three Bears to Sleepy Cave.
When Little Bear was snugly tucked in his feathery moss bed, Mother Bear kissed him and said, “I am so glad the little fellow was happy when he went to sleep!”
And that very night it snowed, and snowed—and snowed!


Start Over
Upload photo
{{imgError}}
Upload new sticker
Sticker
{{fileError}}
Title
{{titleError}}
Submit
{{item.title}}


Global Cache iTach IP2SL
This driver supports communication with a Global Cache iTach IP2SL, allowing to control RS232 serial devices.
Connecting to the system
Connection to the system is done via Ethernet. The following parameters should be provided:
- Host: The IP address or host name of the device.
- Port: The port number where the device is waiting for connections (the suggested default will probably be correct).
There are two types of TCP connections:
- Direct Ethernet connection for communication: should be used for normal communication.
- Direct Ethernet connection for configuration: should be used
if RS232 port configuration is not known or needs to be changed.
RS232 settings will be sent to the device after pressing “Apply” button.
After
Apply
button is pressed, change TCP connection to Direct Ethernet connection for communication.
Available resources
This driver is based on matching incoming byte strings from the external system, and sending back byte strings to it.
Therefore resources are generic strings used for matching from, and for sending to the external system.
There are 3 parameters to each resource:
- Name for the resource.
- Whether it should be available for matching (INPUT), for sending (OUTPUT), or for both input and output (BOTH).
- A generic character string.
In order to allow arbitrary byte values, the following encoding is used:
- Any character except for backslash (
\
) will be given it’s corresponding value. Non-ASCII (international) characters are interpreted as Unicode UTF-8 byte sequences. - Backslash is used as an escape character, which gives special
meaning to the character or characters that follow:
\\
(double backslash) is interpreted as a single backslash.\r
is interpreted as a carriage return character (0x0D).\n
is interpreted as a newline character (0x0A).\xx
(where x is a hexadecimal digit [0-9, a-f, A-F]) is interpreted as a hexadecimal byte value. E.g.\0A
is equivalent to\n
.
Any non-printable or non-ASCII character entered by the user will be shown as hexadecimal sequences. Illegal or truncated escape sequences will be marked as errors.
Events and commands
Resources marked for input (or both input + output) will be searched for in all incoming data. As soon as a match is found, the corresponding event will be generated and search will continue after the match.
If the incoming channel becomes idle, then all partial matches will be discarded.
Commands are all resources marked as output (or both input + output) that can be transmitted to the channel.
End of line sequence
An end of line sequence can be defined at the channel configuration.
Being non empty implies a working mode in which events are delimited by it, matching only when the complete message is equal to a defined event.
Defining end of line allows discovery of resources by using the “capture” button on the resources page, for each received string ending with the end of line sequence, an unknown resource will show up using it as address.
Also the end of line is appended to commands before sending them to the external system.


The View class acts as an object wrapper for HTML pages with embedded PHP, called "views". Variables can be assigned with the view object and referenced locally within the view.
View class extends Fuel\Core\View.
Set the global path, overwrite default using /app/views/ folder.
| Static | Yes | ||||||
|---|---|---|---|---|---|---|---|
| Parameters |
|
||||||
| Returns | void | ||||||
| Example |
$view = \Hybrid\View::forge('index'); // set folder location $view->set_path(DOCROOT . 'views/'); // render the view $this->response->body = $view->render(); // this will render DOCROOT/views/index.php |


Our general body events are typically held every Friday at 5pm in Willard Straight Hall Music Room.
We are a proud member of the Intercollegiate Taiwanese American Student Association which helps connect our members to the larger Taiwanese American community.
Our members have discounts to local restaurants including (but not limited to) Apollo, Koko, Oishii Bowl, Plum Tree, Calios, and Panda Tea Lounge.
President
Class of 2022
Vice President
Class of 2023
Treasurer
Class of 2022
Secretary
Class of 2022
Social Chair
Class of 2022
Social Chair
Class of 2024
Publicity Chair
Class of 2024
Tech Chair
Class of 2024
Joy Chair
Class of 2024


A set of simplified functions for creating funnel plots for proportion data. This package supports user defined benchmarks, confidence limits and estimation methods (i.e. exact or approximate) based on Spiegelhalter (2005) <doi:10.1002/sim.1970>. Additional routines for returning scored unit level data according to a set of specifications is also implemented for convenience. Specifically, both a categorical and a continuous score variable is returned to the sample data frame, which identifies which observations are deemed extreme or in control. Typically, such variables are useful as stratifications or covariates in further exploratory analyses. Lastly, the plotting routine returns a base funnel plot ('ggplot2'), which can also be tailored.
| Version: | 0.1.0 |
| Imports: | stats, ggplot2 (≥ 2.2.1) |
| Suggests: | knitr, rmarkdown |
| Published: | 2018-03-14 |
| Author: | Matthew Kumar |
| Maintainer: | Matthew Kumar <mattkumar at gmail.com> |
| License: | GPL-3 |
| URL: | https://matt-kumar.shinyapps.io/funnel/ |
| NeedsCompilation: | no |
| CRAN checks: | funnelR results |
| Reference manual: | funnelR.pdf |
| Vignettes: |
Introduction |
| Package source: | funnelR_0.1.0.tar.gz |
| Windows binaries: | r-devel: funnelR_0.1.0.zip, r-release: funnelR_0.1.0.zip, r-oldrel: funnelR_0.1.0.zip |
| OS X binaries: | r-release: funnelR_0.1.0.tgz, r-oldrel: funnelR_0.1.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=funnelR to link to this page.


An Introduction to Parallelism
Congratulations! You (finally?) got your environment set up and are ready to start writing some GPU code.
Party time
We're going to start our GPU adventure by considering a very simple program which adds two vectors together. If we wanted to do this on a CPU, we might write a function like this:
function add!(a,b,c)
local tid = 1
while (tid <= min(length(a), length(b), length(c)))
c[tid] = a[tid] + b[tid]
tid += 1
end
end
The function add! takes three vectors (a, b and c), adds each element of a and b together and stores the result in c. Note that we do not explicitly return c, because the exclamation mark at the end of add! indicates that add! is a function that modifies it's arguments.
We could call add! in a Julia script like this:
function main()
# Make three vectors
a = Vector{Any}(fill(undef, 10))
b = Vector{Any}(fill(undef, 10))
c = Vector{Any}(fill(undef, 10))
# Fill a and b with values
for i in 1:10
a[i] = i
b[i] = i * 2
end
# Fill c with values
add!(a,b,c)
# Do a sanity check
for i in 1:length(a)
@test a[i] + b[i] ≈ c[i]
end
end
main()
main() is a very simple function that makes three vectors, a, b and c. It populates a and b with values, calls add! to add each value in a and b together, then runs a for loop to check that the values stored in c make sense.
Adding Vectors on a GPU
As exciting as the example above was, the eagle eyed amongst you may have noticed that it doesn't actually run on a GPU. Let's fix that.
The first thing we need to do is load packages that will enable us to run Julia code on GPUs.
using CuArrays, CUDAnative, CUDAdrv
CuArrays is a package that allows us to easily transfer arrays from CPU to GPU. CUDAnative allows us to write relatively high level code for executing functions on GPUs. We will not explicitly call CUDAdrv in our example, but much of CUDAnative depends on CUDAdrv to work.
Next, we need to identify what part of our example could benefit from being ported to GPU. Since most of the actual work is being done in add!, this is an obvious target. Let's modify add! so that it could be executed on a GPU.
function add!(a,b,c)
local tid = 1
while (tid <= min(length(a), length(b), length(c)))
c[tid] = a[tid] + b[tid]
tid += 1
end
return nothing
end
Since add! is now ready to run on a GPU, we have thus transformed add! from an ordinary function to a kernel. Isn't unnecessary terminology wonderful?
Aside from now referring to add! as a kernel rather than a function, the only thing that has changed between the CPU and GPU version of add! is the addition of this line:
return nothing
CUDA requires that kernels must return nothing. Aside from meaning that we have to add this line to all of our kernels, this also means we potentially have to think a bit about how we will get the results of our GPU computations out of our kernels, since we can't directly return
our results. As add! is a function which alters its arguments, this is not actually a problem which requires much thought in our example.
Let's see how main has changed in the GPU version of our example.
function main()
# Make three CuArrays
a = CuArrays.CuArray(fill(0, 10))
b = CuArrays.CuArray(fill(0, 10))
c = CuArrays.CuArray(fill(0, 10))
# Fill a and b with values
for i in 1:10
a[i] = -i
b[i] = i * i
end
# Execute the kernel
@cuda add!(a,b,c)
# Copy a,b and c back from the device to the host
a = Array(a)
b = Array(b)
c = Array(c)
# Do a sanity check
for i in 1:length(a)
@test a[i] + b[i] ≈ c[i]
end
end
main()
main() is looking pretty different from the CPU version of our code. Let's work through it step by step.
function main()
# Make three CuArrays
a = CuArrays.CuArray(fill(0, 10))
b = CuArrays.CuArray(fill(0, 10))
c = CuArrays.CuArray(fill(0, 10))
Like in the CPU version of main, we start by making three arrays. However here, instead of making three standard Julia arrays, we make three CuArrays. CuArrays are GPU compatible arrays. For reasons we will gloss over here, ordinary Julia arrays would not work in our example. Fortunately, CuArrays are a subtype of AbstractArrays and can often be treated exactly the same way as a normal AbstractArray. Many standard array operations work out of the box on CuArrays, see https://github.com/JuliaGPU/CuArrays.jl for a list. If you are curious why we can't use a normal AbstractArray or Array here, see 'Further Considerations' for details.
The next step of main is virtually identical to the CPU version.
# Fill a and b with values
for i in 1:10
a[i] = i
b[i] = i * 2
end
The only thing to note here is that like I promised, we can treat a and b exactly like an ordinary AbstractArray here, no special syntax is required.
In the next step we actually execute the kernel:
# Execute the kernel
@cuda add!(a,b,c)
This looks remarkably similar to the CPU version of main at this step, especially when you consider that this line is responsible for executing add! on a different type of computing chip. The magic is contained in @cuda
. @cuda
is part of the CUDAnative package, and behind the scenes is responsible for transforming the add! function into a form recognised and executed by the GPU.
If you are familiar with CUDA C or C++, you might be surprised that main does not include any step to copy a, b and c from the host (CPU) to the device (GPU). This is taken care of behind the scenes by CUDAnative and CuArrays. However, you do explicitly need to copy your CuArrays back from device (GPU) to host (CPU), which is what happens in the next step of main:
# Copy a,b and c back from the device to the host
a = Array(a)
b = Array(b)
c = Array(c)
The function responsible for copying your CuArrays from device to host is Array()
.
Finally, we do the same sanity check as in the CPU version of main and make a function call to main:
# Do a sanity check
for i in 1:length(a)
@test a[i] + b[i] ≈ c[i]
end
end
main()
Note that in both versions of main, the sanity check is carried out on the host (CPU), not the device (GPU).
So we've written our first Julia script that will execute on a GPU! That's pretty cool. But again, the eagle eyed amongst you might be grumbling. Whilst our script does run on a GPU, there is absolutely no parallelism in it. In fact, it is likely that the GPU version of our script is actually slower than the CPU version, given that GPU processors are generally slower than CPU processors AND we had to copy a load of data from host to device and back again in the GPU version, which we didn't have to bother with in the CPU version. Time to introduce some parallelism to our script.
Parallelising over threads
Let's see how main changes when we run the kernel over multiple threads:
function main()
# Make three CuArrays
a = CuArrays.CuArray(fill(0, 10))
b = CuArrays.CuArray(fill(0, 10))
c = CuArrays.CuArray(fill(0, 10))
# Fill a and b with values
for i in 1:10
a[i] = -i
b[i] = i * i
end
# Execute the kernel
@cuda threads=10 add!(a,b,c)
# Copy a,b and c back from the device to the host
a = Array(a)
b = Array(b)
c = Array(c)
# Do a sanity check
for i in 1:length(a)
@test a[i] + b[i] ≈ c[i]
end
end
main()
The only line that has changed is this line:
@cuda threads=10 add!(a,b,c)
To make the kernel run on 10 threads, we have added the argument threads=10
before our call to add!(a,b,c)
. That's it. However, let's think about what this will actually do. Running our current version of add! over 10 threads simply amounts to running add! 10 times simultaneously. Obviously, this will not be any faster than running add! once.
Let's modify add! so we can make a more productive use of the 10 threads.
function add!(a,b,c)
tid = threadIdx().x
if (tid <= min(length(a), length(b), length(c)))
c[tid] = a[tid] + b[tid]
end
return nothing
end
Again, we have only changed one line:
tid = threadIdx().x
threadIdx()
is a function from CUDAnative which returns the three dimensional index of the thread that this particular instance of the kernel is running on. Here, we use threadIdx().x
to get the x coordinate for the thread the kernel is running on. As we specified in our call to @cuda
that we would use 10 threads, the value of threadIdx().x will be between 1 and 10 for each instance of the kernel. Therefore, when we call
@cuda threads=10 add!(a,b,c)
We spawn 10 threads and on each thread one element of c is calculated. Clearly this will be a lot faster than calculating all 10 elements sequentially.
Parallelising over blocks
You will recall from "Some Background on GPUs" that GPUs are composed of blocks of threads. In addition to parallelising our code over threads, we have the option of parallelising over blocks. To parallelise over blocks instead of threads, we change this line in main
@cuda threads=10 add!(a,b,c)
to
@cuda blocks=10 add!(a,b,c)
and change this line in add!
tid = threadIdx().x
to
tid = blockIdx().x
And now our code parallelises over blocks rather than threads! The complete script to parallelise over blocks is below:
function add!(a,b,c)
tid = blockIdx().x
if (tid <= min(length(a), length(b), length(c)))
c[tid] = a[tid] + b[tid]
end
return nothing
end
function main()
# Make three CuArrays
a = CuArrays.CuArray(fill(0, 10))
b = CuArrays.CuArray(fill(0, 10))
c = CuArrays.CuArray(fill(0, 10))
# Fill a and b with values
for i in 1:10
a[i] = -i
b[i] = i * i
end
# Execute the kernel
@cuda blocks=10 add!(a,b,c)
# Copy a,b and c back from the device to the host
a = Array(a)
b = Array(b)
c = Array(c)
# Do a sanity check
for i in 1:length(a)
@test a[i] + b[i] ≈ c[i]
end
end
main()
Congratulations, you have now written your first Julia scripts which parallelise over threads and blocks! We will move on to a more involved example in the next section.


Calculate sum on main thread
Calculate sum on separate thread
Calculate using pool of 10 threads
Using
Time taken
Computed Value
Main Thread
Worker thread
Worker thread Pool


About Myself
After working as a chemist for 4 years, I decided to swich my career to software engineer. However, some of my friends may not understand my decision. After I took my first computer science class, I realized that this is my dream work because I love it.
Find Out More!Bachelor of Science in Computer Science from State University, Corvallis, OR
Bachelor of Science in General Chemistry from University of California–Irvine, Irvine, CA
JavaScript, Java
and C / C++
Sql, Git
HTML5 Front end
2015-2018
Appling Now
Powered by Bootstrap.
Theme based on the Creative Bootstrap Theme by Start Bootstrap.


| modify_fmt_fun {gtsummary} | R Documentation |
Use this function to update the way numeric columns and rows of .$table_body
are formatted
modify_fmt_fun(x, update, rows = NULL)
x |
gtsummary object |
update |
list of formulas or a single formula specifying the updated formatting function. The LHS specifies the column(s) to be updated, and the RHS is the updated formatting function. |
rows |
predicate expression to select rows in |
Example 1
The rows argument accepts a predicate expression that is used to specify
rows to apply formatting. The expression must evaluate to a logical when
evaluated in x$table_body
. For example, to apply formatting to the age rows
pass rows = variable == "age"
. A vector of row numbers is NOT acceptable.
A couple of things to note when using the rows=
argument.
You can use saved objects to create the predicate argument, e.g.
rows = variable == letters[1]
.
The saved object cannot share a name with a column in x$table_body
.
The reason for this is that in tbl_merge()
the columns are renamed,
and the renaming process cannot disambiguate the variable
column from
an external object named variable
in the following expression
rows = .data$variable = .env$variable
.
Other Advanced modifiers:
modify_column_hide()
,
modify_table_body()
,
modify_table_styling()
# Example 1 ---------------------------------- # show 'grade' p-values to 3 decimal places modify_fmt_fun_ex1 <- lm(age ~ marker + grade, trial) %>% tbl_regression() %>% modify_fmt_fun( update = p.value ~ function(x) style_pvalue(x, digits = 3), rows = variable == "grade" )


Toggle navigation
Kirk Yuan
Home
Blog
Contact
Hi, my blog page is currently under construction, check back later!
Let's get in touch!
kirkyuan@cmail.carleton.ca


Follow these steps to open support tickets:
- Log in to the Algorithm Lab.
- In the left navigation bar, click .
- On the Support page, enter a subject and message.
- If you want to attach a live deployment or backtest to the support ticket, follow these steps:
- Click Add Project, select a project, and then click OK.
- (Optional) Click Add Live Deployment, select a live deployment, and then click OK.
- (Optional) Click Add Backtest, select a backtest, and then click OK.
- Click the By submitting this request, I give QuantConnect Support Staff permission to view my project check box.
- Click Send.


---
layout: archive
title: Lean Prover Zulip Chat Archive
permalink: 113488general/19157bugincongr.html
---
The archive URL format has changed. Please find this page at:
https://leanprover-community.github.io/archive/stream/113488-general/topic/bug.20in.20congr'.3F.html


Type '!kmdtip help' for a list of actions. If you'd like to check your balance in private DM the bot and type "!kmdtip". Don't deposit too much. Around 10 KMD should be enough.
100 messages
Before 05-Dec-19 12:00 AM
KMD TipBotBOT12-Oct-18 05:03 PM
TipBot KMD Balance
Balance for @Avaahnaa (Avaahnaa#0623)
Confirmed
1.16546224
Unconfirmed
0.00000000
Raybobo12-Oct-18 05:03 PM
Lovely rain
deedee12-Oct-18 05:03 PM
i want mooore
FishyGuts12-Oct-18 05:03 PM
We've already talked to thebot dev., He is adding an option to remove the rain spam. And increase the minimum amount. So if they wanna spam the net, at least it's worth it.
1
Adrien12-Oct-18 05:03 PM
!kmdtip balance
KMD TipBotBOT12-Oct-18 05:03 PM
TipBot KMD Balance
Balance for @Adrien (Adrien#6296)
Confirmed
0.45878084
Unconfirmed
0.00000000
ciumete12-Oct-18 05:03 PM
!kmdtip balance
KMD TipBotBOT12-Oct-18 05:03 PM
TipBot KMD Balance
Balance for @ciumete (ciumete#3212)
Confirmed
0.06596361
Unconfirmed
0.00000000
Markus12-Oct-18 05:03 PM
rain could have like 5 min cooldown or so
stretcher8312-Oct-18 05:04 PM
Why
CombatWombat12-Oct-18 05:04 PM
there was a storm thanks
MinerX.31212-Oct-18 05:04 PM
Get out of here with the .005
stretcher8312-Oct-18 05:04 PM
Whats wrong with it
j4ys0n12-Oct-18 05:04 PM
!kmdtip balance
KMD TipBotBOT12-Oct-18 05:04 PM
TipBot KMD Balance
Balance for @j4ys0n (j4ys0n#3189)
Confirmed
1.29866140
Unconfirmed
0.00000000
B.B.12-Oct-18 05:05 PM
stop the bloody spam!
CombatWombat12-Oct-18 05:05 PM
some people don't like the notifications i got everything on silent so i dont mind lol
C Adi12-Oct-18 05:05 PM
@FishyGuts It was worth it for me. I'm up a whole nickel and had a good lol
FishyGuts12-Oct-18 05:05 PM
I don't mind them but some people do.
Cryptoon12-Oct-18 05:05 PM
yeah mute this channel if you mind the notifications
FishyGuts12-Oct-18 05:05 PM
This is a place of business for a lot of people (at least 20-30)
CombatWombat12-Oct-18 05:05 PM
i think like in tipsy bot how there is an option to remove the tags
Bar_F1sh_Rel12-Oct-18 05:05 PM
mute the bot.
SHossain12-Oct-18 05:05 PM
it is nice. but sending 0.005 to hundreds of users seems spam(edited)
B.B.12-Oct-18 05:05 PM
doesn't stop de notification number though...
FishyGuts12-Oct-18 05:05 PM
So we do want to respect that and treat it like such.
As fast as the tipbot came in , it can go if the drizzle spam continues
1
AndronicusBass12-Oct-18 05:06 PM
@B.B. Quite rude, Maybe you want to type in all caps next time?
FishyGuts12-Oct-18 05:06 PM
It's cool and we don't want to abuse the priveledge KMD allowed us by adding it.
SHossain12-Oct-18 05:06 PM
but, the bot didn't crash
FishyGuts12-Oct-18 05:06 PM
SHossain12-Oct-18 05:06 PM
it handles load nicely(edited)
B.B.12-Oct-18 05:06 PM
@AndronicusBass why am i rude?
stretcher8312-Oct-18 05:07 PM
Sorry guys and gals i dont see the point of adding a tip bot if you are going to call it spam ,
FishyGuts12-Oct-18 05:07 PM
- Upping the min amount for rain and soak.
- Removing the notification tags for rain and soak
@sclear
B.B.12-Oct-18 05:07 PM
I do appreciate the functionality, it's fun and all but when i see 20 notification i think it's important and then i just see it's the bot so it's a bit annoying
AndronicusBass12-Oct-18 05:07 PM
I said 'quite rude' how are you rude?
FishyGuts12-Oct-18 05:07 PM
0.005 / 425 online people is spam.
We're going to have a min of 1 KMD for rain or soak to start
blackjok3r12-Oct-18 05:08 PM
got gutz\
B.B.12-Oct-18 05:08 PM
Or maybe i didn't understood the sentence?
1
Kuji12-Oct-18 05:08 PM
!kmdtip balance
KMD TipBotBOT12-Oct-18 05:08 PM
TipBot KMD Balance
Balance for @Kuji (TheKujira#6953)
Confirmed
1.40144526
Unconfirmed
0.00000000
AndronicusBass12-Oct-18 05:08 PM
huh?
Kuji12-Oct-18 05:08 PM
oh boy
1.40!!! Rich list is moments away.. i can feel it
AndronicusBass12-Oct-18 05:08 PM
NM
FishyGuts12-Oct-18 05:08 PM
!kmdtip thunder 1
KMD TipBotBOT12-Oct-18 05:08 PM
:cloud_lightning: @mirel | mindtame.net has been thunderstruck with 1 KMD!
FishyGuts12-Oct-18 05:08 PM
!kmdtip thunder 1
KMD TipBotBOT12-Oct-18 05:08 PM
:cloud_lightning: @naatland has been thunderstruck with 1 KMD!
B.B.12-Oct-18 05:08 PM
I'm confused now xD
FishyGuts12-Oct-18 05:09 PM
!kmdtip thunder 1
KMD TipBotBOT12-Oct-18 05:09 PM
:cloud_lightning: @mrbizzy has been thunderstruck with 1 KMD!
deedee12-Oct-18 05:09 PM
strike me @FishyGuts
1
Kuji12-Oct-18 05:09 PM
@B.B. why?
deedee12-Oct-18 05:09 PM
i want KMD
AndronicusBass12-Oct-18 05:09 PM
pageth sameth, we areth noth
FishyGuts12-Oct-18 05:09 PM
!kmdtip thunder 1
KMD TipBotBOT12-Oct-18 05:09 PM
:cloud_lightning: @heguli97 has been thunderstruck with 1 KMD!

MinerX.31212-Oct-18 05:12 PM
I think the bot is great for the record!
Berg12-Oct-18 05:12 PM
!kmdtip balance
KMD TipBotBOT12-Oct-18 05:12 PM
TipBot KMD Balance
Balance for @Berg (Berg#2666)
Confirmed
0.00000000
Unconfirmed
0.00000000
Berg12-Oct-18 05:12 PM
AndronicusBass12-Oct-18 05:13 PM
Berg12-Oct-18 05:13 PM
Saw I had a notification, thought I got some ahaha
Hey, someone mentioned Ecosystem Developers
I thought it was me receiving money
joe2x412-Oct-18 05:13 PM
!kmdtip berg .5
KMD TipBotBOT12-Oct-18 05:13 PM
TipBot
Cannot tip with entered amount.
joe2x412-Oct-18 05:13 PM
!kmdtip berb 0.5
KMD TipBotBOT12-Oct-18 05:13 PM
TipBot
Cannot find desired user.
joe2x412-Oct-18 05:14 PM
!kmdtip [HUSH] Berg 0.5
KMD TipBotBOT12-Oct-18 05:14 PM
TipBot
Cannot tip with entered amount.
joe2x412-Oct-18 05:14 PM
!kmdtip [HUSH] Berg 1
KMD TipBotBOT12-Oct-18 05:14 PM
TipBot
Cannot tip with entered amount.
Rada12-Oct-18 05:15 PM
!kmdtip balance
KMD TipBotBOT12-Oct-18 05:15 PM
TipBot KMD Balance
Balance for @Rada (Rada#5645)
Confirmed
1.09207436
Unconfirmed
0.00000000
Rada12-Oct-18 05:15 PM
jesus, people do tip a lot in here
stretcher8312-Oct-18 05:15 PM
Im out fellas, good luck with the bot , and the whole kamodo project , but all these rules are not for me, having a problem with tipping members ♂, spam ♂, no offence to any one , good luck , if i could donate the rest of my balance i would but it seems im not allowed .
1
Rada12-Oct-18 05:15 PM
you can block the bot tbh
stretcher8312-Oct-18 05:16 PM
I like the bot , but others dont
MinerX.31212-Oct-18 05:17 PM
It’s called development
Daniel_krijgsman12-Oct-18 05:18 PM
!kmdtip balance
KMD TipBotBOT12-Oct-18 05:18 PM
TipBot KMD Balance
Balance for @Daniel_krijgsman (danielgamer03#3860)


MIUI 11 stable update now available for Redmi Note 5, Redmi 5, Redmi 8 and Redmi 8A [UPDATE] - Gizchina.com
by Efe UdinMIUI 11 stable update now available for Redmi Note 5, Redmi 5, Redmi 8 and Redmi 8A [UPDATE]
4 (80.91%) 22 votes
[UPDATE] Redmi 8 and Redmi 8A now also receiving the MIUI 11 stable global update.
Today, the Xiaomi Redmi Note 5 and Redmi 5 which are almost two years old got a new stable update (MIUI V11 0.2.0 stable version). Although this update is MIUI 11, it is still based on the Android 9 Pie system. Amongst other features, this smartphone will now support face unlock application, photo-text watermark editing, Xiaoai voice wake-up feature, gaming features such as a phone docking window, etc.
The specific update log is as follows:
- App Lock: Adds support for unlocking apps via face
- Clock: Fix the problem that the timer page button clicks blink; fix the problem that the clock flashes on a special date.
- Calculator: Fix the problem that the calculator crashes when the little Xiaoai does not turn on
- Album: Add photo text watermark editing, added a variety of art watermark styles
- Weather: Adds cloudy and hazy animations; optimized 15-day trend interface adaptation; optimized large font and screen density related issues
- Settings: optimize the settings page for the system application
- Xiaoai: Adds voice wake-up feature
- Game Acceleration: Adds the phone floating window function which allows the phone to display the gaming state using the floating window
This update is currently rolling out to Redmi 5 and Redmi Note 5 units in China. However, it shouldn’t take long for the global counterparts of this device to get the update. As usual, all units will not receive the OTA update at the same time, thus you may want to check settings > system update for available updates.
MIUI 11 stable update for Redmi 8 and Redmi 8A
A few days after the announcement MIUI 11 stable update for Redmi Note 5 and Redmi 5 in China, the more recent Redmi 8 and Redmi 8A are now receiving this update globally. While some units in India already have this update, others may have to wait a few days. This update comes with version number <IP_ADDRESS>.PCPINXM and weighs about 600MB.
Just like the update for Redmi Note 5 and Redmi 5, this latest system runs on top of Android 9 Pie. However, it comes with the October security patch. Now, the Redmi 8 series can boast of a system-wide dark mode, new natural sounds, alarm ringtones, and a new quick replies feature.


Free Listing for Music Centre Members Here.
Publicise yourself, your band or organization NOW!
If you are interested in being part of this local community band, we would love to hear from you. Contact Us Now!
Name: Ms. Hollie Clark
Email Address<EMAIL_ADDRESS>Telephone No.: 04019 151 185
Telephone No.: 0408 088 675
Facebook: Townsville Concert Band
| Musician Name | Short Description | |
|---|---|---|
| Townsville Concert Band ★ Featured ★ |
This is a local community band who meet once a week for rehearsals, and who play gigs around town throughout the year. | |
| Poms from Oz | Poms from Oz are Judy, Kathleen and Alan Pomeroy, a family of solo vocalists from North Queensland, Australia. All are dinky di Oz with Judy and Kathy being descendents of First Fleeters. | |
| Rosewood Guitar Quartet | Add some elegance to your next social event! | |
| Dirty Dozen | Townsville's dynamic 12-piece Stage Band! | |
| The Camerata Singers | The Camerata Singers comprises a group of trained singers, both male and female, from age 18 and over who strive to provide quality performances in a range of styles from classical through to A cappella and contemporary. | |
| Wassa | Wassa is a six-piece percussion group performing traditional rhythms from West Africa on traditional instruments. | |
| STOKES-NICHOLSON BIG BAND | The Stokes-Nicholson Big Band is a not for profit community 22 piece Big Band playing Jazz and Big Band music. | |
| Celtic Fyre | The alternative celtic rock band from North Queensland | |
| Aviva Quartet | Four talented musicians combine their skills in a variety of musical styles including fiery Rhumbas, Tangos, Serenades - a mixture of the most devine and swoon-worthy pieces, guaranteed to delight the senses. | |
| Aquapella | Aquapella are 50 singers from the Townsville area bringing you a cappella world music at its very best: inspiring and uplifting harmonies from around the globe. | |
| Harbourside Duo | Harbourside Duo is a new ensemble performing in Townsville and North Queensland featuring Monica Martin on Violin and David Roberts on Classical Guitar. |


Yes Bank sells over 16 lakh shares of Reliance Capital
by PTIHighlights
- According to data available with the National Stock Exchange (NSE), the private sector lender sold 16,78,900 shares at an average price of Rs 16.26 apiece
- On Friday, the private sector lender had sold more than 13 lakh shares of Reliance Capital for over Rs 2 crore through an open market transaction
NEW DELHI: Yes Bank on Monday sold over 16 lakh shares of Reliance Capital for around Rs 3 crore through an open market transaction. According to bulk deal data available with the National Stock Exchange (NSE), the private sector lender sold 16,78,900 shares at an average price of Rs 16.26 apiece. This took the total transaction value to Rs 2.72 crore.
However, the buyer of the shares could not be ascertained.
Shares of Reliance Capital Ltd ended 0.61 per cent higher at Rs 16.40 on the NSE.
On Friday, the private sector lender had sold more than 13 lakh shares of Reliance Capital for over Rs 2 crore through an open market transaction.
In October, Reliance Nippon Asset Management Company had directed its trustees to sell the remaining shares pledged by Rana Kapoor, co-founder of Yes Bank, as a collateral with the mutual fund house, sources had said.
According to a separate block deal on the BSE, Link Investment Trust and Emerald Investments Ltd together bought shares worth Rs 157 crore in Eris Lifesciences Ltd.
The data showed that Link Investments picked up 2.44 lakh shares in the firm, while Emerald Investments bought a total of over 35.7 lakh shares, at an average price of Rs 411.5 apiece.
This together translated into a deal amount of Rs 157.33 crore.
The shares bought by the firms were sold by public shareholders of Eris Lifesciences, Hetal Rasiklal Shah and Bhikhalal Chimanlal Shah, among other sellers.
On the BSE, shares of Eris Lifesciences ended at Rs 432.5 apiece, 4.41 per cent higher than the previous close.