Waiting for your server! This can take a minute or two, so please wait and don't refresh
the page.
Your server is ready! The ip address is:
Please open Minecraft, and navigate to Multiplayer > Direct Connect, enter the address, and click
Join Server.
When you are done, disconnect or close Minecraft.
{% if role in ('manager', 'assistant') %}
{% if role == 'manager' %}
You are playing the role of MANAGER.
Another player will join who will be your assistant. Press
"t" to use the in-game chat to instruct your assistant.
{% elif role == 'assistant' %}
You are playing the role of ASSISTANT.
Another player will join who will be your manager. Please do
nothing unless your manager instructs you. You may press "t" to use the
in-game chat to respond or ask questions. Please follow your manager's
instructions exactly!
{% endif %}
Please wait up to five minutes for the other player to join.
{% endif %}
Unsupported Protocol Version: If you see this error,
please
follow the instructions
here
to change your game version to 1.12.x
{% if not hide_survey %}{{ survey(instance_id, timestamp) }}{% endif %}
{% endblock %}
{% block javascript %}
$(document).ready(function() {
var instance_ip_address = '';
var interval = setInterval(function() {
$.get('/status', {q: "{{instance_id}}"},
function(resp) {
var r = JSON.parse(resp)
console.log(r)
if (r.progress) {
setProgress(r.progress)
}
if (r.progress == 100) {
clearInterval(interval);
instance_ip_address = r.ip;
finished(r.ip)
}
}).fail(function(err) {
console.error(err)
clearInterval(interval)
})
}, 2000)
})
function setProgress(progress) {
$('.progress-bar').css('width', progress + '%').attr('aria-valuenow', progress)
}
function finished(ip) {
$('.loading').addClass('d-none')
$('.finished').removeClass('d-none')
$('.ip-address').text(ip)
}
{% endblock %}


I am a sophomore CS student at Jadavpur University, Kolkata. Currently as the AI Lead of DevHub, Jadavpur University, I am kickstarting my career in data science and also cloud computing.


A boilerplate with some sane defaults for building TypeScript libraries to be consumed by both browsers and Node.js projects.
This project includes tooling for
With easy integrations for
It is recommended that you install the following extensions for your editor:
If you're using VSCode all the recommended extensions are included in this extension pack.
Login to CircleCI and select "Add Projects" in the left-hand sidebar.
Scroll down until you find your project and click "Set Up Project".
For Operating System choose Linux and then click the "Start Building" button located at the bottom of the page.
If you aren't using SonarQube you'll want to remove && ./sonarqube.sh
from the run command in .circleci/config.yml.
If you would like to use SonarQube make sure you setup SonarQube following the instructions below.
If you don't setup or disable SonarQube then CircleCI will fail with the message
You're only authorized to execute a local (preview) SonarQube
analysis without pushing the results to the SonarQube server.
Please contact your SonarQube administrator.
Login to https://travis-ci.org/ and click the "+" next to "My Repositories".
Click the toggle next to your project.
And that's it! Your project will build next time you push to your repository.
If your code is hosted on GitLab:
If your code is hosted on GitHub:
Login to https://codecov.io/gh and give them access to your git hosting account.
Copy your Upload Token and add it with the key CODECOV_TOKEN
as an environment variable to the CI service of your choice.
Here are some links to docs for setting up environment variables with the CI services this project supports:
Congrats! After your next CI run you will see coverage reports.
Reminder: Don't forget to update the badge in README.md to point to your project in codecov
Login to https://sonarcloud.io/ and click "Create new project".
Select your repository and click "Create".
Enter a name for your token and click "Generate".
Copy the token that was generated and add it as an environment variable with the key SONAR_LOGIN
to your CI project.
If you're not using CircleCI then update your CI run script to call ./sonarqube.sh
after build.
After your next CI run you will see code quality analysis in SonarQube.
MIT
Generated using TypeDoc


It is a Carpooling (also car-sharing) app for sharing of car journeys so that more than person travels in a car, and prevents the need for others to have to drive to a location themselves.
By having more people using one vehicle, carpooling reduces each person's travel costs such as: fuel costs, tolls, and the stress of driving. Carpooling is also a more environmentally friendly and sustainable way to travel as sharing journeys reduces air pollution, carbon emissions, traffic congestion on the roads, and the need for parking spaces. Authorities often encourage carpooling, especially during periods of high pollution or high fuel prices. Car sharing is a good way to use up the full seating capacity of a car, which would otherwise remain unused if it were just the driver using the car


Flireh1291.github.io
User’s Manual - produktinfo.conrad.com. Nzxt HALE90 Manuals - manualslib.com.
NZXT Hale90 850W Review - JonnyGURU.com. 3 Introduction Installation Thank you and congratulations on your purchase of the NZXT HALE90 PSU. Introducing the newest addition of high performance products from NZXT, the NZXT HALE90 Power Supply Series. This video is unavailable. Watch Queue Queue. Watch Queue Queue. HALE 90 v2 Power Supply - PC PSU and Power Supplies.
1 HALE90 Power User’s Manual HALE90 Power Benutzerhandbuch Manuel d’utilisation du HALE90 Power ; e h d i b l Z g b y HALE90 NZXT HALE90 Power Benutzerhandbuch herunterladen. NZXT's new line of units is called the Hale90 Power series, mostly because these units are 80 Plus Gold certified. I'm tackling the 850W model in this new series today, which is the second most powerful NZXT Hale Power 90 + Netzteil für PC 550 W - Kostenloser Versand ab 29€. Jetzt bei Amazon.de bestellen.
NZXT Hale90 80Plus Gold Series Power Supply We also got the Hale90 650W Power Supply. While we will not go into much depth as far as the electronics is concerned, the Hale90 Series offers a few interesting features, that do make it stand apart from other units. NZXT HALE Series power supplies delivers clean currents, refreshing design, and rock steady performance with eccentric design. We developed the HALE90 V2 with high attention-to-detail from the exterior to the interior PCB board. This is our first completely modular power supply with a patented process of multiple intelligence ability controller. User’s Manual - static.highspeedbackbone.net. NZXT Phantom Hale90 650W Review TechPowerUp. NZXT Hale Power 90 + Netzteil für PC 550 W - amazon.de.
Nzxt HALE90 Pdf User Manuals. View online or download Nzxt HALE90 User Manual.


int eio_poll ( void )
eio_poll() can be used to implement special event loop. For this eio_nreqs() could be used to test if there are unprocessed requests.
Note: Applicable only when implementing userspace event loop.
If any request invocation returns a non-zero value, returns that value. Otherwise, it returns 0.


Our Privacy Policy
1. About Career Launcher's Websites
Career Launcher provides services to our student community as well as our partner organizations which include schools, colleges and other educational institutes. Our customers also include other websites or organizations with which we have marketing or other tyes of collaborations .
2. What data we collect and how we use it
We may collect the following categories of information for the purposes explained below.
- User website activity: This is data about your browsing activity on our website. For example, which pages you visited and when, and what items you placed into your online shopping cart.
- Device and browser information: This is technical information about the device or browser you use to access our website. For example, your device's IP address, cookie string data and (in the case of mobile devices) your device type and mobile device's unique identifier such as the Apple IDFA or Android Advertising ID.
- Email and Postal Addresses : Some of our partners expect us to share actual email addresses and postal addresses with them, so that (with the help of Advertising Partners) they can serve targeted ads to customers. Also, we may assist the partners with sending emails to our customers.
- Information related to Examinations Taken By Our Students : We may ask our students to part with information about the various exams they are appearing in, and the final scores obtained by them. This data is used by Career Launcher's academic team to track the performance of our successful students and also used by the marketing team to provide reputation data which is useful to future customers.
3. Data Sharing
We share our customers information using our best judgement always keeping the best interest of our customers in mind. However, we may disclose personally identifying information (PII) about you:
- With Partners: We may provided selected data of our students to our partner organizations and marketing collborators from time to time where we feel that our customers may benefit from the same. We may assist the partners with sending emails to our customers. This may not apply in cases where we have contracts or agreements which expressly forbid such sharing of data.
- With our auditors and service providers: We may contract with companies who help with parts of our business operations. We require that our service providers only use your PII in connection with the services they perform for us.
- With our subsidiaries and related companies
- In connection with legal proceedings: When we are under a legal obligation to do so, for example to comply with a binding order of a court, or where disclosure is necessary to exercise, establish or defend the legal rights of CL, our partners or any other third party.
- In connection with a sale of our business: If a third party acquires some or all of our business or assets, we may disclose your PII in connection with the sale.
4. Cookies and related technologies
We use the services of online platforms which use cookies, tracking pixels and related technologies to deliver our advertisements to targeted audiences. Cookies are small data files that are served by our platform and stored on your device. They enable online marketers to identify your device when you move between different websites and applications, so that they can serve targeted advertising to you.
5. Your choices and opting-out
We recognize how important your online privacy is to you, so we offer the following options for controlling the targeted ads you receive and how we use your data:
- You can opt-out of receiving mails and other marketing communications served by us Every emailers served by our organization has an appropriate op out option.
- You can opt-out of online advertisement served by online advertisers by opting out and refusing to accept cookies from their sites
6. Security
We apply technical, administrative and organizational security measures to protect the data we collect against accidental or unlawful destruction and loss, alteration, unauthorized disclosure or access, in particular where the processing involves the transmission of data over a network, and against other unlawful forms of processing.
7. Changes to this Privacy Notice
Changes to this Privacy Notice will be posted on this page. If we make a material change to our privacy practices, we will provide notice on the site or by other means as appropriate.
8. Contact us about questions or concerns
If you have any questions about this Privacy Notice, our privacy practices, or with AdRoll generally, you can contact webmaster@careerlauncher.com.


