PUBLIC ROUTINES
call my25_turb_init (ix, jx, kx)
input
ix, jx number of horizontal grid points in the global
fields along the x and y axis, respectively.
[integer]
kx number of vertical points in a column of the atmosphere
[integer]
---------------------------------------------------------------------
call my25_turb( delt, fracland, phalf, pfull, theta, &
um, vm, zhalf, zfull, z0, &
TKE, el0, el, akm, akh, &
mask, kbot)
input
delt Model time step in seconds
[real]
fracland Fractional amount of land beneath a grid box
[real, dimension(:,:)]
phalf Pressure at half levels in pascals
[real, dimension(:,:,nlev+1)]
pfull Pressure at full levels in pascals
[real, dimension(:,:,nlev)]
theta Potential temperature [deg K] at full model levels
[real, dimension(:,:,nlev)]
um Zonal wind component [m/s] at full model levels,
[real, dimension(:,:,nlev)]
vm Meridional wind component [m/s] at full model levels,
[real, dimension(:,:,nlev)]
zhalf Height at half levels in meters
[real, dimension(:,:,nlev+1)]
zfull Height at full levels in meters
[real, dimension(:,:,nlev)]
z0 Surface roughness length in meters
[real, dimension(:,:)]
input/output
TKE Turbulent kinetic energy in m^2/sec^2.
[real, dimension(:,:,nlev+1)]
output
el0 Characteristic length scale in meters.
[real, dimension(:,:)]
el Master length scale in meters.
[real, dimension(:,:,nlev+1)]
akm Mixing coefficient for momentum in m^2/sec.
[real, dimension(:,:,nlev)]
akh Mixing coefficient for heat and moisture in m^2/sec.
[real, dimension(:,:,nlev)]
input (optional)
- for use with the step-mountain (eta) vertical coordinate
mask Mask (1. or 0.) for grid boxes above or below the ground.
[real, dimension(:,:,nlev)]
kbot Index of the lowest model level
[integer, dimension(:,:)]
- for use in diagnosing PBL depth
ustar Friction velocity at the surface (meters/sec)
[real, dimension(:,:)]
bstar Buoyancy scale at the surface (meters/sec**2.)
[real, dimension(:,:)]
output (optional)
h pbl depth (meters)
[real, dimension(:,:)]
---------------------------------------------------------------------
call tke_surf ( u_star, TKE, kbot )
input
u_star Surface friction velocity (m/s)
[real, dimension(:,:)]
input/output
TKE Turbulent kinetic energy, in m^2/sec^2.
[real, dimension(:,:,nlev+1)]
input (optional) - for use with the step-mountain (eta) vertical coordinate
kbot Index of the lowest model level
[integer, dimension(:,:)]
---------------------------------------------------------------------
call my25_turb_end()
There are no arguments to this routine.
NAMELIST
&my25_turb_nml
TKEmax Max value for TKE
[real, default: TKEmax = 5.0 m^2/sec^2]
TKEmin Min value for TKE
[real, default: TKEmin = 0.0 m^2/sec^2]
akmax Max value for akm & akh
[real, default: akmax = 1.0e4 m^2/sec]
akmin_land Min value for akm & akh over land points
(Applied to the lowest nk_lim levels)
[real, default: akmin_land = 5.0 m^2/sec]
akmin_sea Min value for akm & akh over all ocean points
(Applied to the lowest nk_lim levels)
[real, default: akmin_sea = 0.0 m^2/sec]
nk_lim Lower bound on akm & akh applied at lowest nk_lim levels
[integer, default: nk_lim = 2 ]
init_iters Number of iterations to be used in initializing TKE.
Only used if the input restart data does not exist.
[integer, default: init_iters = 20 ]
el0max Max value for el0
[real, default: el0max = 1.0e6 meters]
el0min Min value for el0
[real, default: el0min = 0.0 meters]
alpha_land Constant used in computing el0 ( land value )
[real, default: alpha_land = 0.10 ]
alpha_sea Constant used in computing el0 ( sea value )
[real, default: alpha_land = 0.10 ]
do_thv_stab If false, buoyancy computed using constant
reference potential temperature.
[logical, default: do_thv_stab = .true.]
use_old_cons If true, use original MY constants
If false, use revised values
[logical, default: use_old_cons = .false.]
kcrit Mixing coefficient threshold used to diagnose PBL top.
PBL top is set the interpolated height where the mean
of the momentum and tracer diffusion coefficient first
falls beneath kcrit.
[real, default: kcrit = 0.01 m2/sec]
Notes:
* Diagnostic output from Mellor Yamada 2.5 is controlled by the
namelist to vert_turb_driver module.


Groovy script to detect which version of which application is installed for each slave.
The script MUST return a JSON string of the form:
[ { "version": "Application Version", "home": "Home Directory of This Version" }, ・・・ ]
You can use the 'runExternalCommand()' method to execute external commands and get output. And you can use the 'platform' variable to determine the platform in the script. ("windows", "linux", or "osx" will be stored)
Please refer to the example below.


-
{% for feedback in feedback_list %}
{{ feedback.date|date:"M d G:i" }} {{ feedback.subject }} {% if feedback.status == True%} --- was viewed{% endif %}
{% endfor %}{% extends "engine/home.html" %} {% block content %}
{{ feedback.date|date:"M d G:i" }} {{ feedback.subject }} {% if feedback.status == True%} --- was viewed{% endif %}
{% endfor %}


Turn your ideas into a collection of clear, actioanble next steps, to build momentum and keep things moving.
Share your ideas on a digital canvas that has all the flexibility you need.
Enjoy writing and drawing in an environment that is easy to use.
UI/UX Developer
UI Designer


The fractal of the times
Mathematics magazine
Sierpinski triangle
A fractal and attractive fixed set with the overall shape of an equilateral triangle, subdivided recursively into smaller equilateral triangles!
Intercative Fractal magazine!!
Scroll to Zoom. Click to Reset. Works best in Chrome


Not sure: Although the dogs look to be waiting for something, I need more evidence or the next few frames to make a conclusion.
Yes: The woman is holding something in her left hand and giving directions to the dog. I bet this is positive.


J
Spectrum
Home
Home
menu
Search
I am a very simple card. I am good at containing small bits of information. I am convenient because I require little markup to use effectively. I am similar to what is called a panel in other frameworks.


--- layout: post title: "emotion chip" comments: true ---
Data: Captain, I believe I am feeling... anxiety. It is am intriguing sensation. A most distracting...
Picard: Data, I'm sure it's a fascinating experience, but, perhaps you should deactivate your emotion chip for now.
Data: Good idea, sir... Done.
Picard: Data, there are times when I envy you.


