Navigation:
Admin
/
Courses
Course name
List of Units
Create unit
id: 01
Unit title
Unit description
Edit
Edit Lessons
Delete


--- layout: ion_page title: Surgical Taster Day 2017 permalink: /taster17/ thumb-img: feature-img: /taster2017/Poster.jpg categories: event, news excerpt: Application form [ download ] --- Download the application form here !


megnet.data.qm9 module¶
The data processing is based on the data shared by Faber, Felix A., et al. “Prediction errors of molecular machine learning models lower than hybrid DFT error.” Journal of chemical theory and computation 13.11 (2017): 5255-5264..
Visit https://drive.google.com/open?id=0Bzn36Iqm8hZscHFJcVh5aC1mZFU. for access
-
class
AtomNumberToTypeConverter
(mapping={'1': 1, '6': 2, '7': 4, '8': 6, '9': 8})[source]¶ Bases:
monty.json.MSONable
Convert atomic number Z into the atomic type in the QM9 dataset
-
class
FeatureClean
(categorical=['type', 'chirality', 'hybridization', 'donor', 'acceptor', 'aromatic'], feature_labels=['type', 'chirality', 'ring_sizes', 'hybridization', 'acceptor', 'donor', 'aromatic'], distance_converter=<megnet.data.graph.GaussianDistance object>, is_norm_dist=False)[source]¶ Bases:
sklearn.base.BaseEstimator
,sklearn.base.TransformerMixin
Clean the features and convert them to model inputs
- Args
categorical: (list of string) variables that will be considered as categorical feature_labels: (list of string) all features distance_converter: (object) convert the spatial distance to expanded Gaussians is_norm_dist: (bool) whether to normalize the distance features
-
class
Scaler
[source]¶ Bases:
sklearn.base.BaseEstimator
,sklearn.base.TransformerMixin
Simple numerical scaler for list of features
-
load_qm9_faber
(db_connection=None, atom_attri=['type', 'chirality', 'ring_sizes', 'hybridization', 'acceptor', 'donor', 'aromatic'], bond_attri=['a_idx', 'b_idx', 'bond_type', 'graph_distance', 'same_ring', 'spatial_distance'], graph_dist=None, restrict=None, verbose=True)[source]¶ Load the qm9 dataset from faber
- Parameters
db_connection – mongodb collection pointing to the qm9 data
atom_attri – (list of string) atom attributes used as feature
bond_attri – (list of string) bond attributes used as feature
graph_dist – (list of integer) graph distances considered. Basically
atoms have graph distance of 1, second nearest neighbors are 2 etc. (bonded) –
restrict – (dict) extra constraints for the query
verbose – (bool) show the progress
- Returns
atom_features, bond_features, global_features, bond_atom_index1, bond_atom_index2, targets
-
ring_to_vector
(l)[source]¶ Convert the ring sizes vector to a fixed length vector For example, l can be [3, 5, 5], meaning that the atom is involved in 1 3-sized ring and 2 5-sized ring. This function will convert it into [ 0, 0, 1, 0, 2, 0, 0, 0, 0, 0].
- Parameters
l – (list of integer) ring_sizes attributes
- Returns
- (list of integer) fixed size list with the i-1 th element indicates number of
i-sized ring this atom is involved in.


{% extends base_template %} {% block description %}
Are you sure you want to delete {{ context.get_title() }}?


Welcome to this World, where everything is possible!All that you need to know about the star wars WORLD in one place ENJOY!!!.


Nutanix Marvellous Workshop STEVE¶
In this workshop you’ll learn new exciting content.
Open up this RST file to reveal the syntax and parameters of the example sections below.
Section 1¶
Wouldn’t it be good to show something in italics? Well, that was straightforward.
How about something in bold? Couldn’t be more straightforward than that.
Spacing is important in Restructured Text so you may see errors simply because of space indents and tabs, or forgotten a closing asterix.
Also, if you want text to start on a new line then make sure you leave a blank line after the last paragraph.
RAW HTML code can be included if necessary.
Something important because it's in red! Less exciting because it's in blue :-)Here’s a nice way to make a command instruction
stand out.
An additional library is defined in the conf.py file to make special characters available, for example:
To show bars
To show a tick
To show a selection box
To show a left-arrow
To show a right-arrow
To show a up-arrow
To show a down-arrow
How about a nice checklist?
Make the trainer a hot drink
Ask questions
Tidy away classroom when finished
Section 2¶
A description of something that would be benefit from a bullet list:
- Item 1
- Item 2
- Item 3
Numbered bullets can have their place too:
- Item 1
- Item 2
- Item 3
Well, that was easy.
Section 3¶
At times you may want to point out something of note, an advisory or need something that simply stands out.
Note
Please ensure you’ve installed the correct version of blah before proceeding.
See also
There’s another page you can click for more information.
Warning
A little more emphasis using this.
Quite simple when you know the syntax.
Section 4¶
It’s time to include a graphic. This could be from screenshots you’ve been gathering or maybe you’d like to share something inspirational to liven the workshop up. Either way it’s quite simple.
Note
Make sure you copy the image into the directory (or Folder for you Windows people) of your local repository, perhaps use a sub-directory called images too.
This will display the image in its native resolution so it may be worth checking the dimensions and reducing down if necessary. As you can see this is large .
If you’d like to constrain the image width then additional height and width parameters can be included in the RST file, you can specify one or both. See the source of this file and look for the width parameter.
The image insert isn’t too complicated.
Section 5¶
Online materials invariably require URLs to be included and to keep the flow of your text it’s sensible to include a hyperlinked word or phrase rather than dump in a string of messy text 200+ characters long.
In my example here I’m suggesting to click here to see the latest information about the topic I’m talking about. In the source code notice the use of the underscore.
You may want to embed a link to a Google Sheet as you may have seen in recent New Hire Training. Again, this uses RAW HTML and an iframe.
Section 6¶
Inserting code examples may be required especially if you would the content to look exact, here’s an example taken from a Calm Workshop:
#!/bin/bash
set -ex
# -*- Install httpd and php
sudo yum update -y
sudo yum -y install epel-release
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install -y httpd php56w php56w-mysql
echo "<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>" | sudo tee /etc/httpd/conf.modules.d/dir.conf
echo "<?php
phpinfo();
?>" | sudo tee /var/www/html/info.php
sudo systemctl restart httpd
sudo systemctl enable httpd
That covers many of the basics.


{{ post.title | escape }}
{{ post.excerpt }}
--- # You don't need to edit this file, it's empty on purpose. # Edit theme's home layout instead if you wanna make some changes # See: https://jekyllrb.com/docs/themes/#overriding-theme-defaults layout: default ---


LanternServer A open source Minecraft server written in java, implementing the SpongeAPI and completely customizable. Control the fate of your minecraft server! Read More...
Pingy Meet pingy, a minimal Minecraft ping server written in java. It responses to ping requests, well that's about it. Read More...


<IP_ADDRESS> What We Have Left Out
We have left out a number of Tcl commands as they are outside of the
scope of this tutorial. We list some of them here to show some of what
Tcl can do. Please refer to the Tcl manual for more information.
- http
- implements the HTTP protocol for retrieving web pages
- namespaces
- a modules systems for Tcl
- trace
- commands can be attached to variables that are triggered when the
variable changes value (amongst other things)
- processes
- start, stop, and manage processes
- sockets
- UNIX and Internet style socket management
- exception handling
- 3rd party extension packages
- load extension packages into Tcl and use their facilities as
native Tcl commands
Send feedback on this subject.