UX Design Projects
⚠ This page is under construction ⚠
This summer I am working on the Google UX Design Certificate program through Coursera. So far, I’ve been delighted to see an emphasis placed on accessibility; this mindset will help future designers build an inclusive user experience for diverse and underserved populations.


val previousLogfiles: List<File>
Overrides Destination.previousLogfiles
Retrieve a list of files for previous logs. Returns null if the destination does not support this.
Return A list of Files


EZ Cyber solutions is an IT and IT enabled services providing organization. At EZ Cyber solutions, there is something for everyone. The organization has come into existence through its board of directors meeting. With a view to creating an equal employment opportunity for the people of this country as well as providing the ultimate customer service he has diverse Subject Matter Experts for Property preservation processing, Academic/creative/ technical/ghost writing, Apps development, Transcription, Administrative support, Networking support, Data entry & mining Team, Email support, Social media marketing and so on. We value our customers and employees the most. When assigned to any particular projects, we focus on the factors like - great service, sustainability, post work maintenance & support, proper counseling & consultancy, professionalism, forecasting etc. We work not only for money, but also for long lasting relationships with our customers. Whatever we do, we do it the best. We love add more value than what we take from you to assure highest level of customer satisfaction. We assure you that your experience with us will certainly be the best one.


$(cssBlock)
$(scriptBlock)
$(description)
Export with features:
Sorting
Summaries
Column Fixing
Grid Styling
Columns to skip


Amanda LaForest
Hi 👋 my name is Amanda and I'm a data scientist at Daybreak. Within the field of data science, I'm most passionate about machine learning, big data, data visualization, and data storytelling. I do freelance consulting and writing on data science topics. Nice to meet you!