Ingredients
1 1/3 cups of fresh cranberries
1 cup small diced pineapple
1/2 cup of pineapple juice
1/2 cup of sugar in the raw
4 whole cloves
3 small cinnamon sticks
3 whole allspice berries
1 whole star anise broken in half
1 orange rind
1 teaspoon of salt
Serves 6
Directions
Peel and core the pineapple and dice into small pieces (roughly 1/4 inch by 1/4 inch).
Stud the orange peel with 4 cloves
Put the cinnamon sticks, allspice berries and half of the whole star anise into a coffee filter then tie like a tea bag.
In a 2-quart microwaveable bowl add the spice packet, clove-studded orange rind and pineapple juice first, then add the rest of the ingredients. Adding ingredients in this order will ensure spices get infused into the sauce properly.
Microwave all the ingredients uncovered, on high for about 2-3 minutes, keeping an eye on it because it can bubble over.
After 3 minutes take the bowl out of the microwave and gently stir, then put the bowl back in for 3 more minutes or until the cranberries start to burst.
Let the sauce set in the refrigerator for an hour or until completely chilled.
Remove the spice packet and studded orange rind (make sure to fish out any cloves that might have fallen off).
Serve chilled or warm if preferred.
Q&A with the Chef
What do you do, and what is your typical style of cooking?
I am the executive chef at Eloise in El Paso, Texas. I am trained in classical French cuisine and love to reinvent the classics -- and also introduce them to my generation to ensure that we have an appreciation for the dishes that made restaurants into what they are now.
Some chefs look down on cooking with a microwave, but what are your thoughts?
Besides being a convenient way to get a hot meal on the go, cooking fruits and vegetables in the microwave helps retain more of its nutritional value because of the quick cook time.
How were you inspired to create this recipe, and what made you use a microwave?
This recipe is adapted from one of my mom's recipes. When I think about holiday cooking, I remember the sweet aromas of cinnamon and all-spice filling the entire house, and I feel that this recipe achieves that holiday feel. Even if you aren't the best holiday cook in your family or don’t own the fanciest kitchen equipment, you can still make it feel like the holidays in your kitchen and impress your guests with a side dish that they'll look forward to next year.
What about this recipe makes it work in the microwave?
The microwave makes this recipe work because the fast-cook time helps the fresh cranberries maintain their shape and helps improve flavor. Guests will think that you're an extremely skilled cook even though it's an easy recipe to execute.
What other kinds of dishes might work well in a microwave?
Vegetable dishes work well in the microwave because they maintain shape and color. You also have more control of the cooking process and can pinpoint the texture you are looking for. I have cooked everything from green beans in the microwave to Brussels sprouts to mashed potatoes as well.
Ingredients
1/2 cup sugar
1/2 teaspoons salt
2 tablespoons cornstarch
2 1/2 cups whole milk
4 large egg yolks
2 teaspoons vanilla extract
1 room temperature pound cake (store bought or homemade), cut into 1/2-inch slices and air dry at room temperature a few hours
1/2 cup cream sherry
2 cups fresh raspberries, or one 12-ounce package unsweetened frozen raspberries
For serving:
1 cup cold heavy cream whipped to soft peaks with 3 tablespoons of sugar
1/2 cup coarsely broken amaretti cookies
1/2 cup toasted slivered almonds
Cookware: 2-quart Pyrex measuring cup or batter bowl
Total cook time: 5 to 7 minutes
Standing time: About 2 hours
Serves 8 to 10
Directions
In the 2-quart measuring cup, combine the sugar, salt, and cornstarch. Whisk in the cold milk in a stream to prevent lumps. Microwave on medium, uncovered, for 4 to 6 minutes, stirring with a whisk every 1 1/2 to 2 minutes, until very hot, smooth, thickened and clear. Do not boil and do not hurry.
Beat the egg yolks in a small bowl and quickly stir a small amount of the hot custard. Pour the tempered egg yolks back into the glass measure, whisking constantly.
Microwave on medium, uncovered, 1 to 2 minutes, stirring once after 30 seconds, until smooth and thick. Custard will have a soft center area about the size of a quarter; it will set upon standing. Remove from oven and whisk in the vanilla. Whisk briskly to cool down. Pour into a bowl; place plastic wrap directly on surface of sauce so that it is in contact with the custard (this will prevent it getting a skin) and refrigerate until cool, about 2 hours. Makes about 3 1/2 cups.
Cut cake into 1 1/4-inch thick fingers and completely line a deep glass bowl, fitting the pound cake in a single layer so there are no large spaces. Drizzle with the sherry and spoon in a layer of berries. Repeat a second layer of cake, sherry and berries, ending with a layer of cake. Press down gently over the top.
Pour all of the cooled custard over the cake layers; it will soak into the cake and down the sides of the bowl. Cover and refrigerate until well chilled, 6 hours or as long as overnight.
Before serving, cover the top with a thick layer of the whipped cream and sprinkle with the amaretti crumbs and toasted almonds. Simply cover the dish with clear plastic wrap and refrigerate up to a few hours until serving.
Q&A with the Chef
What do you do, and what is your typical style of cooking?
Personally I do very simple home cooking -- Mediterranean style -- with lots of vegetables, olive oil, risotto and quinoa … protein, cooked [vegetables] and salad for most meals. I love soups and make many kinds. I use the microwave for cooking vegetables while the saute pan is sizzling. I do fish in the microwave. I am not a fancy cook, as you can tell from my books. Uncomplicated, time efficient, tasty.
Some chefs look down on cooking with a microwave, but what are your thoughts?
Love cooking in a microwave. It got a bad reputation from lower level restaurants -- not cooking from scratch and reheating frozen foods for customers. Many chefs use it for various simple tasks.
How were you inspired to create this recipe, and what made you use a microwave?
I learned the microwave custard for the trifle from my mother. We moved into a home in the 1980s and it had a built-in microwave. She got the manual out and started experimenting with custard, vegetables and cereals. We still make these recipes today. For Christmas, she bought me a microwave, about 1984. Have never been without one since.
What about this recipe makes it work in the microwave?
There are certain foods that work exceptionally well in the microwave, and egg custards are one of those.
What other kinds of dishes might work well in a microwave?
Fish in parchment, small batch soups, cereal bowl egg frittata (remarkable) and all types of sweet and savory sauces. Excellent small-batch jams.
Ingredients
2 large Russet potatoes (about 1 1/4 pounds), peeled, thinly sliced
Salt and freshly ground black pepper, to taste
1 tablespoon minced fresh thyme
2 large orange-flesh sweet potatoes or yams (about 1 pound), peeled, thinly sliced
1 1/2 cups heavy cream
1 cup (4 ounces) grated Swiss cheese
1/3 cup grated Parmesan cheese
Cookware: 8-inch, square Pyrex baking dish
Cook time: 15 to 18 minutes
Standing time: 10 minutes
Serves 6
Directions
In the 8-inch square baking dish, arrange half of Russet potatoes. Season lightly with salt and pepper. Sprinkle with 1/4 of the thyme. Make the next layer with half of the sweet potatoes. Season again and sprinkle with 1/4 of the thyme. Repeat, layering the remaining Russets and sweet potatoes, seasoning each layer with salt, pepper and 1/4 of thyme. Pour cream over. Partially cover tightly with plastic wrap.
Microwave on high until potatoes are tender, testing with the tip of a knife, 16 to 18 minutes. Sprinkle the top with the Swiss and Parmesan cheeses.
Microwave, uncovered, on high until cheeses are melted and bubbly, 2 to 3 minutes.
Remove from the oven and let rest for 10 minutes, then serve, cutting servings out of the pan.
Q&A with the Chef
What do you do, and what is your typical style of cooking?
Personally I do very simple home cooking -- Mediterranean style -- with lots of vegetables, olive oil, risotto and quinoa … protein, cooked [vegetables] and salad for most meals. I love soups and make many kinds. I use the microwave for cooking vegetables while the saute pan is sizzling. I do fish in the microwave. I am not a fancy cook, as you can tell from my books. Uncomplicated, time efficient, tasty.
Some chefs look down on cooking with a microwave, but what are your thoughts?
Love cooking in a microwave. It got a bad reputation from lower level restaurants -- not cooking from scratch and reheating frozen foods for customers. Many chefs use it for various simple tasks.
How were you inspired to create this recipe, and what made you use a microwave?
I learned the microwave custard for the trifle from my mother. We moved into a home in the 1980s and it had a built-in microwave. She got the manual out and started experimenting with custard, vegetables and cereals. We still make these recipes today. For Christmas, she bought me a microwave, about 1984. Have never been without one since.
What about this recipe makes it work in the microwave?
There are certain foods that work exceptionally well in the microwave, and egg custards are one of those.
What other kinds of dishes might work well in a microwave?
Fish in parchment, small batch soups, cereal bowl egg frittata (remarkable) and all types of sweet and savory sauces. Excellent small-batch jams.
Ingredients
1 cup celery root (thinly peeled, about 1/2 inch length)
1 cup carrots (rough chopped to about 1/2 inch square)
2 cups cauliflower (rough chopped to about 1/2 inch square)
1/2 cup heavy cream
1/4 pound Gruyere cheese
1 teaspoon onion powder
1 teaspoon garlic powder
1 teaspoon curry powder
Finely chopped garlic chives
Salt and pepper to taste
Directions
Place all ingredients (except cheese and chives) in a casserole pan and toss well. Wrap with plastic wrap, put it in the microwave and cook for 5 minutes. Remove from microwave, using a pair of gloves. Shake the content to mix well.
Put it back in the microwave and let cook for another 5 minutes.
Remove plastic wrap. Use a slotted spoon to mash the vegetables. Grate the Gruyere cheese on top, sprinkle with some chili flakes, chives and serve immediately.
Q&A with the Chef
Tell us about yourself
What do you do, and what is your typical style of cooking?
I am a chef and owner based in New York City. Currently I oversee WONG Restaurant and Café Asean, both in Greenwich Village. I specialize in Asian cooking, with emphasis on South East Asian.
Some chefs look down on cooking with a microwave, but what are your thoughts?
I have never used microwave to cook an entire dish, but different strokes for different folks. Some people have very busy lifestyle, working and juggling between many chores. I would say, do what suits you the best.
How were you inspired to create this recipe, and what made you use a microwave?
I like mac and cheese a great deal. I’m also a big fan of vegetables. With this dish, you get the best of both worlds -- lots of yummy and healthy seasonal vegetables with minimal carbohydrates. I used microwave because I want to create a dish for my nephew (who lives in a university dorm) to make.
What about this recipe makes it work in the microwave?
The dish works using a microwave because the liquid (cream) in it and the vegetables are chopped pretty small. Thus, cut down the cooking time.
What other kinds of dishes might work well in a microwave?
Marinated protein, like chicken or pork with vegetables might work well.


MARY REILLY A film review by Steve Rhodes Copyright 1996 Steve Rhodes
RATING (0 TO ****): 1/2
Although MARY REILLY is being billed as a remake of the Dr. Jekyll and Mr. Hyde story, I believe it is actually a remake of MY FAIR LADY. Off screen we have the director (Stephen Frears) playing the Professor Higgins role and the producers (Norma Heyman, Nancy Graham Tanen, and Ned Tanen) playing Colonel Pickering. I can easily imagine Professor Higgins bolding proclaiming that he could take a famous story full of action and imagination, populate it with megastars, turn it into a colossal bore and yet so stun the audience with his audacity that no one would leave. Everyone would know the story and the stars so they would wait until the last moment to realize that he had transformed a prince of a movie into a guttersnipe and that nothing of interest was ever going to happen in the film. As the audience leaves dazed and bewildered, Colonel Pickering must have been singing, "You've done it, you've done it, I can't believe you've done it."
The MARY REILLY on the screen is a remake of Dr. Jekyll and Mr. Hyde told from the view of a maid named Mary Reilly (Julia Roberts). The brilliant actor John Malkovich is Dr. Jekyll as well as his alter ego Mr. Hyde. The only other important part in the movie is Glenn Close badly miscast as the madam of the local bordello where Mr. Hyde gets into trouble. The movie starts off promisingly enough with realistic gas and candle lit photography (Philippe Rousselot). This, however, rapidly degenerates into a movie so dark and with such low contrast that your eyes, when you can keep them awake, will literally hurt from squinting so much trying to make out the action, or usually lack thereof, on the screen. The movie is filmed in Edinburgh, but it is so dark, you'd never know it.
At the thirty minute point, almost nothing had happened save an ineffective flashback to an abusive period in Mary's childhood. Most of the time, during this and all parts of the movie, is devoted to atmospheric scenes of one cast member or another slowly walking through rooms where little happens. It is hard to believe that this movie shares the same lineage with the numerous other Dr. Jekyll and Mr. Hyde pictures.
The screenwriter (Christopher Hampton) is at a loss at how to engage the audience. In a failed attempt to solve this problem he comes up with lots of gratuitous violence and major amounts of human and animal blood. In a typical scene, there is a disemboweled rat laying on a bed in a room with blood splattered everywhere. In another, we have a medical operation complete with hacksaw. Actually, my distaste for the movie comes not from disliking these scenes, but from being put to sleep by the boredom of the show.
In the more minor complain department, when Dr. Jekyll becomes Mr. Hyde, I did not buy his short curly hair getting longer and straight and his goatee disappearing, and I certainly did not buy the transformation scene lifted straight out of ALIEN. For some reason Dr. Jekyll looks a lot like Ethan Hawke in BEFORE SUNRISE. In Christopher Hampton's MARY REILLY, Dr. Jekyll is a meek and melancholic man, and Mr. Hyde is a handsome and self-assured playboy. Sure. The sparse sets (Stuart Craig) provided nothing of visual interest to engage the viewer.
The acting by the three great stars is an embarrassment. Glenn Close has no idea of what to do with her role and plays it like a stone. Julia Roberts seems to think that so long as she is made up to appear unattractive, and she grimaces a lot, she has achieved great art. Last, and certainly least, is John Malkovich's disappointing performance. I would list him close to the top of the best actors working today. In good shows and bad, I have been nothing less than in awe of his work until now. Somehow, Professor Higgins, I mean Stephen Frears manages to get an uninteresting performance out of Malkovich. This is a miracle I did not think possible.
MARY REILLY runs way too long at 1:58 thanks to an editor (Lesley Walker) asleep at the editing table. Many scenes of no interest in the less are left in the final cut. Although there is no sex, nudity, or bad language, there is so much gore that the movie is correctly rated R. Although it might bore them to death, I do not think the movie would be bad for teenagers. On the other hand, I had trouble staying awake, and I wish I would have walked out so I do not recommend this extremely s-l-o-w film to anyone. Rent any of the previous versions instead. I give the movie 1/2 of a * only because I've seen worse.
**** = One of the top few films of this or any year. A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show.  Totally unbearable.
REVIEW WRITTEN ON: February 23, 1996
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


I am a smart working , self motivated and aspiring woman.I am interested in making my mark in the betterment of society through the skills I have acquired while working with various teams ands individuals .
-Designed an optimized issue based process for raw materials and packaging products to detect losses and material tracking.
-Documentation compliance for material management standards for the EOHS audit.
AT and T projects and handling U1 level modules.
CGPA: 8.75 current
CGPA: 7.56
Data Science | Artificial Intelligence | Blockchain | Machine Learning |
Travelling | Photography | Yoga & Zumba | Ted Talks |