|
Amplificador de Biopotenciales-BioAmp
v1.0.0
Amplificador de biopotenciales desarrollado en el Laboratorio de Prototipado Electrónico y 3D de la FIUNER en conjunto con el Laboratorio de Ingeniería en Rehabilitación e Investigaciones Neuromusculares y Sensoriales (LIRINS)
|
Macros | |
| #define | BAUD_RATE 921600 |
| #define | HANDLER_NAME UART0_IRQHandler |
| #define | IRQ_SELECTION UART0_IRQn |
| #define | UART_RRB_SIZE 32 /* Receive */ |
| #define | UART_SELECTION LPC_UART0 |
| #define | UART_SRB_SIZE 128 /* Send */ |
Functions | |
| bool | Drv_UART_available () |
| Indicates if there is new data to be read. More... | |
| void | Drv_UART_DeInit () |
| UART de-initialization. More... | |
| void | Drv_UART_RBinit () |
| Ring Buffers initialization. More... | |
| uint8_t | Drv_UART_ReadByte () |
| Read one byte. More... | |
| int | Drv_UART_ReceiveRB (uint8_t data[], int bytes) |
| Receive data by UART with Ring Buffer. More... | |
| void | Drv_UART_Send (uint8_t data[], int numBytes) |
| Send data by UART. More... | |
| void | Drv_UART_setup () |
| UART initial setup and initialization. More... | |
| void | HANDLER_NAME (void) |
| UART 0 interrupt handler using ring buffers. More... | |
"" Driver for controlling the Serial UART.
| #define BAUD_RATE 921600 |
Definition at line 30 of file Drv_UART.h.
| #define HANDLER_NAME UART0_IRQHandler |
Definition at line 27 of file Drv_UART.h.
| #define IRQ_SELECTION UART0_IRQn |
Definition at line 26 of file Drv_UART.h.
| #define UART_RRB_SIZE 32 /* Receive */ |
Definition at line 33 of file Drv_UART.h.
| #define UART_SELECTION LPC_UART0 |
Definitions
Definition at line 25 of file Drv_UART.h.
| #define UART_SRB_SIZE 128 /* Send */ |
Definition at line 32 of file Drv_UART.h.
| bool Drv_UART_available | ( | ) |
Indicates if there is new data to be read.
Definition at line 78 of file Drv_UART.c.
| void Drv_UART_DeInit | ( | ) |
UART de-initialization.
Definition at line 88 of file Drv_UART.c.
| void Drv_UART_RBinit | ( | ) |
Ring Buffers initialization.
| uint8_t Drv_UART_ReadByte | ( | ) |
Read one byte.
Definition at line 64 of file Drv_UART.c.
| int Drv_UART_ReceiveRB | ( | uint8_t | data[], |
| int | numBytes | ||
| ) |
Receive data by UART with Ring Buffer.
Receive data by UART with Ring Buffer.
Definition at line 53 of file Drv_UART.c.
| void Drv_UART_Send | ( | uint8_t | data[], |
| int | numBytes | ||
| ) |
Send data by UART.
| data[] | Array of data to be sent |
| numByte | Number of bytes to send by UART |
Definition at line 41 of file Drv_UART.c.
| void Drv_UART_setup | ( | ) |
UART initial setup and initialization.
Definition at line 13 of file Drv_UART.c.
| void HANDLER_NAME | ( | void | ) |
UART 0 interrupt handler using ring buffers.
Definition at line 99 of file Drv_UART.c.


Scientific Advisory Board
The Ensembl Genomes project receives advice and guidance from our scientific advisory board. The Ensembl SAB consists of a collection of scientists representing a spread of disciplines across and beyond biology. Our current SAB members are:
- Martin Donnelly, University of Liverpool, UK
- Klaus Mayer, Helmholtz Institute, Munich, Germany
- Claudine Medigue, Genoscope, Evry, France
- Allison Milller, University of St. Louis, USA
- Rolf Mueller, Helmholtz Institute, Bonn, Germany
- Chris Rawlings, Rothamsted Research, UK
- Denis Tagu, INRA, Rennes, France
We thank the previous members of the Ensembl Genomes SAB for their contributions to the project.
- Detlev Arendt, EMBL, Heidelberg, Germany
- Michael Bevan, John Innes Institute, Noriwch, UK
- Michele Clamp, Bioteam, Boston, USA
- Michael Eisen, University of California, Berkeley, USA
- Stephen Oliver, University of Cambridge, UK
- Julian Parkhill, Wellcome Trust Sanger Institute, Hinxton, UK
- Jane Rogers, The Genome Analysis Centre, Norwich, UK
- Doreen Ware, Cold Spring Harbor Laboratory, USA


http://localhost/
works so it's great for taking screenshots of local development URLs?url=http://www.yoursite.com
- exampleI'm alwasy trying to improve the tool so please tweet me your feedback on bugs and suggestions.
A time saving exercise by @justinavery for RWD Weekly Newsletter
I take a lot of screen shots of the various device breakpoints for responsive design and it takes a while to prepare them. This tools allows me to get what I need quickly, and hopefully it can be helpful for showing your more visual clients what you mean by responsive design when a suite of products isn't at the ready.
This is not a tool for testing, it is really important that you do that on real devices. This instead is a tool for quick screenshots (for me) and to visually allow people to “get” what you mean in client meetings.
scale(0.3181)
scale(0.277)
scale(0.219)
scale(0.219)
The viewports I have chosen are based on the devices that were a part of the responsive PSD layout I previously bought, and yes they are all Apple. Apologies to all the Android fans out there, I'm sure a few of you have the “Android has a bigger market share” argument in mind but although you're right I just didn't have that suite of images when I started. If there's enough of a desire I could do a suite of other products, but I'm just not sure if adding those will improve the basic function of the tool.
#fff
because if it isn't set on the previewed site you see device image instead.<div>
's are more than the visible image so you might need to play around a bit with where you can click. Thanks Tim.


To the CSI Community,
I hope this finds everyone safe and healthy! This past week has been nightmarish. I sincerely hope people can take care of themselves in the midst of so much violence and trauma. I am including a link to a letter the PSC has released in response to all the deplorable and challenging events of last week. I hope you'll read the letter.
https://psc-cuny.org/issues/psc-statement-murder-george-floyd.
Let me also take this opportunity to share some updates. First, I hope you all saw how the deadline for the adjunct reappointments has been pushed back to June 30. This is something you all made happen! People were sending messages, writing op-eds, participating in car caravans and everyone's collective efforts were heard by CUNY. Thanks to all for all you did in this effort. in regards to the adjunct reappointments, the chapter EC wishes to specifically acknowledge the support and advocacy of all the chairs.
We need to change the date of our next chapter meeting. We want to meet Tuesday, June 9 at the same time, 2:30-4:30. It is something we regret to do, but we have to for two reasons. First, as we are expecting a strong turnout, we want to make sure we are technically prepared with Zoom technology and avoid any wasted time. Second, there are two valued members of our EC, and possible participants, who will be unable to attend this Thursday due to a departmental meeting. We never would have scheduled the meeting for this Thursday if we had known there was going to be a departmental meeting. This is a decision the entire EC made and we regret to postpone this meeting for five days, but we hope you understand.
Lastly, at the chapter meeting next Tuesday, June 9, we will be announcing a summer campaign of actions as we continue our struggle to fully fund CUNY, save jobs, and make sure the health and safety of all our members, HEOs, CLTs and faculty, are made a priority for this administration.
We wish everyone safety and health,
george emilio sanchez chapter chair


Well, you seem to have a lot of questions. I will try my best answering them :) I guess I will go from the bottom up.
| what does GHZ on cpus mean ? |
GHz is an abbreviation of
gigahertz. Is a unit of measurement, just like inches, grams, centimeters, etc. It is a larger version of
hertz. A
hertz is just a measurement of how many operations the processor makes in a second.
That being said...
KHz is 1,000 hertz (a thousand)
MHz is 1,000,000 hertz (a million)
GHz is 1,000,000,000 hertz (a billion)
THz is 1,000,000,000,000 hertz (a trillion)
aannnnd so on...
A core of a CPU is just how many processors there are. Basically, refer to this equation:
newHertz =
numOfCores *
listedGHz
Explanation:
numOfCores is the number of cores listed.
Dual Core: 2 cores
Tri Core: 3 cores
Quad Core: 4 core
Six Core: 6 cores
so on and so forth
listedGHz is just the speed listed in the retail desc of the CPU. Usually in GHz.
newHertz is just the above two variables multiplied.
Let's use my processor as an example. 6 Cores, 3.5 GHz. This equation resembles my total speed:
6 * 3.5 = 21
So, in the end, I have 21Ghz to use, which is 21 billion hertz.
| i would like to know the words such as thread of a CPU ? |
The thread of a processor is merely an ordered sequence of instructions telling the computer what to do.
I assume you have more questions, so just shoot.


Hi,
My current OpenEnergyMonitor setup just uses the CT clamp, as it's outside in the electric cupboard and there is no mains sockets.
I'd quite like to add on an AC-AC adapter to improve the accuracy, so i've got 2x choices - drill through the back of the electricity cabinet to get a cable to inside, to plug into the mains, or have a 2nd emonTx transmitting the AC-AC data separately to the one sending the readings from the CT clamp.
Is the latter possible?
Also, if you do have an AC-AC adapter connected, do you get to see both readings - both the current ones direct from the clamp, and the improved reading with the AC-AC adapter as separate feeds?
Thanks,
Ian
Re: Separate emonTx for current clamp and AC-AC adapter
Hello Ian, unfortunately its not that easy to transmit the voltage signal independently, the way the more accurate real power calculation works is that its sampling at high frequency (52 samples per 50Hz sinus) and multiplying the instantaneous voltage and current reading together for every sample. Some ideas have been discussed for transmitting the phase timing information between two emontx's but it gets quite complicated.
You do get both readings, the first is realpower and the second apparent power, there's more on this in the AC power theory section of building blocks here: http://openenergymonitor.org/emon/buildingblocks
Re: Separate emonTx for current clamp and AC-AC adapter
What Trystan is saying is that you can measure voltage in one emonTx and current separately in another, do the rms calculation on each and multiply the two rms values together to get apparent power (VA).
In order to measure real power, you need to measure both voltage and current at the same instant (or very nearly), multiply the two together and then take the average. There's no practical method to synchronise two emonTx's and to transmit the instantaneous readings from one to the other in order to do the real power calculation. Note that real power = V x I x cos(Φ) only works for pure sine waves, the average of instantaneous V x instantaneous I works for a distorted wave too.
Re: Separate emonTx for current clamp and AC-AC adapter
Thanks for the explanations - that makes sense!
Sounds like drilling through the wall might be the best option!
Thanks,
Ian