Notebooks
Story: A girl does not eat porcupines' tails
A girl does not eat porcupines' tails
Title
A girl does not eat porcupines' tails
Collection
Summary
Different customs concerning the eating of the Porcupine. (L VII.-6. 6590 rev.-6594 rev.). Certain persons not allowed to eat the tail of the Porcupine (L VIII.-16. 7405-7409, 7408 rev. and 7409 rev.). A part of the Porcupine is used to prevent the evil consequences of eating !kùï. (L VIII.-16. 7450 rev., note). Only old people and married women with their own huts can eat the tail safely.
Comments
1) |han≠kass'o heard this story from his mother (|xabbi-an), 2) See also Method of cooking and eating porcupine, 3) This story is found in Book VIII-16
Contributors
|han≠kass'o (Klein Jantje) (VIII)
Date
10 September 1878
Categories
The Rain and Rain's water, Custom and daily life
Keywords
porcupine (is eaten by the old and by married women) , porcupine (a girl does not eat its tail) , porcupine (the parts that are eaten) , porcupine (prohibitions regarding eating) , porcupine (eating the porcupine's tail is avoided) , porcupine (its tail and the rain) , porcupine (the white part of its tail is called the 'danger signal' or !gwe) , food (the eating of porcupine) , food (a girl does not eat the porcupine's tail) , food (eaten by old people) , food (eaten by married women) , food (eating the porcupine's tail is avoided) , rain (girls do not eat the porcupine's tail) , rain (and porcupine's 'danger signal' or !gwe) , rain (on its tail) , name (the porcupine's 'danger signal' on its tail is called !gwe) , girls (do not eat porcupines' tails)
Story Pages
7408v-7409v


{% extends "policies_base.html" %} {% load static from staticfiles %} {% block policiesextrahead %} {% endblock %} {% load shipbuildtype %} {% block title %}Fleet Policies{% endblock %} {% block policies %}
Current budget: {{ money }} GEU
Free shipyards: {{ yardsfree }} Shipyards in use: {{ yardsinuse }}
{% if result != None %} {% endif %} {% if rumsodmsg != None %}{{ rumsodmsg|safe }}
{% endif %}Construct Flagship
Resource costs: 500 GEU, 20 duraniumA personal fighter is light and nimble, perfect for bloodthirsty or thrill-seeking
Scuttle Flagship
If you wish to build a different type of flagship, you can scuttle your current one.{% endif %}
Research {{ shiptext }}
Resource costs: {{ costmsg }}
| Rumsoddium Military Miracle | ||
| Upon collecting the 4 existing pieces of rumsoddium, your scientists find it has amazing - almost miraculous - properties! They believe that if you arrange the pieces in a square and bombard them with X-rays at a frequency of exactly Hz, while a male and a female, both virgins, chant an exact world name in the room, an economic calamity will occur to the world named through means too horrible to imagine. | ||


Basic infrastructure and some algorithms for the traveling
salesperson problem (also traveling salesman problem; TSP).
The package provides some simple algorithms and
an interface to the Concorde TSP solver and its implementation of the
Chained-Lin-Kernighan heuristic. The code for Concorde
itself is not included in the package and has to be obtained separately.
| Version: |
1.1-6 |
| Depends: |
R (≥ 2.14.0) |
| Imports: |
graphics, foreach, utils, methods, stats, grDevices |
| Suggests: |
maps, sp, maptools, testthat |
| Published: |
2018-04-30 |
| Author: |
Michael Hahsler [aut, cre, cph],
Kurt Hornik [aut, cph] |
| Maintainer: |
Michael Hahsler <mhahsler at lyle.smu.edu> |
| BugReports: |
https://github.com/mhahsler/TSP |
| License: |
GPL-3 |
| Copyright: |
All code is Copyright (C) Michael Hahsler and Kurt Hornik. |
| URL: |
http://lyle.smu.edu/IDA/seriation |
| NeedsCompilation: |
yes |
| Classification/ACM: |
G.1.6, G.2.1, G.4 |
| Citation: |
TSP citation info |
| Materials: |
README NEWS |
| In views: |
Optimization |
| CRAN checks: |
TSP results |


Hotel Info:
We
have listed
a few suggestions but you may want to search on your own. There are
many hotels
in the area at a variety of rates.
If
you have
problems making reservation on the web, you can send a
email to Josiane Brasseur
(Josiane.Brasseur@lgge.obs.ujf-grenoble.fr),
secretary
of the MEOM group at LEGI. Give precisely which nights you need a
room and we shall book it for you. She will inform you about the
rates before
making the reservation.
Hotels near the train and bus station:
|
|
Hotel |
Address |
Phone |
Website |
|
4 |
Hotel des Alpes |
45,
avenue Felix Vialle |
Ph.
+33 (0)4 76 87 00 71 |
|
|
5 |
France
Touring Hotel |
26
av. Alsace Lorraine |
Ph.
+33 (0)4 76 46 24 32 |
|
|
6 |
Hotel Terminus |
10
place de la Gare |
Ph.
+33 (0)4 76 87 24 33 |
|
|
7 |
Hotel de l'Institut |
10,
rue Barbillon |
Ph.
+33 (0)4 76 46 36 44 |
|
|
8 |
Hotel Suisse & Bordeaux |
6,
place de la Gare |
Ph.
+33 (0)4 76 47 55 87 |
|
|
9 |
Hotel Bastille |
25,
avenue Felix Viallet |
Ph.
+33 (0)4 76 43 10 27 |
|
|
10 |
ResidHotel |
8 Place de la Gare |
Ph.
+33 (0)4 76 50 77 88 |
Hotels in the city center:
|
|
Hotel |
Address |
Phone |
Website |
|
1 |
Hotel de l'europe |
22
place Grenette |
Ph.
+33 (0)4 76 46 16 94 |
|
|
2 |
Ibis
Grenoble Centre |
5,
rue de Miribel |
Ph.
+33 (0)4 76 47 48 49 |
|
|
3 |
Hotel d'Angleterre |
5, place Victor Hugo |
Ph.
+33 (0)4 76 87 37 21 |


What's your opinion on this quote?
This quote has stayed {{quote.entryDate|dateCount}} days since creation.
Delete quote


If it's the first time, enter your email address. If you already have an account, enter your email or username.
{{loginPasswordlessMessage}}
Check your mailbox and enter the verification code to login.
What is your username?
{{loginPasswordlessUserInfo}}


{% extends 'layout.html' %} {% set crumbs = ((_('Community'),), (_('Sites'),)) %} {% block content %}
{{ _("Below is a list of sites that use mynt (some with links to their sources) for people looking for some working examples of mynt sites or are just curious about how people are using mynt.") }}
{% trans %}If you'd like your site added to this list, either message me (Anomareh) in the mynt IRC channel or send me an email with the URL to the site as well as a link to it's source if it's publicly available somewhere.{% endtrans %}


ANYWHERE BUT HERE
Reviewed by Harvey Karten 20th Century Fox/Fox 2000 Pictures Director: Wayne Wang Writer: Mona Simpson (novel), Alvin Sargent Cast: Susan Sarandon, Natalie Portman, Eileen Ryan, Ray Baker, John Diehl, Shawn Hatosy, Bonnie Bedelia, Caroline Aaron, Hart Bochner
As I was leaving the theater playing "Anywhere But Here," I realized that the movie had contributed a personal insight. This wasn't an intuition that came on me like an epiphany but more like one that strengthened a belief I had always had but about which I needed more convincing. When I was thirteen years old, about to graduate from junior high school, I received an acceptance letter from Stuyvesant High School in Manhattan. To this day Stuyvesant is a special place, a competitive school for kids who pass a rigorous entrance exam. I happened to be the only one in my JHS to be so lucky, so you can imagine my disappointment when my mom announced that I was instead to go to a different place--a prep school which she had chosen for me and for which she and my dad would have to work even harder to afford. I didn't particularly rebel against this decision of theirs but rather felt unable to resist her determination to send me there. Years, even decades later, I wondered about her real motivation.
Now with "Anywhere But Here" comes a story that clarifies her resolve. Like the character of Adele August, she wanted what was best for me, what might open more doors in my future.
If a book, play, or movie can clarify some important facet of our own lives, then that's a big plus for the art form; is it not? "Anywhere But Here" may be conventional as coming-of-age dramas go, but with photographer Roger Deakins's sharp, wide-lens photography throughout forty locations in Los Angeles, Alvin Sargent's solid screenplay from Mona Simpson's novel (and one which avoids excessive sentimentality), and most of all some absolutely wonderful performances by Susan Sarandon and Natalie Portman as a mother and daughter team in conflict, the film is a remarkable achievement. Its skillful direction by Wayne Wang, whose "Joy Luck Club" gives him all the credentials he needs for helming such a drama, is not the least of the reasons for its successful, down-to-earth portrayal of family rivalry and reconciliation.
The most arresting twist of this comedy-drama is a reversal of the roles we usually expect from parents and their children. Adele August (Susan Sarandon) is the mother of a 14-year- old girl, Ann (Natalie Portman), but as you watch them driving across half the country from Bay City, Wisconsin to Beverly Hills, California, you'd not know from their actions which was the adult and which the child. Adele, a bouncy, Auntie Mame type, turns up the radio to a Beach Boys' rendition of "Surfin' Safari," bopping along to the music, singing the lyrics lustily, while her teen daughter mopes on the passenger side complaining "I hate the Beach Boys." Ann is furious and depressed that she is being "kidnapped" by her mom, taken away from the small town she loves which includes all her friends and especially the cousin she dearly loves, Benny (Shawn Hatosy). In Ann's mind, her mother is selfish, simply wanting to get away from her second husband, a nice guy but one whom Adele considers boring. Not for Adele is a lifelong partnership with a guy who will always be an ice skating instructor and a claustrophobic town full of people who look forward to a life's career as supermarket checkers. Instead, Adele wants her daughter to take up a career in acting, one in which the young woman has no interest. How's that for role reversal?
Director Wang exploits the talents of these two first-rate performers wonderfully, displaying for us a collage of episodes that, taken together, elegantly defines the character of these people. Adele's vulnerability, hiding only slightly beneath her bluster, emerges when she confuses a one-night stand with a dashing orthodontist with true romance. But in a great many situations she is on the money. In one scene, she is dropping her understandably anxious daughter off at her new school in Beverly Hills. "They look like they're going to the beach," Ann protests upon seeing kids that could have come out of Amy Heckerling's "Clueless." "The intelligent ones are inside," comforts her mom.
Wayne Wang may want us at first to share Ann's belief that her mom is looking out only for herself each time he shows Adele grasping for material goods. In one comic display, the two are about to check into the Beverly Hills Hotel. Discovering that the room would be $1200 a night, Adele complains that the lodging is too small and asks for a villa, breathing more easily when she is told that there are none left that week. Adele's embarrassment at her lack of funds comes to a head when the electricity in their ordinary flat in the unfashionable part of Beverly Hills is shut off.
Throughout the film, however, we see that mother and daughter need each other despite their arguments: that mom is terrified about losing her, and Ann, for all her whining, both needs and has a great affection for Adele. As the picture approaches its conclusion, we're all aware that this portrayal of the most basic relationship we have will come to an optimistic conclusion. But as we ride along with the duo's 1978 Mercedes from occasion to episode, we realize that this movie, while perhaps more appealing to women in the audience (whose male friends would rather see Ms. Portman in "The Phantom Menace"), is not a chick flick. We've all had mothers and none of us can honestly claim an unabashedly joyous connection with them. Fortunate is each of us indeed when we discover, as does the beautiful and talented Ann, that "when she dies, the world will be flat...too reasonable."
Rated PG-13. Running Time: 114 minutes. (C) 1999 Harvey Karten
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Flight Details
Flight number: {{OutFlight.flightNumber}}
Departure time: {{OutFlight.departureDateTime}}
Arrival time: {{OutFlight.arrivalDateTime}}
Desired Class: {{OutFlight.class}}
Price: ${{OutFlight.cost}}
Seating Preference
Seat Type
Window Seat
Aisle Seat
Cabin Seat
Book Flight


workshop architects transforms a former colonial house into filux lab in mexico
by Workshopin the mexican city of merida, workshop architects has created the filux lab – a new art laboratory for the international festival of lights mexico, or filux. to form the new program, the project sees the transformation of an existing colonial house. using this building as a base for the design, the architects have realized a flexible space that works as a gallery, as a workshop and as a place of coexistence, camaraderie and research for artistic purposes.
main terrace of filux lab
all images courtesy of workshop architects
filux lab serves as an independent space to consolidate the ‘sense of artistic community’; as a meeting point between artists, experts and the public. the initiative’s international program is based on experimentation, production, promotion and exhibition of cultural projects which take light and cinema as their starting point. in this way, it establishes itself as a global reference from mexico to the world.
general view of filux lab
to form the new program, workshop architects has retained many of the original features of the building. the ground floor has five rooms, which were part of the structure of the house before the intervention. for example, an edge of antique white mosaics join the old flooring to the new, uniting the past and present architecture together in a space that can be adapted for artistic interventions.
view with light designed by luca salas
the architecture serves as a blank canvas and is defined by white and neutral colors. additionally, no space within the laboratory has fixed lighting. all of the lamps that are used have a connector that can be plugged through electric extension cords from different points, allowing the space to evolve quickly depending on the dynamics each particular user requires.
model in staircase
the back esplanade, with its more modern design, breaks with the traditional reading of the yucatecan colonial architecture. it invites users to experiment with the high walls that are ideal for projections and that, thanks to the different moldings around the openings and the use of lattices in the walls, offer endless options to play with lighting.
detail of doors, moldings, lattice and stairs
during the day, sunlight offers a spectacular play of light and shadows that are projected at different points of the building, and during the night the versatility of artificial lights allows users to create different luminous atmospheres. serving as a blank canvas, essentially going “unnoticed”, to highlight the pieces of art in presentations and exhibitions, and, on the other hand, standing out and distinguishing when there is not art on the premises, allows the building to serve dual purposes.
upper terrace
filux labs turns itself into a new work of art every time different forms of lighting are accommodated or used. the second floor has the administrative area that includes offices, a library with a collection focused mainly on light and two terraces, which are accessed via a spiral staircase that crowns the back facade of the building and elegantly highlights the esplanade as sculpture itself. when crossing the white doors of the facade, the known is left behind. the space invites all who enter to discover and create new sensory experiences in the universe of light, the universe of filux.
side view of the building
architectural details with sun shadows
street façade in merida’s historic downtown
project info:
project name: filux lab
location: merida, mexico
architect: workshop architects
designboom has received this project from our ‘ DIY submissions ‘ feature, where we welcome our readers to submit their own work for publication. see more project submissions from our readers here.
edited by: lynne myers | designboom


Bus Mall
Everyone's favorite site for looking at useless and weird things to buy
If you haven't tried our bus mall for finding your favorite new possession, you can now!
Click on your favorite item, and vote for your favorites.


Once you understand their purpose and power, playing with descriptors is a lot of fun.
I recently found myself needing to set an instance of a class as a class attribute on the class in question. I'm not crazy, I swear. It's for pynads' implementation of Monoids. However, doing this:
class Thing(object): mempty = Thing()
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-1-cf5ea63fa573> in <module>() ----> 1 class Thing(object): 2 mempty = Thing() <ipython-input-1-cf5ea63fa573> in Thing() 1 class Thing(object): ----> 2 mempty = Thing() NameError: name 'Thing' is not defined
Doesn't work. Wah wah wah. So my brain began turning, and I first tried this:
class Thing(object): @classmethod @property def mempty(cls): return cls() Thing.mempty
<bound method type.? of <class '__main__.Thing'>>
At least that didn't blow up..., what if I swapped them?
class Thing(object): @property @classmethod def mempty(cls): return cls() Thing.mempty
<property at 0x7fd39c1601d8>
Well, that didn't work either. Hm. I had hoped that composing classmethod and property together would work and that Python would magically infer what I wanted. However, Python does no such thing, unsurprisingly. So, what if I made my own classproperty descriptor?
class classproperty(object): def __init__(self, method): self.method = method def __get__(self, _, cls): return self.method(cls) class Thing(object): @classproperty def mempty(cls): return cls() Thing.mempty
<__main__.Thing at 0x7fd39c159588>
It works! Five lines of code plus another three to use it! Yeah! Except that three line use was repeated at least three times in pynads. I'm not sure about you, but I hate repeating myself. I'm gonna make a mistake somewhere (and did with List). Mainly because I was caching the instance like this:
class Thing(object): _mempty = None @classproperty def mempty(cls): if cls._mempty is None: cls._mempty = cls() return cls._mempty assert Thing.mempty is Thing.mempty
That's great, but that's also six lines of boilerplate, which is one line longer than the implementation. ): After the benadryl wore off and I was able to think straight, what if I just moved the boiler plate into the descriptor?
class Instance(object): def __get__(self, _, cls): return cls() class Thing(object): mempty = Instance() print(repr(Thing.mempty)) print(Thing.mempty is Thing.mempty)
<__main__.Thing object at 0x7fd39c166e80> False
Awesome. That's a much nicer use of it. The caching can also be moved into the descriptor too:
class Instance(object): def __init__(self): self._inst = None def __get__(self, _, cls): if self._inst is None: self._inst = cls() return self._inst class Thing(object): mempty = Instance() assert Thing.mempty is Thing.mempty
And, if needed, a specific instance can be created and cached:
class Instance(object): def __init__(self, *args, **kwargs): self._inst = None self.args = args self.kwargs = kwargs def __get__(self, _, cls): if self._inst is None: self._inst = cls(*self.args, **self.kwargs) return self._inst class Thing(object): mempty = Instance(hello='world') def __init__(self, hello): print(hello) Thing.mempty
world
<__main__.Thing at 0x7fd39c1f5e10>
And to show it's cached:
Thing.mempty
<__main__.Thing at 0x7fd39c1f5e10>
Ta-da! Setting an instance of a class on the class as a class attribute -- a sentence that is no less confusing to read now than before.
I spilled my brains, spill some of yours.