Vision
This is the most amazing project description you have ever read. It's so good you're wondering why you haven't read it before. The vision and vistas of wonder it invokes inspire you to do the things you have always wanted to do.
This the second paragraph, is a pretty straight forward summary of the everything from the previous.
Expertise
This is the most amazing project description you have ever read. It's so good you're wondering why you haven't read it before. The vision and vistas of wonder it invokes inspire you to do the things you have always wanted to do.
This the second paragraph, is a pretty straight forward summary of the everything from the previous.
Mobile
I like food. Breakfast is the most important meal of the day.
I really like noodles. Soba is my favorite.
Experience
This is the most amazing project description you have ever read. It's so good you're wondering why you haven't read it before. The vision and vistas of wonder it invokes inspire you to do the things you have always wanted to do.
This the second paragraph, is a pretty straight forward summary of the everything from the previous.
Interests
This is the most amazing project description you have ever read. It's so good you're wondering why you haven't read it before. The vision and vistas of wonder it invokes inspire you to do the things you have always wanted to do.
This the second paragraph, is a pretty straight forward summary of the everything from the previous.


Thanks for signing up for the JavaScript New Zealand Slack
you'll recieve an email soon (with 24 hours we hope) with details of how to access the slack.
If you don't recieve anything, please don't hesitate to contact<EMAIL_ADDRESS>to follow up.


2.2 Navbar & Navs
1: Utilities
1.1 Basic Typography
1.2 Text Alignment & Display
1.3 Floats & Position
1.4 Colors & Background
1.5 Spacing
1.6 Sizing
1.7 Breakpoints
2: CSS Components
2.1 Buttons
2.2 Navbar
2.3 List Groups & Badges
2.4 Forms
2.5 Input Groups
2.6 Alerts & Progress
2.7 Tables & Pagination
2.8 Cards
2.9 Media Objects
2.10 Jumbotron
3: Grid & Flexbox
3.1 Grid System
3.2 Grid Alignment
3.3 Flexbox
3.4 Auto Margins & Wrap
4: JavaScript Widgets
4.1 Carousel
4.2 Collapse
4.3 Tooltips
4.4 Popovers
4.5 Modals
4.6 ScrollSpy
Navbar
Home
About
Services
Contact
Navbar
Home
About
Services
Contact
Navbar
Home
About
Services
Contact
Search
Navbar
Home
About
Dropdown
Link 1
Link 2
Link 3
Services
Contact
Navbar
Home
About
Services
Contact
Navbar
Home
About
Services
Contact
Navbar
Home
About
Services
Contact
Navbar Fixed Bottom
Navbar Sticky Top
Link 1
Link 2
Link 3
Link 4
Link 1
Link 2
Link 3
Link 4
Link 1
Link 2
Link 3
Link 4
Link 1
Link 2
Link 3
Link 4
Link 1
Link 2
Link 3
Link 4


Right at that moment .
The light within the ant queen's chamber suddenly dimmed and brightened back up over and over again, as if it was being illuminated by a dying fluorescent light bulb
Jin-Woo raised his head . The large ball of light that Choi Jong-In floated up on the ceiling to help with the ant queen raid was flickering noticeably now
'Is the magic about to come undone?'.
At first, he absentmindedly thought like that
However, it hadn't even an hour since the Korean Hunters stepped foot inside this chamber . So, how could the spell be dissipating already? Not only that, wasn't it a spell cast by a rank S Mage so he and his colleagues could safely carry out this potentially deadly raid?.
There was no way such a thing could be true . In that case .
'… Could it be?'.
Could the Shadow Extraction he performed on the mutated ant be the cause? Just as this thought entered his mind .
Paht-!.
The surroundings became completely dark
He'd still be able to see around him thanks to his Perception Stat if there had been a sliver, a trace of light coming in from somewhere . But this all-encompassing darkness didn't even permit that
It must've been a second or two later
The darkness lingered on only for a briefest of brief moments before receding away – to reveal the mutated ant standing right in front of his eyes
'… !!'.
Jin-Woo flinched grandly and took a step back
If it weren't for the System message saying "Shadow Extraction was a success" appearing almost at the same time, he might have lashed out while thinking that the ant had come back to life or some such
"Whew That surprised me . ".
Jin-Woo spat out a sigh of relief
Now that he calmly took another look at the creature from a step away, it sure did look a bit different from when it was still alive . From its body, streams of black smoke were continuously rising up
'So, this is that ant monster's shadow '.
He couldn't tell just how much of its original Stats had changed, but at least, the ominous aura it gave off seemed to have gone up a few levels . Jin-Woo stood before the ant's shadow . He could clearly feel its enormous magic energy reserve
The mutated ant becoming his soldier finally felt real to him now that he could stand right before the creature and sense its magical energy like this
'Hmm '.
He wanted to remain calm, but the corners of his lips continued to curl upwards
Ba-dump, ba-dump, ba-dump!.
His heart was pounding away madly like a child who got his hands on a toy he so badly wished to own
Soon, the shadow's information popped up in his view .  Lv . 1].
Commander grade.
Jin-Woo began clenching his fists tightly after confirming its grade . A new one just made its appearance . Which could only mean this guy possessed the kind of power that was on another realm compared to his other soldiers
'Well, that's obvious when considering its original abilities while it was still alive '.
Just the name of the new grade alone implied that this soldier was not your average, common soldier . This was the fruit of his labour for having worked so hard to own this shadow . It was then
Shu-wook
The shadow knelt down after meeting his gaze with Jin-Woo's . Without a doubt, the 'absolute loyalty' that affected all the other Shadow Soldiers also applied to this guy, as well
'Nice . '.
Next stop, the ant queen
Jin-Woo formed a satisfied smile and turned around . But, then .
"Oh, my king ".
Jin-Woo's steps came to an abrupt halt after he heard that voice coming from behind him . He never thought that he'd got scared that easily, but at least in this moment, he did feel like his heart had taken a nasty tumble down to the pit of his stomach
… . Could it have been auditory hallucination?.
Jin-Woo looked behind him . Even without doing that, he could tell with his acute senses that there was nothing there besides the ant's shadow . That shadow was still kneeling on the ground, his head deeply bowed
'… '.
Jin-Woo studied the shadow as he slowly turned around
"Was it you?".
The shadow opened its mouth as if he was waiting for this moment
"Please grant me . a name . ".
Although it sounded a little inarticulate, the ant's shadow was definitely speaking back to him
***.
The helicopter containing the Hunters headed straight back to the city of Seoul
Tatatatatata-!.
The Association President Goh Gun-Hui had been anxiously waiting for their arrival, so when the helicopter landed on the landing pad located on the Hunters Association, he quickly went over personally and opened the vehicle's door
"How is Cha Hae-In Hunter-nim's condition?".
The gazes of the Hunters all shifted towards where Cha Hae-In was . She still hadn't recovered her consciousness yet, and was lying on top of a blanket laid out on the helicopter's floor
"Hurry! This way!".
Two rank A Healers, waiting just outside the landing pad, hurriedly sprinted forward as soon as Goh Gun-Hui issued his order . But, when they began checking out her condition,.
" . ??".
" . ??".
They exchanged puzzled glances with each other
"What's going on?".
When Goh Gun-Hui asked them, they answered almost at the same time, making it hard to tell who was the first to open his mouth
"She's not injured anywhere . ".
"She's perfectly normal . ".
"Are you saying that there's no need to treat Hunter Cha now?".
The Healers nodded their heads . They also explained themselves a bit further
"Not sure who did it, but truly incredible healing magic was cast on her . Because of that, we don't need to do anything here, sir . ".
Goh Gun-Hui was feeling genuinely flustered now
When he last confirmed Cha Hae-In's condition through the live broadcast, her injuries looked quite severe . And also from a report he received, her condition was so bad that she failed to regain her consciousness until now
That was why he had urgently searched for and found a couple of rank A Healers, and had them on standby here . But now
'There's no need to heal her?'.
Goh Gun-Hui swept his gaze all over the unmoving Cha Hae-In . For sure, her complexion didn't look so bad . It was almost as if she was fast asleep
Just what transpired after the camera was turned off?.
Goh Gun-Hui tilted his head in confusion
'They didn't have a Healer over there, too '.
After all, their sole Healer, Min Byung-Gu, met with a grisly fate, didn't he?.
Goh Gun-Hui asked the team leader, Mah Dong-Wook
"Just what happened back there, Hunter Mah?".
"That is ".
As Mah Dong-Wook fell into a dilemma, wondering how he should go about explain this situation, one of the Healers hurriedly shouted out
"She's waking up!".
Everyone's attention was focused on her in an instant . Goh Gun-Hui carefully sat down near her head and asked her
"Cha Hunter-nim, can you hear me?".

"You're inside the helicopter . Currently, it's landed on the Hunters Association, and we are planning to escort you to the hospital very soon . ".
"A hospital ".
Cha Hae-In briefly looked around her, before taking a deep breath . The scent of Hunter Seong Jin-Woo had permeated throughout her body . She stared at Goh Gun-Hui with unfocused eyes
" Did Seong Jin-Woo Hunter-nim show up there?".
She was supposed to be unconscious all this time, so when she mentioned Seong Jin-Woo's name, other Hunters were all inwardly taken by surprise .  '.
Cha Hae-In had briefly woken up, but she fell back into a deep slumber again . After confirming that her breathing was stable, Goh Gun-Hui ordered his subordinates to take her to the hospital, so she could get some much-needed rest
Only then did he notice that Hunter Seong Jin-Woo wasn't in the helicopter . He shifted his gaze back to Mah Dong-Wook
"By the way, where is Seong Jin-Woo Hunter-nim?".
Having heard that question from the side, Baek Yun-Ho quickly butted in to provide an answer
"Hunter Seong Jin-Woo, he . chose to stay behind . ".