Crumop399.github.io
PHONOCAR VM 057 INSTRUCTION MANUAL Pdf Download. Phonocar Vm 038 Gebrauchsanweisungen. View and Download Phonocar VM 057 instruction manual online. 6,2” TFT/LCD 2 DIN NAVIGATION DVD RECEIVER. VM 057 Receiver pdf manual download. Also for: Vm068


Toolbar is a set of edit tools for rich editors. Use @tinkoff/angular-contenteditable-accessor package for working with a form
Import TuiEditorModule
into a module where you
want to use our component
Add to the template:


WWE 'Monday Night Raw' Results (11/18): Triple H And NXT Invade, WWE Championship Match Adds Stipulation, More
by Tina MillerThe Monday Night Raw go-home show to Survivor Series kicked off with Becky Lynch in Boston. She called out Bayley and Shayna Baszler, saying she doesn’t care about their “brand supremacy” and that she was ready for a fight. Instead of the NXT and SmackDown champions, she was answered by the IIconics. In fine IIconics fashion, they became whaling and complaining about being left off Team Raw for the traditional women’s Survivor Series match. Lynch tells them she is ready for a fight and that she wanted to fight both of them herself.
However, Charlotte entered, saying the powers that be wanted them to tag together and also that she would be captain of team Raw against team NXT and team SmackDown in the women’s Survivor Series match. Samoa Joe then joined the commentary team.
Charlotte Flair and Becky Lynch defeated The IIconics via submission
After the match, Shayna Baszler, Jessamyn Duke, and Marina Shafir attacked The IIconics. Flair and Lynch returned to the ring, but were attacked as well. Lynch tried to go after them in the crowd, but was stopped by security. However, Becky Lynch didn’t let that stop her. She punched one of the security guards before it went off to commerical break.
Charly Caruso interviews Curt Hawkins and Zack Ryder backstage. AOP interrupts and beats them down.
The OC make their way to the ring. Styles says he’d “love” to defend his U.S. Championship against Humberto Carrillo, but last week he was disrespected by Carrillo. Instead, Karl Anderson would teach him some respect.
Humberto Carrillo defeated Karl Anderson with help from The Street Profits
With a distraction from AJ Styles, Luke Gallows hits Carrillo. Anderson had Carrillo rolled up, but with the referee’s back still turned, Montez Ford helped Carrillo reverse the pin for the win.
Charly Caruso interviews Seth Rollins, asking him why he accepted Andrade’s challenge in a match for his spot on Team Raw. Rollins says he is a leader and that he will lead by example. He says he plans on doing what he does best and that is “burn it down”. Caruso then says there is some breaking news fans won’t want to miss before commercial break.
Lana says she’s excited to announce that she filed for divorce. She also says that Rusev was handed a temporary restraining order. He isn’t allowed within “90 miles, 90 days, I mean 90 feet” of her.
Bobby Lashley defeated No Way Jose via submission
Seth Rollins defeated Andrade via disqualification
Lucha House Party from Smackdown interferes and attacks Seth Rollins. Rollins and Andrade drive them out of the ring.
Buddy Murphy knocks on Aleister Black’s door saying he’s picking a fight with him. He walks away when there is no answer. Black does answer, but is upset to find no one there.
Triple H arrives to the arena.
The video from last week’s WWE Backstage is shown. CM Punk’s appearance on tomorrow’s episode is announced.
Buddy Murphey defeated Akira Tozawa with Murphy’s Law
Rowan baby-talks through his cage.
Murphy calls out Aleister Black again backstage. Black answers and they have a stare down.
Erik Rowan victorious in a squash match
During the match, R Truth chases The Singh Brothers around the ring. R-Truth runs away, but Rowan wipes out The Singh Brothers. Rowan leaves with his cage.
Caruso interviews Randy Orton. Orton says that he will meet The Viking Raiders in the ring later on with a partner of his choosing.
Drew McIntyre and Kevin Owens Ends in No Finish
Triple H interferes with NXT. Triple H grabs a mic and says he’s there for a similar reason he came for Seth Rollins. He said that Owens took NXT to the next level, but then was taken. Triple H continued to say that he was taken by people who didn’t want him and that he didn’t belong. Triple H then said he knows where Owens belongs. After Triple H saying that the Raw locker room doesn’t care about Owens and that they know NXT will “hand their a***s to them”, team Raw emptied out. Among those were The OC, who chased off the likes of The Undisputed Era.
Charly Caruso announces AJ Styles will defend his U.S. Championship against Humberto Carrillo next week on Monday Night Raw. Carrillo says he is thrilled for the opportunity.
Caruso gives the attention to Paul Heyman, who announces that Brock Lesnar vs. Rey Mysterio for the WWE Championship will now be a No Holds Barred Match at Survivor Series.
Rey Mysterio tells Carrillo he is happy he gets the opportunity to win the U.S. Championship. He then turns toward the camera, with pipe in hand, and said that he’s not coming for an apology but for the WWE Championship.
Asuka defeated Natalya via pinfall
After a little help from Kairi Sane, Asuka hit Natalya with a massive kick to pick up the win.
Randy Orton and The Viking Raiders come to the ring. They anxiously await Randy’s mystery partner. It is…Ricochet.
During the match, members of SmackDown are attacking guys from Raw backstage.
MAIN EVENT: Randy Orton/Ricochet vs. The Viking Raiders Ends in No Finish
Team SmackDown interrupts the main event to attack, but Orton and company fought them off. NXT attacks SmackDown and surrounds the ring.
Rollins and team Raw joins the fight, but NXT dominates. Triple H says that the “doors are wide open” for Raw and SmackDown this Wednesday.


zanelockett
ENSPIRAL DEV ACADEMY
HOME
PROJECTS
ABOUT
EDA Projects
Basic JS Calculator
Basic Minesweeper


float Directory Reference
Directories | |
| directory | arithmetic |
| directory | branch |
| directory | linear |
| directory | rel |
| directory | transcendental |
| directory | trigonometric |
| directory | var |
| directory | var-imp |
| directory | view |
Files | |
| file | arithmetic.cpp [code] |
| file | arithmetic.hh [code] |
| file | array-traits.hpp [code] |
| file | array.cpp [code] |
| file | array.hpp [code] |
| file | branch.cpp [code] |
| file | branch.hh [code] |
| file | dom.cpp [code] |
| file | exception.hpp [code] |
| file | exec.cpp [code] |
| file | limits.hpp [code] |
| file | linear.cpp [code] |
| file | linear.hh [code] |
| file | nextafter.hpp [code] |
| file | num.hpp [code] |
| file | rel.cpp [code] |
| file | rel.hh [code] |
| file | rounding.cpp [code] |
| file | rounding.hpp [code] |
| file | transcendental.hh [code] |
| file | trigonometric.hh [code] |
| file | val.hpp [code] |
| file | var-imp.hpp [code] |
| file | view.hpp [code] |


public interface ExecutedScriptInfoSource
| Modifier and Type | Method and Description |
|---|---|
void |
clearAllExecutedScripts()
Clears all script executions that have been registered.
|
void |
deleteAllExecutedPostprocessingScripts()
Removes all previously registered executed postprocessing scripts
|
void |
deleteExecutedScript(ExecutedScript executedScript)
Remove the given executed script from the executed scripts
|
Set<ExecutedScript> |
getExecutedScripts() |
void |
markErrorScriptsAsSuccessful()
Marks the failed scripts in the executed scripts table as successful.
|
void |
registerExecutedScript(ExecutedScript executedScript)
Registers the fact that the given script has been executed on the database
|
void |
removeErrorScripts()
Removes the failed scripts in the executed scripts table.
|
void |
renameExecutedScript(ExecutedScript executedScript,
Script renamedToScript)
Registers the fact that the script that was originally executed has been renamed.
|
void |
resetCachedState()
Resets the cached state, for example when the scripts table was modified by another process.
|
void |
updateExecutedScript(ExecutedScript executedScript)
Updates the given registered script
|
void registerExecutedScript(ExecutedScript executedScript)
executedScript
- The script that was executed on the databasevoid updateExecutedScript(ExecutedScript executedScript)
executedScript
- The script to update, not nullvoid clearAllExecutedScripts()
getExecutedScripts()
will return an empty set.Set<ExecutedScript> getExecutedScripts()
void deleteExecutedScript(ExecutedScript executedScript)
executedScript
- The executed script, which is no longer part of the executed scriptsvoid renameExecutedScript(ExecutedScript executedScript, Script renamedToScript)
executedScript
- the original executed script that still refers to the original scriptrenamedToScript
- the script to which the original script has been renamedvoid deleteAllExecutedPostprocessingScripts()
void markErrorScriptsAsSuccessful()
void removeErrorScripts()
void resetCachedState()
Copyright © 2015. All rights reserved.


