Nunt is a light-weight event eco system for javascript. It allow your app to communicate trough custom events.
It can be used on the browser, with node or to communicate between both.
Nunt exists solely to simplify event driven programming.

Nunt offerts some helper functions to initialize a full functional event driven eco system. It even has methods for testing and a chrome extension to inspect everything that is sent and received.
Nunt consists of two base functions and a couple of helper functions. The base functions are the ones that are used most of the time. The helper functions are used in specific cases or when testing your code.
These are two base functions for nunt:
Example for listening:
// listen nunt.on("foo", function(event){ console.log("hello " + event.name); });
Example for sending:
// send nunt.send("foo", {message: "bar"});
The circles get their width from the amount of current tweets with the hashtags #nodejs, #javascript or #unicorn
An event is basically a message with a name. In nunt its usually sent as an object with at least one property called _name which identifies the event.
Whatever you choose to send as data will be passed forward. However, if you plan to use nunt on both client and server, the data has to be serializable.
// send an event called "foo.bar" with an object {id: 1} nunt.send("foo", {id: 1}); // will just trigger the event without custom data nunt.send("foo"); // will send an event with a functions as its data nunt.send("foo", function(){console.log('foo')});
Your solution will typically consist of something more than one small function.
As your solution grows, you will end up with many classes and functions that have to be initialized and synchronized.
To make sure everything is up and running, this is a common approach with nunt:
Lets assume you have one class/function in your solution that is called notify, that handles messages shown to the user:
(function(){ nunt.on("notification.show", show); function show(e){ alert("Notify: " , e.message); } })();
You might have another function somewhere that checks if the user has a cookie that signlalizes that he/she is logged in:
(function(){ if (userHasLoggedIn()){ nunt.send("nofity.show", {message: "Welcome"}); } function userHasLoggedIn() { // cool user check code here } })();
The problem that arrises here, is that the user function doenst know if notify.view.js has been loaded and run yet. And if it hasnt been loaded, the "notify.show" listener hasnt been registred yet. And if the event hasnt the listener, no message will be shown.
The solution is simple and work pretty much like the ready event in jQuery. When everything is loaded nunt will send a special event called nunt.READY. The event singalizes that all documents have been loaded and them DOM is ready.
With that in place, we can solve the above situation like this instead:
(function(){ nunt.on(nunt.READY, init); function init() { if (userHasLoggedIn()) { nunt.send("nofity.show", {message: "Welcome"}); } } function userHasLoggedIn() { // cool user check code here } })();
To help developers write their apps more efficient, nunt has some helper functions.
nunt.addGlobalListeners(callback)
Adds a callback to be called for any event sent to nunt.
This can be used when your application wants to react to all events. Inside the callback you might have condition to react to only one type of events.
Example:
(function(){ nunt.addGlobalListeners(function(e){ if (e._name.indexOf("user.") == 0) { //do something } } })();
This example would set a listener for all events and run a callback. The callbacks checks if the event name begins with the string "user." and does something.
nunt.removeListener(event, [callback])
Removes an event listener.
If you create a massive app and you want to make sure unwanted listeners don't take resources, then you might want to unregister them.
This method takes the event name and the callback as parameters. If you omit the callack, it will remove all callbacks connected to the event.
Example:
(function(){ nunt.removeListener("foo.bar", mySpecialCallback); })();
This will remove the listener for the event "foo.bar" connected to the callback "mySpecialCallback".
nunt.getExposedInstance(classRef)
Used for testing
When you call this function with a class reference as the parameter, you get a new class that exposes the private functions.
nunt.getDispatchedEvents()
Used for testing mostly, get a list of all sent events.
nunt.getListeners(event)
Get a list of all callback for one event
When you include nunt in your application by loading it, nunt will prepare itself by doing adding a callback to check when them DOM is ready. It will then go trough a couple of steps to make sure you can develop as easy as possible.
In other words, it you put this into your html document
<script type="text/javascript" src="/js/lib/nunt.js" charset="utf-8"><script>
Then the start process of nunt follows this pattern:
By following this process, all our functions are initiated and ready when we get the nunt.READY event. This works in a similar way as jQuerys $(document).ready method.
Nunt in nodejs will work exaclty as on the browser. But it's when you use it on both on the browser and on the server that you really are creating magic.
It lets you send an event from the server and listen to it on the client and vice versa.
The benefits are many...
Nunt uses socket.io to build transparent bridge between node and your client. The result is simple, your app communicates with the server without need to develop an extra layer. Just send events.
Lets describe it with an example. Assume you have an app that has a save button:
$(".saveButton").click(function(){ nunt.send("save", {myData: "lorem"} });
The server will listen to the event "save" in the same way your client could listen to it. So on you node server you might have something like this:
nunt.on("save", function(event){ // save your data in some way console.log(event.myData); nunt.send("save.done", {ok: true}); });
It's almost magic because you are using one kind of event system, one way of communicating, one language and one mindset for your whole app. It makes the two worlds grow a little closer together and makes developing easier.
In the example above, when the "save" events is sent, the server will send the "save.done" event so that the client could show some kind of notification.
If you have events that aren't supposed to be sent from the client to the server (or vice versa), you can just add a property called "local" to your event data, and it will not be send to the other side (like this: nunt.send("myLocalEvent", {local: true})).
When your app is running nunt on both server and client trough socket.io and events are sent back and forward, you have to manually make sure an event is either sent to all connected clients or just to the one that sent an initial event.
In the case demonstrated above, you might don't want to send the "save.done" event to all clients, but just to the one that clicked the save button.
In that case, you have to add a property to the data called sessionId. Just do it like this:
nunt.on("save", function(event){ // save your data in some way console.log(event.myData); nunt.send("save.done", {ok: true, sessionId: event.sessionId}); });
As you can see, we grab the event.sessionId from the incoming event, and set it to the outgoing event. Simple. If we where to omit the sessionId property, the event will be sent to all connected clients.
nunt has some testing helper methods built in. You can set nunt to test mode by setting a property called nunt.unitTestMode = true;
Just put this code before loading nunt:
<script type="text/javascript" charset="utf-8">var nunt = window.nunt || {}; nunt.unitTestMode = true;</script>
This will start nunt in test mode, meaning that it won't initialize all methods registered with the helper methods. It will then allow you to get instances of your classes and test them separately.
So you could test a class called cart by getting an instance of it like this:
var instance = nunt.views.cart.getInstance();
When you are in test mode and you get an instance like this, you are automatically able to access all private methods defined in the class as well.
So a class that is defined the following way:
nunt.views.cart = function() { function hello() { … } }
And you get the instances as above:
var instance = nunt.views.cart.getInstance();
Will expose its private methods like this:
instance._privates.hello()
...making it even easier to test.
You can also access all triggered events with the methods:
// which gets the last event nunt.getLatestDispatchedEvents() // which gives you a list of all sent events nunt.getDispatchedEvents();And you can test if an event has a specific listener
nunt.hasListenerWithCallback("shop.cart.updated", foo);
To download and install under node:
npm install nunt
To use it in the browser:
<script type="text/javascript" src="/js/lib/nunt.js" charset="utf-8"><script>
Or just get it from github at https://github.com/camme/nunt
(The MIT License)
Copyright (c) 2011 Camilo Tapia<EMAIL_ADDRESS>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Huh, you don't have a web browser that's new enough to open this site properly. Or you don't have scripts enabled. In any case, sorry! You can still browse the documents on the site on GitHub, but you won't be able to comment.
(Or maybe I broke something really badly. In that case, it's the same deal, but maybe check your browser console and set up an issue on the GitHub repository I linked above if there's an error there.)


This tool assigns a character to each of your players for a game of "Forbidden Island" and shows who starts.
Add each player's name below, one per box, then click "Get characters".
This tool was written by a fan of the game, and is completely unofficial, so don't blame Gamewright if it does not work.


Rachel Naomi Design
About
Css Dev Conf
TU Talk
Mentorship
EUX 16
CSS Dev Conference 2014, New Orleans
You can find my notes from the conference
Day 1
Day 2
Day 3


Money Play. Should Red double? If doubled should White take?
pips Red=130 White=172
(CorrectAnswer= 0/0, ErrorScore= 0)
On initial evaluation XG has this as double/pass but a log rollout gives very clear double but also a very clear take.
From Red's perspective the position is volatile and making his 4-pt and /or possibly the bar-pt would certainly lose his market. He also has a long-term advantage because White's 1-2 back game is not well timed.
From White's point of view he has the guarantee of 1-2 back game, albeit poorly timed, but he may be able to make Red's 4-pt or bar-pt or even, very rarely, win by going forwards from here. His real weakness is his structure. If he had his 5-pt instead of his 3-pt the position would be no double/take but the fact that he has made a deep in-board point, coupled with the poor distribution of his spare checkers, gives him a weakness that Red should rightly exploit by doubling.
From Red's perspective the position is volatile and making his 4-pt and /or possibly the bar-pt would certainly lose his market. He also has a long-term advantage because White's 1-2 back game is not well timed.
From White's point of view he has the guarantee of 1-2 back game, albeit poorly timed, but he may be able to make Red's 4-pt or bar-pt or even, very rarely, win by going forwards from here. His real weakness is his structure. If he had his 5-pt instead of his 3-pt the position would be no double/take but the fact that he has made a deep in-board point, coupled with the poor distribution of his spare checkers, gives him a weakness that Red should rightly exploit by doubling.
1. Cubeful 2-ply 7/6(2) 1/off(2) Eq.: +0.801 0.901 0.031 0.001 - 0.099 0.000 0.000 2. Cubeful 2-ply 7/6(2) 2/off Eq.: +0.801 (-0.000) 0.900 0.033 0.000 - 0.100 0.000 0.000 3. Cubeful 2-ply 7/5 7/6 1/off Eq.: +0.782 (-0.019) 0.891 0.023 0.000 - 0.109 0.000 0.000 4. Cubeful 2-ply 7/6(2) 5/4(2) Eq.: +0.762 (-0.040) 0.881 0.028 0.000 - 0.119 0.000 0.000 5. Cubeful 2-ply 7/5 7/6 2/1 Eq.: +0.760 (-0.042) 0.880 0.024 0.000 - 0.120 0.000 0.000


Google Logo Background Png Download 1100 481 Free Transparent Angularjs Png Download Cleanpng Kisspng
Black Line Background Png Download 900 980 Free Transparent Angularjs Png Download Cleanpng Kisspng
Free Download Best 41 Angularjs Wallpaper On Hipwallpaper Angularjs Wallpaper 1746x868 For Your Desktop Mobile Tablet Explore 32 Angularjs Background
Free Download Angularjs Front And Back Ends Dart Typescript A Transparent 800x800 For Your Desktop Mobile Tablet Explore 32 Angularjs Background
Free Download The Basic Elements Of Angularjs Open Source For You 1996x1124 For Your Desktop Mobile Tablet Explore 32 Angularjs Background
Google Has Been Hard At Work On Angular Angularjs Hd Png Download 750x450 1507335 Pngfind
Javascript Logo Number Angularjs Node Javascript Logo Png Image With Transparent Background Toppng
An Angular 5 Tutorial Step By Step Guide To Your First Angular 5 App
Top 18 Most Common Angularjs Mistakes That Developers Make Toptal
Google Logo Background Png Download 1080 698 Free Transparent Angularjs Png Download Cleanpng Kisspng
Using Angular Filters To Create Counters Infotrust
Download Default Angular App Angularjs Png Image With No Background Pngkey Com
Download Angular Dynamic Components Angularjs Png Image With No Background Pngkey Com
Free Download A Tree Menu With Angular Treeview Competa 2940x1551 For Your Desktop Mobile Tablet Explore 32 Angularjs Background
Make Angularjs Material Design Admin By Themes Lab On Envato Elements
Free Download About The Website Of The Angular Slide Background Color And Text 2536x1244 For Your Desktop Mobile Tablet Explore 32 Angularjs Background
How To Build Web Application Using Angularjs And Nodejs Complete Step By Step Tutorial For Beginners


Russ Mehring
Steven Tang
Dominic Tonozzi
Jacob Resman
Home
Inbox
Team Rock 'em Sock 'em Robots
Team Members
arrow_drop_down
Menu
arrow_drop_down
TASK MANAGEMENT
Low
Medium
High
Add A Task:
Task:
Deadline:
Priority:
Choose your option
Low
Medium
High
Submit Task
send
Copyright @ Rock 'em Sock 'em Robots, All Rights Reserved.


Daniel Caneda
Hello World!
Click Navigation Icons on the side to explore
Resume
Projects
I Do Other Stuff!
If(Interested)
Check Me Out!
GitHub
Facebook
Email Me


| 1 | /* | |
| 2 | * Licensed to the Apache Software Foundation (ASF) under one or more | |
| 3 | * contributor license agreements. See the NOTICE file distributed with | |
| 4 | * this work for additional information regarding copyright ownership. | |
| 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| 6 | * (the "License"); you may not use this file except in compliance with | |
| 7 | * the License. You may obtain a copy of the License at | |
| 8 | * | |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 | * | |
| 11 | * Unless required by applicable law or agreed to in writing, software | |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 | * See the License for the specific language governing permissions and | |
| 15 | * limitations under the License. | |
| 16 | */ | |
| 17 | package org.apache.commons.imaging.formats.png; | |
| 18 | ||
| 19 | import java.util.ArrayList; | |
| 20 | import java.util.List; | |
| 21 | ||
| 22 | import org.apache.commons.imaging.ImageFormat; | |
| 23 | import org.apache.commons.imaging.ImageInfo; | |
| 24 | ||
| 25 | public class PngImageInfo extends ImageInfo { | |
| 26 | private final List<PngText> textChunks; | |
| 27 | ||
| 28 | public PngImageInfo(final String formatDetails, final int bitsPerPixel, | |
| 29 | final List<String> comments, final ImageFormat format, final String formatName, | |
| 30 | final int height, final String mimeType, final int numberOfImages, | |
| 31 | final int physicalHeightDpi, final float physicalHeightInch, | |
| 32 | final int physicalWidthDpi, final float physicalWidthInch, final int width, | |
| 33 | final boolean isProgressive, final boolean isTransparent, final boolean usesPalette, | |
| 34 | final int colorType, final String compressionAlgorithm, | |
| 35 | final List<PngText> textChunks) { | |
| 36 | super(formatDetails, bitsPerPixel, comments, format, formatName, | |
| 37 | height, mimeType, numberOfImages, physicalHeightDpi, | |
| 38 | physicalHeightInch, physicalWidthDpi, physicalWidthInch, width, | |
| 39 | isProgressive, isTransparent, usesPalette, colorType, | |
| 40 | compressionAlgorithm); | |
| 41 | ||
| 42 | this.textChunks = textChunks; | |
| 43 | } | |
| 44 | ||
| 45 | public List<PngText> getTextChunks() { | |
| 46 |
1
1. getTextChunks : mutated return of Object value for org/apache/commons/imaging/formats/png/PngImageInfo::getTextChunks to ( if (x != null) null else throw new RuntimeException ) → KILLED |
return new ArrayList<PngText>(textChunks); |
| 47 | } | |
| 48 | ||
| 49 | } | |
Mutations | ||
| 46 |
1.1 |


title = "Showcase | Rogue State Revolution"
url = "/showcase/rogue-state-revolution"
layout = "showcase-item"
description = "Rogue State Revolution showcase page"
is_hidden = 0
==
{##}
{% put title %} Rogue State Revolution {% endput %}
{% put author %} Little Red Dog Games {% endput %}
{% put author_url %} https://www.littlereddoggames.com/ {% endput %}
{% put release_date %} February 2021 {% endput %}
{% put platforms %} windows, linux {% endput %}
{% put description %}
-
Assume control over Basenji, a recently democratized Middle Eastern republic.
As the president, you must juggle the demands of the voters while developing
the nation economically. Oh, and don't forget your council of ministers, many
of whom are entirely loyal to you... if only you knew which ones.
-
Features dynamically generated neighbors, ministers, and economic and
political considerations.  The coup is coming: can you
keep your wits about you and hold onto the presidency?
-
Steer the country in any manner you choose. Hundreds of events and an insane
number of policies make every experience unique to the player.
{% endput %}
{% put image %} rogue-state-revolution.jpg {% endput image %}
{% put placeholder %} linear-gradient(90deg, #896541 32%, #8d6943 42%, #8d6943 53%, #8d6943 64%) {% endput %}
{% put youtube_embed_code %} Vfz66iLuwzQ {% endput %}
{% put link_steam %} https://store.steampowered.com/app/1145340/Rogue_State_Revolution/ {% endput %}
{% put developer_article_quote %}
We love how Godot's scene structure emphasizes getting things done quickly and
flexibly. Writing editor plugins and custom nodes is very useful, and if there
is ever something that we want to tackle that it's in the main branch, there
is nothing stopping us from cracking the thing open and building our own
solutions to whatever problems we might encounter.
{% endput %}
{% put developer_article_title %} Godot Showcase - Little Red Dog Games talk about their experience {% endput %}
{% put developer_article_url_slug %} godot-showcase-little-red-dog-games {% endput %}


Salah, Mane and Aubameyang on CAF shortlist for POTY award
by BeSoccerCAF has released a 30-man shortlist for the 2019 African Player of the Year award, with Liverpool duo Mohamed Salah and Sadio Mane included.
Mohamed Salah is targeting a third consecutive African Player of the Year trophy after being named on the preliminary list of nominees for the 2019 award.
Salah defended his crown last year after scoring 44 goals for Liverpool and Egypt in 2018 and finishing as the 2017-18 Premier League Golden Boot winner with 32 goals.
The 27-year-old faces competition for this year's honour from Reds team-mate Sadio Mane. The Senegal international was joint top scorer in the Premier League last season with 22 goals alongside Salah and Pierre-Emerick Aubameyang, who has also been named on the 30-strong list.
Manchester City and Algeria forward Riyad Mahrez, who won the award in 2016, is also included on the list announced by the Confederation of African Football (CAF).
Featured links
- Mourinho replaces Pochettino at Tottenham
- The latest football transfers news and rumours
- Wales, golf, Madrid... in that order
- Luis Enrique returns to Spain national team
Aubameyang's Arsenal colleague Nicolas Pepe of the Ivory Coast is another on the list, along with Leicester City's Nigerian midfielder Wilfred Ndidi and Paris Saint-Germain's Idrissa Gueye, who represents Senegal.
Other prominent Europe-based players nominated are Ajax duo Andre Onana and Hakim Ziyech, Napoli defender Kalidou Koulibaly, Atletico Madrid's Thomas Partey and Crystal Palace winger Wilfried Zaha.


×
Sign out
Manage Records
Records
Report ID
Date/Time
Category
Username
Comment
Location
View Record


Mary was a young girl. She used to get annoyed with everything. She had a negative attitude towards life.
Once, when she felt that life was unbearable, she asked her father what to do. She told him that if she was able to manage and solve one problem, another one followed quickly.
Her father consoled her and took her to the kitchen. He asked Mary to take a potato, an egg and two spoons of tea leaves. Mary was surprised, and asked her father, “Do you want me to cook?”
“No,” her father said.
He then took three vessels and poured one cup of water in each vessel. The vessels were placed on the stove. Once the water started to boil, he dropped the potato in a vessel, egg in the second one and the tea leaves in the third one.
“Why are you doing all these things?” Mary asked, really annoyed with her father.
“Just wait fifteen minutes,” said her father.
The impatient daughter managed to wait for around 15 minutes.
Father removed the potato from the pot and placed in a plate. He did the same with the eggs. He filtered the tea decoction using a cup.
Now, he placed the two plates, one with the potato and the other with the egg, and the cup of tea in front of Mary.
He asked Mary, “What do you see?”
“Potato, egg and a cup of tea,” said Mary.
“No, you are wrong,” said her father. “Look at it closely and answer me.”
Mary replied the same.
“Now touch it and answer me.”
The potato was cooked and was soft, the egg was boiled hard, and the tea carried a nice aroma.
Mary couldn’t find the correct answer.
Her father said, “The potato was so hard and strong before it was boiled; now it has turned soft and smooth. Also, the egg was delicate but after boiling it became hard. Sip the tea. It is delicious!”
Mary asked, “What does it mean father? I don’t understand!”
“Each object responded differently to water. Each object was put under the same kind of circumstances, faced similar adversities, but reacted differently. The potato, when put in boiling water, became very weak. The soft egg became very hard when we put it in boiling water. And the tea leaves are unique. It changed the water itself, giving it a unique flavour and aroma! It gave something new.”
Mary understood that we can create something new and unique even when we experience adversities.
So, what are you? A potato, an egg, or a tea leaf?


Hi! My name is Briun and I'm a California based .NET Full-stack developer. I am interested in software internationalization, localization, Chinese education technology, and general feature functionality.
As a junior .NET developer, I use design principles when coming up with solutions and strive to write optimized, maintainable, and readable code. I follow industry best practices while exploring future technologies.
Please download my resume and contact me with any questions or comments, I'd Love To Hear From you!
Download ResumeFeel free to reach out to me with any questions or comments, check out my latest projects on Github


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.
{{menu.name}}
{{item.name}}
{{restaurant.location}}
{{comment.comment}}


-
A few words in Romanian
Romanian is an East Romance language spoken by approximately 24–26 million people as a native language, primarily in Romania and Moldova, and by another 4 million people as a second language. It has official status in Romania and the Republic of Moldova. In addition, it is also one of the official languages of the European Union. Let’s see an some...
-
Typography
Markdown defines a few levels of headings. A heading element implies all the font changes, paragraph breaks before and after, and any white space necessary to render the heading. For example: This is a top level heading # This is a top level heading Use header elements when you want to make the hierarchical structure of a document explicit. This...
-
Let's write some code
To insert highlight code inside of a post, it’s enough to use some specific tags, has directly described into the Jekyll documentation. In this way the code will be included into a .highlight CSS class and will be highlight according to the syntax.scss file. This is the standard style adopted by Github to highlight the code. This is a CSS...
-
An image in a post
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate est optio ut impedit architecto iusto tempore rem, voluptates sed magni nisi corrupti praesentium voluptatum harum expedita temporibus ipsam, odit ad distinctio! Labore cupiditate distinctio facere earum, iste!
-
A childhood story
Here’s the story. I was in my 8th grade math class. All year a particular student, known for being a little wacky, had been occasionally pretending to be Pikachu. Some days he would sit there working on stuff and someone would ask him a question or whater and he’d just respond ‘Pika? Piiiika CHUU’ or any other combination. Well, one...
-
Ranting around
I don’t know who you are. I don’t know what you want. If you are looking for ransom, I can tell you I don’t have money. But what I do have are a very particular set of skills; skills I have acquired over a very long career.  If you let...
-
This is the sixth test post.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate est optio ut impedit architecto iusto tempore rem, voluptates sed magni nisi corrupti praesentium voluptatum harum expedita temporibus ipsam, odit ad distinctio! Labore cupiditate distinctio facere earum, iste!
-
This is the seventh test post
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate est optio ut impedit architecto iusto tempore rem, voluptates sed magni nisi corrupti praesentium voluptatum harum expedita temporibus ipsam, odit ad distinctio! Labore cupiditate distinctio facere earum, iste!


Manage User
Registered user, you can delete them
search
| No. | {{i+1}} | Name | {{element.name}} | NIP | {{element.nip}} | Program | {{element.program}} | Phone No | {{element.phoneNo}} | {{element.email}} | Action |
|---|


{% extends 'base.html' %} {% block content %}
You have not activated your account yet. Please click on the link sent to your email.


Autodesk Forge
Buckets & Objects
New bucket
tree here
×
Create new bucket
Transient
Temporary
Persistent
For demonstration purpouses, objects (files) are not automatically translated. After you upload, right click on the object and select "Translate".
×
Compressed file: root file required
Please specify the root file name to start translating:


| synopsis: | Django shell with autoloading of the apps database models |
|---|
There is support for three different types of interactive python shells.
IPython:
$ ./manage.py shell_plus --ipython
BPython:
$ ./manage.py shell_plus --bpython
Python:
$ ./manage.py shell_plus --plain
The default resolution order is: bpython, ipython, python.
You can also set the configuration option SHELL_PLUS to explicitly specify which version you want.
# Always use IPython for shell_plus
SHELL_PLUS = "ipython"
Sometimes, models from your own apps and other people’s apps have colliding names, or you may want to completely skip loading an app’s models. Here are some examples of how to do that.
Note: These settings are only used inside shell_plus and will not affect your environment.
# Rename the automatic loaded module Messages in the app blog to blog_messages.
SHELL_PLUS_MODEL_ALIASES = {'blog': {'Messages': 'blog_messages'},}
}
# Dont load the 'sites' app, and skip the model 'pictures' in the app 'blog'
SHELL_PLUS_DONT_LOAD = ['sites', 'blog.pictures']
}
You can also combine model_aliases and dont_load.
It is possible to ignore autoloaded modules when using manage.py, like:
$ ./manage.py shell_plus --dont-load app1 --dont-load app2.module1
Commandline parameters and settings in the configuration file are merged, so you can safely append modules to ignore from the commandline for one-time usage.
It is possible to use IPython Notebook, an interactive Python shell which uses a web browser as its user interface, as an alternative shell:
$ ./manage.py shell_plus --notebook
The Django settings module and database models are auto-loaded into the interactive shell’s global namespace also for IPython Notebook.
Auto-loading is done by a custom IPython extension which is activated by default by passing the --ext django_extensions.management.notebook_extension argument to the Notebook. If you need to pass custom options to the IPython Notebook, you can override the default options in your Django settings using the IPYTHON_ARGUMENTS setting. For example:
IPYTHON_ARGUMENTS = [
'--ext', 'django_extensions.management.notebook_extension',
'--ext', 'myproject.notebook_extension',
'--debug',
]
To activate auto-loading, remember to either include the django-extensions’ default notebook extension or copy its auto-loading code into your own extension.
Note that the IPython Notebook feature doesn’t currently honor the --dont-load option.
In addition to importing the models you can specify other items to import by default. These are specified in SHELL_PLUS_PRE_IMPORTS and SHELL_PLUS_POST_IMPORTS. The former is imported before any other imports (such as the default models import) and the latter is imported after any other imports. Both have similar syntax. So in your settings.py file:
SHELL_PLUS_PRE_IMPORTS = (
('module.submodule1', ('class1', 'function2')),
('module.submodule2', 'function3'),
('module.submodule3', '*'),
'module.submodule4'
)
The above example would directly translate to the following python code which would be executed before the automatic imports:
from module.submodule1 import class1, function2
from module.submodule2 import function3
from module.submodule3 import *
import module.submodule4
These symbols will be available as soon as the shell starts.


Storyboard
1. I want to follow the walkway for a while and point out every manmade infrastructural object tied to the river, like plumbing and wiring such as this pothole type thing covering some electrical circuitry inside the walkway for the city of New York. I'm thinking of doing this in a very low to the ground and shaky camera style. It is worth noting that I plan on having a music track over the entire video, but have not yet decided on what tone I want to go with. I am leaning towards slightly nostalgic and melancholy, but at a faster pace than your average "chill" song.
2. The second scene I want to do is immediately jumping into what kinds of objects users of the space leave behind, mainly trash. The purpose of showing some trash before the nature imagery is to juxtapose it with more trash imagery afterwards, giving a sense of endlessness to the trash and making the affect of it seem that much worse to the viewer. I've got a great shot of a bottle floating in the water, bobbing up and down, going nowhere that would fit really well in this part.
3. This is where I will really begin to focus in on the negative environmental stress the river is under. I have already featured these drainage signs in my photos, but now I want to really zoom in and enhance the clip of this sign even more, giving the audience a chance to read about the possible sweage that may drift into the river when it storms. this will be with a slight shake in the camera, almost a sway, like the water breaking against the bank of the river. Other examples of this would be the decaying of various wooden docks, built up algae on the concrete stormbreakers, and clips of other animals, human and not, visiting the space.
4. I will briefly switch from a scene of environmental stress to one of resilience. There are several types of flowers thay have managed to grow through the wood and concrete of the river, and they blossom quite beautifully. This scene will be a calm respite from the imagery in the first half of the video, and I will quickly jolt the viewer back into the harsh affect of the reality of the river; environmental stress and damage.
5-6. I will quickly glance over authoritative imagery within the park, such as rules, warning signs, signs reminding people of the authority figures within the park, police cars, sanitation crews, and more. I'd like to split this up into active versus passive authority. Active being signs and items that directly tell a visitor to follow a specific rule, such as figure 5. Passive being more subtle signs of authority, such as the "Hudson river Park" sign, letting visitors know where they are and telling them that there are unspoken rules of decorum for behaving within the space. Littering is not one.
7. More littering! Trash, decay, overuse, stressful imagery everywhere. I would like this part to be a montage if I can grab enough quality footage, maybe having the frames repeat over and over again faster and faster. this is meant to be the second slap in the face to the viewer, and the music will pitch at the end signalling the River's pain.
8. I will fade out slowly on film of direct human abuse to the river, such as graffiti, intentional property damage, intentional littering, blatant disregard for the rules and the wellbeing of the space, and all around vandalism. The music will slowly come to a fade as the camera, slowly shaking and swaying, blurs and fades past this mark of graffitti onto the river, and the video will fade to black.


Major updates will appear here when they are added.
This project is open-source and available at Github as "Ogar4."


What is VPP?¶
FD.io’s Vector Packet Processing (VPP) technology is a Fast, Scalable and Deterministic, Packet Processing stack that runs on commodity CPUs. It provides out-of-the-box production quality switch/router functionality and much, much more. FD.io VPP is at the same time, an Extensible and Modular Design and Developer Friendly framework, capable of boot-strapping the development of packet-processing applications. The benefits of FD.io VPP are its high performance, proven technology, its modularity and flexibility, integrations and rich feature set.
FD.io VPP is vector packet processing software, to learn more about what that means, see the What is vector packet processing? section.
For more detailed information on FD.io features, see the following sections:


Before discussing this action, click here to take a screenshot. Highlight the action with the maroon box, then click to capture. Continue to record information in the pop-up (this slider will temporarily close).


Online Experimentation: on trust, best practices and moving the needle.
Key points:
- Most idea fails
- Trust is key
Best practices:
- Don’t build the feature: tweak small stuff.
- Don’t waste time on hard implementation details. Focus on the part easy to implement, not edge cases.
- OEC: overal evaluation criterion: agree in advance on what to optimize. Optimize a short-term metric that will give results on the long term.
Eg: Microsoft wants to have a better market share of search engines. They don’t maximize the number of queries: a bad search engine easily augment the number of queries. They optimise the number of sessions. They minimize the queries per sessions. - Ramp ups. Integrate experimentation in the development process: every deploymenyt is measured.
- When getting mature, invest in a platform that will automate the analysis. (slice and dice for discoveries, etc…)
- Use variance reduction techniques to improve statistical power.
More sensitivity with less users –> more testing power. - Test apps: include sleeping tests in release, activate them gradually.
- Check the countervailing metric. Look at the “contrary” of what is optimized.
Eg: transaction rate –> cancellation/refund rate.
Eg: newsletter subscription. If it’s too easy to subscribe, population is less qualified. - Don’t analyse before checking for SRM: sample ratio mismatch.
When you have an SRM, you probably lose a population with a unique aspect. This means the test will be biased. Results will not be trustworthy.
Data challenges:
- Detect bot, scrapers and frauds.
Eg: High stakes ads: some companies intentionally click on competitors ads to exhaust their money. - Remove 5% of points that have low confidence: this will reduce variance.
- Measuring real valued metrics is hard. Variance can be high.
Eg: average cart of 30$, but sometimes cart of 3000$. Cap values:max(revenue, CAP_VALUE)
. - Being able to run a lot of experiments is key: this is the iterative capital.
Quotes:
- “It’s easy to get data, it’s hard to get data you can trust.”
- “The product team provides ideas. The experimentation team provides testing power.”
- “It’s not about shipping it’s about moving the metric.” Nobody wants a feature removed 2 years after its release.
- “Any figures that looks interesting is usually the result of an error” - Twyman’s law
State of the field:
- analysis and maths: well understood
- data collection: still very difficult
About innovation:
No dichotomy of optimizations / innovation.
Small, iterative optimizations can lead to breakthroughs.
Metaphor of water: you make it cool gradually, measuring every degrees: it’s only at 0°C that something very different happens.
Example of Amazon: was trying to optimize the purchase flow –> invented the one click purchase.
Example of Google:
40 shades of blue is sometimes considered pushing AB testing too far.
Ronny does not agree. Some guys tweaking colors realised it was important.
As engineers, they then put massive test resources to understand and learn what color was the best for Google’s business.
Small changes: independent color optimization. Big change: massive color testing, and change for all websites. Learning about color neuroscience.
Learning from tests:
When a test fail, the major question is: do you pass and move on, or do you iterate ?.
Retrospective and meta-learning is important in experimentation.
Focus on what happened and why.
Resources: Kdd 2019 reasons for srm microsoft


ResourceProvider
@ConsumerType
@Deprecated
public interface ResourceProvider
ResourceResolver
to
transparently access resources from different locations such as a JCR
repository (the default) or OSGi bundles.
This interface is intended to be implemented by providers of resource
instances on behalf of the ResourceResolver
. It
is not intended to be used by client applications directly. A resource
provider can either directly implement this service interface, e.g.
when no user authentication is provided (like for bundle resources)
or a ResourceProviderFactory
service can be implemented which
upon successful authentication returns a resource provider with the
given user credentials.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
OWNS_ROOTS
Deprecated.
The name of the service registration property containing the a boolean
flag whether this provider owns the tree registered by the roots.
|
static java.lang.String |
RESOURCE_TYPE_SYNTHETIC
Deprecated.
The resource type be set on resources returned by the
listChildren(Resource) method to enable traversing the
resource
tree down to a deeply nested provided resource which has no concrete
parent hierarchy (value is"sling:syntheticResourceProviderResource"). |
static java.lang.String |
ROOTS
Deprecated.
The name of the service registration property containing the root paths
of the resources provided by this provider (value is "provider.roots").
|
static java.lang.String |
SERVICE_NAME
Deprecated.
The service name to use when registering implementations of this
interface as services (value is
"org.apache.sling.api.resource.ResourceProvider").
|
static java.lang.String |
USE_RESOURCE_ACCESS_SECURITY
Deprecated.
The name of the service registration property containing the a boolean
flag indicating if the ResourceAccessSecurity service should be used for
this provider or not.
|
| Modifier and Type | Method and Description |
|---|---|
Resource |
getResource(ResourceResolver resourceResolver,
javax.servlet.http.HttpServletRequest request,
java.lang.String path)
Deprecated.
since 2.2.0 (and JCR Resource 2.1.0), this method will not be invoked.
|
Resource |
getResource(ResourceResolver resourceResolver,
java.lang.String path)
Deprecated.
Returns a resource from this resource provider or
null if
the resource provider cannot find it. |
java.util.Iterator<Resource> |
listChildren(Resource parent)
Deprecated.
|
static final java.lang.String SERVICE_NAME
static final java.lang.String ROOTS
static final java.lang.String OWNS_ROOTS
false
. If a provider owns a root
no other providers are asked for resources under this root if this
provider does not have a resource. (value is "provider.ownsRoots").static final java.lang.String USE_RESOURCE_ACCESS_SECURITY
false
.
(value is "provider.useResourceAccessSecurity")static final java.lang.String RESOURCE_TYPE_SYNTHETIC
listChildren(Resource)
method to enable traversing the
resource
tree down to a deeply nested provided resource which has no concrete
parent hierarchy (value is"sling:syntheticResourceProviderResource").listChildren(Resource)
,
Constant Field Values@Deprecated @CheckForNull Resource getResource(@Nonnull ResourceResolver resourceResolver, @Nonnull javax.servlet.http.HttpServletRequest request, @Nonnull java.lang.String path)
null
if
the resource provider cannot find it. The path should have one of the
ROOTS
strings as its prefix.
This method is called to resolve a resource for the given request. The properties of the request, such as request parameters, may be use to parameterize the resource resolution. An example of such parameterization is support for a JSR-311 style resource provider to support the parameterized URL patterns.
resourceResolver
- The ResourceResolver
to which the returned
Resource
is attached.request
- The requestpath
- The resource pathnull
If this provider does not have a resource for
the path.SlingException
- may be thrown in case of any problem creating the Resource
instance.@CheckForNull Resource getResource(@Nonnull ResourceResolver resourceResolver, @Nonnull java.lang.String path)
null
if
the resource provider cannot find it. The path should have one of the ROOTS
strings as its prefix.
The resource provider must not return cached instances for a resource as
the resource resolver will update the resource metadata of the resource
at the end of the resolution process and this metadata might be different
depending on the full path of resource resolution passed into the
resource resolver.resourceResolver
- The ResourceResolver
to which the returned Resource
is attached.path
- The full path of the resource.null
If this provider does not have a resource for
the path.SlingException
- may be thrown in case of any problem creating the Resource
instance.@CheckForNull java.util.Iterator<Resource> listChildren(@Nonnull Resource parent)
Iterator
of Resource
objects loaded from
the children of the given Resource
. The returned Resource
instances
are attached to the same
ResourceResolver
as the given parent
resource.
This method may be called for resource providers whose root path list contains a path such that the resource path is a prefix of the list entry. This allows for the enumeration of deeply nested provided resources for which no actual parent hierarchy exists.
The returned iterator may in turn contain resources which do not actually exist but are required
to traverse the resource
tree. Such resources SHOULD be SyntheticResource
objects whose resource type MUST be set to
RESOURCE_TYPE_SYNTHETIC
.
As with getResource(ResourceResolver, String)
the returned Resource objects must
not be cached objects.
parent
- The Resource
whose children are requested.Iterator
of Resource
objects or null
if the resource
provider has no children for the given resource.java.lang.NullPointerException
- If parent
is null
.SlingException
- If any error occurs acquiring the child resource iterator.Copyright © 2018 The Apache Software Foundation. All rights reserved.


Airbnb COO Johnson stepping down from post, to join board
by The Associated PressSAN FRANCISCO (AP) — Airbnb’s Chief Operating Officer Belinda Johnson is stepping down from her post but will join the company board.
CEO Brian Chesky said Friday that Johnson was the first executive he hired for Airbnb. She’s worked for the business since 2011 and he said she can return as an executive whenever she wants.
Johnson said her children used to play at the Airbnb office after hours, but now her oldest will be heading to college soon.
The Associated Press


if _success:
user = node.users.delete(id=_user_id)
elif node.users.contain(id=_user_id):
_msg = "User ID not found!"
else:
_msg = "You"re not allowed to delete User information!"
if _success:
_msg = "User deleted successfully"
else:
if _allowed:
node.users.delete(id=_user_id)
else:
raise AuthorizationError("You"re not allowed to delete this user information!")
return DeleteUserResponse(
address=msg.reply_to,
status_code=200,


|
ECS160Android
FortNitta Android platform team
|
CTerrainMap class, used to build game map. More...
Public Member Functions | |
| CTerrainMap () | |
| Empty constructor, initialize map to NULL. | |
| CTerrainMap (CTerrainMap map) | |
| Terrain Map constructor. More... | |
| void | dispose () |
| Terrain Map destructor. | |
| final CTerrainMap | copyFrom (CTerrainMap map) |
| Operator overload =. | |
| final void | Reset () |
| Resets the castles in this terrain map. | |
| final String | MapName () |
| Getter function for DMapName. | |
| final String | MapFileData () |
| Get the map in string format. More... | |
| final int | PlayerCount () |
| Getter function for DPlayerCount. | |
| final java.util.ArrayList< Castle > | Castles () |
| Getter function for DCastles. More... | |
| final ArrayList< String > | StringMap () |
| Getter function for D3DMap. More... | |
| final boolean | LoadMap (CGraphicTileset tileset2d, CGraphicTileset tileset3d, String filename) |
| Loads map. More... | |
| final boolean | LoadMapString (CGraphicTileset tileset2d, CGraphicTileset tileset3d, String data) |
| Loads map from string. More... | |
| final EPlayerColor | TileType (int xindex, int yindex) |
| Gets tile type if x and y indices are within constraints of DTileTypeMap. More... | |
| final void | DrawPreviewMap (Pixmap drawable, int xoff, int yoff) |
| Draws preview of map. More... | |
| final void | Draw2DMap (CGame game) |
| Draws 2D version of the map. More... | |
| final void | Draw3D (CGame game) |
| Draws 3D version of the map. More... | |
| final void | Cache3DMap (CGame game) |
| Caches the frames of the 3D version of the map. More... | |
| final void | Draw3DMap (CGame game, int winddir, int totalsteps, int timestep) |
| Draws 3D version of the map. More... | |
| final void | Draw2DCastles (CGame game) |
| Draws the 2D versions of the castles. More... | |
| final void | Draw3DCastles (CGame game, int XPos, int YPos) |
| Draws the 3D versions of the castles. More... | |
| final Vector2 | ConvertToTileIndex (Vector2 position) |
| Converts a on screen position to a tile position. More... | |
| final int | Width () |
| Gets width of map. | |
| final int | Height () |
| Gets height of map. | |
| final String | AIPath () |
| Gets AI path of map. | |
| final Vector2 | ConvertToScreenPosition (Vector2 index) |
| Converts a tile position to a screen position. More... | |
| final boolean | IsSpaceOpen (Vector2 position, Vector2 size) |
| Determines if there are no obstructions in the defined rectangle. More... | |
| final boolean | IsSpaceWater (Vector2 position, Vector2 size) |
| final void | Update (CGame game) |
| Updates the castles and the animation step of terrain map. More... | |
| final void | LoadMapTileset (CGame game) |
| Loads the proper tilestes for drawing the game. More... | |
| final String | SongPath () |
| Returns the map's song set path. More... | |
| final String | GetMapType () |
Public Attributes | |
| boolean | DHasCached3D |
| Stores if cache is up to date. | |
Protected Member Functions | |
| final void | SortCastlesForDrawing () |
| Sorts castles top to bottom, left to right. | |
Protected Attributes | |
| CGraphicTileset | D2DTileset |
| CGraphicTileset | D3DTileset |
| java.util.ArrayList< java.util.ArrayList< Integer > > | D2DMap = new java.util.ArrayList<java.util.ArrayList<Integer>>() |
| java.util.ArrayList< java.util.ArrayList< Integer > > | D3DMap = new java.util.ArrayList<java.util.ArrayList<Integer>>() |
| java.util.ArrayList< java.util.ArrayList< EPlayerColor > > | DTileTypeMap = new java.util.ArrayList<java.util.ArrayList<EPlayerColor>>() |
| ArrayList< String > | DStringMap = new ArrayList<String>() |
| java.util.ArrayList< Castle > | DCastles = new java.util.ArrayList<Castle>() |
| int | DPlayerCount |
| int | DAnimationStep |
| Which animation step the terrain map is at. | |
| String | DMapName |
| String | DMapFileName |
| String | D2DTilesetPath |
| String | D3DTilesetPath |
| String | DVersus |
| String for determining map's battle type. | |
| String | DAIPath |
| String | DSongPath |
CTerrainMap class, used to build game map.
| game.CTerrainMap.CTerrainMap | ( | CTerrainMap | map | ) |
Terrain Map constructor.
| map | Used to initialized terrain map |
| final void game.CTerrainMap.Cache3DMap | ( | CGame | game | ) |
Caches the frames of the 3D version of the map.
| game | Game drawing |
| final java.util.ArrayList<Castle> game.CTerrainMap.Castles | ( | ) |
Getter function for DCastles.
| final Vector2 game.CTerrainMap.ConvertToScreenPosition | ( | Vector2 | index | ) |
Converts a tile position to a screen position.
| index | Tile position (indices) |
| final Vector2 game.CTerrainMap.ConvertToTileIndex | ( | Vector2 | position | ) |
Converts a on screen position to a tile position.
| position | On screen position (pixels) |
| final void game.CTerrainMap.Draw2DCastles | ( | CGame | game | ) |
Draws the 2D versions of the castles.
| game | Game drawing |
| final void game.CTerrainMap.Draw2DMap | ( | CGame | game | ) |
Draws 2D version of the map.
| drawable | The destination to draw the map |
| gc | The graphics context to draw the map in |
| final void game.CTerrainMap.Draw3D | ( | CGame | game | ) |
Draws 3D version of the map.
| game | Game drawing |
| final void game.CTerrainMap.Draw3DCastles | ( | CGame | game, |
| int | XPos, | ||
| int | YPos | ||
| ) |
Draws the 3D versions of the castles.
| game | Game drawing |
| final void game.CTerrainMap.Draw3DMap | ( | CGame | game, |
| int | winddir, | ||
| int | totalsteps, | ||
| int | timestep | ||
| ) |
Draws 3D version of the map.
| drawable | The destination to draw the map |
| gc | The graphics context to draw the map in |
| winddir | Wind direction |
| totalsteps | Total steps |
| timestep | Time increment |
| final void game.CTerrainMap.DrawPreviewMap | ( | Pixmap | drawable, |
| int | xoff, | ||
| int | yoff | ||
| ) |
Draws preview of map.
| drawable | The destination to draw the map |
| gc | The graphics context to draw the map in |
| xoff | Offset x |
| yoff | Offset y |
| final boolean game.CTerrainMap.IsSpaceOpen | ( | Vector2 | position, |
| Vector2 | size | ||
| ) |
Determines if there are no obstructions in the defined rectangle.
| position | Top left of rectangle |
| size | Size of rectangle |
| final boolean game.CTerrainMap.LoadMap | ( | CGraphicTileset | tileset2d, |
| CGraphicTileset | tileset3d, | ||
| String | filename | ||
| ) |
Loads map.
| tileset2d | 2D tile set |
| tileset3d | 3D tile set |
| filename | Map to load |
| final boolean game.CTerrainMap.LoadMapString | ( | CGraphicTileset | tileset2d, |
| CGraphicTileset | tileset3d, | ||
| String | data | ||
| ) |
Loads map from string.
| tileset2d | 2D tileset |
| tileset3d | 3D tileset |
| data | String data to load from |
Bill: 3 new lines to scan: Tileset, AI Script, and Music File
// Getting the Tileset Path
Iter = 'B'; // break; // case 'Y': Iter = 'R'; // break; // default: // break; // } // } // }
| final void game.CTerrainMap.LoadMapTileset | ( | CGame | game | ) |
Loads the proper tilestes for drawing the game.
| game | Game to update |
| final String game.CTerrainMap.MapFileData | ( | ) |
Get the map in string format.
| final String game.CTerrainMap.SongPath | ( | ) |
Returns the map's song set path.
| final ArrayList<String> game.CTerrainMap.StringMap | ( | ) |
Getter function for D3DMap.
| final EPlayerColor game.CTerrainMap.TileType | ( | int | xindex, |
| int | yindex | ||
| ) |
Gets tile type if x and y indices are within constraints of DTileTypeMap.
| xindex | xindex |
| yindex | yindex |
| final void game.CTerrainMap.Update | ( | CGame | game | ) |
Updates the castles and the animation step of terrain map.
| game | Game to update |


If the sheet contains a filtered list, the file will contain a FILTERMODE record. This record has no record data field.


I'm trying really to pulling your coursera data...please wait
You have no deadline left;)
{{deadline.time|from_now}}


|
Livox SDK API
V2.2.0
|
#include <format.h>
Static Public Attributes | |
| static const uint32_t | POWERS_OF_10_32 [] |
| static const uint32_t | ZERO_OR_POWERS_OF_10_32 [] |
| static const uint64_t | ZERO_OR_POWERS_OF_10_64 [] |
| static const uint64_t | POW10_SIGNIFICANDS [] |
| static const int16_t | POW10_EXPONENTS [] |
| static const char | DIGITS [] |
| static const char | FOREGROUND_COLOR [] = "\x1b[38;2;" |
| static const char | BACKGROUND_COLOR [] = "\x1b[48;2;" |
| static const char | RESET_COLOR [] = "\x1b[0m" |
| static const wchar_t | WRESET_COLOR [] = L"\x1b[0m" |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |


Note: This is a retroactive KEP. Credit goes to @m1093782566, @haibinxie, and @quinton-hoole for all information & design in this KEP.
Important References: https://github.com/kubernetes/community/pull/692/files
We are building a new implementation of kube proxy built on top of IPVS (IP Virtual Server).
As Kubernetes grows in usage, the scalability of its resources becomes more and more important. In particular, the scalability of services is paramount to the adoption of Kubernetes by developers/companies running large workloads. Kube Proxy, the building block of service routing has relied on the battle-hardened iptables to implement the core supported service types such as ClusterIP and NodePort. However, iptables struggles to scale to tens of thousands of services because it is designed purely for firewalling purposes and is based on in-kernel rule chains. On the other hand, IPVS is specifically designed for load balancing and uses more efficient data structures under the hood. For more information on the performance benefits of IPVS vs. iptables, take a look at these slides.
None
None
Parameter: –proxy-mode In addition to existing userspace and iptables modes, IPVS mode is configured via –proxy-mode=ipvs. In the initial implementation, it implicitly uses IPVS NAT mode.
Parameter: –ipvs-scheduler A new kube-proxy parameter will be added to specify the IPVS load balancing algorithm, with the parameter being –ipvs-scheduler. If it’s not configured, then round-robin (rr) is default value. If it’s incorrectly configured, then kube-proxy will exit with error message. * rr: round-robin * lc: least connection * dh: destination hashing * sh: source hashing * sed: shortest expected delay * nq: never queue For more details, refer to http://kb.linuxvirtualserver.org/wiki/Ipvsadm
In future, we can implement service specific scheduler (potentially via annotation), which has higher priority and overwrites the value.
Parameter: –cleanup-ipvs Similar to the –cleanup-iptables parameter, if true, cleanup IPVS configuration and IPTables rules that are created in IPVS mode.
Parameter: –ipvs-sync-period Maximum interval of how often IPVS rules are refreshed (e.g. ‘5s’, ‘1m’). Must be greater than 0.
Parameter: –ipvs-min-sync-period Minimum interval of how often the IPVS rules are refreshed (e.g. ‘5s’, ‘1m’). Must be greater than 0.
No changes at all. The IPVS implementation is built on docker/libnetwork IPVS library, which is a pure-golang implementation and talks to kernel via socket communication.
IPVS kernel module installation is beyond Kubernetes. It’s assumed that IPVS kernel modules are installed on the node before running kube-proxy. When kube-proxy starts, if the proxy mode is IPVS, kube-proxy would validate if IPVS modules are installed on the node. If it’s not installed, then kube-proxy will fall back to the iptables proxy mode.
We will create a dummy interface and assign all kubernetes service ClusterIP’s to the dummy interface (default name is kube-ipvs0
). For example,
# ip link add kube-ipvs0 type dummy
# ip addr
...
73: kube-ipvs0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 26:1f:cc:f8:cd:0f brd ff:ff:ff:ff:ff:ff
#### Assume <IP_ADDRESS> is service Cluster IP
# ip addr add <IP_ADDRESS>/32 dev kube-ipvs0
...
73: kube-ipvs0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 1a:ce:f5:5f:c1:4d brd ff:ff:ff:ff:ff:ff
inet <IP_ADDRESS>/32 scope global kube-ipvs0
valid_lft forever preferred_lft forever
Note that the relationship between a Kubernetes service and an IPVS service is 1:N
. Consider a Kubernetes service that has more than one access IP. For example, an External IP type service has 2 access IP’s (ClusterIP and External IP). Then the IPVS proxier will create 2 IPVS services - one for Cluster IP and the other one for External IP.
The relationship between a Kubernetes endpoint and an IPVS destination is 1:1
.
For instance, deletion of a Kubernetes service will trigger deletion of the corresponding IPVS service and address bound to dummy interface.
There are 3 proxy modes in ipvs - NAT (masq), IPIP and DR. Only NAT mode supports port remapping. We will use IPVS NAT mode in order to supporting port remapping. The following example shows ipvs mapping service port 3080
to container port 8080
.
# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP <IP_ADDRESS>:3080 rr
-> <IP_ADDRESS>:8080 Masq 1 0 0
-> <IP_ADDRESS>:8080 Masq 1 0 0
IPVS proxier will employ iptables in doing packet filtering, SNAT and supporting NodePort type service. Specifically, ipvs proxier will fall back on iptables in the following 4 scenarios.
And, IPVS proxier will maintain 5 kubernetes-specific chains in nat table
KUBE-POSTROUTING
, KUBE-MARK-MASQ
, KUBE-MARK-DROP
are maintained by kubelet and ipvs proxier won’t create them. IPVS proxier will make sure chains KUBE-MARK-SERVICES
and KUBE-NODEPORTS
exist in its sync loop.
1. kube-proxy start with –masquerade-all=true
If kube-proxy starts with --masquerade-all=true
, the IPVS proxier will masquerade all traffic accessing service ClusterIP, which behaves same as what iptables proxier does.
Suppose there is a serivice with Cluster IP <IP_ADDRESS>
and port 8080
:
# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
KUBE-SERVICES all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service portals */
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
KUBE-SERVICES all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service portals */
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
KUBE-POSTROUTING all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes postrouting rules */
Chain KUBE-POSTROUTING (1 references)
target prot opt source destination
MASQUERADE all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service traffic requiring SNAT */ mark match 0x4000/0x4000
Chain KUBE-MARK-DROP (0 references)
target prot opt source destination
MARK all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 MARK or 0x8000
Chain KUBE-MARK-MASQ (6 references)
target prot opt source destination
MARK all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 MARK or 0x4000
Chain KUBE-SERVICES (2 references)
target prot opt source destination
KUBE-MARK-MASQ tcp -- <IP_ADDRESS>/0 <IP_ADDRESS> /* default/foo:http cluster IP */ tcp dpt:8080
2. Specify cluster CIDR in kube-proxy startup
If kube-proxy starts with --cluster-cidr=<cidr>
, the IPVS proxier will masquerade off-cluster traffic accessing service ClusterIP, which behaves same as what iptables proxier does.
Suppose kube-proxy is provided with the cluster cidr <IP_ADDRESS>/24
, and service Cluster IP is <IP_ADDRESS>
and port is 8080
:
# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
KUBE-SERVICES all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service portals */
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
KUBE-SERVICES all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service portals */
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
KUBE-POSTROUTING all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes postrouting rules */
Chain KUBE-POSTROUTING (1 references)
target prot opt source destination
MASQUERADE all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service traffic requiring SNAT */ mark match 0x4000/0x4000
Chain KUBE-MARK-DROP (0 references)
target prot opt source destination
MARK all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 MARK or 0x8000
Chain KUBE-MARK-MASQ (6 references)
target prot opt source destination
MARK all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 MARK or 0x4000
Chain KUBE-SERVICES (2 references)
target prot opt source destination
KUBE-MARK-MASQ tcp -- !<IP_ADDRESS>/24 <IP_ADDRESS> /* default/foo:http cluster IP */ tcp dpt:8080
3. Load Balancer Source Ranges is specified for LB type service
When service’s LoadBalancerStatus.ingress.IP
is not empty and service’s LoadBalancerSourceRanges
is specified, IPVS proxier will install iptables rules which looks like what is shown below.
Suppose service’s LoadBalancerStatus.ingress.IP
is <IP_ADDRESS>
and service’s LoadBalancerSourceRanges
is <IP_ADDRESS>/24
:
# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
KUBE-SERVICES all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service portals */
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
KUBE-SERVICES all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service portals */
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
KUBE-POSTROUTING all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes postrouting rules */
Chain KUBE-POSTROUTING (1 references)
target prot opt source destination
MASQUERADE all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service traffic requiring SNAT */ mark match 0x4000/0x4000
Chain KUBE-MARK-DROP (0 references)
target prot opt source destination
MARK all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 MARK or 0x8000
Chain KUBE-MARK-MASQ (6 references)
target prot opt source destination
MARK all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 MARK or 0x4000
Chain KUBE-SERVICES (2 references)
target prot opt source destination
ACCEPT tcp -- <IP_ADDRESS>/24 <IP_ADDRESS> /* default/foo:http loadbalancer IP */ tcp dpt:8080
DROP tcp -- <IP_ADDRESS>/0 <IP_ADDRESS> /* default/foo:http loadbalancer IP */ tcp dpt:8080
4. Support NodePort type service
Please check the section below.
For supporting NodePort type service, iptables will recruit the existing implementation in the iptables proxier. For example,
# kubectl describe svc nginx-service
Name: nginx-service
...
Type: NodePort
IP: <IP_ADDRESS>
Port: http 3080/TCP
NodePort: http 31604/TCP
Endpoints: <IP_ADDRESS>:80
Session Affinity: None
# iptables -t nat -nL
[root@100-106-179-225 ~]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
KUBE-SERVICES all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service portals */
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
KUBE-SERVICES all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service portals */
Chain KUBE-SERVICES (2 references)
target prot opt source destination
KUBE-MARK-MASQ tcp -- !<IP_ADDRESS>/16 <IP_ADDRESS> /* default/nginx-service:http cluster IP */ tcp dpt:3080
KUBE-SVC-6IM33IEVEEV7U3GP tcp -- <IP_ADDRESS>/0 <IP_ADDRESS> /* default/nginx-service:http cluster IP */ tcp dpt:3080
KUBE-NODEPORTS all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* kubernetes service nodeports; NOTE: this must be the last rule in this chain */ ADDRTYPE match dst-type LOCAL
Chain KUBE-NODEPORTS (1 references)
target prot opt source destination
KUBE-MARK-MASQ tcp -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* default/nginx-service:http */ tcp dpt:31604
KUBE-SVC-6IM33IEVEEV7U3GP tcp -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* default/nginx-service:http */ tcp dpt:31604
Chain KUBE-SVC-6IM33IEVEEV7U3GP (2 references)
target prot opt source destination
KUBE-SEP-Q3UCPZ54E6Q2R4UT all -- <IP_ADDRESS>/0 <IP_ADDRESS>/0 /* default/nginx-service:http */
Chain KUBE-SEP-Q3UCPZ54E6Q2R4UT (1 references)
target prot opt source destination
KUBE-MARK-MASQ all -- <IP_ADDRESS> <IP_ADDRESS>/0 /* default/nginx-service:http */
DNAT
When creating a ClusterIP type service, IPVS proxier will do 3 things:
For example,
# kubectl describe svc nginx-service
Name: nginx-service
...
Type: ClusterIP
IP: <IP_ADDRESS>
Port: http 3080/TCP
Endpoints: <IP_ADDRESS>:8080,<IP_ADDRESS>:8080
Session Affinity: None
# ip addr
...
73: kube-ipvs0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 1a:ce:f5:5f:c1:4d brd ff:ff:ff:ff:ff:ff
inet <IP_ADDRESS>/32 scope global kube-ipvs0
valid_lft forever preferred_lft forever
# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP <IP_ADDRESS>:3080 rr
-> <IP_ADDRESS>:8080 Masq 1 0 0
-> <IP_ADDRESS>:8080 Masq 1 0 0
IPVS proxier will NOT bind LB’s ingress IP to the dummy interface. When creating a LoadBalancer type service, ipvs proxier will do 4 things:
For example,
# kubectl describe svc nginx-service
Name: nginx-service
...
IP: <IP_ADDRESS>
Port: http 3080/TCP
Endpoints: <IP_ADDRESS>:8080
Session Affinity: None
#### Only bind Cluster IP to dummy interface
# ip addr
...
73: kube-ipvs0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 1a:ce:f5:5f:c1:4d brd ff:ff:ff:ff:ff:ff
inet <IP_ADDRESS>/32 scope global kube-ipvs0
valid_lft forever preferred_lft forever
#### Suppose LB's ingress IPs {<IP_ADDRESS>, <IP_ADDRESS>}. IPVS proxier will create 1 ipvs service for cluster IP and 2 ipvs services for LB's ingree IP. Each ipvs service has its destination.
# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP <IP_ADDRESS>:3080 rr
-> <IP_ADDRESS>:8080 Masq 1 0 0
TCP <IP_ADDRESS>:3080 rr
-> <IP_ADDRESS>:8080 Masq 1 0 0
TCP <IP_ADDRESS>:3080 rr
-> <IP_ADDRESS>:8080 Masq 1 0 0
Since there is a need of supporting access control for LB.ingress.IP
. IPVS proxier will fall back on iptables. Iptables will drop any packet which is not from LB.LoadBalancerSourceRanges
. For example,
# iptables -A KUBE-SERVICES -d {ingress.IP} --dport {service.Port} -s {LB.LoadBalancerSourceRanges} -j ACCEPT
When the packet reach the end of chain, ipvs proxier will drop it.
# iptables -A KUBE-SERVICES -d {ingress.IP} --dport {service.Port} -j KUBE-MARK-DROP
Similar to iptables proxier, when a service has the “Only NodeLocal Endpoints” annotation, ipvs proxier will only proxy traffic to endpoints in the local node.
# kubectl describe svc nginx-service
Name: nginx-service
...
IP: <IP_ADDRESS>
Port: http 3080/TCP
Endpoints: <IP_ADDRESS>:8080, <IP_ADDRESS>:8080
Session Affinity: None
#### Assume only endpoint <IP_ADDRESS>:8080 is in the same host with kube-proxy
#### There should be 1 destination for ipvs service.
[root@SHA1000130405 home]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP <IP_ADDRESS>:3080 rr
-> <IP_ADDRESS>:8080 Masq 1 0 0
IPVS support client IP session affinity (persistent connection). When a service specifies session affinity, the IPVS proxier will set a timeout value (180min=10800s by default) in the IPVS service. For example,
# kubectl describe svc nginx-service
Name: nginx-service
...
IP: <IP_ADDRESS>
Port: http 3080/TCP
Session Affinity: ClientIP
# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP <IP_ADDRESS>:3080 rr persistent 10800
It seems difficult to distinguish if an IPVS service is created by the IPVS proxier or other processes. Currently we assume IPVS rules will be created only by the IPVS proxier on a node, so we can clear all IPVSrules on a node. We should add warnings in documentation and flag comments.
Similar to the iptables proxier, the IPVS proxier will do a full sync loop in a configured period. Also, each update on a Kubernetes service or endpoint will trigger an IPVS service or destination update. For example,
Any IPVS service or destination updates will send an update command to kernel via socket communication, which won’t take a service down.
The sync loop pseudo code is shown below:
func (proxier *Proxier) syncProxyRules() {
When service or endpoint update, begin sync ipvs rules and iptables rules if needed.
ensure dummy interface exists, if not, create one.
for svcName, svcInfo := range proxier.serviceMap {
// Capture the clusterIP.
construct ipvs service from svcInfo
Set session affinity flag and timeout value for ipvs service if specified session affinity
bind Cluster IP to dummy interface
call libnetwork API to create ipvs service and destinations
// Capture externalIPs.
if externalIP is local then hold the svcInfo.Port so that can install ipvs rules on it
construct ipvs service from svcInfo
Set session affinity flag and timeout value for ipvs service if specified session affinity
call libnetwork API to create ipvs service and destinations
// Capture load-balancer ingress.
for _, ingress := range svcInfo.LoadBalancerStatus.Ingress {
if ingress.IP != "" {
if len(svcInfo.LoadBalancerSourceRanges) != 0 {
install specific iptables
}
construct ipvs service from svcInfo
Set session affinity flag and timeout value for ipvs service if specified session affinity
call libnetwork API to create ipvs service and destinations
}
}
// Capture nodeports.
if svcInfo.NodePort != 0 {
fall back on iptables, recruit existing iptables proxier implementation
}
call libnetwork API to clean up legacy ipvs services which is inactive any longer
unbind service address from dummy interface
clean up legacy iptables chains and rules
}
}
The following requirements should be met before moving from Beta to GA. It is suggested to file an issue which tracks all the action items.
TODO
In chronological order
None
None


Overactive Bladder
Overactive bladder can cause a sudden and strong desire to urinate. Patients usually come for a urologic evaluation if the symptoms begin to affect quality of life. Perhaps you avoid long road trips for fear of overactive bladder symptoms. Do you know where every restroom is at the local grocery store?The urinary leakage can be embarrassing and result in the avoidance of social activities such as dinner with friends and family. Many patients feel there is nothing to be done for bladder overactivity.
Bladder Cancer
Bladder CancerBladder cancer is a urological disease that usually affects the cells lining the inside of the bladder. Because its symptoms are easy to identify, the disease is usually diagnosed in its earliest stages. Fortunately, bladder cancer is highly treatable; with five-year survival rates estimated at 98 percent for a stage 0 diagnosis and 88 percent for a stage I diagnosis. Bladder cancer is most common among older adults, with an average age at diagnosis of 73.
Did you know…
that there are more than a half million bladder cancer survivors in the U.S. alone? The disease is most prevalent in male adults, though females are susceptible as well. The American Cancer Society estimates more than 72,000 new cases of bladder cancer to be diagnosed in 2013 – approximately 75 percent of which will develop in men.
Kidney Cancer
Kidney cancer is cancer with a primary origin in the kidneys. The kidneys, which are responsible for filtering waste from the body, are located on either side of the spine. There are several types of cancers that can affect one or both kidneys, including renal cell carcinoma – the most common form of kidney cancer found in adults. Certain risk factors increase the likelihood of being diagnosed with kidney cancer, including smoking, age, high blood pressure, and obesity. Long term prognosis is best among patients who are diagnosed and undergo treatment during the earliest stages of the disease.
Did you know…
that the risk of developing kidney cancer is much lower than that of other urological cancers? About 1 in 63 Americans will develop the disease in their lives, with men outnumbering women nearly 2 to 1.
Urinary Tract Infections
A urinary tract infection, or UTI, is an infection of any part of the urinary tract, such as the urethra, bladder, ureters, or kidneys. UTIs usually begin in the lower regions of the urinary tract, which are susceptible to bacterial contamination. It is important to seek treatment for a UTI, as untreated UTIs can spread, causing potential kidney damage and in rare cases, death.
Did you know…
that urinary tract infections account for 1 percent of all outpatient doctor visits every year? These infections occur in people of all ages, but sexually active women are at the highest risk for UTI. In fact, women in general are much more likely to contract a urinary tract infection at the rate of 4 women to every 1 man.
Benign Prostatic Disorder
The prostate gland is a small, walnut-shaped gland that plays an important role in sex and urination. With age, the gland may begin to grow, resulting in a condition known as benign prostate hyperplasia. This disorder may begin as early as a man’s 30’s or 40’s, although symptoms usually do not appear until many years later. Non-cancerous prostate enlargement is non-life threatening, although an enlarged prostate should be examined by a urologist.
Did you know…
that 9 out of 10 men over the age of 60 have at least some signs of benign prostatic enlargement? Doctors and researchers still have a lot to understand about this disorder, which seems to begin in many men around age 30. Millions of patients visit urologists every year due to the benign prostatic enlargement, and many undergo treatment to help avoid blockage of fluids in the urethra.
Erectile Dysfunction
Erectile dysfunction (ED) is a condition that affects millions of men around the world and as many as 30 million men in America. Also known as impotence, this condition impairs a man’s ability to achieve a suitable erection for intercourse. In the majority of men with ED, the condition is a physical problem caused by insufficient blood supply to the penis. However, some cases of ED are caused by psychological disruptions such as depression and performance anxiety.
Did you know…
that erectile dysfunction is a very common condition among American men? Approximately 1 in 5 men confirmed having difficulty achieving an erection in a study by the Department of Urology at the University of Washington School of Medicine. Risks of developing erectile dysfunction increase significantly with age. An estimated 50 percent of men age 50 or older have some degree of ED – a number that increases to 70 percent at age 70.


Undergraduate Research Scholars (URS)
Mid Term Evaluation:
URS Student:
URS Mentor:
Please answer the questions with thoughtful comments and observations. They can possibly be used for our reporting and program improvements.
Question 1. Please provide a summary of the progress you have made on your project through now.
*
What have you completed to this point?
What part of the work is currently in progress?
What work remains to be done?
What problems or unexpected things, if any, have arisen?
Overall perspective of the project?
Question 2. Please describe the working relationship with your mentor.
*
(how often do you meet, how do they provide you feedback, do they involve you in regular project meeting, etc.)
Question 3. As the result of participation on the research project (to this point), I plan to ... or I have learned ...
*
×
Close
Thank you for your time in completing this evaluation!


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/Spacemacs.20Lean.20Layer.html ---
Recently I just quickly put together a Spacemacs layer for lean which pretty much just rebinds lean-mode to be as expected for the Spacemacs vim crowd. Thought it'd be worth sharing for anyone else who's a Spacemacs user https://github.com/robkorn/spacemacs-lean-layer
@Robert Kornacki Looks nice! Here's some more config from my .spacemacs file:
(push 'lean-mode spacemacs-indent-sensitive-modes) (sp-local-pair 'lean-mode "/-" "-/") (sp-local-pair 'lean-mode "`'" nil :actions :rem) (sp-local-pair 'lean-mode "⟨" "⟩") (sp-local-pair 'lean-mode "«" "»") ;; etc, haven't bothered to complete the list yet
I also use Spacemacs's standard g d
for navigation
(spacemacs|define-jump-handlers lean-mode (lean-find-definition :async t))
@Sebastian Ullrich Ah, thanks for sharing! I've added all of your config to the layer since they are no-brainers to include. As I keep using lean and find the need to I'll most likely keep adding local-pairs overtime. If you or anyone else comes up with something else to add let me know or shoot me a pull request.
Great, thanks!
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Forms
Forms should be logically laid out and read from top to bottom.
Fields should clearly be defined with a 2 pixel border.
Fields should have a label, positioned above the field.
Examples of what kind of input is required can go below the field, or use this to replay calculations to the user.
Form fields that can use a numeric input should have the HTML setting to use a number pad on mobile. Use type="number"
as an attribute of the input
element to show the appropriate keypad for data entry on mobile devices.
Similarly fields that are dates can use native date pickers by including type="date"
as an attribute.
Some form fields not editable, but might become editable if some state changes (eg. price moves into range, or funds are provided).
It is useful to display these in a state that communicates this 'input field, but not yet' potential, and also to reserve the appropriate space in the layout.
Use the disabled="disabled"
attribute on the input
element to stop it being selected or tabbable.


September 12, 2014
This week my technical blog is on a topic entirely new to me before this week. I have never used JavaScript in the past and if asked I probably would have guessed it was used to make those old school Java games I played in elementary school. This would be entirely wrong especially since Java and JavaScript are two entirely different things that are only linked in name as a marketing ploy. But after some research I think I have a better handle on it.
Why is Javascript popular in Web Development?
The main reason that JavaScript became so popular for developers is that it came at the right time to take over an emerging market. It was the standard for Netscape Navigator in the 90's when that was THE browser and has maintained dominance across all current browser including Chrome, IE, Firefox, etc. JavaScript is a client side object oriented programming language meaning the code is interpreted in the browser on the users machine. This means that every browser is a Javascript interpreter and every device with a browser can run JS. Because of this JS is still the web standard 20 years later. On top of this a lot has been built around JavaScript including incredibly useful frameworks like jQuery and many others that make it far more useful. At one time it seemed likely that Javascript was dying off but it was pushed back into the mainstream by being used by Google in several of their applications.
What are the great things about JavaScript?
As I said before the fact that the code is executed on the clients side is an advantage in that it saves resources on the server. On top of that JS is thought to be fairly easy to learn and has a massive open source community for developers to rely on. This has led to numerous frameworks and libraries being developed for JS for people to use.
What are its limitations?
- Security issues exist since malicious code can be bundled in and run on the clients computer instantly.
- Because JS is run on the client side in the browser it can be rendered in different ways and cause issue.
- The syntax is very forgiving and will not throw errors when some "mistakes" are made making them harder to find.


Welcome to politico
Your Secure online voting platform
Only three steps needed
REGISTER
If you are up to the voting age of 18, Register via a simple process. You can register on all device type
VOTE
Search for the political office and your preferred candidate. Cast your Vote from the comfort of your home. No more long queues at polling stations
RESULT
View Results of a secure and accountable process


Resizable Panels
Any panel can be resizable by simply setting resizable property to true. You can defining the size of the panels in pixels or percentage.
If you define an integer as the size, it will apply it in pixels, if you define as a string in the format 'xx%' it
will calculate percentage.


Machine learning/deep learning/reinforcement learning/other AI projects with a focus on AI safety, including both technical research projects and some community resources for helping others learn.
In-progress research project to develop alternatives to reinforcement learning from human feedback (RLHF) which use supervised learning instead of PPO-based RL to not change general capabilities while leading to better downstream safety performance. Responsible for: Co-leading the branch of the project focused on developing Supervised Iterative Learning from Human Feedback (SuperHF).
Simulated Comments from the Alignment Forum For Original Literature Development (SCAFFOLD) is a writing tool that generates comments that are similar to those on the Alignment Forum in order to elevate your AI safety to the next level! Responsible for: Everything sans data collection scripts.
An automated Sandwiching experimental framework for evaluating scalable oversight techniques by having language models talk to each other. We won 1st place in all categories at Apart Research's Scale Oversight Hackathon. Responsible for: Generating the initial research question and contributing roughly half of the theoretical development, the Python implementation, and the paper writeup.
Some quick and dirty mechanistic interpretability research into backup name mover heads for indirect object identification (IOI) in GPT-2 small, which won 2nd place in Apart Research's second Interpretability Hackathon. Responsible for: Deciding on the research question, engineering and running the mean ablation experiments, evaluating and interpreting results.
A documented and unit-tested repo to help you learn how to build transformer neural network models from scratch. Responsible for: Taking the transformer days from the original MLAB repo, creating a clean starter file with class/method stubs and clear docstrings, adding unit tests, and implementing a clean solution file.
A slightly new technique building off prior work for unsupervised learning of human-interpretable concept-based explanations of language models operating on the task of sentiment analysis. Compared to black-box baseline models, performance is comparable, but the coherency of discovered concepts is sometimes mixed. Responsible for: Almost all of the code, most of the paper.
A level-based guide for independently up-skilling in AI Safety Research Engineering that aims to give concrete objectives, goals, and resources to help anyone go from zero to hero. Responsible for: Everything, though it draws upon knowledge from others listed in the Sources section.
Evaluating the 2-digit multiplication abilities of various language models using 🤗Transformers and the OpenAI API for fun and to possibly inspire some mechanistic interpretability research. By graphing more nuanced metrics than accuracy like the number of digits different from the answer, we can see clearer patters in emergent multiplication capabilities. Responsible for: Everything.
While implementing Minitorch, a Python implementation of the core functionality of the popular PyTorch machine learning library, and getting a better understanding of how autodifferentiation, tensors, and other PyTorchic things work, I created this study guide to help others learn as well. Responsible for: All of the study guide, none of Minitorch.
A plugin to facilitate the use deep reinforcement learning in Unreal Engine by exposing UE4 as an OpenAI Gym environment and a suite of Deep RL samples project to test the plugin. Responsible for: Cleaning up and improving the plugin for release, creating all the sample projects while working for Epic Games.
A binary CNN classifier to distinguish between real photographic images and photorealistic computer-generated images that achieves 96% test accuracy on a custom dataset. Responsible for: Approximately half of the work.


Travel dates back to antiquity where wealthy Greeks and Romans would travel for leisure to their summer homes and villas in cities such as Pompeii and Baiae. While early travel tended to be slower, more dangerous, and more dominated by trade and migration, cultural and technological advances over many years have tended to mean that travel has become easier and more accessible.
Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.
Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.
Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.


If a 1 is rolled, that player's turn ends and no points are earned.
If the player chooses to hold, all of the points rolled during that turn are added to his or her score.


{% extends 'base.html' %} {% block background %}
We've emailed you instructions for setting your password. You should receive the email shortly!


--- layout: post title: This is how I feel about C date: 2011-08-18 03:24:10.000000000 -07:00 type: post parent_id: '0' published: true password: '' status: publish categories: [] tags: - 4chan - C - Programming meta: _edit_last: '1' openid_comments: a:1:{i:0;s:3:"741";} tmac_last_id: '166390222039416832' _jetpack_related_posts_cache: a:1:{s:32:"8f6677c9d6b0f903e98ad32ec61f8deb";a:2:{s:7:"expires";i:1542516562;s:7:"payload";a:3:{i:0;a:1:{s:2:"id";i:1184;}i:1;a:1:{s:2:"id";i:1469;}i:2;a:1:{s:2:"id";i:1472;}}}} author: login: Philihp email<EMAIL_ADDRESS>display_name: Philihp first_name: '' last_name: '' ---
I don't think C gets enough credit. Sure, C doesn't love you. C isn't about love--C is about thrills. C hangs around in the bad part of town. C knows all the gang signs. C has a motorcycle, and wears the leathers everywhere, and never wears a helmet, because that would mess up C's punked-out hair. C likes to give cops the finger and grin and speed away. Mention that you'd like something, and C will pretend to ignore you; the next day, C will bring you one, no questions asked, and toss it to you with a you-know-you-want-me smirk that makes your heart race. Where did C get it? "It fell off a truck," C says, putting away the boltcutters. You start to feel like C doesn't know the meaning of "private" or "protected": what C wants, C takes. This excites you. C knows how to get you anything but safety. C will give you anything but commitmentIn the end, you'll leave C, not because you want something better, but because you can't handle the intensity. C says "I'm gonna live fast, die young, and leave a good-looking corpse," but you know that C can never die, not so long as C is still the fastest thing on the road.


- unloadWeapon() - Method in class it.polimi.sw2019.model.Weapon
-
- unloadWeaponTest() - Method in class it.polimi.sw2019.TestWeapon
-
verifies if the method unloadWeapon assigns the correct value
- update(Observable, Object) - Method in class it.polimi.sw2019.controller.Controller
-
Receives Message from the virtual view and calls different methods checking Message's attributes
- update(Observable, Object) - Method in class it.polimi.sw2019.network.server.VirtualView
-
this method receives match state from match
- updateAmmo(int, int, int) - Method in class it.polimi.sw2019.view.gui.PlayerBoardController
-
Updates the showing ammo of the player
- updateCells(List<MessageCell>) - Method in class it.polimi.sw2019.view.gui.BoardController
-
Updates the ammo tiles in the cells and the weapons of the spawn cells
- updateCurrentPlayer(Character) - Method in class it.polimi.sw2019.view.gui.BoardController
-
Updates the current player (also the graphic) and starts the timer again
- updateDecks(Integer, Integer) - Method in class it.polimi.sw2019.view.gui.BoardController
-
Updates the labels and the ImageViews of the decks
- updateFlipped() - Method in class it.polimi.sw2019.view.gui.PlayerBoardController
-
Updates the group to show the flipped board and hides the skulls
- updateFrenzyScore(Score) - Method in class it.polimi.sw2019.model.PlayerBoard
-
updates the score when the board is flipped in frenzy
- updateFrenzyScoreTest() - Method in class it.polimi.sw2019.TestPlayerBoard
-
- updateIsFrenzy(Character) - Method in class it.polimi.sw2019.view.gui.BoardController
-
Updates the board and the playerboards to the frenzy mode
- updateKillTrack(Player) - Method in class it.polimi.sw2019.model.Board
-
updates the kill track after a player dies
- updateKillTrack(List<Character>, List<Boolean>) - Method in class it.polimi.sw2019.view.gui.BoardController
-
Updates the killtrack
- updateKillTrackSummary(List<Character>, List<Boolean>) - Method in class it.polimi.sw2019.view.gui.BoardController
-
Updates the killTrackScreen
- updateKillTrackTest() - Method in class it.polimi.sw2019.TestBoard
-
this test verifies if the KillTrack has been updated correctly, specifically verifies if the killSequence and overkillSequence are correct
- updateLeftActions(Integer) - Method in class it.polimi.sw2019.view.gui.BoardController
-
Updates the label for the current player left actions
- updateMatch(MatchState) - Method in class it.polimi.sw2019.view.gui.BoardController
-
Updates the BoardScreen
- updateMatchState(MatchState) - Method in class it.polimi.sw2019.view.CLI
-
updates all the info showed in cli and gui about the status of the match
- updateMatchState(MatchState) - Method in class it.polimi.sw2019.view.gui.GUI
-
- updateMatchState(MatchState) - Method in interface it.polimi.sw2019.view.ViewInterface
-
updates all the info showed in cli and gui about the status of the match
- updateNumberOfDeaths(int) - Method in class it.polimi.sw2019.view.gui.PlayerBoardController
-
Shows a skull for each number of deaths of the player owner of the playerBoard.
- updatePlayerBoard(PlayerBoardMessage) - Method in class it.polimi.sw2019.view.gui.PlayerBoardController
-
Updates the playerboard using a playerBoardMessage.
- updatePlayerBoards(List<PlayerBoardMessage>, List<PlayerHand>, Character) - Method in class it.polimi.sw2019.view.gui.BoardController
-
Updates all the playerBoards
- updatePlayerHand(PlayerHand) - Method in class it.polimi.sw2019.view.gui.OtherPlayerHandController
-
Updates the OtherPlayerHandScreen associated with this controller
- updatePlayerHand(PlayerHand) - Method in class it.polimi.sw2019.view.gui.PlayerBoardController
-
Updates the otherPlayerHandController
- updatePrivateHand(PrivateHand) - Method in class it.polimi.sw2019.view.CLI
-
updates all the info about the end of the player
- updatePrivateHand(PrivateHand) - Method in class it.polimi.sw2019.view.gui.BoardController
-
Updates the private hand of the player of this client
- updatePrivateHand(PrivateHand) - Method in class it.polimi.sw2019.view.gui.GUI
-
- updatePrivateHand(PrivateHand) - Method in interface it.polimi.sw2019.view.ViewInterface
-
updates all the info about the end of the player
- updateScore(Score) - Method in class it.polimi.sw2019.model.KillTokens
-
method called by the class Score to update the score when the game ends
- updateScore(Score) - Method in class it.polimi.sw2019.model.PlayerBoard
-
update the score when the board is not flipped
- updateScoreTest() - Method in class it.polimi.sw2019.TestKillTokens
-
- updateScoreTest() - Method in class it.polimi.sw2019.TestPlayerBoard
-
- updateSequence(List<ImageView>, List<Character>) - Method in class it.polimi.sw2019.view.gui.PlayerBoardController
-
Updates the damage sequence or the mark sequence using the characters received from the playerBoardMessage
- updateSpawnCell(MessageCell, List<ImageView>) - Method in class it.polimi.sw2019.view.gui.BoardController
-
Updates the weapons of a spawn cell
- updateTest() - Method in class it.polimi.sw2019.TestController
-
testing update to see if controller does the correct calls
- updateTokens(List<Character>, List<Boolean>) - Method in class it.polimi.sw2019.view.gui.KillTrackController
-
Updates the KillTrackScreen with the new data
- updateVisibilityAllTarget() - Method in class it.polimi.sw2019.controller.Choices
-
this method sends new options to the player by watching the other players chosen and the effect that is being executed
done for all target effect (options are Cell)
- updateVisibilityMultiple() - Method in class it.polimi.sw2019.controller.Choices
-
this method sends new options to the player by watching the other players chosen and the effect that is being executed
done for multiple target effect (options are players)
- usableEffect(Player, List<Player>) - Method in class it.polimi.sw2019.model.Effect
-
CALL ONLY IF YOU KNOW THE EFFECT IS NOT MOVE TYPE
- usableEffects(List<Player>) - Method in class it.polimi.sw2019.model.Weapon
-
this method is called by controller
- usableEffectsTest() - Method in class it.polimi.sw2019.TestWeapon
-
verifies if I get the correct usable effect from the method usableEffects
- usableEffectTest() - Method in class it.polimi.sw2019.TestEffect
-
verifies if the effect is usable with the players and playerboard selected
- usablePowerups() - Method in class it.polimi.sw2019.model.Player
-
used to know powerups that can be used
- usablePowerupsTest() - Method in class it.polimi.sw2019.TestPlayer
-
- usableWeapon(List<Player>) - Method in class it.polimi.sw2019.model.Weapon
-
Calculates if is possible to use this weapon by the owner
- usableWeaponBeforeComplexAction(List<Player>) - Method in class it.polimi.sw2019.model.Weapon
-
Call this method before showing the possibility to do a shooting action
- usableWeaponBeforeComplexActionTest() - Method in class it.polimi.sw2019.TestWeapon
-
- usableWeaponTest() - Method in class it.polimi.sw2019.TestWeapon
-
- usePowerup(Powerup) - Method in class it.polimi.sw2019.model.Player
-
- usePowerupHandler(Message) - Method in class it.polimi.sw2019.controller.Choices
-
this method handles the selection of a player in an use powerup action
- usePowerupHandler(Message) - Method in class it.polimi.sw2019.controller.SingleActionManager
-
this method handles the use of a powerup and applies its effect
- usePowerupHandlerTest() - Method in class it.polimi.sw2019.TestSingleActionManager
-
method to test use of a powerup
- usePowerupTest() - Method in class it.polimi.sw2019.TestPlayer
-
- useToPay(Ammo) - Method in class it.polimi.sw2019.model.Powerup
-
tells if the powerup can be used to pay part of the cost
- useToPayTest() - Method in class it.polimi.sw2019.TestPowerup
-
- useWeapon(Weapon) - Method in class it.polimi.sw2019.model.Player
-
- useWeaponTest() - Method in class it.polimi.sw2019.TestPlayer
-


Create Account
Personal Details
{{csrf_field()}}
Full Name
Email
Nationality
Contact No
Country of Residence
City
Connection with PACE GROUP
Schoolname
it
Blade Runner
Thor Ragnarok
Admission number
Year of Study
to
OR
Passout year
@error('password')
{{ $message }}
@enderror
Password
Confirm Password
Profile Pic
Choose file
Register


I combined all of the FreeCodeCamp.com - API Projects into one project, deployed them on AWS. I use PM2 to run and watch for file changes. From there all I need to do is log into the server and do a git pull to have the most current code. I could automate this last step but for now I have choose not to. I do not like the idea of having a site auto-updated unless in has been tested and scheduled during a non-busy time.
In this project I built a news page based loosely off of a slightly more famous three letter news site. To make the site more interesting I combined many of my previous project to create a page similar to what you might see on an actual news site.
I was going for a pixel perfect implementation of the original. This was archived with only slight differences without looking at the original source. Chrome Developer Tools were used to acquire some information needed to accomplish this.
A simple Pomodoro Clock with two states. Clock will count down the session time and then switch to the break state. Both states have adjustable length. The time display uses CSS Animation to give a visual of time remaining/passed.
Project was built using Bootstrap/JavaScript to build a random quote machine.
Project was built using JQuery, Bootstrap, Angularjs, and used the Twitch.tv api to build a real time list of developers who frequently stream coding.
Project was built using JQuery, Bootstrap, Angularjs, and used the OpenWeatherMap api to build a weather forcast for the next 7 days for the users location.
A scrapper that reads a list of feeds from a DB and downloads the feeds into the DB.