Goh Gun-Hui formed an expression of someone who couldn't understand . As far as he knew, this helicopter fitted with the magic energy engine flew non-stop from Jeju Island to get to this place
It didn't make any pitstops in the middle of the trip, so exactly where did that man chose to stay behind? Goh Gun-Hui asked again
"Where did he choose to stay behind?".
"He told me that he still had business to take care of on Jeju Island . ".
" Are you saying that he didn't even get on the helicopter in the first place?".
While Goh Gun-Hui asked, sounding quite flustered, Baek Yun-Ho smiled sheepishly and nodded his head
"Yes . ".
***.
"How is it that you're able to talk?".
"I just can . ".
The ant's shadow kept answering Jin-Woo's questions, but regretfully, none of them were much of a help
The ant monster could talk as a shadow because it knew how to talk when it was still alive – could that be it?.
' . No, wait . '.
Jin-Woo shook his head
Before he was turned into the now-trustworthy knight 'Iron', the former Hunter Kim Cheol not only knew how to speak, but he was actually a human being in the first place . Even then, having a conversation with Iron was still impossible
It was the same story with Min Byung-Gu . He was unable to say a single word before he returned to the void .
There was only one obvious difference between this guy and those who couldn't talk
'Grades '.
Unlike his other soldiers with grades of 'Elite Knight' or simply 'Knight', this guy came with a new grade called 'Commander'
It was possible that one would be able to talk after reaching a certain grade . As he didn't have any solid proof yet, this was the most plausible explanation he could think of
'That means, my boys will all start talking as soon as they level up high enough '.
It seemed that yet another reason was added to the list of 'why the levels of soldiers must be raised up higher' . Jin-Woo thought for a little while, before throwing that one question to the ant's shadow, the one he always wanted to ask his soldiers before
"I'm the one who killed you . ".
" . ".
"Yet, you still wish to serve me?".
"I . ".
A completely unexpected reply came from the ant's shadow
"I didn't die, but . through the power of my liege . I am reborn . ".
The shadow then raised his head . And while meeting Jin-Woo's gaze, it continued on
"Within me . elation . overflows . I shall follow my liege . for eternity . ".
Ba-dump!.
Why did it happen? Was it because he felt the shadow's true feelings?.
Jin-Woo's heart pounded powerfully right at that moment when the ant's shadow swore his eternal loyalty . He placed his hand on his chest to somehow calm his wildly beating heart . It quickly regained its usual calmness
It was then, the ant's shadow lowered his head again and pleaded with Jin-Woo once more
"Oh, my king . Please, grant me . a name ".
The talk had reverted back to the beginning
This sure came across as a rather different experience to Jin-Woo, now that he was hearing the plea of the subject directly from itself, rather than from some prompts of the System
A name, a name
From the get-go, he didn't pay all that much attention to the naming of his soldiers, but .
'But even then, it's a bit too much to call it ant this and ant that, right?'.
There were already hundreds of similar ants like him now in Jin-Woo's army, so it wouldn't do for a Knight Commander to be saddled with a name like 'Ant', now would it?.
That was why
Jin-Woo pondered for a little while, before a smirk formed on his face
" Beru . ".
He recalled the name of an author who became famous through the novel called 'Ants' . (TL note at the end).
He readily made up his mind after only thinking about it for a very short time
"You name will now be Beru . ".
After Jin-Woo granted him the new name, Beru lowered his already lowered head even further to the ground as if he was truly moved by the gesture
"I am grateful . my liege . ".
The information floating above Beru's head had already been amended by then
[Beru Lv . 1].
Commander grade.
'It's done . '.
Feeling genuinely pleased with his choice of the name, Jin-Woo turned towards the queen's corpse . Now, it really was the turn of the queen to get her shadow extracted
Maybe he got a confidence boost from successfully transforming Beru into his Shadow Soldier – because, the queen's Shadow Extraction turned out to be a rather painless affair
"Rise up . ".
Kiiaaahhhhk-!.

Jin-Woo expressed his delight at the continuous successful extractions, but then, began tilting his head after discovering something rather odd
'What's this?'.
His connections to the Shadow Soldiers who were originally ant monsters suddenly grew fainter after the queen's shadow materialised . It almost felt as if a pale grey fog was covering up the threads connecting them
"Beru . ".
Even before he finished calling it, Beru had already approached Jin-Woo's side
Step
If it weren't for his Perception Stat that had climbed past the 200 mark, Jin-Woo would never have followed that movement properly with his naked eyes alone . Such a creature was one of his loyal soldiers now . Jin-Woo felt his confidence soaring up even higher from that realisation
"You know what's going on here?".
Jin-Woo asked while pointing at the queen's shadow with his chin . Beru knew everything there was to know when it came to the inner workings of the ant army so it made sense to ask him
He politely made his reply
"The ruling of the ant army . it's the queen's innate ability . ".
'Aha . '.
So, did that mean the authority to control the army of ant shadows would automatically be handed over to the queen?.
'But, that is a bit '.
Even though the queen was subservient to him, he thought that it wasn't okay to entrust the control of all of his ant soldiers . Because, he'd have to issue orders through the queen every single time
Jin-Woo scratched his chin for a bit, before asking Beru again
"Okay, what about the reason for the decrease in the queen's magic energy?".
"Most of the queen's magic energy . is for propagation . Propagation is impossible without a body, that is why . ".
Jin-Woo cut him off there
"That's why it only has half of its original magic power?".
"That is correct . my liege . ".
By piecing together what Beru had said, the queen didn't seem to have much of a use for Jin-Woo . After a short deliberation later, he decided to cancel the summoning altogether . He didn't have any reason whatsoever to keep around a subordinate who had no use but only continued to drain his limited resources, now did he?.
Kiiieeehhhk-!.
The queen's shadow instantly became smoke and scattered in the air
[Number of stored shadows: 570/570].
His shadow was now packed to the brim with soldiers, so .
'… . So, the only things remaining here are the magic crystals . '.
Jin-Woo took a look around him . Top grade magic crystals only seen within rank S Gates were rolling on the floor like common pebbles
Since there was no one watching here, and he was the one who killed the majority of them, he could have swept them all up if he wanted to do so . However, Jin-Woo gave up on that idea
He heard that these crystals would be used to compensate the victims, as well as to rebuild the Jeju Island to its former glory . Jin-Woo wasn't exactly hurting for cash, so he wouldn't covet after other people's stuff
'Still, I'm sure no one will mind me taking this one . '.
Jin-Woo took out the magic crystal from Beru's original body . It was a beautiful pitch-black magic crystal that resembled a gemstone . After pocketing the magic crystal, Jin-Woo summoned out Kaisel
Kiiaaahjk!.
Kaisel flapped its wings and finished getting ready to fly in an instant . Jin-Woo lightly jumped on his back and took one last look at the queen's chamber
The place once filled with unbridled chaos was now enveloped in this eerie silence
'… '.
The Jeju Island expedition was now over
Jin-Woo's gaze shifted away from the interior of the chamber and towards the exit
"To home . ".
And then, Kaisel powerfully flew up in the air
< Chapter 124 > Fin