Influenza is a viral infection that attacks your respiratory system — your nose, throat and lungs. Influenza is commonly called the flu, but it’s not the same as stomach “flu” viruses that cause diarrhea and vomiting.
For most people, influenza resolves on its own. But sometimes, influenza and its complications can be deadly. People at higher risk of developing flu complications include:
1. Young children under age 5, and especially those under 12 months
2. Adults older than age 65
3. Residents of nursing homes and other long-term care facilities
4. Pregnant women and women up to two weeks postpartum
5. People with weakened immune systems
6. People who have chronic illnesses, such as asthma, heart disease, kidney disease, liver disease and diabetes
7. People who are very obese, with a body mass index (BMI) of 40 or higher
Though the annual influenza vaccine isn’t 100 percent effective, it’s still your best defense against the flu.
Your doctor will conduct a physical exam, look for signs and symptoms of influenza, and possibly order a test that detects influenza viruses.
During times when influenza is widespread, you may not need to be tested for influenza. Your doctor may diagnose you based on your signs and symptoms.
In some cases, your doctor may suggest that you be tested for influenza. He or she may use various tests to diagnose influenza. Polymerase chain reaction (PCR) testing is becoming more common in many hospitals and labs. This test may be done while you’re in your doctor’s office or in the hospital. PCR testing is more sensitive than other tests and may be able to identify the influenza strain.
Usually, you’ll need nothing more than bed rest and plenty of fluids to treat the flu. But if you have severe infection or are at higher risk for complications, your doctor may prescribe an antiviral medication, such as oseltamivir (Tamiflu), zanamivir (Relenza), peramivir (Rapivab) or baloxavir (Xofluza). These drugs may shorten your illness by a day or so and help prevent serious complications.
Oseltamivir is an oral medication. Zanamivir is inhaled through a device similar to an asthma inhaler and shouldn’t be used by anyone with certain chronic respiratory problems, such as asthma and lung disease.
Antiviral medication side effects may include nausea and vomiting. These side effects may be lessened if the drug is taken with food.
Most circulating strains of influenza have become resistant to amantadine and rimantadine (Flumadine), which are older antiviral drugs that are no longer recommended.
Lifestyle and home remedies
If you do come down with the flu, these measures may help ease your symptoms:
1. **Drink plenty of liquids**. Choose water, juice and warm soups to prevent dehydration.
2. **Rest**. Get more sleep to help your immune system fight infection. You may need to change your activity level, depending on your symptoms.
3. **Consider pain relievers**.  Children and teens recovering from flu-like symptoms should never take aspirin because of the risk of Reye's syndrome, a rare but potentially fatal condition.
To help control the spread of influenza in your community, stay home and keep sick children home until fever has been gone for 24 hours.


|
Finite Geometry Notes
|
Move your mouse cursor over the cube and its rotation will roughly follow the movement of the mouse. Click once to bring any of the faces forward. Once a face is locked forward it can be double clicked to link the parent web page.
The cube is called the "diamond" cube since eight copies of the cube can be used to make the pattern above.
Cube design © 1984 by Steven H. Cullinane


Original message: "{{ message }}"
Computed reversed message: "{{ reversedMessage }}"
Radio button value (buttonValue): {{ buttonValue }}
Latest Cabo Deals
There's so much to do and see in Cabo San Lucas, including golf, fishing, sunset cruises, and diving. Explore Activities.
Tours & Activites
There's so much to do and see in Cabo San Lucas, including golf, fishing, sunset cruises, and diving. Explore Activities.
Special Services
We can arrange all of the extras for an unforgettable villa vacation including chef services, grocery pre-stocking and in-villa spa services.
Los Cabos Real Estate
We are excited to partner with The Agency Los Cabos, a full-service, luxury real estate brokerage. Cabo Real Estate


Software engineering practices are key to any large development project. This site provides a home to conduct open source or collaborative software projects integrated with a set of hosted development tools to facilitate project teams adopting the "best practices" that have proven themselves in the open source community.
 Clear and effective technical communications are needed to keep the team in synch and to allow individuals with key knowledge to apply that knowledge where it is needed.i
One tenet of the open source community is that technical communications should take place in public forums. Mailing lists are the backbone of open source communications. Beyond that, open source projects need support for precisely communicating technical details and for group decision-making.
Every software development project needs version control. Open source projects need strong and flexible support for many concurrent developers working on overlapping sets of files. Open source projects also need standard templates for design documents, technical documentation, and end user documentation.
A well-organized project should facilitate distributing these documents. But, the nature of open source projects demands that these files are globally accessible, and that administrative overhead be minimized and responsibility be spread out over the members of the development community.
Open source software products have achieved a remarkable degree of quality. This is something that the closed source development world has found to be one of the most difficult and costly aspects of software development.
Open source software is high quality for three main reasons:
Furthermore, debugging is much more effective when split among many people who have diverse knowledge.
Development activity on open source projects is constant and concurrent among many developers. Sometimes the changes made by one developer interfere with those made by another developer.
Often the version control practices used in the open source community resolve these conflicts, but sometimes they do not. Frequent automated builds and tests of the software being developed are powerful tools that help catch logical conflicts early.
Every project needs explicit goals, resources, and a schedule. The open source community has addressed these issues in a uniquely flexible way. Shared "to do" lists keep track of tasks that need to be done. Personal "to do" lists keep developers on track. Milestone lists set flexible deadlines for individual features based on feedback from users and developers.
Knowledge is the valuable resource that sets experienced developers apart from novice ones. Sharing knowledge effectively has been key to the success of the open source community. Explicitly managing knowledge can help reduce the learning curve for novices which reduces the barriers to entry for potential contributors while automatically keeping the load on the experts down to a minimum in terms of training others.


This page contains resources for the module MED7370 Data Journalism on the MA in Data Journalism at Birmingham City University.
By the end of this week you should be able to use core spreadsheet techniques to find stories, including sorting and filtering, pivot tables, and be able to calculate change and proportions. You will also be able to use GitHub to clone or fork a repo.
By the end of this week you should be able to use a range of spreadsheet functions - but more importantly, use computational thinking to break down editorial challenges into problems that can be tackled systematically, quickly and effectively, with the potential for automation or semi-automation as algorithms.
By the end of this week you should be able to create a basic HTML page with CSS styles, and explain the basics of design for mobile devices.


Asimov Robotics Pvt Ltd
ISRA WEB CONTROL
Home
Arm Navigation
Camera
Video Conference
ISRA Live Streaming


Foodie is a new intuitive app that is a must for those who love going out to eat. Hate remembering what you have and haven’t ordered at a restaurant. Let Foodie keep track for you!
REGISTERTell me when you’ve heard this one. You remember a couple Thai Restaurants you’ve been to before but you can’t remember which one is the one with the good massaman or which has the better pad thai? What about the Mexican restaurant that has a wait time that will put gray in your hair? Or the Burger place that has the disgusting prices? The Pizza place with the divine cheese sticks?
Foodie is an app that allows you to keep track of all those things and more. You can leave reviews. You can upload photos and descriptions of a menu item. The home page will show you your reviews and menu items. The app allows you to sort based on price, restaurant, food type, and more. Use the Register button above and gain access to all these features and more with the Foodie app!


Posted on April 1, 2018 by John Frens
Millions of students look to Brainly.com, a “Social Q&A” website, to ask questions and answer questions about homework. Students can search a database of millions of questions, or post their own question, which will be answered in minutes. Once they’ve received an answer, they can click a ‘thanks’ button, rate the answer from one to five stars, or leave a comment. Sounds like a helpful learning tool, right? Not always!
Kids are posting their homework questions online verbatim, and too often, answerers -- the people answering the questions -- will post only the final answer to the question without any explanation. We know from decades of classroom study that this kind of “help,” while fulfilling the short term need of getting an answer, isn’t really helpful at all! Effective help comes with the right amount of explanation and can be used to answer other problems. Therefore, we tried giving crowd-sourced, criteria-based feedback to the answerers of 273 questions on Brainly.com. The results are not what we expected.
We expected users to be gracious in their reception of the feedback. After all, over 40% of answers are completely ignored, so any feedback should be better than nothing. But the responses we got to our feedback ranged from disagreement to confusion to outrage.
You should be aware of what you are rating. But I think most [crowdworkers] are not . . . [A one-star rating] doesn’t mean the asker doesn’t get the idea, or didn’t get what he’s looking for.
One participant said, “I put the answer, step-by-step. The final result is correct, and I don't agree with the three and a half stars.” Clearly, this answerer desires feedback that is validating. And that reflects the current usage of star ratings on Brainly, where over 90% of ratings are five stars out of five.  Which tells me that I substantially helped them.” So certainly they didn’t like less-than-five-star ratings in general, but there were other reasons to reject the feedback too.
Answerers care about helping askers, and they don’t care for third-party, criteria-based opinions. “You should be aware of what you are rating. But I think most [crowdworkers] are not . . . [A one-star rating] doesn’t mean the asker doesn’t get the idea, or didn’t get what he’s looking for.” This gets at a critical dilemma for answerers: should answers be written to the asker’s standard, or to a higher objective standard?
As outsiders, we are aware that these answers will be archived and potentially viewed by users long after the asker and answerer have left the site. But answerers may not be aware of this at all. One participant asked us, “If I type an answer, is that just a one-to-one conversation with the people asking the question, or are other students looking at, reviewing all those answers to learn something? I have no clue if that's happening. So, does Brainly become, like, a Wikipedia of questions already answered, or is it just something that only happens in the here-and-now?” Website designers need to make it clear that everybody benefits when answerers are elaborate and explanatory in their answers.