Piyush Goyal to talk trade with USTR Robert Lighthize on Wednesday
Next day, the minister will hold high-level industry interaction with business and industry representatives in New York.
by Press Trust of IndiaCommerce and Industry Minister Piyush Goyal will meet his US counterpart Robert Lighthize in Washington on Wednesday to discuss trade related issues, an official statement said.
“On November 13, Goyal will have India-US bilateral meeting with his counterpart US Trade Representative (USTR) Robert Lighthizer to discuss the outstanding bilateral issues and to arrive at a shared understating on a mutually beneficial basis,” the statement said on Saturday.
Next day, the minister will hold high-level industry interaction with business and industry representatives in New York.


I am future white hat hacker, Koyoua Vang. My journey is just starting but I'm eager to thrive, determined to reach my goals, and set on leaving my mark in the world.


This module allows intercept methods and its parameters and to override the values depending on the state of the feature declared.


Digital Creative Art PlatformBegin your NFT collection_
Decentralized premium English auction for distinguished creative works. Become the first owner of highly-sought digital arts.
Online and on-chain marketplace for the tokenized artworks created by our selected artists.
We've been waiting for your work.


Instructions
Your input variable will contain a string of invalid JSON. However, each invalid JSON string received can be fixed
by making one or more single character changes. Only three possible things may be wrong with the JSON string:
1) missing leading or trailing brace, 2) unquoted JSON string value, 3) missing comma between properties.
Inputs
value1
A string of invalid JSON
Sample Test Cases
Single Problem
value1 {"name":"em"
output {"name":"em"}
Multiple Problems
value1 "name":"em
output {"name":"em"}


Jcrop
/
Demos
/
API Demo
API Demo
setSelect
animateTo
Release
Disable
Re-Enable
Destroy!
Attach Jcrop
Option Toggles
Aspect ratio
minSize/maxSize setting
Allow new selections
Selection can be moved
Resizable selection
Change Image
Pool
Sago
Sago w/ outerImage


Presented by Xavier Riley / @xavriley
slides: sonic-pi-talk.herokuapp.com
github: github.com/xavriley
A new cross-platform music programming environment that uses the Ruby programming language. It aims to teach concepts of computer science through creating music.
It currently runs on Mac OSX (back to 10.6) and linux and is distributed with the Raspberry Pi.
Windows support is planned - volunteers wanted!
Download the latest version here: http://sonic-pi.net/
The four esses
But first... Using the built in tutorial and docs
Since I proposed this talk, Sonic Pi has shipped with great documentation and an extensive tutorial full of examples. You should check that out first - what follows is a quick run through.
sample :perc_bell
sleep 5
sample :drum_cymbal_open, rate: -1
sleep 5
sample :drum_cymbal_open, rate: 0.5
sleep 5
sample :loop_amen, start: 0.5, finish: 1
sleep 5
3.times do
sample :loop_amen
sleep(sample_duration(:loop_amen))
end
use_debug false
steps = (0..1).step(1/16.0).each_cons(2).to_a
steps.shuffle! # randomise the order
puts steps.inspect
4.times do
steps.each do |s, f|
sample :loop_amen, start: s, finish: f
sleep(sample_duration(:loop_amen)/16.0)
end
end
play :c4
sleep 3
play :c4, sustain: 2
sleep 5
# Sonic Pi comes with 23 different synth sounds
with_synth :dsaw do
play :c4, sustain: 2, amp: 0.3, attack: 1
end
time, synths, n, wait_time = 10, [], 30, 4
rand_note = lambda { rrand(note(:A2), note(:A4)) }
use_synth :dsaw
n.times do
# collect the synths in an array for controlling later
synths << play(rand_note.call, detune: rrand(0,1),
detune_slide: time, sustain: time,
amp: (1.0/n), pan: rrand(0, 1))
end
sleep wait_time
synths.each do |t|
slide_time = rrand(wait_time, (time - 2))
t.control note: (one_in(2) ? 70 : 46), note_slide: slide_time, detune: 0.1
end
use_bpm 120
use_synth :dsaw
notes = [:a1,:a2,:g1,:g1,:g1,:g2,:e1,:e2,nil,:f1,nil,:g1,nil]
durations = [2,2,0.66,0.66,0.66,2,2,1,1,1,1,1,1]
play_pattern_timed(notes, durations)
with_fx :slicer, pulse_width: 0.25 do
with_fx :wobble, mix: 0.5, res: 0.3, phase: 0.25 do
with_fx :distortion, distort: 0.99 do
play_pattern_timed(notes, durations)
end
end
end
# set bpm to the value of the :loop_amen sample
use_bpm (60 / (sample_duration(:loop_amen)/4))
in_thread(name: :master) do
loop do
3.times do
cue :play_backbeat
sleep 4
end
1.times do
cue :play_fill
sleep 4
end
end
end
in_thread(name: :beats) do
loop do
sync :play_backbeat
sample :loop_amen
end
end
in_thread(name: :fills) do
use_debug false
loop do
sync :play_fill
16.times { sample :loop_amen, start: 0.5, finish: 0.75; sleep 0.25 }
end
end
use_random_seed(3)
puts one_in(6) # returns boolean
puts dice(6) # return int between 1 and 6
print rrand(0, 10) # "ranged" random float
# Get the current seed
puts (Thread.current.thread_variable_get :sonic_pi_spider_random_generator).seed
use_bpm 120
define :map_to_beats do |index_range|
index_range = Array(index_range)
if (index_range.length % 4 == 0)
onbeats = index_range.each_slice(4).map(&:first)
index_range.map {|i|
@current_beat = (onbeats.index(i) + 1) if (i % 4 == 1)
{
beat: @current_beat,
subdiv: ((i - 1) % 4),
onbeat: i.odd?,
beat_index: i
}
}
end
end
define :randobeat do
# by playing with the "length" of onbeats vs offbeats
# we get different groove feelings
sleep_times = [0.25, 0.25]
sleep_times = [0.23, 0.27] if one_in(4)
sleep_times = [0.27, 0.23] if one_in(8)
map_to_beats(1..16).each do |b|
i = b[:beat_index]
sample :drum_bass_hard if (b[:beat] == 1 && b[:subdiv] == 0)
with_fx :reverb, mix: 0.01 do
sample :elec_blip if b[:beat] == 3 and b[:subdiv] == 0
end
if b[:subdiv] == 0
# strong beats
sample :drum_cymbal_closed
elsif one_in(3) and b[:subdiv] == 2
# offbeat 8ths
sample :drum_cymbal_closed
sample :drum_bass_hard if one_in(6)
elsif one_in(5)
# offbeat 16ths
sample :drum_cymbal_closed
sample :drum_bass_hard if one_in(6)
end
sleep sleep_times.first if i.odd?
sleep sleep_times.last if i.even?
end
end
in_thread(name: :beat) do
loop { randobeat }
end
https://github.com/meta-ex/ignite (source of that performance)
Repl Electric - The Stars from Repl Electric on Vimeo.
How it works
sleep
is doing a lot more than you think
Truly honoured to have worked with @dorchard on this FARM '14 paper "A temporal semantics for a live coding language" http://t.co/sU2xxOUTL5
— Sam Aaron (@samaaron) July 3, 2014
AFAIK SuperCollider has better scheduling support than HTML5 WebAudio (for now)
One of the motivations for Sonic Pi was to model music in a way kids could understand
The other was the target of the Raspberry Pi which is not exactly high powered
Using sleep
feels a bit more like programming BASIC which is easier to grasp for beginners
For performance, Sonic Pi inserts a tiny gap at the start of each run, and which gives it just enough time to schedule the events
It fails gracefully if it can't schedule the event in time because, in music, missing a beat is better than playing it out of time
Read the paper linked above for a full explanation
There's still no great DSL/text representation for melodic music - an interesting challenge for someone!
Sonic Pi saves each workspace as a git repo! ~/.sonic-pi/store/default
Are we programming at the right level of abstraction?
(
{ // Open the Function
SinOsc.ar( // Make an audio rate SinOsc
440, // frequency of 440 Hz, or the tuning A
0, // initial phase of 0, or the beginning of the cycle
0.2) // mul of 0.2
}.play; // close the Function and call 'play' on it
)
There's a lot of detail here
SC Lang is effectively recreating the world of analog modular synthesizers in code (with 'oscillator' functions that plug into other 'oscillator' functions).
It excels at synth and sound design, but its a complex medium to sequence and arrange music.
Sonic Pi leverages the synth designs but draws a boundary. You can't create these oscillating functions directly.
It's a separation of concerns. There's a theoretical loss in the power you have, but it's also liberating not to have to worry about it. (think memory management in C vs. GC in Ruby)
(see refs: "Design, Composition and Performance")
Aside: Research (Hirsch - Cultural Literacy) has shown that a reader needs to understand 95% of the words in a text to have a chance of understanding it. Does the same apply to computing paradigms and syntax?
“The other thing that's interesting is that for each of these knobs has a corresponding jack. In other words there a human interface and a machine interface to the same things. The machine interfaces were there all the time, in fact they were first, and then the human interfaces come along. We have to remember that as a design thing, right? What's wrong with SQL? (pause) What's wrong with SQL is that there's no machine interface to SQL. They only designed a human interface and we've suffered ever since having to send these strings around. You can always build a human interface on top of a machine interface. The other way round is often disgusting.”Rich Hickey - Design, Composition and Performance
| Sonic Pi | Ableton Live |
|---|---|
| Machine Interface | Human Interface |
| Free | €998 (on sale) |
| Expressivity | Interfaces |
| Coding | "Music Technology" |
Of course I'm trolling here (a little bit).
Boundaries are blurry here also: Ableton has MaxMSP and a subset of Python, Renoise has Lua scripting
An analogy: I think Excel is an incredible tool but it makes some things impossible (e.g. you couldn't build OpenCorporates in MS Access). Think of the music that could only be made in code.
The day after I wrote this, I saw this piece on programming Reddit
Launching One Clip at a Time in Ableton Live 9 with the APC40 Using Python MIDI Remote ScriptsIt's over 1000 words. Do you still think Hickey's choice of words was too strong?
# Transcribed from the SC140 project: http://ia600406.us.archive.org/16/items/sc140/sc140_sourcecode.txt
# f={|t|Pbind(\note,Pseq([-1,1,6,8,9,1,-1,8,6,1,9,8]+5,319),\dur,t)};Ptpar([0,f.(1/6),12,f.(0.1672)],1).play
# Orig. code by Batuhan Bozkurt (refactored by Charles Celeste Hutchins)
# Steve Reich style phasing
# Pan added by me
note_seq = [-1,1,6,8,9,1,-1,8,6,1,9,8]
note = ->(x) { play (63 + x), release: 0.2,
pan: ->{rrand(0.4, 0.6)}, decay: 0.01,
attack: 0.005, amp: 0.4 }
in_thread { loop { note_seq.each {|n| note.call(n); sleep (1.0/6) } } }
in_thread { loop { note_seq.each {|n| note.call(n); sleep 0.1672 } } }
“Ah, music,” he said, wiping his eyes. “A magic far beyond all we do here!”Albus Dumbledore
Image credits: http://cdn.synthtopia.com/wp-content/uploads/2010/07/modular-synthgasm.jpg
http://missrosen.files.wordpress.com/2011/11/oup-424221chandlerthebigsleep.jpg
http://cps-static.rovicorp.com/3/JPG_400/MI0003/284/MI0003284914.jpg?partner=allrovi.com
http://www.earslap.com/instruction/recreating-the-thx-deep-note
http://www.earslap.com/instruction/running-baudline-on-mac-os-x
http://magpi.techjeeper.com/The-MagPi-issue-23-en.pdf
https://gist.github.com/urbanautomaton/11ce2acb775d1bc24898
https://gist.github.com/aaron-santos/3651346
https://github.com/philandstuff/ldnclj-dojo-2014-05/blob/master/src/ldnclj_dojo_2014_05/core.clj
https://www.youtube.com/watch?v=ghDpcGuUUm4
http://sonic-pi.net/get-v2.0
http://www.fredrikolofsson.com/pages/code-sc.html
file://localhost/Users/xavierriley/Downloads/f0plugins36/Atari2600/Atari2600.html
http://supercollider.sourceforge.net/audiocode-examples/
http://www.mmlshare.com/tracks/view/403
http://www.mmlshare.com/tracks/view/378
http://home.ieis.tue.nl/dhermes/lectures/soundperception/htmlfiles/fmFm.html
http://www.michaelbromley.co.uk/blog/105/what-makes-a-good-tech-talk
http://pastebin.com/uYvrqANQ
http://www.reddit.com/r/chiptunes/
http://gibber.mat.ucsb.edu/
http://diydsp.com/livesite/
https://github.com/stagas/audio-process
http://studio.substack.net/wavepot
https://watilde.github.io/beeplay/
http://blog.chrislowis.co.uk/waw/2014/06/14/web-audio-weekly-19.html
http://www.openscad.org/
http://musicforgeeksandnerds.com/
http://toplap.org/
http://wavepot.com/
http://www.acm.org/search?SearchableText=music
https://soundcloud.com/repl-electric/sets/live-coding
http://www.mcld.co.uk/blog/blog.php?235
http://www.generalguitargadgets.com/effects-projects/distortion/rat/
http://superdupercollider.blogspot.co.uk/2009/05/crushing-bits-for-fun-and-profit.html
https://github.com/overtone/overtone/blob/master/src/overtone/studio/fx.clj
https://en.wikipedia.org/wiki/Chiptune
http://www.nullsleep.com/treasure/mck_guide/
https://en.wikipedia.org/wiki/Music_Macro_Language
http://www.mariopiano.com/mario-sheet-music-overworld-main-theme.html
http://elinux.org/RPi_Text_to_Speech_(Speech_Synthesis)
http://new-supercollider-mailing-lists-forums-use-these.2681727.n2.nabble.com/Text-To-speech-td4520252.html
http://tm.durusau.net/?p=54881&utm_source=dlvr.it&utm_medium=twitter
http://www.infoq.com/presentations/programming-language-communication
https://www.facebook.com/media/set/?set=a.691766514210545.1073741881.109367642450438&type=1
http://slidedeck.io/about
http://toplap.org/overtone/
http://hg.postspectacular.com/resonate-2013/src/0cbf14634d51/src/resonate2013/?at=default
https://www.ableton.com/en/trial/
https://en.wikibooks.org/wiki/Sound_Synthesis_Theory
http://daveyarwood.github.io/music/2014/08/23/introducing-riffmuse/?utm_source=dlvr.it&utm_medium=twitter
http://www.renoise.com/products/renoise
http://thelackthereof.org/wiki.rss/Overtone_Adventures
http://supercollider.calumgunn.com/
http://toplap.org/tidal/
http://www.creativefront.org/projects-and-events/events/thesummit
http://www.sussex.ac.uk/Users/nc81/modules/cm1/workshop.html
http://www.sussex.ac.uk/Users/nc81/modules/cm1/scfiles/11.1%20Physical%20Modelling.html
http://www.sussex.ac.uk/Users/nc81/modules/cm1/scfiles/11.2%20Analogue%20Modelling.html
http://cambridge105.fm/podcasts/105-drive-09-09-2014/?utm_source=dlvr.it&utm_medium=twitter
http://webmagazin.de/en/Whats-it-like-to-work-for-Ableton-173156
https://www.youtube.com/watch?v=TePRrmX9g3U
http://www.infoq.com/presentations/Design-Composition-Performance
http://www.kylegann.com/histune.html
https://github.com/TONEnoTONE/Tone.js
https://skillsmatter.com/skillscasts/5511-a-gentle-introduction-to-music-theory-in-ruby


-
curl -X POST "http://localhost:8080/trading/api/v1/trades"
-d "{\"symbol\": \"gogle\", \"price\": \"128.23\", \"quantity\":
\"10000\"}" -H "Accept: application/json" -H "Content-Type:
application/json"
-
curl -X PUT
"http://localhost:8080/trading/api/v1/trades/gogle" -d "{\"symbol\":
\"gogle\", \"price\": \"114.44\", \"quantity\": \"40000\"}" -H
"Accept: application/json" -H "Content-Type: application/json"
-
curl -X GET "http://localhost:8080/trading/api/v1/trades" -H
"Accept: application/json"
-
curl -X PUT
"http://localhost:8080/trading/api/v1/trades/gogle" -H "Accept:
application/json"


|
Ubiquity
2.3.0
php rapid development framework
|
Bag for Session Flash messages Ubiquity$FlashBag This class is part of Ubiquity. More...
Public Member Functions | |
| __construct () | |
| addMessage ($content, $title=NULL, $type="info", $icon=null) | |
| getMessages ($type) | |
| getAll () | |
| clear () | |
| rewind () | |
| current () | |
| key () | |
| next () | |
| valid () | |
| save () | |
Data Fields | |
| const | FLASH_BAG_KEY = "_flash_bag" |
Private Attributes | |
| $array | |
| $position = 0 | |
Bag for Session Flash messages Ubiquity$FlashBag This class is part of Ubiquity.
Definition at line 16 of file FlashBag.php.
| __construct | ( | ) |
Definition at line 21 of file FlashBag.php.
| addMessage | ( | $content, | |
$title = NULL , |
|||
$type = "info" , |
|||
$icon = null |
|||
| ) |
Definition at line 26 of file FlashBag.php.
| clear | ( | ) |
Definition at line 43 of file FlashBag.php.
| current | ( | ) |
Definition at line 56 of file FlashBag.php.
| getAll | ( | ) |
Definition at line 39 of file FlashBag.php.
| getMessages | ( | $type | ) |
Definition at line 30 of file FlashBag.php.
| key | ( | ) |
Definition at line 60 of file FlashBag.php.
| next | ( | ) |
Definition at line 64 of file FlashBag.php.
| rewind | ( | ) |
Definition at line 48 of file FlashBag.php.
| save | ( | ) |
Definition at line 72 of file FlashBag.php.
| valid | ( | ) |
Definition at line 68 of file FlashBag.php.
|
private |
Definition at line 18 of file FlashBag.php.
|
private |
Definition at line 19 of file FlashBag.php.
| const FLASH_BAG_KEY = "_flash_bag" |
Definition at line 17 of file FlashBag.php.


[education]
2012-2018 - ETH Zurich, Zurich, Switzerland - Ph.D., Human-Computer Interaction
- Development of a framework for pose and gesture recognition
2010-2012 - Chalmers University of Technology, Gothenburg, Sweden - Master of Science, Computer systems and networks
- Focused on secure and dependable computer systems, and formal methods.
2002-2007 - Amirkabir University of Technology (Tehran Polytechnic), Tehran, Iran - Bachelor of Science, Computer Engineering
- With focus courses on computer science and digital electronics.
[experience & skills]
2018 - Ryerson University + IEEE - Python for Data Science Workshop
- A Hands on Workshop for Electrical and Computer Engineering Students
- Teaching Basics of Python and NLTK for analysing Trump's Tweets (notes: https://bit.ly/2KPNNhT)
2017-2018 - MedAux Inc. - CTO
- Architect, full stack development, code revision and supervision of a small team of developers
- Accepted into StarTech and EdTech Accelerators, awarded first place in Hofstra Venture Challenge
- Django, JavaScript, React, PostgreSQL HTML/CSS, AWS, CircleCI
2013-2017 - ETH Zurich - Research Engineer
- Architecure, development, teaching and supervision of students and engineers
- C#, WPF, Python+SciKit, Node, Mongo, C, C++
2012-2013 - Touchtech - Windows Programming
- Development of C#/WPF interactive applications for windows
- C#, WPF, SQL Server, TFS
2005-2010 - Bloorintar - Embedded Software Engineer
- Design and development of embedded solutions
- C, C#, Assembler, CSS/HTML/JavaScript, AVR+FPGA+Verilog
2002-2005 - Peyvand Afzar Farda - Fullstack developer
- Web developer
- ASP, JavaScript, HTML/CSS, SQL Server
[skills]
- Programming: Python+Django, JavaScript+Node, HTML/CSS, React, SQL/NoSQL, C, C#
- Tools & platforms: GitHub, CircleCI, AWS, Debian, ...
- Machine learning: SVM, Random Forests, SGD, ...
[hobbies & personality]
- Movies, books, slacklining
- Avid traveler, language enthusiast: English, Persian, Swedish (B1), Spanish (B1), German (A2)
- Goal oriented, maker+hacker, data oriented
[side projects]
2014 - Zurich, Switzerland - Automatic News Generation Based on Twitter
- Selected as one of the best projects in Big Data, Fall 2014, ETH Zurich
2011 - Gothenburg, Sweden - TravelHack
- Selected as best app for improving pubtrans in Vastra Gotaland, Sweden


QuoteReturns the text form of text enclosed in quotation marks.This function protects text from being evaluated by the Evaluate function. Special characters within text are escaped appropriately.Quote(“hello”) returns “hello”.Quote(“abc\¶”) returns “abc\¶”.Quote(“say \”hello\” fred”) returns “say \”hello\” fred”.Evaluate(Quote(“1 + 2”)) returns 1 + 2.Evaluate(“1 + 2&” & Quote(“ - 1 + 2”)) returns 3 - 1 + 2.


Defines | |
| #define | GLFW_MOD_SHIFT 0x0001 |
| If this bit is set one or more Shift keys were held down. | |
| #define | GLFW_MOD_CONTROL 0x0002 |
| If this bit is set one or more Control keys were held down. | |
| #define | GLFW_MOD_ALT 0x0004 |
| If this bit is set one or more Alt keys were held down. | |
| #define | GLFW_MOD_SUPER 0x0008 |
| If this bit is set one or more Super keys were held down. |


--- ---
Services the area of
Loading...
Instantly point to the direction of your best broadcasting site using iPhone or iPad.


Controllers:
Clear Canvas
Open it
Download
Colors:
color Purple
color Green
color Yellow
color Brown
Font Sizes:
Small
Normal
Big
Tools:
Eraser
Marker
Cryton


Fort Awesome : Examples
After you get up and running, you can place Font Awesome icons just about anywhere with the <i>tag. Some examples appreciatively re-used from the Bootstrap documentation.
Basic Icons
fa-camera-retro
Larger Icons
fa-lg
fa-2x
fa-3x
fa-4x
fa-5x
List Icons
- List icons
- can be used
- as bullets
- in lists
Bordered & Pulled Icons
...tomorrow we will run faster, stretch out our arms farther...
And then one fine morning— So we beat on, boats against the
current, borne back ceaselessly into the past.
Animated Icons
Loading...
Loading...
Loading...
Loading...
Loading...
Rotated & Flipped
normal
fa-rotate-90
fa-rotate-180
fa-rotate-270
fa-flip-horizontal
fa-flip-vertical
Stacked Icons
fa-twitter on fa-square-o
fa-flag on fa-circle
fa-terminal on fa-square
fa-ban on fa-camera
Custom CSS
Star Ratings (inspired by CSS Tricks)


About Whojr, Inc.
Whojr, Inc. has been in business since 2004, primarily, focused on supporting the IBM/Rational suite of software configuration management tools.
Today, Whojr, Inc. has a new beginning, a fresh start, after fourteen years of building software development environments; it has planted a new seed in web development.
Our mission statement and logo tag line, Inception of Presence, captures the rejuvenating spirit of programming to create your presence on the web.
... From its seed, becomes a presence...
The web has grown to become an integral tool for business and personal connections, communicating key ideas relevant to its audience. What started with static pages has evolved into dynamic, responsive pages that flex to any device size. To communicate effectively across the world you will need more than static pages to convey your message, you need a responsive approach to reach your audience.
Your audience is no longer just in an office. They are on airplanes, trains, buses, and at your local coffee shop. Your exceptional content needs to sit with them, informing them of your message, and allowing them to buy your products immediately.
... a presence should never be understated...
We believe the bold, informative design that conveys your message, created by your talented staff or designer, needs the proper functionality into for it to be an effective tool. It needs to function correctly on the smaller devices while effectively adapting to the larger. It’s a feat that takes skill to deliver across the ever changing landscape of technology in order to reach your audience.
... nor should it be overstated...
Gimmicks when used like the vaudeville huckster, selling the elixir to cure an ailment, detract and obscure the message of a site when used improperly.  This only comes from a well thought out content coupled with properly functioning controls that are not overly cumbersome, slow, or simply there as eye candy.
... but respectfully seen by all.
Your design is the seed of inception that grows into a presence conveying your message to its respective audience regardless of where they are located.
Whojr, Inc. is a small, hungry, focused company looking to convey your message through exciting, yet stable web technology. We’re not about glitzy, flashy, controls; we're about stable, responsive, well designed technology that drives your website that propels your content into every coffee shop, buses, trains, airports, and yeah – even that desktop. The driving force of Whojr, Inc. is William Oliver please feel free to call him Bill.


This CLI-tool diffs two Keepass (.kdbx) files and prints their differences.
Installation
The main installation method is through Rust.
RUSTFLAGS="-C target-cpu=native" cargo install keepass-diff
The RUSTFLAGS
variable will significantly boost performance. See
installation note in keepass-rs.
Alternative installation and usage using a container
If you don't have the Rust toolchain installed, there is an alternative installation method using containers. There are two installation steps necessary to be able to run keepass-diff
in your current working directory with a simple command:
- Build the container
- Set up an alias for simple usage
The following commands assume docker
for building and running the container, but it should be possible to replace it with podman
and maybe other engines. Please check whether the options are available.
To build the container, run:
docker build -f Containerfile.install -t "keepass-diff:custom-local" .
To get the correct alias for your machine to use, run:
alias keepass-diff='docker run -it --rm -v "$(pwd)":/app:ro "keepass-diff:custom-local"'
The alias
command can be copy and pasted into your .bashrc
or .zshrc
file. This will make sure to have keepass-diff available whenever you start a new terminal session. Either start a new shell or run the command in the current terminal once to make it available right away.
With the alias being set up, keepass-diff
should be available. Try running:
keepass-diff --help
Note: Keep in mind that the alias is set up in a way to allow the current working directory being mounted into the container. That means you're able to access files from this directory, but you won't be able to access files through an absolute path or using ../
from your host machine.
Usage
keepass-diff <file-a> <file-b>
The CLI will ask for the password for both files individually.
Providing passwords
You can also provide one or both passwords on the command line (please be aware that this will expose them to other users logged on to the system):
keepass-diff <file-a> <file-b> --password-a <password-a> --password-b <password-b>
If the files have the same password, you can use the --passwords <password>
flag. Be aware this has the same problem as above:
keepass-diff <file-a> <file-b> --passwords <password>
To avoid exposing the password, use --same-password
instead. The CLI will ask
you to type it once for both files.
keepass-diff <file-a> <file-b> --same-password
Providing keyfiles
keepass-diff <file-a> <file-b> --keyfile-a <keyfile-a> --keyfile-b <keyfile-b>
If one of these flags is provided, it will use the keyfile for authentication. It will still ask for a password, if the password flags are not provided.
Disabling color output for scripts
If you want to pipe the output of the command into another file or script, you
may want to disable the terminal colors. You can do so with the --no-color
or
-C
option.
--help
yields:
keepass-diff 1.1.4
Joern Bernhardt<EMAIL_ADDRESS>This CLI-tool reads two Keepass (.kdbx) files and prints their differences.
USAGE:
keepass-diff [OPTIONS] <INPUT-A> <INPUT-B>
ARGS:
<INPUT-A> Sets the first file
<INPUT-B> Sets the second file
OPTIONS:
-C, --no-color Disables color output
-h, --help Print help information
--keyfile-a <keyfile-a> Sets the key file for the first file
--keyfile-b <keyfile-b> Sets the key file for the second file
--keyfiles <keyfiles> Sets the same key file for both files (keyfile-a and keyfile-b would take precedence if set as well)
--no-password-a Sets no password for the first file (and will not ask for it)
--no-password-b Sets no password for the second file (and will not ask for it)
--no-passwords Sets no password for both files (and will not ask for both files)
--password-a <password-a> Sets the password for the first file (will be asked for if omitted)
--password-b <password-b> Sets the password for the second file (will be asked for if omitted)
--passwords <passwords> Sets the password for both files (if it's the same for both files)
--same-password Asks for password only once, and tries to open both files with it
-v, --verbose Enables verbose output
-V, --version Print version information
Used libraries:
- clap to read command line arguments
- rpassword to read the passwords.
- keepass to read
.kdbx
files. - termcolor to print with colors.
Testing
Password for the Keepass demo files: demopass
.
test_file.kdbx
is locked without password and keyfile keyfile.key
.
test2_file.kdbx
is locked with demopass
and the keyfile keyfile.key
.
A small bash script for running tests is run-tests.sh
. It will run a few tests
to see if the outputs is correct. Best run as
RUSTFLAGS="-C target-cpu=native" ./run-tests.sh
for improved performance.
Contributing
Care to help? I'm pretty new to Rust, so if anyone likes to help or teach me cool stuff, please reach out!


Objectives
- Learn about application Deployments.
- Deploy your first app on Kubernetes with kubectl.
Kubernetes Deployments
Once you have a running Kubernetes cluster, you can deploy your containerized applications on top of it. To do so, you create a Kubernetes Deployment. The Deployment is responsible for creating and updating instances of your application. Once you've created a Deployment, the Kubernetes master schedules the application instances that the Deployment creates onto individual Nodes in the cluster.
Once the application instances are created, a Kubernetes Deployment Controller continuously monitors those instances. The Deployment controller replaces an instance if the Node hosting it goes down or it is deleted. This provides a self-healing mechanism to address machine failure or maintenance.
In a pre-orchestration world, installation scripts would often be used to start applications, but they did not allow recovery from machine failure. By both creating your application instances and keeping them running across Nodes, Kubernetes Deployments provide a fundamentally different approach to application management.
Summary:
- Deployments
- Kubectl
A Deployment is responsible for creating and updating instances of your application
Deploying your first app on Kubernetes
You can create and manage a Deployment by using the Kubernetes command line interface, Kubectl. Kubectl uses the Kubernetes API to interact with the cluster. In this module, you'll learn the most common Kubectl commands needed to create Deployments that run your applications on a Kubernetes cluster.
When you create a Deployment, you'll need to specify the container image for your application and the number of replicas that you want to run. You can change that information later by updating your Deployment; Modules 5 and 6 of the bootcamp discuss how you can update your Deployments.
Applications need to be packaged into one of the supported container formats in order to be deployed on Kubernetes
For our first Deployment, we’ll use a NodeJS application packaged in a Docker container. The source code and the Dockerfile are available in the GitHub repository for the Kubernetes Bootcamp.
Now that you know what Deployments are, let’s go to the online tutorial and deploy our first app!


--- subject: shoebeflywelcome --- If you have any questions, please do not hesitate to contact us at<EMAIL_ADDRESS>© ALL RIGHTS RESERVED BY SHOEBEFLY Follow Us


{{#partial "page"}} B2B Checkout B2B Manager / Checkout Billing Address First Name Last Name Phone Email City Post Code Country Country United States Canada France UK Germany Belgium Australia Ship to different address Shipping Address First Name Last Name City Post Code Country Country United States Canada France UK Germany Belgium Australia Cart Summary Item Price Quantity Total Back to Cart Make Payment {{/partial}} {{> layout/base}}


Versions also lets you create a local repository on your own computer. Local repositories cannot easily be shared with others, but they work just fine if you want to use Subversion to manage a project you’re working on by yourself. To create a local repository follow these steps:
Your local repository is automatically added to the bottom of the bookmarks list.


Interface IApplication
Namespace: Polkadot.Api
Assembly: Polkadot.dll
Syntax
public interface IApplication : IDisposable
Methods
| Improve this Doc View SourceConnect(String)
Declaration
int Connect(string node_url = "")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | node_url |
Returns
| Type | Description |
|---|---|
| System.Int32 |
Disconnect()
Declaration
void Disconnect()
GetAccountNonce(Address)
Retreives the current nonce for specific address
Declaration
BigInteger GetAccountNonce(Address address)
Parameters
| Type | Name | Description |
|---|---|---|
| Address | address | the address to get nonce for |
Returns
| Type | Description |
|---|---|
| System.Numerics.BigInteger | address nonce |
GetBlock(GetBlockParams)
Get header and body of a relay chain block
Declaration
SignedBlock GetBlock(GetBlockParams param)
Parameters
| Type | Name | Description |
|---|---|---|
| GetBlockParams | param |
Returns
| Type | Description |
|---|---|
| SignedBlock | SignedBlock struct with result |
GetBlockHash(GetBlockHashParams)
Retreives the block hash for specific block
Declaration
BlockHash GetBlockHash(GetBlockHashParams param)
Parameters
| Type | Name | Description |
|---|---|---|
| GetBlockHashParams | param |
Returns
| Type | Description |
|---|---|
| BlockHash | BlockHash struct with result |
GetBlockHeader(GetBlockParams)
Retrieves the header for a specific block
Declaration
BlockHeader GetBlockHeader(GetBlockParams param)
Parameters
| Type | Name | Description |
|---|---|---|
| GetBlockParams | param | struct with blockHash 64 diget number in hex format |
Returns
| Type | Description |
|---|---|
| BlockHeader | BlockHeader struct with result |
GetChildKeys(String, String)
Calls storage_getChildKeys RPC method with given child storage key and storage key
Declaration
string GetChildKeys(string childStorageKey, string storageKey)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | childStorageKey | string with 0x prefixed child storage key hex value |
| System.String | storageKey | string with 0x prefixed storage key hex value |
Returns
| Type | Description |
|---|---|
| System.String | string response from RPC method |
GetChildStorage(String, String)
Calls storage_getChildStorage RPC method with given child storage key and storage key
Declaration
string GetChildStorage(string childStorageKey, string storageKey)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | childStorageKey | string with 0x prefixed child storage key hex value |
| System.String | storageKey | string with 0x prefixed storage key hex value |
Returns
| Type | Description |
|---|---|
| System.String | string response from RPC method |
GetChildStorageHash(String, String)
Calls storage_getChildStorageHash RPC method with given child storage key and storage key
Declaration
string GetChildStorageHash(string childStorageKey, string storageKey)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | childStorageKey | string with 0x prefixed child storage key hex value |
| System.String | storageKey | string with 0x prefixed storage key hex value |
Returns
| Type | Description |
|---|---|
| System.String | string response from RPC method |
GetChildStorageSize(String, String)
Calls storage_getChildStorageSize RPC method with given child storage key and storage key
Declaration
int GetChildStorageSize(string childStorageKey, string storageKey)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | childStorageKey | string with 0x prefixed child storage key hex value |
| System.String | storageKey | string with 0x prefixed storage key hex value |
Returns
| Type | Description |
|---|---|
| System.Int32 | int response from RPC method |
GetFinalizedHead()
Get hash of the last finalized block in the chain
Declaration
FinalHead GetFinalizedHead()
Returns
| Type | Description |
|---|---|
| FinalHead | FinalHead struct with result |
GetKeys(String, String, String)
Generates storage key for a certain Module and State variable defined by parameter and prefix. Parameter is a JSON string representing a value of certain type, which has two fields: type and value.Type should be one of type strings defined above.Value should correspond to the type.Example:
{ "type" : "AccountId", "value" : "5ECcjykmdAQK71qHBCkEWpWkoMJY6NXvpdKy8UeMx16q5gFr"}
Information about Modules and State variables(with parameters and their types) is returned by getMetadata method.
Declaration
string GetKeys(string jsonPrm, string module, string variable)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | jsonPrm | JSON string that contains parameter and its type |
| System.String | module | module (as in metadata) |
| System.String | variable | state variable (as in metadata for given module) |
Returns
| Type | Description |
|---|---|
| System.String | Storage key |
GetMetadata(GetMetadataParams)
Retreives the runtime metadata for specific block
Declaration
MetadataBase GetMetadata(GetMetadataParams param)
Parameters
| Type | Name | Description |
|---|---|---|
| GetMetadataParams | param | struct with blockHash 64 diget number in hex format |
Returns
| Type | Description |
|---|---|
| MetadataBase | Metadata struct with result |
GetNetworkState()
Returns current state of the network
Declaration
NetworkState GetNetworkState()
Returns
| Type | Description |
|---|---|
| NetworkState | NetworkState struct with result |
GetRuntimeVersion(GetRuntimeVersionParams)
Retreives the runtime version information for specific block
Declaration
RuntimeVersion GetRuntimeVersion(GetRuntimeVersionParams param)
Parameters
| Type | Name | Description |
|---|---|---|
| GetRuntimeVersionParams | param |
Returns
| Type | Description |
|---|---|
| RuntimeVersion | RuntimeVersion struct with result |
GetStorage(String, String, String)
Reads storage for a certain Module and State variable defined by parameter and prefix.Parameter is a JSON string representing a value of certain type, which has two fields: type and value.Type should be one of type strings defined above.Value should correspond to the type.Example:
{ "type" : "AccountId", "value" : "5ECcjykmdAQK71qHBCkEWpWkoMJY6NXvpdKy8UeMx16q5gFr"}
Information about Modules and State variables(with parameters and their types) is returned by getMetadata method.
Declaration
string GetStorage(string jsonPrm, string module, string variable)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | jsonPrm | JSON string that contains parameter and its type |
| System.String | module | module (as in metadata) |
| System.String | variable | state variable (as in metadata for given module) |
Returns
| Type | Description |
|---|---|
| System.String | Storage content |
GetStorageHash(String, String, String)
Returns storage hash of given State Variable for a given Module defined by parameter. Parameter is a JSON string representing a value of certain type, which has two fields: type and value.Type should be one of type strings defined above.Value should correspond to the type. Example:
{ "type" : "AccountId", "value" : "5ECcjykmdAQK71qHBCkEWpWkoMJY6NXvpdKy8UeMx16q5gFr"}
Information about Modules and State variables(with parameters and their types) is returned by getMetadata method.
Declaration
string GetStorageHash(string jsonPrm, string module, string variable)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | jsonPrm | JSON string that contains parameter and its type |
| System.String | module | module (as in metadata) |
| System.String | variable | state variable (as in metadata for given module) |
Returns
| Type | Description |
|---|---|
| System.String | Storage hash |
GetStorageSize(String, String, String)
Returns storage size for a given State Variable for a given Module defined by parameter. Parameter is a JSON string representing a value of certain type, which has two fields: type and value.Type should be one of type strings defined above.Value should correspond to the type. Example:
{ "type" : "AccountId", "value" : "5ECcjykmdAQK71qHBCkEWpWkoMJY6NXvpdKy8UeMx16q5gFr"}
Information about Modules and State variables(with parameters and their types) is returned by getMetadata method.
Declaration
int GetStorageSize(string jsonPrm, string module, string variable)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | jsonPrm | JSON string that contains parameter and its type |
| System.String | module | module (as in metadata) |
| System.String | variable | state variable (as in metadata for given module) |
Returns
| Type | Description |
|---|---|
| System.Int32 | Storage size |
GetSystemHealth()
Return health status of the node
Declaration
SystemHealth GetSystemHealth()
Returns
| Type | Description |
|---|---|
| SystemHealth | SystemHealth struct with result |
GetSystemInfo()
Call 4 methods and put them together in a single object system_chain system_name system_version system_properties
Declaration
SystemInfo GetSystemInfo()
Returns
| Type | Description |
|---|---|
| SystemInfo |
GetSystemPeers()
Returns the currently connected peers
Declaration
PeersInfo GetSystemPeers()
Returns
| Type | Description |
|---|---|
| PeersInfo | PeersInfo struct with result |
PendingExtrinsics(Int32)
Returns all pending extrinsics
Declaration
GenericExtrinsic[] PendingExtrinsics(int bufferSize)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | bufferSize | size of preallocated array |
Returns
| Type | Description |
|---|---|
| GenericExtrinsic[] | Extrinsics received from the node (may be greater than buffer size, in which case items with indexes greater than bufferSize are not returned) |
QueryStorage(String, String, String, Int32)
Calls state_queryStorage RPC method to get historical information about storage at a key
Declaration
StorageItem[] QueryStorage(string key, string startHash, string stopHash, int itemCount)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | key | storage key to query |
| System.String | startHash | hash of block to start with |
| System.String | stopHash | hash of block to stop at |
| System.Int32 | itemCount | size of StorageItem elements for retrieve |
Returns
| Type | Description |
|---|---|
| StorageItem[] | array of StorageItem elements |
RemoveExtrinsic(String)
Remove given extrinsic from the pool and temporarily ban it to prevent reimporting
Declaration
bool RemoveExtrinsic(string extrinsicHash)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | extrinsicHash | hash of extrinsic as returned by submitExtrisic |
Returns
| Type | Description |
|---|---|
| System.Boolean | Operation result |
SignAndSendTransfer(String, String, String, BigInteger, Action<String>)
Sign a transfer with provided private key, submit it to blockchain, and wait for completion. Once transaction is accepted, the callback will be called with parameter "ready". Once completed, the callback will be called with completion result string equal to "finalized".
Declaration
int SignAndSendTransfer(string sender, string privateKey, string recipient, BigInteger amount, Action<string> callback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | sender | address of sender (who signs the transaction) |
| System.String | privateKey | 64 byte private key of signer in hex, 2 symbols per byte (e.g. "0102ABCD...") |
| System.String | recipient | address that will receive the transfer |
| System.Numerics.BigInteger | amount | amount (in femto DOTs) to transfer |
| System.Action<System.String> | callback | delegate that will receive operation updates |
Returns
| Type | Description |
|---|---|
| System.Int32 |
SubmitAndSubcribeExtrinsic(Byte[], String, String, Address, String, Action<String>)
Submit and subscribe a fully formatted extrinsic for block inclusion
Declaration
int SubmitAndSubcribeExtrinsic(byte[] encodedMethodBytes, string module, string method, Address sender, string privateKey, Action<string> callback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Byte[] | encodedMethodBytes | encoded extrintic parametrs |
| System.String | module | invokable module name |
| System.String | method | invokable method name |
| Address | sender | sender address |
| System.String | privateKey | sender private key |
| System.Action<System.String> | callback | expression that will receive operation updates |
Returns
| Type | Description |
|---|---|
| System.Int32 |
SubmitExtrinsic(Byte[], String, String, Address, String)
Submit a fully formatted extrinsic for block inclusion
Declaration
string SubmitExtrinsic(byte[] encodedMethodBytes, string module, string method, Address sender, string privateKey)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Byte[] | encodedMethodBytes | encoded extrintic parametrs |
| System.String | module | invoked module name |
| System.String | method | invoked method name |
| Address | sender | sender address |
| System.String | privateKey | sender private key |
Returns
| Type | Description |
|---|---|
| System.String | Extrinsic hash |
SubscribeAccountNonce(Address, Action<BigInteger>)
Subscribe to nonce updates for a given address. Only one subscription at a time per address is allowed. If a subscription already exists for the same address, old subscription will be discarded and replaced with the new one.Until unsubscribeNonce method is called with the same address, the API will be receiving updates and forwarding them to subscribed object/function.Only unsubscribeNonce will physically unsubscribe from WebSocket endpoint updates.
Declaration
int SubscribeAccountNonce(Address address, Action<BigInteger> callback)
Parameters
| Type | Name | Description |
|---|---|---|
| Address | address | address to receive nonce updates for |
| System.Action<System.Numerics.BigInteger> | callback | delegate expression that will receive nonce updates |
Returns
| Type | Description |
|---|---|
| System.Int32 | operation result |
SubscribeBalance(String, Action<BigInteger>)
Subscribe to most recent balance for a given address. Only one subscription at a time per address is allowed. If a subscription already exists for the same address, old subscription will be discarded and replaced with the new one. Until unsubscribeBalance method is called with the same address, the API will be receiving updates and forwarding them to subscribed object/function.Only unsubscribeBalance will physically unsubscribe from WebSocket endpoint updates.
Declaration
int SubscribeBalance(string address, Action<BigInteger> callback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | address | address to receive balance updates for |
| System.Action<System.Numerics.BigInteger> | callback | expression that will receive balance updates |
Returns
| Type | Description |
|---|---|
| System.Int32 | Subscription id |
SubscribeBlockNumber(Action<Int64>)
Subscribe to most recent block number.Only one subscription at a time is allowed.If a subscription already exists, old subscription will be discarded and replaced with the new one.Until unsubscribeBlockNumber method is called, the API will be receiving updates and forwarding them to subscribed object/function.Only unsubscribeBlockNumber will physically unsubscribe from WebSocket endpoint updates.
Declaration
int SubscribeBlockNumber(Action<long> callback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Action<System.Int64> | callback | callback - delegate that will receive updates |
Returns
| Type | Description |
|---|---|
| System.Int32 | operation result |
SubscribeEraAndSession(Action<Era, SessionOrEpoch>)
Subscribe to era and session. Only one subscription at a time is allowed. If a subscription already exists, old subscription will be discarded and replaced with the new one.Until subscribeEraAndSession method is called, the API will be receiving updates and forwarding them to subscribed object/function.Only unsubscribeBlockNumber will physically unsubscribe from WebSocket endpoint updates.
Declaration
int SubscribeEraAndSession(Action<Era, SessionOrEpoch> callback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Action<Era, SessionOrEpoch> | callback | expression that will receive updates |
Returns
| Type | Description |
|---|---|
| System.Int32 | operation result |
SubscribeRuntimeVersion(Action<RuntimeVersion>)
Subscribe to most recent runtime version.This subscription is necessary for applications that keep connection for a long time.If update about runtime version arrives, it will be necessary to disconnect and reconnect since module and method indexes might have changed.
Only one subscription at a time is allowed.If a subscription already exists, old subscription will be discarded and replaced with the new one.Until unsubscribeRuntimeVersion method is called, the API will be receiving updates and forwarding them to subscribed object/function.Only unsubscribeRuntimeVersion will physically unsubscribe from WebSocket endpoint updates.
Declaration
int SubscribeRuntimeVersion(Action<RuntimeVersion> callback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Action<RuntimeVersion> | callback | callback - delegate that will receive updates |
Returns
| Type | Description |
|---|---|
| System.Int32 | operation result |
SubscribeStorage(String, Action<String>)
Subscribe to most recent value updates for a given storage key. Only one subscription at a time per address is allowed. If a subscription already exists for the same storage key, old subscription will be discarded and replaced with the new one. Until unsubscribeStorage method is called with the same storage key, the API will be receiving updates and forwarding them to subscribed object/function. Only unsubscribeStorage will physically unsubscribe from WebSocket endpoint updates.
Declaration
int SubscribeStorage(string key, Action<string> callback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | key | storage key to receive updates for (e.g. "0x66F795B8D457430EDDA717C3CBA459B9") |
| System.Action<System.String> | callback | expression that will received |
Returns
| Type | Description |
|---|---|
| System.Int32 | Subscription id |
UnsubscribeAccountNonce(Int32)
Unsubscribe from WebSocket endpoint and stop receiving updates for address nonce.
Declaration
void UnsubscribeAccountNonce(int id)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | id | Subscription id |
UnsubscribeBalance(Int32)
Unsubscribe from WebSocket endpoint and stop receiving updates for address balance.
Declaration
void UnsubscribeBalance(int id)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | id | Subscription id |
UnsubscribeBlockNumber(Int32)
Unsubscribe from WebSocket endpoint and stop receiving updates with most recent block number.
Declaration
void UnsubscribeBlockNumber(int id)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | id | Subscription id |
UnsubscribeEraAndSession(Int32)
Unsubscribe from WebSocket endpoint and stop receiving updates with era and session.
Declaration
void UnsubscribeEraAndSession(int id)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | id | Subscription id |
UnsubscribeRuntimeVersion(Int32)
Unsubscribe from WebSocket endpoint and stop receiving updates with most recent Runtime Version.
Declaration
void UnsubscribeRuntimeVersion(int id)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | id | Subscription id |
UnsubscribeStorage(Int32)
Unsubscribe from WebSocket endpoint and stop receiving updates for address balance.
Declaration
void UnsubscribeStorage(int id)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | id | Subscription id |