5. Containers¶
There are many ways to put BlueBanquise stack inside containers. The stack was designed to be able to spread services over multiple management nodes, and so also run in containers or VMs.
A very simple way is described here, but not designed for production. However, this can be used as a starting point.
Podman was chosen as containers tool, as it allows simple systemd usage inside containers without needed additional tuning or unsecure privileged containers.
5.1. Podman¶
5.1.1. Install podman and grab base image¶
Install podman
dnf config-manager --set-enabled PowerTools
dnf install -y @container-tools
Enable systemd in Podman
setsebool -P container_manage_cgroup true
Grab latest centos image:
podman pull centos:latest
5.1.2. Generic ansible ready image¶
Create a generic image, that contains python3 only (centos W**ith **P**ython**3).
First create centoswp3 dir:
mkdir /root/centoswp3
cd /root/centoswp3
Create file Dockerfile with the following content:
FROM centos
RUN dnf -y install python3; dnf clean all;
CMD [ "/sbin/init" ]
And build the new image, and name it centoswp3:
podman build --tag centos:centoswp3 -f ./Dockerfile
Once done, check your new source image is ready:
[root@pc-200 centoswp3]# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/centos centoswp3 aa79704b7475 4 seconds ago 245 MB
docker.io/library/centos latest 831691599b88 3 weeks ago 223 MB
[root@pc-200 centoswp3]#
5.1.3. Example: repositories container¶
Now start a container, called repositories. There are two ways:
Unsecure but simpler:
[root@pc-200 centoswp3]# podman run -d --net=host --name repositories centos:centoswp3
225dd7fd411929b31d598c832d945b841c52f4a100ee1913a768249c8501a26e
[root@pc-200 centoswp3]#
More secure, but less simple (need to specify ports to bind):
[root@pc-200 ~]# podman run -d -p 80:80 --name repositories centos:centoswp3
571eb6e50217d8bf6953353350587b37da0e783eb4b2c0893738cfd44f7db8a0
[root@pc-200 ~]#
Both ways work.
Note
80:80 means port 80 on the main host is mapped to port 80 of the container. If you want to use a different port on the host, you can select any available port. For example, 8080:80 would map the port 8080 of the host to the port 80 of the container.
Check the container is running:
[root@pc-200 centoswp3]# podman ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
225dd7fd4119 localhost/centos:centoswp3 /sbin/init 4 seconds ago Up 3 seconds ago repositories
[root@pc-200 centoswp3]#
Now create a simple playbook my_playbook.yml, that contains the following:
- hosts: repositories
connection: podman
tasks:
- name: "package █ Install httpd packages"
package:
name: httpd
state: present
tags:
- package
- name: "service █ Manage httpd services state"
service:
name: httpd
enabled: yes
state: started
tags:
- service
Note the connection type, and that we specified the name of the target host, here the container name.
Now create a basic Ansible inventory with our container as an host:
mkdir my_inventory
And create my_inventory/my_containers with the following content:
repositories ansible_connection=podman ansible_python_interpreter=/usr/bin/python3
Now simply use ansible playbook to push configuration:
[root@pc-200 ~]# ansible-playbook my_playbook.yml -i my_inventory
PLAY [repositories] ************************************************************************************************
TASK [Gathering Facts] *********************************************************************************************
ok: [repositories]
TASK [package █ Install httpd packages] ****************************************************************************
changed: [repositories]
TASK [service █ Manage httpd services state] ***********************************************************************
changed: [repositories]
PLAY RECAP *********************************************************************************************************
repositories : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
[root@pc-200 ~]#
And check the httpd server from the container is running.
Here host is listening on <IP_ADDRESS>:
[root@pc-200 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet <IP_ADDRESS>/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic noprefixroute eth1
valid_lft 64092sec preferred_lft 64092sec
[root@pc-200 ~]#
Use a web browser to check http server is running (you will end up in apache test page).


University of California, Davis
Dartmouth College
University of California, Berkeley
University of Arizona - Tuscon
University of Michigan
Wellesley College
Brown University
Stanford University
"The best way to predict the future is to create it." - Abraham Lincoln


GPU SoftImpute
Links
- Our Github page with GPU-accelerated version of SoftImpute.
- Accelerated proximal gradient for SoftImpute paper by Quanming Yao, James T. Kwok.
- Matlab implementation by the same folks.
- Original SoftImpute paper by Mazumder, Hastie, Tibshirani.
Introduction
We are interested in GPU-accelerating the SoftImpute algorithm from Hastie et al’s paper. This is a SVD-based collaborative filtering algorithm.
We use randomized SVD as it seems to work better with GPUs. We use the accelerated proximal gradient method also mentioned in Quanming Yao et al’s paper. See below for references.
We compare these GPU-accelerated versions against the CPU version. We see that there is at least a 10X speedup. We also compare against a simple SGD implementation with a bit of tuning. All CPU implmentations, SoftImpute or SGD, use Eigen or BLAS. They are pretty efficient, to be fair.
For the data, currently we only have the MovieLens 20M dataset. We split the data into 5 parts and use one part for measuring the error. (There is no validation set but we hardly do any tuning anyway.)
The results seem to be that SGD is still faster, even when on single core.
Our CPU is a I7-6700K. Our GPU is a Titan-X with 12G RAM.
- The slowest is CPU-NoAcc which is the CPU version with un-accelerated proximal gradient.
- The next slowest is CPU-Acc which is the CPU version with accelerated proximal gradient.
- The GPU versions are all significantly faster, seemingly >10X. (We do have a fast GPU unfortunately.)
- However, SGD still seems to be the fastest.
The most tricky part of the GPU code is probably the evaluation of many short inner products. It seems to be the bottleneck, and we have to write a custom kernel to do that efficiently.


@(mytool:models.Tools, toolComs:List[Comments], toolReq: List[Request]) @main("Tool"){
Are you sure you want to delete this tool?
@mytool.description
Tool currently available
Tool is lent out
@c.body


TUULI MATTELMAKI
Unread
Referenced by Sanders (2014) detailing how design probes can serve as a means of dialogue with future users.


D Tabular Data
The following tables show the indicator values for the census tracts that are part of the three COO communities.
Vulnernability & Demographic Change Indicators
| VULNERABILITY | DEMOGRAPHIC CHANGE | |||||||
|---|---|---|---|---|---|---|---|---|
| POC '13-'17 | LOWED '13-'17 | LOWINC '11-'15 | RENTHH '13-'17 | HIGHED '07-'17 | MEDIANINC '07-'17 | WHITE '07-'17 | OWNHH '07-'17 | |
| Rainier Valley | ||||||||
| Tract 100.01 | 69% | 55% | 53% | 46% | +19%pts. | 32% | +11%pts. | +1%pts. |
| Tract 103 | 67% | 61% | 50% | 48% | +2%pts. | 26% | +7%pts. | +5%pts. |
| Tract 104.01 | 85% | 67% | 47% | 31% | +5%pts. | -6% | +2%pts. | +1%pts. |
| Tract 110.01 | 88% | 77% | 74% | 63% | +0%pts. | -36% | +2%pts. | -8%pts. |
| Tract 110.02 | 94% | 84% | 59% | 50% | -10%pts. | 1% | -1%pts. | +8%pts. |
| Tract 111.01 | 88% | 73% | 54% | 41% | +11%pts. | 1% | +2%pts. | +4%pts. |
| Tract 111.02 | 68% | 57% | 43% | 50% | +3%pts. | 7% | -9%pts. | -10%pts. |
| Tract 117 | 100% | 72% | 51% | 20% | +7%pts. | 39% | -8%pts. | +13%pts. |
| Tract 118 | 91% | 72% | 63% | 49% | +5%pts. | -2% | -9%pts. | +5%pts. |
| Tract 119 | 81% | 67% | 37% | 27% | +0%pts. | 8% | +5%pts. | -1%pts. |
| Seatac/Tukwila | ||||||||
| Tract 261 | 86% | 81% | 58% | 56% | -4%pts. | -14% | -6%pts. | -20%pts. |
| Tract 262 | 72% | 70% | 58% | 70% | +7%pts. | 17% | -4%pts. | -1%pts. |
| Tract 263 | 100% | 88% | 54% | 31% | -5%pts. | 13% | -39%pts. | +7%pts. |
| Tract 264 | 73% | 79% | 67% | 55% | +6%pts. | 10% | -7%pts. | +6%pts. |
| Tract 271 | 56% | 78% | 59% | 61% | +5%pts. | 4% | +13%pts. | -2%pts. |
| Tract 272 | 78% | 77% | 55% | 45% | +1%pts. | -8% | -24%pts. | -10%pts. |
| Tract 273 | 78% | 81% | 61% | 49% | +6%pts. | -3% | -16%pts. | +9%pts. |
| Tract 280 | 78% | 88% | 65% | 90% | +2%pts. | 18% | -25%pts. | -6%pts. |
| Tract 281 | 87% | 86% | 59% | 62% | +3%pts. | 26% | -2%pts. | -1%pts. |
| Tract 282 | 82% | 82% | 65% | 73% | 0%pts. | 4% | -20%pts. | -16%pts. |
| Tract 283 | 67% | 70% | 28% | 23% | +1%pts. | -9% | -10%pts. | 0%pts. |
| Tract 284.02 | 82% | 81% | 64% | 57% | +9%pts. | 0% | -9%pts. | -5%pts. |
| Tract 284.03 | 71% | 82% | 78% | 52% | +5%pts. | -18% | -19%pts. | -4%pts. |
| Tract 285 | 63% | 77% | 56% | 46% | +5%pts. | 25% | -26%pts. | +2%pts. |
| Tract 287 | 38% | 71% | 37% | 20% | +7%pts. | -6% | +0%pts. | -2%pts. |
| Tract 288.01 | 56% | 80% | 48% | 42% | +7%pts. | 4% | -2%pts. | -31%pts. |
| Tract 288.02 | 79% | 76% | 67% | 67% | +11%pts. | 9% | -5%pts. | -4%pts. |
| Tract 291.01 | 63% | 58% | 29% | 30% | +4%pts. | 1% | +14%pts. | -21%pts. |
| White Center | ||||||||
| Tract 265 | 88% | 88% | 76% | 74% | -1%pts. | -26% | -14%pts. | -17%pts. |
| Tract 266 | 67% | 70% | 46% | 32% | +12%pts. | 12% | -5%pts. | +15%pts. |
| Tract 267 | 44% | 62% | 44% | 36% | +8%pts. | 44% | 0%pts. | +3%pts. |
| Tract 268.01 | 82% | 85% | 65% | 59% | +6%pts. | 21% | -14%pts. | -7%pts. |
| Tract 268.02 | 69% | 81% | 67% | 47% | +3%pts. | 1% | +0%pts. | -12%pts. |
| Tract 270 | 55% | 78% | 47% | 34% | +4%pts. | 3% | +2%pts. | -5%pts. |
Housing Market Change Indicators
| HOUSING MARKET | ||||||
|---|---|---|---|---|---|---|
| RENTPRICE '13-'17 | HOMEVAL '18 | SALEPRICESQFT '18 | HOMEVALAPPR '10-'18 | SALEPRICESQFTAPPR '10-'18 | SALERATE '16-'18 | |
| Rainier Valley | ||||||
| Tract 100.01 | $900 | $185,000 | $398/sqft | 22% | 57% | 9% |
| Tract 103 | $1,100 | $150,000 | $473/sqft | 16% | 106% | 12% |
| Tract 104.01 | $1,100 | $151,000 | $368/sqft | 0% | 84% | 8% |
| Tract 110.01 | $600 | $148,000 | $286/sqft | -2% | 63% | 11% |
| Tract 110.02 | $1,000 | $148,000 | $304/sqft | -2% | 68% | 8% |
| Tract 111.01 | $1,100 | $144,000 | $381/sqft | 11% | 94% | 11% |
| Tract 111.02 | $1,000 | $286,000 | $354/sqft | 44% | 57% | 11% |
| Tract 117 | $900 | $135,000 | $285/sqft | -6% | 88% | 10% |
| Tract 118 | $900 | $133,000 | $313/sqft | 1% | 65% | 14% |
| Tract 119 | $1,100 | $114,000 | $304/sqft | -16% | 59% | 12% |
| Seatac/Tukwila | ||||||
| Tract 261 | $1,000 | $118,000 | $255/sqft | 7% | 62% | 12% |
| Tract 262 | $1,100 | $232,000 | $237/sqft | 68% | 35% | 9% |
| Tract 263 | $1,000 | $106,000 | $274/sqft | -9% | 83% | 12% |
| Tract 264 | $1,000 | $114,000 | $254/sqft | -5% | 73% | 10% |
| Tract 271 | $900 | $104,000 | $268/sqft | -13% | 58% | 12% |
| Tract 272 | $1,000 | $109,000 | $235/sqft | -9% | 94% | 12% |
| Tract 273 | $900 | $108,000 | $261/sqft | -10% | 86% | 12% |
| Tract 280 | $1,000 | $124,000 | $246/sqft | -11% | 120% | 13% |
| Tract 281 | $900 | $108,000 | $229/sqft | -11% | 60% | 10% |
| Tract 282 | $1,000 | $127,000 | $221/sqft | -16% | 80% | 12% |
| Tract 283 | $1,400 | $114,000 | $241/sqft | -34% | 83% | 11% |
| Tract 284.02 | $900 | $108,000 | $246/sqft | -32% | 70% | 11% |
| Tract 284.03 | $800 | $113,000 | $270/sqft | -28% | 52% | 10% |
| Tract 285 | $1,000 | $138,000 | $255/sqft | -14% | 44% | 12% |
| Tract 287 | $1,200 | $108,000 | $247/sqft | -13% | 42% | 11% |
| Tract 288.01 | $1,200 | $82,000 | $248/sqft | -22% | 75% | 12% |
| Tract 288.02 | $1,100 | $140,500 | $247/sqft | -18% | 55% | 11% |
| Tract 291.01 | $1,300 | $89,000 | $258/sqft | -16% | 100% | 13% |
| White Center | ||||||
| Tract 265 | $500 | $102,000 | $312/sqft | -11% | 138% | 16% |
| Tract 266 | $1,100 | $113,000 | $297/sqft | 4% | 65% | 14% |
| Tract 267 | $900 | $138,000 | $314/sqft | 27% | 58% | 11% |
| Tract 268.01 | $1,000 | $102,000 | $302/sqft | -11% | 47% | 14% |
| Tract 268.02 | $900 | $119,000 | $269/sqft | 4% | 51% | 14% |
| Tract 270 | $1,000 | $113,000 | $251/sqft | 16% | 74% | 12% |
For the complete data set, please download the research compendium: https://doi.org/10.17605/OSF.IO/SJ7N9


Recent activity:
- An improvement in startup time on Mac Leopard of around ~16% (aka: Very Large) was found by Joel Reymont and fixed by Masayuki Nakano in bug 517549. Mac users rejoice!
- The Windows cold startup regression from 3.5 to 3.6 being tracked in bug 517741. Help finding the window for this would be awesome.
- JAR Performance: Alfred Kayser has a new patch on bug 510844 which should increase throughput of JAR file reading, about ready to land.
- Ben Hsieh is making progress removing the needless stats of already-fastloaded components and other stat removals in bug 511761.
- Service caching work is still in progress in bug 516085. Drew's tests showed no significant win on Tp, but the patch did reduce IO service retrievals by 58%. It might be worth pushing this to the Places branch to get a better idea of the total performance impact of the change.
- Ryan Flint landed bug 499123, combining a bunch of about: pages into a single component, on 1.9.2 branch for Firefox 3.6.
- Bookmarks toolbar: I put a patch on bug 504858 that pushes back the population of the toolbar until after the browser window comes up. Checking into the Places branch showed a 1.5% improvement to warm startup on Windows. Just waiting on review.
CSS Parsing Time: Zack is working on major CSS parser changes in bug 513149. Projects in a holding pattern:
Preference Files: Taras Glek has been working on combining the different preference files into a single one at build time, in bug 507288. The patch is there, and is just trying to find a way to land cleanly.
- Cold Startup Testing: Drew and Alice made a bunch of progress on bug 510587, to create a new Ts that measures cold startup. Alice is working on mobile Talos though, so this is sidelined for a bit. The only issue left is reliable Windows measurement, but we're not going to block on it, can live with Mac and Linux to start off.
- JARification: David abandoned moving JS modules into a JAR file, since those files are fastloaded. However, since we want things like post-extension-install restarts to be fast, and those cause fastload cache invalidation, we might want to do things like this anyways. I filed a bug for the same treatment for components. These are lower priority, since they're not the normal startup case. Follow along with all JAR-ification via the tracker bug.
- Startup Timeline: No updates, still not landed. Add [ft] in the whiteboard of your bug w/ the function names you want timed and David will generate it and update the bug.
- PGO for Places, mozStorage and SQLite: Still blocking on Rel-Eng fixing bug 486783, which now has patches!
- Static Analysis: No progress on bug 506128. David needs to file a bug with the final log of named-yet-uncalled functions.
- Dirty Profile Testing: No progress. Need to list scenarios, file bugs for each, generate Talos config patches and profile data, and then move it into Rel-Eng territory. Also, need to get a separate Tinderbox tree, since it's going to cause a bazillion new columns.
- Joel Reymont noted in bug 513076 that there are serious drawbacks to getting our libraries in the dyld shared cache on Mac, so has deprioritized that work.


Why Open Source your project
What is Open Source
Social coding with a creative liencse
Who's Open Source
Spotify, Netflix, Aws, Facebook, Twitter
Cooking receipts, templates job desc / code of conduct, legal docs etc
Government departments (open source by default)
Example projects
Angular, Material Design
Bootstrap
Node
It is not just about code
Journey, Living project
Inclusive Culture
Community
Benefits
Reviews & testing
Ideas / feedback
Documentation verified
Hiring / recruitment stream
Practical
Long game, marathon
Start as soon as possible
Defacto standard is GitHub
Licensing
Conclusion


Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Machine learning (ML) is the study of computer algorithms that improve automatically through experience and by the use of data. It is seen as a part of artificial intelligence. Machine learning algorithms build a model based on sample data, known as "training data", in order to make predictions or decisions without being explicitly programmed to do so.
Python is an interpreted high-level general-purpose programming language. Python's design philosophy emphasizes code readability with its notable use of significant indentation. Its language constructs as well as its object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.
C++ (/ˌsiːˌplʌsˈplʌs/) is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significantly over time, and modern C++ now has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
The Unreal Engine is a game engine developed by Epic Games, first showcased in the 1998 first-person shooter game Unreal. Initially developed for PC first-person shooters, it has since been used in a variety of genres of three-dimensional (3D) games and has seen adoption by other industries, most notably the film and television industry.
It was my old website. Which i used back in 2020. I created new one so it's now in my projects list. It was a cool looking portfolio website. It was optimized for Google search engine.
I made a Discord bot using python. Which can play music, delete msg, remove or kick any person by giving some simple command. It can run 24/7 just simply hosting on a server. It's fun to use it and listening some music by simple command. So, no need to use third party bot.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Download Resume


Finding the most profitable items to buy low, and then sell high without leaving the station.
Suggestions: Jita Amarr Dodixie Rens Hek
Sales Tax (in %)
Broker Fee (in %)
Return margins above
and below
Volume Above


CAP can activate transcription at more than 100 catabolite-sensitive operons. In the presence of cAMP, CAP binds to specific sites on the DNA in order to promote the binding and function of RNAP. CAP-dependent promoters have been divided into three classes, based on the mechanism of action of CAP at each promoter.
Class I CAP-dependent promoter
activation: CAP dimer interacting with the aCTD
of RNAP, which is also comprised of b and s
subunits
Courtesy of Richard Ebright, Journal of Molecular
Biology 293, S. Busby and R. Ebright, Transcription Activation by Catabolite
Activator Protein (CAP), 199-213 (1999), PMID:
10550204
Transcription activation at class I CAP-dependent promoters involves the simplest mechanism of CAP gene activation. A CAP dimer binds to a single DNA site that is upstream of the RNAP-binding promoter region (which involves DNA sites at positions –35 and –10 from the transcription start site). The AR1 region of CAP (shown as the broken circle in the diagram above) interacts with the aCTD of RNAP, which facilitates the binding of RNAP to the promoter DNA to form the RNAP-promoter closed complex, resulting in an increase in transcription initiation. Once the RNAP-promoter closed complex is formed, the presence of CAP is no longer required. An example of a class I CAP-dependent promoter is the lac promoter, which controls the production of lactose-degrading enzymes from the lac operon.
Class II CAP-dependent promoter
activation: CAP dimer interacting with the aCTD
and aNTD of RNAP
Courtesy of Richard Ebright, Journal of Molecular Biology 293, S. Busby and R. Ebright, Transcription Activation by Catabolite Activator Protein (CAP), 199-213 (1999), PMID: 10550204
Transcription activation at class II CAP-dependent promoters also involves the binding of CAP to a single DNA site, but this site overlaps with the RNAP-binding promoter region, unlike with class I promoters which bind CAP upstream of where RNAP binds. Class II transcription activation involves two interactions with the RNAP alpha subunit: AR1 of the upstream subunit of the CAP dimer binds to the aCTD of RNAP in order to promote RNAP-promoter closed complex formation; AR2 of the downstream subunit of the CAP dimer binds to the aNTD of RNAP, which promotes the isomerization of the closed RNAP-promoter complex to an open complex. In some cases, the AR3 region of CAP is also involved in gene activation at class II promoters: AR3 interacts with the s70 subunit of RNAP, affecting the rate of isomerization of RNAP-promoter closed complex to open complex. An example of a class II CAP-dependent promoter is the galP1 promoter, which controls the production of galactose-degrading enzymes from the gal operon.
Class III CAP-dependent promoter
activation: two CAP dimers interacting with the
aCTD of RNAP
Courtesy of Richard Ebright, Journal of Molecular Biology 293, S. Busby and R. Ebright, Transcription Activation by Catabolite Activator Protein (CAP), 199-213 (1999), PMID: 10550204
Transcription activation at class III CAP-dependent promoters involves the synergistic action of two or more CAP dimers at different DNA sites. Transcription activation at these promoters involve class I and class II mechanisms of action in an additive manner: the CAP dimers can both act through a class I mechanism, where the AR1 region of each CAP dimer interacts with each of the two RNAP aCTDs (as diagrammed above); alternatively, the two CAP dimers could function differently, with the upstream CAP dimer utilising a class I mechanism (AR1 interacting with one copy of RNAP aCTD), and the downstream CAP dimer utilising a class II mechanism (AR1 and AR2 interacting with RNAP aCTD and aNTD, respectively). Transcription at class III promoters can also involve the synergistic actions of CAP with other activator proteins, where the different activator proteins take the role of the second CAP protein in the mechanisms described above. As CAP does not directly interact with the other activator proteins, CAP is able to collaborate with a diverse array of unrelated activators that affect different steps in transcription initiation. An example of a class III CAP-dependent promoter is the malK promoter, which controls the production of a set of proteins involved in the absorption of maltose, maltodextrins and starch.
CAP transcription activation can be blocked by a number of different protein repressors. The CytR protein can inhibit CAP action at the deoP2, udp, nupG, and cdd promoters in the absence of the allosteric effector cytidine. CytR can interact with the DNA between two CAP dimers and with the CAP proteins themselves to prevent CAP-RNAP interaction, thereby completely blocking CAP-enhanced transcription. Alternatively, repressors such as bacteriophage Alt and ModA can block CAP-dependent transcription by binding to RNAP aCTD and preventing its interaction with DNA.
Previous: The CAP protein


We know what Diego has to pay back (A in the formula), but we don't know what he borrowed in the first place (P in the formula). So we have:
Diego only borrowed $1417.32 at the beginning of the 5 years. They paid back over twice as much as they borrowed.


This tool grabs pertinent information about a user and generates an overall score designed to indicate that user's readiness for adminship. It's been adapted from Scottywong's tool, which was named "Admin score".


Logux Client
Logux is a client-server communication tool. It synchronizes actions between clients and server logs.
This page tests Logux Client features:
- cross-tab sends actions between browser tabs.
- attention highlights tab on synchronization error to notify user.
- confirm shows confirm popup, when user close tab with non-synchronized actions.
- favicon changes favicon to show synchronization status.
- badge shows widget to display Logux synchronization status.
- status low-level API to get Logux synchronization status.
- log displays Logux events in browser console.


Literature Review
Interviews
Data Modelling
Ideation
Concept
Storyboarding
Usability Evaluation
While studying Meaning and Forms of HCI course, our main focus was to understand Contextual Design process. Our team approached IUPUI Library UX team to find out a problem space that we can pick for this project. They suggested working on this problem of Open Journal System which the Journal Managers, Editors, Reviewers, Authors and Readers use. We got into contact with people who use and maintain the Open Access Journal System (OJS) run by the IUPUI Library. The OJS is an online academic journal management system that enables faculty and professors to freely publish and distribute academic journals, as well as engage with peer reviewers and article authors. The OJS also provides an interface for the general public to freely access any journal (and articles) hosted on it.
Contextual Inquiries revealed to us:
Physical file system to track the state of the Journal
Binder Version to keep track of the state of the Journal
This phase consisted of Affinity Diagramming session to make sense of the interview data, ideation and visioning workshop. In the ideation phase, total 70 ideas were generated. Each team member contributed to 20 and 10 ideas were taken by an outside team member who has fair idea of the problem space; however, not involved in the other design phases.
Based on affinity diagrams and ideation phase, one main issue came forward which was having a system that tracks the status of each Journal and visually help them identify the progress of it. This inspired us to using a Kanban style Dashboard. Part of the inspiration for using a Kanban comes from a contextual inquiry session with an OJS assistant editor when she complained that the system provided very little “visual segregation of the status of each article”. This instigated the thought of using agile scrum tool “Storyboard” (which is a bit different than Storyboards in a UX design context). Also, this idea was championed by a member of the team who has successfully used this methodology over many years of work experience.
Affinity Diagram
Mobile Device Vision
Vision 1
Vision 2
Vision 4
In this phase, we conducted storyboarding and low fidelity prototype using Paper Prototype and High Fidelity Prototype using Sketch. We designed our 3 different storyboards around Kanban Dashboard for 3 different devices, a desktop, touch enabled large screen display and mobile.
OJS Dashboard for desktop
OJS Dashboard for large touchscreen display
OJS Dashboard for mobile devices
Main Dashboard
Dasboard for Journal Issue publication
Jurnal in unassigned state
Add editor to the Journal
Add a reviewer
State of the journal in editing phase
Manuscript published
A pdf viewer for readers
In validating and getting feedback from our intended users, we conducted three usability evaluations with a journal manager and two editors who use the existing OJS and were involved with our contextual inquiries. These evaluations followed a think-aloud protocol where the evaluators expressed their opinions and frustrations as they walked through the prototype. The editors provided a wealth of feedback and were exceedingly pleased with the prototype, which is understandable considering the state of the current OJS. They also made several feature requests that we might take into consideration moving forward.
From our usability evaluations and chats with our users, we feel that it would be wise to refine our prototype and incorporate the changes that they suggested before continuing in the design process. We intend to take a hard look at the Kanban dashboard and reevaluate its usefulness because while it provides neat buckets to place the manuscripts, it appears to provide an affordance that is not supported. Looking forward, we would recommend further prototyping and usability evaluations with editors to improve the design before commencing development. In fact, we do not recommend development until feedback from the editors start to change from fixes to new features, which would happen when they start to dream up new actions the improved design can afford them. Also, keeping in mind that the system only works when authors, journal manager, readers, reviewers, and editors work together, we recommend using the prototype as a proof of concept to get other stakeholders at other journals involved so that design on other components of the system for non-editor roles can be commence.


#include <buffer_state.hpp>
Definition at line 39 of file buffer_state.hpp.
◆ BufferState()
| BufferState::BufferState |
( |
const Configuration & |
config, |
|
|
Module * |
parent, |
|
|
const string & |
name |
|
) |
| |
◆ ~BufferState()
| BufferState::~BufferState |
( |
| ) |
|
◆ AvailableFor()
| int BufferState::AvailableFor |
( |
int |
vc = 0 | ) |
const |
|
inline |
◆ Display()
| void BufferState::Display |
( |
ostream & |
os = cout | ) |
const |
|
virtual |
◆ IsAvailableFor()
| bool BufferState::IsAvailableFor |
( |
int |
vc = 0 | ) |
const |
|
inline |
◆ IsEmptyFor()
| bool BufferState::IsEmptyFor |
( |
int |
vc = 0 | ) |
const |
|
inline |
◆ IsFull()
| bool BufferState::IsFull |
( |
| ) |
const |
|
inline |
◆ IsFullFor()
| bool BufferState::IsFullFor |
( |
int |
vc = 0 | ) |
const |
|
inline |
◆ LimitFor()
| int BufferState::LimitFor |
( |
int |
vc = 0 | ) |
const |
|
inline |
◆ Occupancy()
| int BufferState::Occupancy |
( |
| ) |
const |
|
inline |
◆ OccupancyFor()
| int BufferState::OccupancyFor |
( |
int |
vc = 0 | ) |
const |
|
inline |
◆ OccupancyForClass()
| int BufferState::OccupancyForClass |
( |
int |
c | ) |
const |
|
inline |
◆ ProcessCredit()
| void BufferState::ProcessCredit |
( |
Credit const *const |
c | ) |
|
◆ SendingFlit()
| void BufferState::SendingFlit |
( |
Flit const *const |
f | ) |
|
◆ SetMinLatency()
| void BufferState::SetMinLatency |
( |
int |
min_latency | ) |
|
|
inline |
◆ TakeBuffer()
| void BufferState::TakeBuffer |
( |
int |
vc = 0 , |
|
|
int |
tag = 0 |
|
) |
| |
◆ UsedBy()
| int BufferState::UsedBy |
( |
int |
vc = 0 | ) |
const |
|
inline |
◆ _buffer_policy
◆ _class_occupancy
| vector<int> BufferState::_class_occupancy |
|
private |
◆ _classes
| int BufferState::_classes |
|
private |
◆ _in_use_by
| vector<int> BufferState::_in_use_by |
|
private |
◆ _last_id
| vector<int> BufferState::_last_id |
|
private |
◆ _last_pid
| vector<int> BufferState::_last_pid |
|
private |
◆ _occupancy
| int BufferState::_occupancy |
|
private |
◆ _outstanding_classes
| vector<queue<int> > BufferState::_outstanding_classes |
|
private |
◆ _size
◆ _tail_sent
| vector<bool> BufferState::_tail_sent |
|
private |
◆ _vc_occupancy
| vector<int> BufferState::_vc_occupancy |
|
private |
◆ _vcs
◆ _wait_for_tail_credit
| bool BufferState::_wait_for_tail_credit |
|
private |
The documentation for this class was generated from the following files:


--- title: Which Plot Was That? author: Jonathan Carroll date: '2023-05-26' slug: which-plot-was-that categories: [rstats] tags: [rstats, plotly] type: '' subtitle: 'Plotly subplots and customdata' image: '' editor_options: chunk_output_type: console ---
Plotly has a nice way of making click-events available to the calling language, but
it doesn’t quite work simply when using subplot()
. This isn’t a post about a new
feature, but I didn’t quickly find a resource for it so I’ll add my findings to
make it easier for the next person.
Plotly has a nice way of making click-events available to the calling language, but
it doesn’t quite work simply when using subplot()
. This isn’t a post about a new
feature, but I didn’t quickly find a resource for it so I’ll add my findings to
make it easier for the next person.
Plotly (as a graphics library) is a JavaScript library that has been ported to R, Python, Julia, and - surprising to me - MATLAB and F#. It provides an interactive plotting framework that works really nicely for web-facing apps including R’s {shiny}.
I’m currently building an internal tool at work and wanted to add some click-event-based
reactivity. Plotly supports that by registering an ‘event’ with a ‘source’ which
can be listened to with an event_data()
call. A simple shiny app demonstrating that
might be
library(plotly)
library(shiny)
ui <- basicPage("",
mainPanel(
plotlyOutput("p"),
verbatimTextOutput("out")
)
)
server <- function(input, output, session) {
output$p <- renderPlotly({
plotly::plot_ly(data = mtcars,
y = ~ hp,
x = ~ mpg,
type = "scatter",
mode = "markers",
source = "click_src") |> # default is "A"
event_register("plotly_click")
})
output$out <- renderPrint({
click_data <- event_data("plotly_click", source = "click_src")
req(click_data)
message("CLICK!")
click_data
})
}
runApp(shinyApp(ui = ui, server = server))
There’s a bit to break down here if you’re not familiar with {shiny};
ui
which describes how the app should “look”. In this
extremely simple case, it’s some plotly
output followed by some text.plotly
plot of the mtcars
dataset with a ‘scatter’ plot of the hp
column on the y-axis and the mpg
column on
the x-axis. The source
argument specifies a ‘label’ for the event (defaulting to "A"
but specified as "click_src"
in this case). Finally, the ‘event’ is registered. This
example also includes a text output of the data associated with clicking on a point
in the plot, and a message the console every time that happens.runApp()
which starts an app with the specified ui
and server
.This generates a simple shiny app with one plot. Clicking on any of the points produces a text output containing:
curveNumber
: identifying the ‘trace’ number for that data. We only have one, so this
will always be 0
(JavaScript starts counting at 0)pointNumber
: ostensibly the index of the clicked point in the original dataset, though
I believe that may not always be the casex
the x-coordinate of the clicked pointy
the y-coordinate of the clicked pointThis is nice for interacting with the plot to, say, highlight a row in a table
containing the same data. With two of these plots side-by-side one can give each
a unique source
and “listen” to those independently.
If, however, we have several plots and want them to share a common x-axis (so that
panning works across all of the plots) we need to “combine” the plots using
plotly::subplot()
. This doesn’t take a source
argument itself, and when we provide a
list of several plots, it produces a warning that
Warning: Can only have one: source
How, then, do we identify which subplot was clicked?
If each subplot contained a single “trace”, then curveNumber
would correspond
to that trace (in the order they were supplied to subplot
) and we could identify
which subplot was clicked. A small example of the server code
(the UI would be the same) for such a setup might be
server <- function(input, output, session) {
output$p <- renderPlotly({
p1 <- plotly::plot_ly(data = mtcars,
y = ~ hp,
x = ~ mpg,
type = "scatter",
mode = "markers")
p2 <- plotly::plot_ly(data = mtcars,
y = ~ wt,
x = ~ mpg,
type = "scatter",
mode = "markers")
p3 <- plotly::plot_ly(data = mtcars,
y = ~ disp,
x = ~ mpg,
type = "scatter",
mode = "markers")
s <- plotly::subplot(
list(p1, p2, p3),
shareX = TRUE,
nrows = 3,
heights = c(1, 1, 1)/3
) |>
event_register("plotly_click")
s$x$source <- "click_src" # subplot does not take a `source` argument
s
})
output$out <- renderPrint({
click_data <- event_data("plotly_click", source = "click_src")
req(click_data)
message("CLICK!")
click_data
})
}
Because subplot
doesn’t take a source
argument, the (single) source needs
to be added into the resulting object by force with the s$x$source
line. This works,
and we can get click data back from each subplot. In theory, curveNumber
identifies
which subplot was clicked.
However, if a subplot contained multiple traces (as my actual example did - a difficult to count number of traces that was updated as the underlying data changed… each different ‘color’ point you plot is a unique trace) then this gets complicated.
A minor update to the server, adding one additional “markers” trace to the second plot…
p2 <- plotly::plot_ly(data = mtcars,
y = ~ wt,
x = ~ mpg,
type = "scatter",
mode = "markers") |>
add_markers(y = ~ drat) # <- an additional trace
So, how can we identify the subplot when we can’t count the traces? The solution
appears to be to add another entry to the click-data using customdata
…
server <- function(input, output, session) {
output$p <- renderPlotly({
p1 <- plotly::plot_ly(data = mtcars,
y = ~ hp,
x = ~ mpg,
type = "scatter",
mode = "markers",
customdata = "first_plot") # <--
p2 <- plotly::plot_ly(data = mtcars,
y = ~ wt,
x = ~ mpg,
type = "scatter",
mode = "markers",
customdata = "second_plot") |> # <--
add_markers(y = ~ drat, customdata = "second_plot") # <--
p3 <- plotly::plot_ly(data = mtcars,
y = ~ disp,
x = ~ mpg,
type = "scatter",
mode = "markers",
customdata = "third_plot") # <--
s <- plotly::subplot(
list(p1, p2, p3),
shareX = TRUE,
nrows = 3,
heights = c(1, 1, 1)/3
) |>
event_register("plotly_click")
s$x$source <- "click_src"
s
})
output$out <- renderPrint({
click_data <- event_data("plotly_click", source = "click_src")
req(click_data)
message("CLICK!")
click_data
})
}
In this example I’ve added a single customdata
value to each plot so it will be
recycled across all of the data points in each plot. I’ve also added the same
"second_plot"
value to both of the traces in the second plot, but you could
further distinguish those if desired. You can also add a vector of customdata
(one value per point, in order) to individually identify the records, such as a key
value to deterministically reproduce the pointNumber
functionality.
As a final check (after doing all the old-school research myself) I asked an AI
how to identify which plot was clicked and it more or less gave the answers I’ve
described here, with some (different) example code and all. It took a bit of
prompting to get it to go further than just using the curveNumber
but I was amazed
that it really did produce a (more or less) working proof-of-concept with minimal
refinement. I definitely need to jump straight to that more often instead of fiddling
around with solutions that don’t work for too long.
Is there a better way to achieve this? Let me know! I’m pretty much not on the bird site any more but I can be found on Mastodon or use the comments below.
## ─ Session info ───────────────────────────────────────────────────────────────
## setting value
## version R version 4.1.2 (2021-11-01)
## os Pop!_OS 22.04 LTS
## system x86_64, linux-gnu
## ui X11
## language (EN)
## collate en_AU.UTF-8
## ctype en_AU.UTF-8
## tz Australia/Adelaide
## date 2023-06-17
## pandoc 3.1.1 @ /usr/lib/rstudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
##
## ─ Packages ───────────────────────────────────────────────────────────────────
## package * version date (UTC) lib source
## blogdown 1.17 2023-05-16 [1] CRAN (R 4.1.2)
## bookdown 0.29 2022-09-12 [1] CRAN (R 4.1.2)
## bslib 0.4.1 2022-11-02 [3] CRAN (R 4.2.2)
## cachem 1.0.6 2021-08-19 [3] CRAN (R 4.2.0)
## callr 3.7.3 2022-11-02 [3] CRAN (R 4.2.2)
## cli 3.4.1 2022-09-23 [3] CRAN (R 4.2.1)
## crayon 1.5.2 2022-09-29 [3] CRAN (R 4.2.1)
## devtools 2.4.5 2022-10-11 [1] CRAN (R 4.1.2)
## digest 0.6.30 2022-10-18 [3] CRAN (R 4.2.1)
## ellipsis 0.3.2 2021-04-29 [3] CRAN (R 4.1.1)
## evaluate 0.18 2022-11-07 [3] CRAN (R 4.2.2)
## fastmap 1.1.0 2021-01-25 [3] CRAN (R 4.2.0)
## fs 1.5.2 2021-12-08 [3] CRAN (R 4.1.2)
## glue 1.6.2 2022-02-24 [3] CRAN (R 4.2.0)
## htmltools 0.5.3 2022-07-18 [3] CRAN (R 4.2.1)
## htmlwidgets 1.5.4 2021-09-08 [1] CRAN (R 4.1.2)
## httpuv 1.6.6 2022-09-08 [1] CRAN (R 4.1.2)
## jquerylib 0.1.4 2021-04-26 [3] CRAN (R 4.1.2)
## jsonlite 1.8.3 2022-10-21 [3] CRAN (R 4.2.1)
## knitr 1.40 2022-08-24 [3] CRAN (R 4.2.1)
## later 1.3.0 2021-08-18 [1] CRAN (R 4.1.2)
## lifecycle 1.0.3 2022-10-07 [3] CRAN (R 4.2.1)
## magrittr 2.0.3 2022-03-30 [3] CRAN (R 4.2.0)
## memoise 2.0.1 2021-11-26 [3] CRAN (R 4.2.0)
## mime 0.12 2021-09-28 [3] CRAN (R 4.2.0)
## miniUI <IP_ADDRESS> 2018-05-18 [1] CRAN (R 4.1.2)
## pkgbuild 1.4.0 2022-11-27 [1] CRAN (R 4.1.2)
## pkgload 1.3.0 2022-06-27 [1] CRAN (R 4.1.2)
## prettyunits 1.1.1 2020-01-24 [3] CRAN (R 4.0.1)
## processx 3.8.0 2022-10-26 [3] CRAN (R 4.2.1)
## profvis 0.3.7 2020-11-02 [1] CRAN (R 4.1.2)
## promises <IP_ADDRESS> 2021-02-11 [1] CRAN (R 4.1.2)
## ps 1.7.2 2022-10-26 [3] CRAN (R 4.2.2)
## purrr 1.0.1 2023-01-10 [1] CRAN (R 4.1.2)
## R6 2.5.1 2021-08-19 [3] CRAN (R 4.2.0)
## Rcpp 1.0.9 2022-07-08 [1] CRAN (R 4.1.2)
## remotes 2.4.2 2021-11-30 [1] CRAN (R 4.1.2)
## rlang 1.0.6 2022-09-24 [1] CRAN (R 4.1.2)
## rmarkdown 2.18 2022-11-09 [3] CRAN (R 4.2.2)
## rstudioapi 0.14 2022-08-22 [3] CRAN (R 4.2.1)
## sass 0.4.2 2022-07-16 [3] CRAN (R 4.2.1)
## sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.1.2)
## shiny 1.7.2 2022-07-19 [1] CRAN (R 4.1.2)
## stringi 1.7.8 2022-07-11 [3] CRAN (R 4.2.1)
## stringr 1.5.0 2022-12-02 [1] CRAN (R 4.1.2)
## urlchecker 1.0.1 2021-11-30 [1] CRAN (R 4.1.2)
## usethis 2.1.6 2022-05-25 [1] CRAN (R 4.1.2)
## vctrs 0.5.2 2023-01-23 [1] CRAN (R 4.1.2)
## xfun 0.34 2022-10-18 [3] CRAN (R 4.2.1)
## xtable 1.8-4 2019-04-21 [1] CRAN (R 4.1.2)
## yaml 2.3.6 2022-10-18 [3] CRAN (R 4.2.1)
##
## [1] /home/jono/R/x86_64-pc-linux-gnu-library/4.1
## [2] /usr/local/lib/R/site-library
## [3] /usr/lib/R/site-library
## [4] /usr/lib/R/library
##
## ──────────────────────────────────────────────────────────────────────────────


Please choose your Music
Electronica
Alternative
Rap/Hip-Hop
Rock
New Age
Classical
Jazz
Pop/Mainstream
Blues
R & B


Detailed information for a particular Submission Category is displayed here. For School District users, this information is read only.


SHM_OPEN
Section: Linux Programmer's Manual (3)
Updated: 2009-02-25
Index
Return to Main Contents
NAME
shm_open, shm_unlink - create/open or unlink POSIX shared memory objects
SYNOPSIS
#include <sys/mman.h>
#include <sys/stat.h> /* For mode constants */
#include <fcntl.h> /* For O_* constants */
int shm_open(const char *name, int oflag, mode_t mode);
int shm_unlink(const char *name);
Link with -lrt.
DESCRIPTION
shm_open()
creates and opens a new, or opens an existing, POSIX shared memory object.
A POSIX shared memory object is in effect a handle which can
be used by unrelated processes to
mmap(2)
the same region of shared memory.
The
shm_unlink()
function performs the converse operation,
removing an object previously created by
shm_open().
The operation of
shm_open()
is analogous to that of
open(2).
name
specifies the shared memory object to be created or opened.
For portable use,
a shared memory object should be identified by a name of the form
/somename;
that is, a null-terminated string of up to
NAME_MAX
(i.e., 255) characters consisting of an initial slash,
followed by one or more characters, none of which are slashes.
oflag
is a bit mask created by ORing together exactly one of
O_RDONLY
or
O_RDWR
and any of the other flags listed here:
- O_RDONLY
-
Open the object for read access.
A shared memory object opened in this way can be
mmap(2)ed
only for read
(PROT_READ)
access.
- O_RDWR
-
Open the object for read-write access.
- O_CREAT
-
Create the shared memory object if it does not exist.
The user and group ownership of the object are taken
from the corresponding effective IDs of the calling process,
and the object's
permission bits are set according to the low-order 9 bits of
mode,
except that those bits set in the process file mode
creation mask (see
umask(2))
are cleared for the new object.
A set of macro constants which can be used to define
mode
is listed in
open(2).
(Symbolic definitions of these constants can be obtained by including
<sys/stat.h>.)
A new shared memory object initially has zero length---the size of the
object can be set using
ftruncate(2).
The newly allocated bytes of a shared memory
object are automatically initialized to 0.
- O_EXCL
-
If
O_CREAT
was also specified, and a shared memory object with the given
name
already exists, return an error.
The check for the existence of the object, and its creation if it
does not exist, are performed atomically.
- O_TRUNC
-
If the shared memory object already exists, truncate it to zero bytes.
Definitions of these flag values can be obtained by including
<fcntl.h>.
On successful completion
shm_open()
returns a new file descriptor referring to the shared memory object.
This file descriptor is guaranteed to be the lowest-numbered file descriptor
not previously opened within the process.
The
FD_CLOEXEC
flag (see
fcntl(2))
is set for the file descriptor.
The file descriptor is normally used in subsequent calls
to
ftruncate(2)
(for a newly created object) and
mmap(2).
After a call to
mmap(2)
the file descriptor may be closed without affecting the memory mapping.
The operation
of
shm_unlink()
is analogous to
unlink(2):
it removes a shared memory object name, and, once all processes
have unmapped the object, de-allocates and
destroys the contents of the associated memory region.
After a successful
shm_unlink(),
attempts to
shm_open()
an object with the same
name
will fail (unless
O_CREAT
was specified, in which case a new, distinct object is created).
RETURN VALUE
On success,
shm_open()
returns a nonnegative file descriptor.
On failure,
shm_open()
returns -1.
shm_unlink()
returns 0 on success, or -1 on error.
ERRORS
On failure,
errno
is set to indicate the cause of the error.
Values which may appear in
errno
include the following:
- EACCES
-
Permission to
shm_unlink()
the shared memory object was denied.
- EACCES
-
Permission was denied to
shm_open()
name
in the specified
mode,
or
O_TRUNC
was specified and the caller does not have write permission on the object.
- EEXIST
-
Both
O_CREAT
and
O_EXCL
were specified to
shm_open()
and the shared memory object specified by
name
already exists.
- EINVAL
-
The
name
argument to
shm_open()
was invalid.
- EMFILE
-
The process already has the maximum number of files open.
- ENAMETOOLONG
-
The length of
name
exceeds
PATH_MAX.
- ENFILE
-
The limit on the total number of files open on the system has been
reached.
- ENOENT
-
An attempt was made to
shm_open()
a
name
that did not exist, and
O_CREAT
was not specified.
- ENOENT
-
An attempt was to made to
shm_unlink()
a
name
that does not exist.
VERSIONS
These functions are provided in glibc 2.2 and later.
CONFORMING TO
POSIX.1-2001.
POSIX.1-2001 says that the group ownership of a newly created shared
memory object is set to either the calling process's effective group ID
or "a system default group ID".
NOTES
POSIX leaves the behavior of the combination of
O_RDONLY
and
O_TRUNC
unspecified.
On Linux, this will successfully truncate an existing
shared memory object---this may not be so on other UNIX systems.
The POSIX shared memory object implementation on Linux 2.4 makes use
of a dedicated filesystem, which is normally
mounted under
/dev/shm.
SEE ALSO
close(2),
fchmod(2),
fchown(2),
fcntl(2),
fstat(2),
ftruncate(2),
mmap(2),
open(2),
umask(2),
shm_overview(7)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- VERSIONS
-
- CONFORMING TO
-
- NOTES
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 02:55:00 GMT, September 18, 2014


Module to handle results.
MIT. See LICENSE for full details.
A class to collate unit test information and present a report.
Return a boolean representing if the unit tests ran successfully.
true if the tests ran successfully, false if not.
Add a result to the collator.
| string moduleName | The module where the error occurred. |
| DUnitAssertError error | The error raised from the toolkit. |
Get the results.
An array containing the results.


Add New Project
Project Code
Project code is required
Project Name
Project name is required
Client
-- Select --
Client is required
Project Description
Project Manager
-- Select --
PM is required
Project Duration
Project duration is required
Estimated End Date
Estimated end date is required
Project Type
Scrum
Kanban
Number of Sprints
Number of Sprints is required
Sprint Details
Sprint {{$index+1}}
Start Date
Sprint {{$index+1}} Start Date is required
End Date
Sprint {{$index+1}} End Date is required
Requirements
Priority
Urgent
High
Normal
Low
Lowest
Project Status
Not Started
In Progress
Completed
Discontinued
Cancel
Reset
Submit