{% extends "base.html" %} {% load staticfiles i18n compress%} {% block css %} {% load static %} {% endblock %} {% block nav %} {% endblock nav %} {% block container %} {% endblock container %} {% block content %}
Find rides to and from the University of Portland using this single online hub for UP community members only.
A project by the University of Portland CS department.


Class RepoCreator
RepoCreator class
Namespace: RepoCreator
Package: RepoCreator
License: MIT
Author: Pekka.s<EMAIL_ADDRESS>Link: https://github.com/ThePaavero/RepoCreator
Located at RepoCreator.php
Package: RepoCreator
License: MIT
Author: Pekka.s<EMAIL_ADDRESS>Link: https://github.com/ThePaavero/RepoCreator
Located at RepoCreator.php
public
null
|
|
public
null
|
|
public
null
|
|
public
null
|
|
public
null
|


RT @rubyconf: OMG, we're about a month out from RubyConf! Be sure to book your ticket soon so that you don't miss out: http://t.co/lXtU0Ahe…
10/13/2015, 11:05:08 PM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @rubyconf: OMG, we're about a month out from RubyConf! Be sure to book your ticket soon so that you don't miss out: http://t.co/lXtU0Ahe…
10/13/2015, 11:05:08 PM
Favs: 0
Retweets: 0
link


--- creation_epoch:<PHONE_NUMBER> lastmod_epoch:<PHONE_NUMBER> categories: ['Security'] title: Tinkering with ISP autogenpassword ZyXel EMG2926-Q10A wifi router ---
When I signed up for my new ISP they had a promotion and gave me a free wifi router (not required for their service). I was impressed with the signal quality of this router throughout my home.
One issue, however, is that my ISP set the wireless SSID to an ISP named one with a 10 character password consisting solely of digits [0-9]. I wanted to customize the SSID so I went to login to the web portal of the router.
In short, I was denied using the password printed on the back label of the router. So I did a standard reset, and the router reset. The SSID name and password changed to the "random" one on the back label. However, I could not login to the web portal. The default IP range did not match what was on the label nor did any of the credentials work. Upon further review I discovered that the firmware had been customized for the ISP so that only the ISP could login to the management portal via the WAN interface.
ZyXel does not publish the router firmware update binaries anymore via their website. However, I noticed it was using OpenWRT which uses the GPL license so I submitted a form and a few days later received the firmware source code and build instructions. Further review of the code showed that an autogenerated password must have been in use. (Update): I was successful in obtaining a firmware dump and getting /etc/config/account; however the password that worked for supervisor login was not based on autogenpassword with my serial number or MAC address. Instead it was a 10 character password with a-z0-9 alphabet. Reviewing the source some more I noticed that autogenpassword was only called when the service was "stopped" meaning that only on a clean shutdown command. Since I only ever flipped the power switch to off that code never executed so a different default password was used and never changed.
Since I don't have access to the autogenerated password I decided to review the firmware and nand itself for some clues. I've put my notes at https://github.com/rbeede/ZyXel_EMG2926-Q10A.
Opening the device was not too bad with 2 screws and three plastic clips (which I managed to not break!).
UART (usb to ttl) PIN configuration is same as nbg6716. Don't use the 3.3V pwr pin just power the device with its own AC adapter.
Using a USB to TTL and Linux with Minicom I could follow the boot sequence. 115200 with 8N1 and hardware flow control OFF. You might find it useful to capture all you do with minicom -C capturefile
AAVK-EMG2926Q10A> ATSH ZLD Version : 2.21 (May 25 2015 - 16:22:06) Bootbase Version : U-Boot 2009.11 (May 25 2015 - 15:53:53) Firmware Version : V1.00(AAVK.7)C0 Product Model : AAVK-EMG2926Q10A Serial Number : S############ First MAC Address : 5########### Default Country Code : FF Header Checksum : 0000d561 RootFS Checksum : 00005ae9 Boot Module Debug Flag : 00 Boot Block Write Enable: no HTP Mode Enable : no
It has a 16MB flash with uBoot and their custom zLoader followed by crippled uBoot load sequence. They added a password requirement to get to the more featured uBoot. I found threads on the internet about zynpass.c which proved very useful. Also extremely helpful was https://blog.incloudus.com/2017/flasher-routeur-zyxel-emg2926-q10a-de-chez-videotron/ which hints that the EMG2926 is just a nbg6716. Looking at the vendor provided source code seems to confirm this so using openwrt-18.06.2-ar71xx-nand-nbg6716-squashfs-factory.bin looks promising for going to a stock firmware.
AAVK-EMG2926Q10A> ATSE AAVK-EMG2926Q10A
The number result above would change on each boot, but other models apparently just seed from 0's.
zynpass seed from prior
ATEN 1,passcode from zynpass
ATGU
You should now be in a more normal looking uboot. However, it does not have the md or some other useful commands. You can use it as a tftpclient to download images into memory. In theory you could build a MIPS big-endian newer version of uBoot, tftpboot it into memory, and execute it.
printenv - You'll want to run this command and backup all your settings. Helpful for understanding how it boots the OEM firmware and other settings for tftp (like the 2 static IPs expected).
So I needed a way to backup the current nand (128MiB) with its entire JFFS2 filesystem. The only option I had in the OEM uBoot was the "nand read" command. You can only read 2KiB at a time so I wrote a script. This was a Perl script that created a minicom script, but I found that reading via serial was not 100% reliable (first time I got lucky). So I wrote a Python script instead that will do multiple retries to read a page.
When you run the script I assumed you already reached the ATGU command prompt of AAVK-EMG2926Q10A#
This should give you a 128MiB raw image of bytes. It will take about 50 hours to complete!
I tried to mount this in my Linux distro, even doing endian conversion with: jffs2dump ./raw-image.bin -r -b -e endian_conversion.jffs2
I was unsuccessful with mtdblock commands. It would mount, but my kernel did not understand the compression used.
Another important thing about JFFS2 is that it can store old versions of files that do not appear in a mount. So I used a different tool to just extract the image I converted to files.
sudo pip install cstruct # you may need cstruct=1.0 sudo apt-get install python-lzma git clone https://github.com/sviehb/jefferson cd jefferson sudo python setup.py install
jefferson endian_conversion.jffs2
It took quite a while to extract all the image data. I found that my first nand dump gave me many files, but subsequent nand dumps resulted in IOError due to some corruption in the nand. I had to modify the jefferson script (see GitHub for copy) to ignore the errors and keep dumping. So my results are likely incomplete. It took about 2 days for the dump script to complete.
When the extract finished I discovered I had multiple versions of files like ./fs_134/etc/config/account
Some versions had
config account 'supervisor' option privilege '1' option default '1' option username 'U2FsdGVkX19SPvOrleGJDk+T7eQ0tyfwIQVvKiBILX4=' option password 'U2FsdGVkX19cfSe/dUaL5O9UW9rCEudvLGt32qOjKYI=' config account 'admin' option privilege '2' option default '1' option username 'U2FsdGVkX1+neyorvt4ISdpJy93riIC3' option password 'U2FsdGVkX1/1p1KdOxpu2yx0aEUc5+yuIuT2q+p2O1s='
while others had
#privilege 1 > 2 config general general option defaultName root option maxNumber 5 option encrypt 0 config account supervisor option privilege 1 option default 1 option username supervisor option password supervisor config account admin option privilege 2 option default 1 option username admin option password 1234
Yet another reset, reboot, reboot, and dump gave me:
supervisor password encrypted U2FsdGVkX19cfSe/dUaL5O9UW9rCEudvLGt32qOjKYI= I tried to decrypt this, but openssl bf just returned errors. Possibly the password was changed for deployment versus what is in source.
This discovery led to me noticing that their factory run of the ISP firmware included old revisions from previous dev effort. I found decryption passwords in the source code but it did not match the encrypted strings I found in the old revisions of account. It seems to indicate a dev iteration of testing.
 I performed another dump and was able to get the actual supervisor password from /etc/config/account in clear-text.
/etc/init.d/password is responsible for changing the password during the device ordered shutdown. Each time it sets the password as per the source.
So this appears to be based on the /etc/config/account contents (users supervisor and admin).
The password is assigned based on the device serialnumber (get_fwpwd) and the last 5 upper-case characters of the primary ethernet (WAN) MAC address.
/usr/sbin/autogenpassword is called to generate a password based on the device serial number from the flash (uboot, printenv) stored configuration data.
I have yet to work out how to use autogenpassword since it is big-endian for a MIPS architecture. I did look at dumping the assembly, but it is quite long and difficult to understand.
One idea I had was to reboot the router multiple times so /etc/config/account is updated by the init scripts and then try another nand dump. My first dump test was right after a clean reset (hardware button) before a boot.
I could also just get rid of the OEM firmware and install a standard build of OpenWRT instead. I'm not sure if I would need to update the 16MiB flash area with a new uBoot or zloader first though.
I was successful in getting a telnet shell on the box. I reset the device and powered it on with no WAN connection. A few reboots and 4 days (dump flash retries) later I was able to get /etc/config/account and login.
I made a backup of all the mtd partitions and ran fw_printenv to get a different view for backup. Some interesting notes:
Reviewing known CVEs for ZyXel I ran across CVE-2018-9149. It claims (3/11/2019) a CVSS score of 9.8, but it talks about the UART (ttl serial) port not being protected. I disagree with this CVSS score as it claims network exploitable, but clearly requires physical access which pulls the score to 6.8. I sent a note to NVD (3/14/2019), and they have updated the CVE score to reflect the AV:P.
I feel that "researcher" published and chosen CVE scores like this are misleading and harmful for both users and vendors. It generates unfair noise for the vendor that takes away from attention or consideration of other legitimate vulnerabilities.
I don't know why the vendor added a special uBoot bootloader and passcode. I think it just adds to the complexity of this consumer router. I'd recommend dropping it for a more plain uBoot with the latest features. Kudos to the vendor for also providing the UART 4 pins instead of requiring soldering. It makes tinkering by those who like to do so (and not expect a warranty) much more fun.
Follow instructions for nbg6716. I recommend starting with OpenWrt Chaos Calmer 15.05.1 when you mtd write /dev/mtd7 then upgrade if you need. Login first via web interface to enable ssh.
I'm most excited about flashing a standard generic OpenWRT to this device for real use. It is nice to see OpenWRT being used more as it makes it possible for consumers who want to use advanced features available. The portion of where it was locked down to only the ISP doesn't seem to be a security strength. I guess an ISP could push security patches, but it also opens another security hole. Basic changes like network name and password should be made available to the consumer instead of having to pay extra for ISP support of simple things.
I thought about generating a rainbow table for autogenpassword as well, but the serial number combinations would make it over 1TB in size.
crunch 13 13<PHONE_NUMBER> -t S@@@A@@@@@@@@ -o /tmp/zyxel_wordlist Crunch will now generate the following amount of data:<PHONE_NUMBER>000 bytes 1335144 MB 1303 GB 1 TB 0 PB Crunch will now generate the following number of lines:<PHONE_NUMBER>00


Delete resources by filenames, stdin, resources and names, or by resources and label selector.
JSON and YAML formats are accepted. Only one type of the arguments may be specified: filenames, resources and names, or resources and label selector.
Some resources, such as pods, support graceful deletion. These resources define a default period before they are forcibly terminated (the grace period) but you may override that value with the --grace-period flag, or pass --now to set a grace-period of 1. Because these resources often represent entities in the cluster, deletion may not be acknowledged immediately. If the node hosting a pod is down or cannot reach the API server, termination may take significantly longer than the grace period. To force delete a resource, you must specify the --force flag. Note: only a subset of resources support graceful deletion. In absence of the support, --grace-period is ignored.
IMPORTANT: Force deleting pods does not wait for confirmation that the pod's processes have been terminated, which can leave those processes running until the node detects the deletion and completes graceful deletion. If your processes use shared storage or talk to a remote API and depend on the name of the pod to identify themselves, force deleting those pods may result in multiple processes running on different machines using the same identification which may lead to data corruption or inconsistency. Only force delete pods when you are sure the pod is terminated, or if your application can tolerate multiple copies of the same pod running at once. Also, if you force delete pods the scheduler may place new pods on those nodes before the node has released those resources and causing those pods to be evicted immediately.
Note that the delete command does NOT do resource version checks, so if someone submits an update to a resource right when you submit a delete, their update will be lost along with the rest of the resource.
Examples:
# Delete a pod using the type and name specified in pod.json.
kubectl delete -f ./pod.json
# Delete resources from a directory containing kustomization.yaml - e.g. dir/kustomization.yaml.
kubectl delete -k dir
# Delete a pod based on the type and name in the JSON passed into stdin.
cat pod.json | kubectl delete -f -
# Delete pods and services with same names "baz" and "foo"
kubectl delete pod,service baz foo
# Delete pods and services with label name=myLabel.
kubectl delete pods,services -l name=myLabel
# Delete a pod with minimal delay
kubectl delete pod foo --now
# Force delete a pod on a dead node
kubectl delete pod foo --force
# Delete all pods
kubectl delete pods --all
kubectl delete ([-f FILENAME] | [-k DIRECTORY] | TYPE [(NAME | -l label | --all)]) [options]
Use "kubectl options" for a list of global command-line options (applies to all commands).


Test of the maximum request limit imposed by both IIS and ASP.NET
| Test Method | Data | Length | Required | Description |
|---|---|---|---|---|
| Test.EchoTest.base | Text | true | the EchoTest method is called with a block of text that causes the request message to be over 64K in size | |
| Return Name | Data | Description | ||
| Test.EchoTest.base_DEFAULT | Text | should return an error message indicating the message was too large |
Test of the rejection of request messages that contain an XML header
| Test Method | Data | Length | Required | Description |
|---|---|---|---|---|
| Test.EchoTest.base | Text | true | a request message is sent as an XML document instead of an XML fragment | |
| Return Name | Data | Description | ||
| Test.EchoTest.base_DEFAULT | Text | should return an error message indicating the message was not an XML fragment |
Test of the rejection of request messages with an expired TTL timestamp
| Test Method | Data | Length | Required | Description |
|---|---|---|---|---|
| Test.EchoTest.base | Text | true | a request message is sent with an expired timestamp | |
| Return Name | Data | Description | ||
| Test.EchoTest.base_DEFAULT | Text | should return an error message indicating the message TTL timed out |
Test of the HMAC hash authentication mechanism
| Test Method | Data | Length | Required | Description |
|---|---|---|---|---|
| Test.EchoTest.base | Text | true | a request message is sent with an incorrect HMAC hash value | |
| Return Name | Data | Description | ||
| Test.EchoTest.base_DEFAULT | Text | should return an error message indicating the message HMAC authentication failed |
Test of the lockout of accounts that exceed the maximum failed authentication count
| Test Method | Data | Length | Required | Description |
|---|---|---|---|---|
| Test.EchoTest.base | Text | true | a batch of request messages are sent with incorrect HMAC hash values | |
| Return Name | Data | Description | ||
| Test.EchoTest.base_DEFAULT | Text | should disable the account and return an error message indicating the authentication failures |
Test of the web service expired password functionality.
| Test Method | Data | Length | Required | Description |
|---|---|---|---|---|
| Test.EchoTest.base | Text | true | a request message is sent with an account that has expired | |
| Return Name | Data | Description | ||
| Test.EchoTest.base_DEFAULT | Text | should only allow the reset password method to be called |
Test of the request message authorization mechanism.
| Test Method | Data | Length | Required | Description |
|---|---|---|---|---|
| Test.EchoTest.base | Text | true | a request message is sent calling a method that the account is not authorized to access | |
| Return Name | Data | Description | ||
| Test.EchoTest.base_DEFAULT | Text | should return an error message indicating the account is not authorized to call the method |
Test of the rate limit per account for the number of API request messages that can be called per minute.
| Test Method | Data | Length | Required | Description |
|---|---|---|---|---|
| Test.EchoTest.base | Text | true | a batch of method calls are sent that is greater than the method limit for the account | |
| Return Name | Data | Description | ||
| Test.EchoTest.base_DEFAULT | Text | should eventually return an error message that the method limit was exceeded |


--- layout: article title: 2013 Donor-Advised Funds description: A survey of the largest donor-advised funds in the United States ---
As lead analyst and reporter, I analyzed 134 of the nation's largest donor-advised funds and found that donor-advised funds were accumulating assets far more rapidly than both nonprofits and foundations combined.
Read the entire special report.
Worth almost a third more than before the recession, donor-advised funds received 46 percent more in donations in 2012 than in 2011. This compared to nonprofits, which attracted just 7 percent more in contributions and big foundations, whose assets grew by only 4 percent, according to Chronicle studies.
Critics of donor-advised funds have said that the funds give little directly to charity and argue that the funds should be subject to payout requirements like foundations. My reporting inspired a panel on the subject at the Hudson Institute, where I presented my findings.


As I listened to the story of Dev Bootcamp on Shereef's Fireside Chat, I couldn't help but have a range of emotions - excitement, anxiety, humility are the main ones that come up... Read More
A primer on Git and Github: A post geared toward newbies
In this blog post, I will discuss the benefits of version control, how git helps you keep track of changes, and why it is a good idea to use Github to store your code... Read More
The What and When of Ids and Classes
One of the first things you will realize when using stylesheets is that you need a way to tell it which piece of content you want to apply a particular style to.... Read More
The Ins and Outs of Pair Programming
Have you ever wondered what Pair Programming is and why we do it? Well, this blog post tells you.... Read More
Insight into Arrays and Hashes
In this week’s challenges, we worked with arrays and hashes—2 concepts that may cause some confusion. This post will help to clarify these concepts and their uses. Read More
Contemplations on Thinking Style and Learning
Have you ever considered how your thinking style affects your learning? Do you even know what your thinking style is? Here I journal my reflections on thinking style and learning. Read More
Solving the Issue of Tech Demand Skills for Today's Companies
In today's digital world, all companies need tech help and it is estimated that there are nearly 200 million companies in the world. How do solve this demand problem? Read More
Using Ruby method, map
Sometimes, Ruby methods are intuitive by their name, and sometimes not so much. Ruby method, map, is one I had to research and use to understand it and now I'm going to share. Read More
Working with Classes in Ruby
Classes opened up my world these past couple weeks. To be able to create your own objects and define their functions is pretty cool.  As a Ruby newbie, it's been pretty invaluable to my learning. Read More
Demystifying Ruby Modules
This week we read about modules and worked with classes. I was initially confused about modules, and still am a bit. Here's my understanding of them. Read More
Imposter Feelings Rear Their Ugly Heads
When I read the cultural assignment for this week on stereotype threat, I was pleasantly surprised. DBC never ceases to amaze me. In this post, I'll share some very personal feelings. Ready? Read More


Calculator Help
NOTE: Each of these Constants or Functions must be proceeded with Math. Case matters.
Example: Math.E or Math.abs(3.78)
- Javascript Constants
-
- E Returns Euler's number (approx. 2.718)
-
- LN2 Returns the natural logarithm of 2 (approx. 0.693)
-
- LN10 Returns the natural logarithm of 10 (approx. 2.302)
-
- LOG2E Returns the base-2 logarithm of E (approx. 1.442)
-
- LOG10E Returns the base-10 logarithm of E (approx. 0.434)
-
- PI Returns PI (approx. 3.14)
-
- SQRT1_2 Returns the square root of 1/2 (approx. 0.707)
-
- SQRT2 Returns the square root of 2 (approx. 1.414)
-
- Javascript Functions
-
- abs(x) Returns the absolute value of x
- acos(x) Returns the arccosine of x, in radians
- asin(x) Returns the arcsine of x, in radians
- atan(x) Returns the arctangent of x as a numeric value between -PI/2 and PI/2 radians
- atan2(y,x) Returns the arctangent of the quotient of its arguments
- ceil(x) Returns x, rounded upwards to the nearest integer
- cos(x) Returns the cosine of x (x is in radians)
- exp(x) Returns the value of Ex
- floor(x) Returns x, rounded downwards to the nearest integer
- log(x) Returns the natural logarithm (base E) of x
- max(x,y,z,...,n) Returns the number with the highest value
- min(x,y,z,...,n) Returns the number with the lowest value
- pow(x,y) Returns the value of x to the power of y
- random() Returns a random number between 0 and 1
- round(x) Rounds x to the nearest integer
- sin(x) Returns the sine of x (x is in radians)
- sqrt(x) Returns the square root of x
- tan(x) Returns the tangent of an angle


12 minutes
CI/CD High Availability: The Real Thing
High availability scenarios are key configurations for all mission critical software platforms and solutions at every company.
But in my experience from every technology conversation, I’ve found out that High Availability (HA from now on) is one of those terms that is usually misunderstood when talking about CI/CD. The reason? Because HA can be a subjective topic depending on who you are talking to (IT, Development, Operations, end users, etc.).
I am writing this post to clear things out about the “myth” of HA in CI/CD and what it means from a solution architecture point of view. So, don’t expect a post with a lot of code or configuration examples. It is about architecture concepts, business needs and its technical alignment to help finding out the best practices for “highly available” CI/CD pipelines.
What is HA and why is it relative?
Even though the definition at Wikipedia is not a true “official” source, I like how it defines HA:
High availability (HA) is a characteristic of a system, which aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period.
The words agreed level of operational performance show some very important topics to clarify:
- Operational performance is defined by the use case and the business. Not from the technical components or the software being used.
- The software architecture and its technical definition depends on the agreed level of that operational performance.
Let’s use an example. If we think about the service that Amazon retail users are expecting, any purchase transaction using the web portal cannot be interrupted for even a few seconds. So, web services, front end applications, databases, middleware, payment channels and other services or microservices, etc. cannot interrupt or block that user transaction. That means that every server needs to be up and running all the time, or at least to recover at the same point in a sub-second basis.
This is just because the business requires that any user transaction and interaction with the application cannot be interrupted at all, considering that an interruption is something blocked for 3 seconds or more (users don’t like to wait more than 3 seconds to refresh a web page to the next step). And if that doesn’t happen, I - as a user - will be doing the transaction from a different web retailer or competitor. The business then requires a very restrictive HA scenario.
I am not going to enter in the differences of “Active-Active” or “Active-Passive” HA scenarios. But in the previous example, a software architecture candidate usually needs to be based on an “Active-Active” replication method. So every software transaction is supported or backed-up automatically from an already running service that can immediately resume the current step in the transaction, with no data-loss, or acting as a performant load balancer solution.
But not every use case or business requires the same level of HA. In other terms, the word High in the HA term is relative. A critical service interruption can be seconds, minutes or even hours depending on the context, use case or business.
What about HA and CI/CD?
Continuous Integration and Continuous Delivery (CI/CD) is based on the concept of continuously developing, building, integrating, testing, delivering and releasing the software, with the end goal of producing high quality applications for demanding users. So, how should we define a highly available platform or solution to be able to do that with no “service interruption”?
Let’s see what a service interruption means in this case.
Industrial manufacturing, the example to look at
I think that software development automation is taking all the learnings from the industrial manufacturing processes and its Continuous Delivery systems where final products tend to be manufactured on demand, saving a lot of unnecessary costs and making production lines a lot more agile with very high quality end user products (concepts like JIT, Kanban, ConWIP, Lean… that are usually known for software development were born at the Industrial Manufacturing evolution during the 20th Century).
This is exactly what CI/CD is doing for software development. An assembly line is the exact same concept for industrial manufacturing as it is for a CI/CD pipeline for software development. Just an automated sequence of stages (can be parallel or not) that execute different steps to deliver high quality products in a frequent manner.
So, what about HA in manufacturing assembly pipelines? The first approach in the 1940’s was to reduce the service interruption in a production line just by converting internal machine components to external (we could compare this as a decoupling method for manufacturing, similar to decoupling monoliths to distributed components), so to repair a machine in the pipeline would result in much less loss of service for the entire assembly line. (Toyota started to apply this in the 1950’s for machine setup, reducing times from hours to minutes, with a huge impact in the case or restarting any pipeline stage in a loss of service).
But let’s focus on how the industry faces this nowadays. Any manufacturing industry is able to assure production of hundreds or thousands of components every day from automated assembly lines just by applying different design methods in the pipeline. So, regarding this highly available processes, they apply things like:
- Cellular manufacturing. Just by a right decoupled architecture design of the pipeline and its flexibility, we can improve the flow of the execution and a fast recovery from a loss of service.
- Line buffers. By applying buffers in the assembly or production line, the cadence of production is not interrupted by a temporary loss of a workstation in the line. They also can improve the performance of the pipeline execution
- Assembly line balancing. Decoupling, replicating and parallelizing steps executions for assembly lines can reduce the recovery of the entire line for a highly available service.
Regarding the “agreed level of operational performance” from our previous HA definition, in manufacturing production lines there is no need to replicate the entire manufacturing platform or production lines to have a highly available service. This means that the lines can afford a stoppage of a couple of minutes with no impact on the cadence of production. From a business and production perspective this is a highly available service.
One of the reasons of not working with replicated active-active running production lines as HA strategy is because is not cost effective for the service interruption recovery requirements. In other words, we get the same final results using easy scalable production lines that can recover fast from a failure, without the need of expensive active-active infrastructures.
Resilient vs Highly Available
One of the most important features about a Continuous Delivery system (note that I am talking in general, not only software) to be highly available is resilience. Understood as the capacity of our system components to recover on time, producing a complete stable, durable and efficient execution that doesn’t impact the overall service (e.g. my deployment or release frequency and quality of final artifacts are the same, with or without short downtimes. Just because my platform and systems are resilient to failures).
Back to the question:
What platform configuration do I need for a highly available service?
To answer this question, it’s very important to think about resilience first, because having a resilient platform and architecture is usually enough to deliver a highly available service, being able to recover on time to not impact the final service. But in some scenarios where a couple of minutes of service blockage means loss of millions of dollars (like Amazon retail previous example), resilient solutions are not enough. In this case then you probably need to work on very restrictive HA replication infrastructures. The cost of replication complexity needs to be worth it.
So CI/CD HA is just Resilience
Coming back to the main topic… YES, it is about resilient solutions. HA in CI/CD is not about looking for an active-active load balancing platform that is able to orchestrate CI/CD pipelines. It is about assuring enough availability of my pipelines executions to deliver my software on time and covering all expectations (deployment frequency, failure recovery, lead time, quality standards, etc.).
What does resilient architecture mean in CI/CD pipeline orchestration? I think that the following solution architecture concepts are a must in order to offer a resilient highly available solution:
- Orchestration layer does not have the same needs as the execution layer. Pipeline orchestrators and pipeline executors have different scalability requirements, and because of that decoupling execution from orchestration is a must.
- Pipeline execution downtime recovery needs to be fast and from the same execution point. Executors infrastructure can fail, even if they are replicated, so it is more important to recover from the last successful stage or status than moving the execution to another live agent executor that could restart the execution from the beginning.
- Decouple the orchestration layer. Smaller and more masters (orchestrators) are going to be more scalable and resilient to any overall failure. If one master fails it is not impacting any other orchestrator and its pipelines. So platform availability improves with scalability.
- Rely on a native self-healing, resilient and scalable infrastructure. Even though replication is not needed, we need to recover fast from any hardware or service downtime.
- Decouple pipeline execution. Using different agent executors during pipeline execution improves availability, just the same way that assembly lines in the industry do.
It can be pretty cool if I can access my jobs or builds all the time because my masters are all the time up and running, but it is not that cool if they are not producing the same results in terms of building and delivering software because my pipelines are not executing and recovering on time. Again… resilience first.
Scalability and Kubernetes as HA best practice
If we are looking for HA in any CI/CD solution architecture we should then think about a scalable, decoupled and flexible solution that runs on a resilient platform. Today, these terms require us to think about containerized solutions orchestrated by Kubernetes.
A traditional Jenkins example
Jenkins is one of the most used solutions to orchestrate CI/CD pipelines. Its internal architecture is more than 10 years old, so we might think it not to be the most advanced solution. But, the truth is that it has been evolving with these resilient best practices in mind (master-agent layers, pipeline decoupling and flexibility, containerized deployment, etc.), so if you deploy and design your platform and pipelines nicely you can get a true resilient CI/CD experience, meaning a CI/CD HA platform.
But let’s see the following picture:
In a traditional deployment - like the diagram on the left - with Jenkins masters (orchestrators) and Jenkins agents (executors), we should at least work on an Active-Passive replication on masters to recover on time to provide a resilient platform with HA capabilities. But, if we also decouple the masters with smaller ones and deploy them natively in Kubernetes - diagram on the right -, the experience can be much more resilient without any replication method. A small master that is running in a pod can automatically be recovered by Kubernetes if it fails, restarting its service in a couple of minutes in the worse case. The pipeline could still be running by the way. Also, the rest of the masters are not impacted and agents are just ephemeral, only running and restarted when needed. So, service loss is not perceived.
In a Jenkins enterprise experience this is a must, and that is why for example, CloudBees Core (usually known as Jenkins Enterprise) provides out of the box these capabilities with master management features and Kubernetes scalability.
The Cloud Native evolution (a.k.a. Jenkins X)
But if we go purely Kubernetes native, and we provide an architecture where every piece of the pipeline orchestration and execution is just a state declaration object that can be recovered automatically when something goes down, then the HA and resilient experience is event better.
Jenkins X takes these concepts and all the previous mentioned best practices of scalability and resilience. Everything is about Kubernetes native objects definitions (based on CRDs), which are resilient by nature from Kubernetes. No need to think about decoupled pipelines, infrastructure replication, or recovering scenarios. It is already out of the box from its solution architecture design. If you deploy your Kubernetes platform with some Disaster Recovery configurations like Cloud cross-region availability, autoscaling pools and backup features (I think Velero is an interesting solution for K8s backup), it is practically impossible to completely lose the service for your CI/CD pipelines (except the case the World is ending…).
As an example, in the image below we can see that a pipeline execution on a default Jenkins X deployment recovered just in 30 seconds to continue running after a Pod failure simulation. Nothing needed to be done in terms of deployment or pipeline definition. It is just its native behavior.
The message and conclusion
I’ve received in the past several redundant requests from organizations like the following ones:
- “We need to replicate and load balance our masters to have HA”
- “My masters need to be up and running all the time as Active-Active to have a continuously running CI/CD service”
- “How can I write to my shared storage at the same time with replicated masters?” (another active-active HA conversation)
And many more similar.
The funny thing is that lots of cases were not prioritizing scalability, pipeline and master decoupling, or containerized orchestrated deployments. And then you realize that most of these requests come from IT requirements definitions in terms of HA general software architectures, no matter the nature of the service.
Most of the people asking about HA is always referring to an Active-Active replication scenario and usually thinking of infrastructure, not the real business issue when comes to CI/CD.
So it is very important to clarify that HA for CI/CD is not a matter of infrastructure replication. It is just a matter of resilient automated pipelines execution where usually just a couple of minutes of loss of service at some specific point is not even an issue… but you need to recover quickly and be stable on time.
I cannot imagine a car manufacturer like BMW or Toyota replicating their entire manufacturing plants to support loss of service for HA. True that is not comparable in costs to run a couple more CPUs, but the same decoupling, flexibility and scalability best practices apply to get the same HA experience as CI/CD.
Let’s change our mindset. If we provide a scalable and distributed solution that deploys natively on a resilient platform, we don’t even need to think about HA.
jenkinsjenkins xCI/CD pipelinesHigh Availability
2436 Words
2019-10-28 00:51 +0000
0364612 @ 2020-01-20


|
Principle Engineer
Roles and Responsibilities
• Report to Assistant General Manager and Head of Department
• Lead the IT support team size of 3 to ensure maintain high availability of system and application
• Manage, monitor and operations for development, testing, staging and production environment and infrastructure for application on-premises and on the cloud.
• Lead the DevOps team size of 2 to adopt DevOps methodology and transform to practice agile and lean for upcoming development.
• Production system under my care: CRM, MNP, Provisioning MiddleWare.
• Mentor and coach team member
DevOps
• Set up CI/CD pipeline and deploy test automation and code scanning. Successfully apply to MobileApps. New requirement, function change, and bug fix will follow CI/CD process. Will continue to convert other monolithic application to adopt into CI/CD
• Setup monitoring and visualization tools to support CI/CD pipeline
• Lead best practices initiatives and education on aspects such as secure software development and process improvement initiatives.
• Partner with vendor, development and operations teams to develop practical automation solutions and custom modules. Troubleshoot automation issues and find practical solutions that move project activities forward promptly.
Project completed
• MNP business and operation support since 2008, more than 11 years of experience.
- MNVO (Thin MVNO setup), Project involvement in solution/architecture design, testing, deployment and operation maintenance.
- 3+8 MSISDN, new prefix (Starting 011-XXXX XXXX) launch by MCMC, Malaysia, Requirement gathering with authority and MNP committee, My role in the committee is to finalize solution design, conduct inter-operator testing and plan production cutover delivery.
- MNP modernization: RFP, Solution Walkthrough, Vendor award upon approval, testing, deployment, and cutover involvement
• Billing System transformation project
CRM introduced in the years 2016, My role is to convert legacy business flow and IT requirements to the CRM system.
Work with vendor by review proposed solution and to ensure all workflow being handle in new system. Work with testing team to ensure all scenario being tested before launch.
Work with customer service to ensure all complaint will be flow into proper channel.
Provisioning MiddleWare introduced in the years 2016, together with CRM. MiddleWare will be an API gateway and orchestrated all provision workflow toward the backend system, for example, billing, charging system.
My role is to review all the API functions and ensure all business cases being capture in the API gateway.
• Paperless Registration Apps
We called this application as "PRA". It's mobile apps that allow dealers and storekeepers to perform prepaid/postpaid registration without any fill in any paper form.
My roles are to reviews on proposed solution meets business, legal and technical requirements. Several test result session and cutover MOP to be reviewed before launch.
My team and I will support this system after the cutover. This app will be the next application that requires to adopt CI/CD.
• POCs :
1. Social media : User Sentiment analytic (Deployed)
2. ChatBot (POC)
3. VoiceBot (POC)
4. Subscriber's churn behavior analytic and forecast. (POC)
5. Subscriber's spending analytic (Google PlayStore)
6. Subscriber's Top Up analytic.(POC)
7. Subscriber's payment analytic. (POC)
8. Subscriber's registration analytic.(POC)
9. Subscriber's geo-location based analytic ( POC)
10. Dealer's activation with geo-location based analytic. (Deployed)
11. Mobile Number Portability analytic. (POC)
|