While some applications target a single timezone, some others target to many different timezones. To satisfy such needs and centralize datetime operations, Abp provides common infrastructure for datetime operations.
Clock is the main class used to work with DateTime values. It defines the following static properties/methods:
So, instead of using DateTime.Now, we are using Clock.Now, which abstracts it:
DateTime now = Clock.Now;
Clock uses clock providers inside it. There are three types of built-in clock providers:
You can set Clock.Provider in order to use a different clock provider:
Clock.Provider = ClockProviders.Utc;
This is generally done at the beginning of an application (proper to do it Application_Start in a web application).
Clock can be used on the client side by abp.clock object in javascript. When you set Clock.Provider on the server side, ABP automatically sets value of abp.clock.provider on the client side.
ABP defines a setting named Abp.Timing.TimeZone (TimingSettingNames.TimeZone constant) for storing selected timezone of host, tenant and user. ABP assumes that value of timezone setting is a valid Windows timezone name. It also defines a timezone mapping file to convert a Windows Timezone to IANA timezone since some of the common libraries are using IANA timezone id. UtcClockProvider must be used in order to support multiple timezones. Because if UtcClockProvider is used, all datetime values will be stored in UTC and all datetimes will be sent to clients in UTC format. Then on the client side we can convert UTC datetime to user's timezone by using user's current timezone setting.
ABP creates an javascript object named abp.timing.timeZoneInfo which contains timezone information for current user. This information contains Windows and IANA timezone ids and some extra information for windows timezone info. This information can be used to make client side datetime convertions and showing a datetime to user in his/her timezone.
If UTC clock provider is used, then all DateTimes stored in database assumed as UTC values, and all DateTimes received from clients assumed as UTC unless it's explicitly specified.


Learning Resources
TryHackMe
- this is for overall infosec from the ground up, we will start real work here depending on how much base knowledge everyone has
root-me
- root-me is a place where you can test your skills through gamified challenges
The Unix Shell
- this will teach the basics of the Unix terminal and it's commands, useful not just for CTF but also general purpose computing
tl;dr pages
- community sources simplifications of terminal command manual pages
Linux Journey
- website geared towards computer users who want to learn various Linux skills, along with other skills
Resources to learn Git
- website created by github to help users learn the Git VCS from scratch
Github
- a remote git repository website, now owned by microsoft
ArchWiki
- a wiki style page detailing how to do certain things on Arch Linux, but most of the knowledge is general
Vim Tutorial
- vim is a powerful text editor that works differantly than what most people are used to, many times it is the only option on a remote machine, so it is useful to learn it
Sololearn Python Tutorial
- exactly as advertised, a python tutorial for the masses. python is useful for creating tools and scripts much like shell
Markdown Tutorial
- tutorial for markdown, a nice markup spec for easy plantext notes. Discord actually uses part of markdown


OpenMM
High performance, customizable molecular simulation.
{{ tab.icon }}
{{ tab.name }}
Copyright © 2017-{{ new Date().getFullYear() }}, OpenMM team. Report an
issue
. Designed by
raimis
.


| DOSE: |
6000 mg |
oral |
Damiana |
(capsule) |
After a day surfing at the beach, I was driving home with my friend at 4:00pm. I had a bottle of Damiana that I just bought from a GNC store, hoping for a new experience. There was 90 gelatin pills of 1000mg each. I opened up 6 pills and poured the contents into half a cup of water, and drank. It didn't taste too bad, infact it was very refreshing in a wierd natural type of way. After about 5-10 minutes I felt a little tired and slight tingles in my finger tips. Nothing great, and I thought it wasn't going to work. About 40 min later, I was chillin on my friends bed, just staring into space. I got very cold, and started to stare VERY HARD at nothing at all. My mouth hung open, and I could feel my heart beating hard, but not really fast. I felt tingly and woozy all over. It was pleasant and different. This lasted about 45 min, getting more intense the whole time.
There was a picture of a beautiful model on his wall. I started staring at her face and blocked everything else out. It got very personal, and I felt as though I was having a mental conversation with her. She talked to me, but I don't know what she said. Then it kinda turned. I started feeling very sad, depressed, and over all very bad. I suddenly felt as if the whole world was resting on my shoulders, and I felt like I really messed up in carrying it.  Then it went away about 30min later and I was just totally mellow. Couldn't really focus too much on anything, nor on what anyone said. I was still tingly and felt like I was floating for several hours. It finally ended. I am not too sure what my opinion is. I don't know if the sadness was a one time thing or not. I will try it again though. VERY DIFFERENT.....
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


SATS is an automated assessment system used in the context of computer programming excercises. As an undergraduate student reserach assitant I wireframed the user interfaces, primarily for students, and programmed the JavaScript framework. Object Oriented programming concepts were used and coded in Javascript to allow for the website to load faster.
Wireframed simple user interfaces.
Used Bootstrap starter templates and components to prototype the website.
Layed out the elements of a sign-in page as a paper prototype
Layed out the elements of the Student page on a paper prototype. Confirmed the wireframes with client and made changes where necessary.
Implemented the high fidelity prototype using object oriented Javascript and Bootstrap components.


Put your first & last name here in order to find out your
ｓｐｏｏｋｙ
halloween name:
Ｓｐｏｏｋｉｆｙ
Random Spook
eee


tcex.tcex_local module¶
TcEx Framework Local Module
Important
This module will be deprecated in the future.
-
class
tcex.tcex_local.
TcExLocal
[source]¶ Bases:
object
Class to support running local instance TcEx Apps
-
static
_exit
(message, code=0)[source]¶ Exit the script
Parameters: - message (str) – An exit message
- code (Optional [int]) – The exit status code
-
_parameters
(args)[source]¶ Build CLI arguments to pass to script on the command line.
This method takes the json data and covert it to CLI args for the execution of the script.
Returns: A string containing all parameter to pass to script Return type: (str)
-
args
¶ The parsed args
Returns: ArgParser parsed arguments Return type: (namespace)
-
static
gen_lib
()[source]¶ Build libs locally for app
Using the setup.py this method will install all required python modules locally to be used for local testing.
-
package
()[source]¶ Package the app for deployment
This method will package the app for deployment to ThreatConnect. It will download all required dependencies and include them in the package. Validating of the install.json file or files will be automatically run before packaging the app.
-
parser
¶ The ArgParser parser object
Returns: TcEx local parser object Return type: (ArgumentParser)
-
run
¶ Execute the script with arguments provided in tc.json.
-
static


--- title: "Panorama" tags: [art, cse592] pictures: - srcset: "/images/art/full/panorama.webp" type: "image/webp" ---
Last semester I took a course on the history of photography, and a web design course focused on the aesthetic capabilities of the Internet (as opposed to, say, a three-month tutorial in HTML and CSS). I've since become more appreciative of the fundamental relationship between art and science; it's not always obvious, but the two exist in an feedback loop.
Recent advances in graphics are driven by a desire for a greater potential for expression in game design. This unlocked power then inspires others to come up with better and badder ways to use it. The camera was invented out of a desire to capture the world more accurately, and the ability to do that led to scientists discovering its applications for their own work, and then scientific photography became an aesthetic movement in its own right. Oh, and of course, the Internet and everything about it.
That's why I decided to put some thought into creating something I felt was interesting for our latest HCI assignment. Look at this panorama:
{% include picture.html src="/images/art/full/panorama.jpg" alt="Panorama" sources=page.pictures %}
The subject an Arduino, a breadboard, and an RGB LED blinking in a pattern whose determination I leave as an exercise to the reader. Thankfully, I didn't have to screw around with Ohm's Law or anything, the LED just happened to be a good fit. I like how I used the colors, personally. You know, I might actually do this kind of thing more often.
If you want to see what I did (and it's very simple, honestly), the Fritzing file is right here.


Once you start developing your own app / lib / backend, you should
remove all unnecessary parts left from the sample app.
- You can choose to polyfill less or not at all in Gruntfile.js / index.html,
as a consequence polyfilling dependencies can be uninstalled.
- In case you don't need webapp part at all, you can remove
deploy.js (and its appearance in testing.js), Ddtest package,
webapp-specific dependencies in package.json
(modules silk, domite, contrib-web and contrib-jquery),
remove "start the app" call in index.html
and remove webapp-specific parts in Gruntfile.js.
- You should keep index.html (you need it to develop),
but in cleaned form (see below).
- In index.html
<body>
tag,
everything should be removed, except
the <script>
tag
that initializes Amber and starts your app;
then you can add elements specific to your own webapp
to the page (or leave it bare if case in previous item happened).
- In case you will develop the webapp part,
you will probably only use one set of libraries presented
(there are more options so you can see and choose).
So either you keep silk which depends on domite,
or you keep contrib-web which depends on contrib-jquery.
Your Gruntfile.js may contain references
to these modules in
libraries
field(s). Fix those fields to not contain removed libraries.
- In case you are developing an Amber library (eg. not the app),
you'll probably end up not needing any of the aformentioned libraries
(depends on how UI-heavy your library are),
and you likely can remove the intro Ddtest class
and the "start the app" call in index.html.
- In case you don't need the lambda / backend part at all,
you can remove lambda.js (and its appearance in testing.js),
Ddtest-Backend package, lambda directory
and remove lambda-specific parts of Gruntfile.js.
- These introductory files: parts.html and uninstall.html can be deleted.
As the last step, make sure the dependency tree is in a correct state
by recreating it: run npm run reset
from your CLI.


Cardiff City appoint Neil Harris as new manager after Neil Warnock departure
Cardiff City have moved quickly to replace Neil Warnock by appointing ex-Millwall boss Neil Harris as their new manager
by Rich Jones, https://www.mirror.co.uk/authors/rich-jones/Cardiff City have confirmed the appointment of Neil Harris as their new manager.
Harris departed Millwall in October after four years in charge and has now moved to their Championship rivals after experienced boss Neil Warnock departed by mutual consent.
Harris, 42, returns to the Welsh capital having spent a brief spell with the Bluebirds as a player, playing three games and scoring one goal during a loan spell in 2004.
He will take charge of their clash away at Charlton next weekend after the international break.
A club statement from the Bluebirds read: " Cardiff City FC can confirm the appointment of Neil Harris as the Club's First Team Manager.
"The 42-year-old has signed a deal at Cardiff City Stadium running until the summer of 2022.
"David Livermore joins Neil in the dugout as Assistant Manager, while James Rowberry and Andy Dibble continue in the back-room team as First Team Coach and Goalkeeping Coach respectively.
"Kevin Blackwell and Ronnie Jepson depart the Welsh capital with the Club’s sincere thanks and best wishes.
"Neil will oversee training at the Vale Resort on Monday ahead of his first City match away to Charlton Athletic on Saturday, 23rd November."
Owner Tan Sri Vincent Tan said: “I am pleased to appoint Neil as First Team Manager of the Club.
“I have full confidence in Neil due to his principles on and off the pitch and enthusiasm to succeed. I am glad to offer him this opportunity and look forward to seeing what he is capable of achieving with Cardiff City.”
Chairman Mehmet Dalman said: “Neil is a passionate manager who has all of the right attributes to take the helm at Cardiff City. I know he’s eager to get to work and we look forward to seeing him strive to get the best out of our tight-knit and talented group of players.”
Executive Director & CEO Ken Choo said: “We’re excited to welcome Neil to Cardiff City Stadium. He will work hard to deliver for this Football Club and is a manager with the ambition and potential to lead the Bluebirds forward.”


The SRFI, which is to supersede SRFI-47, "Array",
- synthesizes array concepts from Common-Lisp
and Alan Bawden's "array.scm";
- incorporates all the uniform vector types
from SFRI-4 "Homogeneous numeric vector
datatypes";
- adds a boolean uniform array type;
- adds 16.bit and 128.bit floating-point
uniform-array types;
- adds decimal floating-point uniform-array
types; and
- adds array types of (dual) floating-point
complex numbers.
Multi-dimensional arrays subsume homogeneous
vectors as the one-dimensional case, obviating the need for SRFI-4.
SRFI-58 gives a read/write invariant syntax for
the homogeneous and heterogeneous arrays described here.


At the southend of Lake Washington, in the shadow of Mount Rainier and not far from a plane factory, sits a modest waterfront home built in 1939. Like most houses it has done what most houses do: providing comfort and shelter to working families. Then, in 2001, a special thing occurred. A young man moved into the home with his mom to take care of his elderly grandparents. It was every kid's dream. He wasted no time inviting friends over. They rowed boats and swam, and spent every day by the lakeside, soon discovering they were in love with kick flips and freestyles, as well, and so a collective of lake-based rappers and skaters began to take shape.
BenadriLL and Yung DoLLa$ officially founded LakeHouse Ent, in 2009 with the release of a bedroom-recorded mixtape, "Trapper Slash Rapper." They rapped at skateparks, beaches, and abandoned banks, and wasted no time signing Mad Rich and Mo'Money. In 2013 the death of Ben's grandparents and a reverse mortgage forced LakeHouse Entertainment to sell their home. But with the help of the Lake God, and through the power of rapping, they will one day buy back the LakeHouse and return home.


OpenCTD is a low-cost, open-source oceanographic instrument for measuring conductivity, temperature, and depth down a vertical profile. The CTD is the workhorse of oceanography, allowing scientist to generate water column profiles.
Niskin3D is a low-cost, 3D printable Niskin bottle that allows users to take discrete water samples at specific depths or in specific environmental conditions. Niskin3D has been designed to integrate with the OpenROV, but it is adaptable to a variety of platforms.
BeagleBox is a tough, single-board-computer-powered field laptop designed to fit into a Pelican case. It's suitable for basic computing and adaptable to a variety of needs.
The tools necessary to study, explore, and understand the ocean are often inaccessible to the vast majority of ocean users. By nurturing a community of open-source hardware developers, scientists, and ocean stakeholders, we want to change that. Whether you're a researcher looking for alternatives to expensive scientific equipment, a citizen scientist interested in building a marine monitoring program, a fisherman exploring new tools to understand their catch, or an ocean enthusiast seeking new ways to interact with the sea, this community is for you.
There are lots of ways to get involved. First, get started with GitHub, and check out the build instructions for the projects that interest you. For parts that you need to buy, check out the Parts Depot. If you run into problems, discuss them by creating issues on the repositories. If you make improvements, you can share them by sending a pull request.
Andrew is a deep-sea ecologist and conservation geneticist investigating the impacts of human activity at hydrothermal vent ecosystems around the world. He wants to make oceanographic tools available to anyone interested in exploring and understanding the sea, from the highest alpine lakes to the deepest trenches.
<EMAIL_ADDRESS>Twitter: @sfriedscientist
Kersey is a marine ecologist who studies the effects of human disturbance on the seafloor, and develops marine technology to enhance human understanding of the ocean. His goal is to increase the capacity of ocean research through innovative technology, and by making ocean observation tools more cost accessible.
<EMAIL_ADDRESS>Twitter: @wormcam
Russell is a microbiology doctoral student interested in large-scale migration patterns of microbes. He is using cichlid fish as a model system for investigating how host-microbe associations have evolved over deep time. He is an advocate of Free Software, Open Hardware, Open Access scientific publishing and reproducible research.
<EMAIL_ADDRESS>Twitter: @ryneches


Symbol Index for "Property Qualifier Type"
Symbol Index for diagram
"Property Qualifier Type"
Activity Qualifier Type (Class)
Activity Type (Class)
Classified Property Qualifier (Class)
classifier (Association)
Contact Method (Class)
DC/Describing (Generalization Node)
Descriptive Category (Class)
Incident Type (Class)
Intention Type (Class)
Level (Class)
Property Qualifier Type (Class)
Reason For Abandoning (Class)
Reason For Rejection (Class)
Reason Not Required (Class)
Resource Type (Class)
State Type (Class)
Subject Characteristic Type (Class)


Mr. Wash
About
Services
Contact
Book
Now
Hate long queues? Prebook to avoid waiting time and get a hassle-free service.
Full Name:
Phone Number:
Email Address:
Booking Date:
Booking Time:
Message:
Submit


Follow my attempts at solving Project Euler questions using Javascript and Python.
On the pages that follow, I exhaustively outlined my thought processes and created iterations of code that helped me solve the problem, and arrive at a more efficient solution. In essence, scroll to the bottom of either page to see my simplest answer.
Learn more about #crave


Diet
Exercise
Profiles
Male
Female
Age (Years)
Weight(Kilograms)
Key in your Height (Centimetres)
Basal Metabolic Rate
Submit To Calculate
hamburger
Cheeseburger
Regular Pizza
noodle
fried rice
sliced cooked pork
Potatoes
coke
orange
beer
diet coke
coffee
milk, whole
fries
nuggets
spagatti
bread per slice
Amount of calories


Sunday is an easy level machine based on Solaris, the initial approach is based on guessing to authenticate through SSH.
The privilege escalation has two steps: the first one is necessary bruteforce in order to get the sammy’s password and the second one we need to overwrite the shadow file using wget.
Recon
The finger service returned one user, named sunny.
After a while guessing some credentials to the SSH service, we found that sunny:sunday worked!
Now we’re logged as sunny user!
Post Exploitation - Breaking the shadow passwords & Overwriting the shadow with wget
After a new recon, we found an interesting binary permission with sudo -l command:
With wget we can overwrite the shadow file using wget that will be running as root, to do it we need to get the shadow’s content (only available to superusers) and transfer to our machine, after that we need to generate another password for the root account.
Let’s generate another password using openssl:
After that we dump the shadow’s content using wget to transfer to our machine:
To receive the content:
Now we need to replace the old root’s password with the new one:
In our machine, we set up a file server using SimpleHTTPServer, a Python module:
Following to the final step, we need to download the modified shadow file from our web server and replace it:
Done, we changed the root’s password and now we’re able to capture the last flag!


the and for from that with Plesiorycteropus data {background are collagen sequence were The protein was margin LC-MS its more {border-style bone px;} #ffffff;} here results using which Click LINK additional file. but not acid amino extinct order other phylogenetic sequences than (DOCX) Mascot data. mass molecular morphological species this within most peptide Table [], []. acid-insoluble digest obtained spectra can fossil has peptides (I) Mass analysis between only related used (Fig. []–[], closely into ion ions many modern px; range recent such these where {font-family & (e.g., Fig. Figure However, This aardvark also analysed analyses any could font-size greater have including known mammal one Museum being double; eutherian extracted further group mammals much phylogeny placement previously proteins samples sequencing then traits two well (UMZC Bull. MB. Madagascar These []–[] al. because border-color border-width carried characteristics consistently database early elephant fragments included new particularly place remained solid; specimens studies support tenrecs their {font-style {font-weight ‘Bibymalagasia’ Biol. BuckleyM, DNA E.), Evolutionary Likelihood MALDI-ToF-MS MS/MS Manchester Maximum Mus. Orycteropus Plesiorycteropus, S). []–[]. aardvark’ ancient anteater based been bold bootstrap close considered courier; derived em; first forming found fragment given golden grouping m/z made mammalian monophyletic out peptides. pt;} relationships relatives. searches sites soft-ionization some specimen spectrometry study survival techniques those type variable α(I)


Like all good things, the idea for a whiskey club was sparked over a drink;
fittingly for this narrative, bourbon. Good whiskey isn’t hard to come by, unfortunately
nether is the bad. Discussion among friends and acquaintances yields insight on what
good whiskey may be, however navigating through the sea of recommendations is time
consuming, expensive, and quite frankly hard on the liver. It was in the midst of
pondering this conundrum, when the idea sprang to life, seemingly straight out of the
glass; build a group of whiskey lovers. A group has a more diverse palate, experience,
and purchasing power than the individual. Everyone involved would be able to benefit
from the experiences of each other and rapidly expand their tasting library along the way.
Fast forward a few months, and the inaugural meeting of the newly formed group
was underway. Comprised of a few close friends and family members, the foundations
for the operation of the unnamed club were set. Themes, buyers, budget, etc. were all in
place, however the most important aspect was still missing; the name. Deliberation and
serious discussion led us to land on the majority vote of “The Whiskey Dicks,” an
eloquent summation of our group as whole. As this burden was finally lifted from the
collective shoulders of the group, an old oil portrait caught the eye of a member. The
portrait of a rugged, yet refined gentleman looked approvingly over the Dicks. “Who’s
that a painting of?” they asked. There was no way of knowing.  “That’s Dick! He could be the
face of the club!” But Dick wasn’t fitting for a man of his caste; his name was Richard.
Richard Bourbon. With that realization, and what can only be described as a stroke of
brilliance, “The Whiskey Dicks” were gone, dust, and only ash remained. But like a
phoenix bursting to life from this ash, with the unimaginable brilliance of flame, “The
Richard Bourbon Man’s Club” was formed.


--- layout: post authors: ["Tiziano Zito"] title: "Workshop at GeoSim (Potsdam)" date: 2014-11-11 time: "13:00:00" tags: ["Workshops", "GeoSim"] ---
I had never taught a Software Carpentry workshop before (though I have taught an Advanced Scientific Programming in Python many times), so when the hosts for this one asked if I would be willing to do a full-week workshop, I said they were crazy ;) They convinced me to do it, but I said in that case I could only do that if I can recycle the materials I use for our summer school. They agreed, and I managed to convince a buddy in Berlin to help me with tutoring.
There were 28 students from Geophysics with a very diverse background in programming. Most did not know Python and several had only ever used Windows with GUIs. Given that, we soon figured out that the classic lecture-plus-exercises paradigm wasn't going to work, so we switched to a completely live-coding based approach. We would talk about tests while writing them for my own project, about Git while using it on a real paper, and so on. Based on the feedback we got at the end, it worked well.
But in retrospect we won't do something like that again: performing non-stop from 9:00 in the morning to 6:30 in the afternoon, getting questions that made me question my own knowledge of Python (see below), improvising a live session on Python with MPI on clusters (of which I have zero experience) and resorted to teaching them how do you go about looking for libraries and docs in the SciPy ecosystem was exhausting. The feedback from the students was very positive, though, so it was a learning experience on both sides.
Footnote: I was explaining the difference between passing by-value and by-reference and Python approach to this issue as compared to Matlab and to functional languages, But then someone came up with this example:
>>> def mult1(x): ... x = x*2 ... return x ... >>> def mult2(x): ... x = [x*2]*2 ... return x ... >>> y = mult1([1, 2, 3]) >>> z = mult2([1, 2, 3]) >>> print y [1, 2, 3, 1, 2, 3] >>> y[2] = 10 >>> print y [1, 2, 10, 1, 2, 3] >>> print z [[1, 2, 3, 1, 2, 3], [1, 2, 3, 1, 2, 3]] >>> z[0][2] = 10 >>> print z [[1, 2, 10, 1, 2, 3], [1, 2, 10, 1, 2, 3]]
I told to the students that in the case of mult1
the
return value bound to the name y
has no "memory" of the
fact that it has been created by concatenating two lists, so when
you set y[2]
the result is what you would expect. And
then the student came up with the function mult2
and
told me that it seems like in this case the return value bound
to z
is actually "remembering" that it came from
concatenating two lists, as seen when you try to
set z[0][2]
and then you get also z[1][2]
changed. A colleague told me he would interpret the results this
way:
z >>>>>>>> [ . , . ] v v v v v v >>>>>>>>>>> [1, 2, 3, 4, 5, 6]
z
does not remember that it came from two lists. If it
did, then setting z[0][2]
would also
change z[0][5]
, but it doesn't. But
z[0]
and z[1]
point to the same object.
I also don't think that mutability is important here. (It influences what operations can be performed, but not the identity of objects).
>>> a = mult2((1,2,3)) >>> a [(1, 2, 3, 1, 2, 3), (1, 2, 3, 1, 2, 3)] >>> a[0] is a[1] True
If anyone has a better explanation, please do share.


Space Exploration Quiz!
this quiz will test you knowledge of space exploration throughout the years
press start to begin
start


This is the cover slide with centered text
Lorem ipsum
Hit the next arrow...
... to step through ...
... a fragmented slide.
There's different types of fragments, like:
grow
shrink
fade-out
fade-right, up, down, left
fade-in-then-out
fade-in-then-semi-out
Highlight red blue green


Equivalent to clicking the Options command on the Tools menu and then clicking the Chart Tab in the Options dialog box when a chart is activated for editing. Sets various chart settings.
Syntax
OPTIONS.CHART(Display_Blanks, Plot_Visible, Size_With_Window)
OPTIONS.CHART?( Display_Blanks, Plot_Visible, Size_With_Window)
Display_Blanks is a number indicating how blank cells are plotted.
| Number | Blanks are displayed as |
| 1 | Not plotted (gaps are shown) |
| 2 | Zero values |
| 3 | Interpolated |
Plot_Visible is a logical value that if TRUE plots only visible data. If FALSE, all cells in the selection are plotted.
Size_With_Window is a logical value that if TRUE allows the chart to resize with window. If FALSE, chart will not size with window.
Remarks
If any of the arguments are omitted, then that setting is unchanged within the Options dialog box.
Related Functions
PREFERRED Changes the format of the active chart
SET.PREFERRED Changes the default chart format
Return to index


Choose Company ID
Input Valid Session ID
Enter Unique name to save Configuration
Click to Login to Intacct Company
Enter the Company ID
Enter the Company Username
Enter the Company Password
Enter the Sender ID
Enter the Sender Password
Enter the Company Post URL
Enter the Location ID
Enter the Client ID
Enter the Control ID
Enter the Policy ID
Make it 'true' to Encode Request XML
Select the Encoding Type
Make it 'true' to impose Unique ID
Make it 'true' to Hide Object Select Fields for read* methods
Need an Account?
Select Account
Have an Account?


Overview User interface Main window Menu ↑ |
Undo last command, if possible. Although MMM has a multi-level undo for certain commands, most changes in a model cannot be undone. Please save your model periodically or before you apply strong changes.
Redo last undone command.
Annotate currently selected object (see annotation window). This menu item is enabled only if a single object is selected.
Find objects that are annotated with a certain keyword. See also keyword finder. This function also allows for selecting all objects associated with a certain keyword and inspecting annotations of objects. For example, you can find residues with missing atoms, residues involved in metal binding, or residues, for which spin label rotamers were computed.
Centers the current structure. All atomistic and coarse grained coordinates are changed, so that the mean of all atom coordinates is zero. This function takes time as the graphics has to be recomputed (the current structure may shift with respect to other structures).
Determine a symmetry axis or pseudo-symmetry axis from selected objects. For a C(n) rotation axis this requires that n objects are selected and that each of these objects has the same number of coordinates. Example: Three equivalent chains in a homotrimer define a C(3) axis. The structure is rotated so that the symmetry axis becomes the z axis. This requires recomputation of graphics and thus takes some time. Water molecules are generally disregarded in this computation.
If the selected n objects do not conform to C(n) symmetry, an approximate pseudo-symmetry axis is determined that minimizes the root mean square deviation of the mean coordinates of equivalent points from the axis. Note also that in some cases apparently equivalent chains may have different numbers of cofactors. In this case MMM states that the objects do not define a symmetry axis. Workaround: Define domains that contain only the amino acid residues and determine symmetry axis from them.
Allows for assignment of helices and strands as transmembrane (TM) helices and strands, for computation of the mean axis of a helix bundle or β-barrel (approximate membrane normal), and for a coordinate transformation that makes this axis the z axis of the structure frame. This is a necessary step before building a bilayer, unless the membrane normal was derived by symmetry.
A special window opens to aid the assignment and to visualize the approximate membrane normal.
Superimpose a "moving" structure onto a template structure by transforming the coordinate frame of the former structure (rotation and translation). The superposition minimizes r.m.s.d. of atom coordinates of the two structures or of selected parts of the two structures. Coordinates of the template structure do not change. Coordinates of the moving structure change.
A dialog opens that allows for selection of the template and moving structure from popupmenus that contain all structures in the model. The fit mode can be selected by three radiobuttons and a checkbox. To superimpose cofactors, use the
It is assumed that the same chain identifiers (uppercase letters) correspond to equivalent chains in both structures and that, within each chain, residues with the same numbers correspond to each other. If the
The chains and residues to be uused in r.m.s.d. minimization can be freely selected. Selection is always on residue level. Cofactors can be selected by their residue numbers. Note that cofactors may be ignored if only backbone or Cα atoms are fitted.
Selections in the two structures may differ, but only residues that are selected in both structures are considered in fitting.
The
Do not forget to save the MMM model (project) or a PDB file of the transformed structure.
Define domain from selected objects or add selected objects to a domain. All selected objects must belong to the same structure to do this.
Search, import, edit, inspect, and manage literature (and webpage) references. Abstracts and fulltext can be downloaded if the link information is available.
all atom
mode. Superposition of peptide chains usually works better when selecting only backbone atoms ar even only the Cα atoms.
selected only
checkbox is deactivated (default), all common residues in all chains of both structures are used for r.m.s.d. minimization. If one or both structures have several coordinate sets (models) for a chain the first coordinate sets ({1}
in MMM addressing) are used for minimization.
Save
button allows for saving the affine transformation matrix (a 4×4 matrix specifying rotation and translation) for an active coordinate transformation of the moving structure to a text file. Use the Cancel
button if you only want to save this matrix without actually changing coordinates of the moving structure. Use the OK
button to actually transform the moving structure.
A very basic editor for plain text files. Can be used for inspecting result files from DEER simulations or accessibility predictions and is automatically opened after accessibility computations. Text can be changed and saved. Not suitable for large files and not convenient for heavy editing.
Structure modeling based on sparse distance constraints and coarse-grained elastic network models. The elastic network model is derived from a template structure, which can be either a structure of the same system in a different state or a homology model. The template structure must be the current structure in MMM (select in the hierarchy window). There is a dedicated window for importing constraints and performing the fit. Note that this window can take minutes to an hour to open (depending on size of the structure), as setup and normal mode analysis of an anisotropic network model is involved.


xkcd-style password generator
transform function
const transform = (words) =>
Javascript: Syntax error.
server
persist


#include <XSECSOAPRequestor.hpp>
Inheritance diagram for XSECSOAPRequestor:
The XKMS client code needs to be able to call on a SOAP requestor implementation that will handle wrapping the request in a SOAP msg and transporting it to the SOAP server. This class defines the interface used by the client code to make this happen.
Implementors need to wrap the passed in DOM document in a SOAP 1.1 or SOAP 1.2 msg. E.g. (SOAP 1.2)
<?xml version='1.0' encoding="utf-8"?> <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope"> <env:Header> <env:Body> XKMS Request Message element </env:Body> </env:Header> </env:Envelope>
SOAP implentors may want/need to add other headers.
Public Member Functions | |
| virtual XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * | doRequest (XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *request)=0 |
| Do a SOAP request. | |
Constructors and Destructors | |
| XSECSOAPRequestor () | |
| virtual | ~XSECSOAPRequestor () |
|
|
|
|
|
|
|
|
Do a SOAP request. Performs a request based on the passed in DOM document and the indicated URI. The function is expected to return a pointer to the parsed result message (with the SOAP envelope removed) The implementing object is expected to know how to get the wrapped message to the server that will process the request
Implemented in XSECSOAPRequestorSimple. |


--- title: Careers heading: WE'RE HIRING! subtitle: Join our growing team --- ✎ Manage Clients {% for job in site.jobs %} {{job.name}} {{job.subtitle}} {% endfor %}
✎ Manage Clients


Memorial to postal workers killed in First World War found in Victoria
by Ian Holliday, CTV Vancouver IslandRICHMOND - A 100-year-old piece of Canadian history that went missing for half a century has been rediscovered and restored.
A plaque honouring B.C. postal workers who fought and died in the First World War was unveiled Friday in Richmond after it was discovered in a storeroom in Victoria earlier this year.
The mahogany plaque bearing the names of six Canada Post employees is now in the possession of the Van Fraser Heritage Club, an association of retired Canadian postal workers.
"Forty-five, 50 years or more, it's been tucked away," said Jim Bain, of the club.
No one at Victoria's Ashton Armoury Museum, where the plaque was found, knows where it came from or how it ended up there. The museum has no record of receiving the item.
"We're not sure and they're not sure," Bain said.
A total of 28 former postal workers were killed in the First and Second World Wars, including Robert Harvey's great uncle Frank Edward Carr.
Harvey was among those in attendance at the ceremony unveiling the plaque Friday. He said Carr died in a gas attack in April 1915, but his memory lives on in Remembrance Day events.
"We need to keep those people in our minds," Harvey said.
He's not the only one who feels that way.
Recent polling by Ipsos on behalf of Historica Canada found that a growing number of Canadians plan to attend ceremonies on Nov. 11.
A total of 41 per cent of respondents said they planned to attend an official service for Remembrance Day 2019. That's a 2-point increase compared to last year, and a 12-point jump since 2017.
With files from CTV News Vancouver's Nafeesa Karim


In 2020, the 8th Workshop on Software Visualization, Evolution and Maintenance (VEM 2020) edition will be held, for the first time, in a virtual format. VEM builds upon the success of the first editions of VEM, which in turn followed after two editions of the Brazilian Workshop on Software Visualization (WBVS) and ten editions of the Brazilian Workshop on Software Maintenance (WMSWM). In 2020, VEM will be co-located with the 11th Brazilian Conference on Software: Theory and Practice (CBSoft).
The growing need for maintaining and evolving software systems is a major challenge in modern software engineering. Several studies have shown that maintenance tasks are responsible for a substantial cost in the software development process, sometimes reaching 90% of the total cost. The pressure for faster development and releases of new software versions has also increased the interest in software evolution and maintenance throughout the years. Besides, there is an increasing investment in these activities since the advent of execution environments (e.g., Web computing, ubiquitous computing, and cloud computing), development paradigms (e.g., Feature-Oriented Programming, Service-Oriented Architecture, DevOps) and new types of media (e.g., mobile devices, gesture-based interfaces etc.).
In order to perform maintenance and evolution tasks in complex software systems, developers must resort to advanced means for understanding the software artifacts to be modified. Software comprehension, however, is a non-trivial task. In this scenario, software visualization becomes an interesting resource, relying on the use of visual abstractions to facilitate comprehension of software systems under several viewpoints, representing structural, behavioral, and time-based aspects of software. The clear intersection between Software Visualization, Software Evolution, and Software Maintenance led to the creation of an event where researchers can discuss challenges in these fields and work together to overcome them.
The 8th Workshop on Software Visualization, Maintenance, and Evolution (VEM 2020) aims at bringing together the research communities interested in topics related to Software Visualization, Software Evolution, and Software Maintenance to share and discuss ideas, reflecting on alternatives to perform visualization, evolution, and maintenance of software systems. VEM is also a great opportunity for strengthening research group collaborations, as well as identifying new research opportunities. VEM is co-located with the 11th Brazilian Conference on Software: Theory and Practice (CBSoft 2020).
All dates refer to midnight 23:59:59 AoE.
| Paper Submission: | |
| Author Notification: | September 12, 2020 |
| Camera-Ready Copies: | September 16, 2020 |
| Workshop Date: | October 19, 2020 |


Translator: sinjoywong
Author: labuladong
Here is a joke:
One day Mr.Don went to library and borrowed N books. When he left the library, the alarm rang, so the security stopped Mr.Don to check if there are any book haven’t been registered.
Mr.Don was about to check every book under the alertor, which was despised by the security, and he said: Don’t you even know binary search? And the security split books in two parts, then put the first part under the alertor, it rang. So he split the first part books in to two parts again …, finaly, after checked logN times, the security found the book which is not been registered, and he smiled sardonically. Then let Mr.Don took remainning books out of the library.
Since then, the library lost N - 1 books.
Is Binary search really a simple algorighm? Not really. Let’s see what Knuth(the one who invented KMP algorithm) said:
Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly trickey…
This article is going to discuss several the most commonly used binary search scenes: to find a number, to find its left boundary, to find its right boundary. And that we are going to discuss details, such as if inequality sign should with the equal sign, if mid should plus one, etc. After analysing the difference of these details and the reason why them come out, you can write binary search code flexibly and accuratly.
int binarySearch(int[] nums,int target){
int left = 0,right = ...;
while(...){
int mid = (right + left) / 2;
if(nums[mid] == target){
...
}else if(nums[mid] < target){
left = ...
}else if(nums[mid] > target){
right = ...
}
}
return ...;
}
A technique to analize binary search is: use else if
, rather than using else
, then we can manage all the details.
In order to make it more simplier to understand, this article will use else if
all along, you can optimize it after you truly understand it.
Hint: the ...
part is where we need focus to. When you implement binary search, pay attention to these parts firstly. We are going to analyze how it changes under sepecific circumastance.
Noted: when we calculate mid
, we need to prevent it overflowing. You can see previous article, and here we assume you can handle it.
This is the simpliest scene, we are going to search a number in a array. If it exists, return its index, otherwise return -1
.
int binarySearch(int[] nums,int target){
int left = 0;
int right = nums.length - 1; //pay attention!
while(left <= right){
int mid = (right + left) / 2;
if(nums[mid] == target){
return mid;
}else if(nums[mid] < target){
left = mid + 1;
}else if(nums[mid] > target){
right = mid - 1;
}
}
return -1;
}
<=
in while
loop rather than <
?A1: Because when we initialize
right
, we set it tonums.length - 1
, which is index of the last element, notnums.length
.
Both of them may show up in different binary search implementions, here is diffenences: With the former, both ends are closed, like [left,right]
, and the later is left open right close interval, like [left,right)
, so when we use index nums.length
, it will out of bounds.
We will use the former [left,right]
implemention, which both ends are closed. This is actually the interval we search every time.
So when we should stop searching?
Of course we can stop when we find the target number in the array:
if(nums[mid] == target){
return mid;
}
But if we havn’t find it, we’ll need to terminate while
loop and return -1
. So when we should terminal while
loop? That’s simple, when the search inverval is empty, we should stop searching, which means we have search all items and have nothing left, we just can’t find target number in the array.
The terminal condition of while(left <= right)
is left == right + 1
, we can write it as inverval [right + 1,right]
, or we can just put a specific number into it, like [3,2]
. It’s obvious that the inverval is empty, since there is no number which is larger than 3 and less-and-equal to 2. So we should terminate while
loop and return -1;
The terminal condition of while(wlft < right)
is left == right
, we can write is as interval [left,right]
, or we can also put a specific number into it, like [2,2]
, the interval is NOT empty, there is still a number 2
, but the while
loop is terminated, which means the interval [2,2]
is missed, index 2 is not been searched, it’s wrong when we return -1 directly.
It is allright if you want to use while(left < right)
anyway. Since we know how the mistake occurred, we can fix it with a patch:
//...
while(left < right){
//...
}
return nums[left] == target ? left : -1;
left = mid + 1
,right = mid - 1
? I read others’ code and they are implenting it as right = mid
or left = mid
, there is not so plus or minus, what’s the difference?A2: This is also a difficulty of Binary Search implemention. But you can handle it if you can understand previous content.
We are aware of the concept of ‘Search Interval’ now, and in our implementation, the search intarval is both end closed, like [left, right]
. So when we find index mid
isn’t the target
we want, how to determine next search interval?
It is obviously that we will use [left,mid - 1]
or [mid + 1, right]
: we have just searched mid
, so it should be removed from search interval.
A3: Since then, you should have already mastered all details of Binary Search, along with the reason why it works that way. However, there are some defects still.
For example, there is a sorted array nums = [1,2,2,2,3]
, targe = 2
, after processed with Binary Search Algorithm, we will get result index = 2
. But if we want to get left boundary of target
, which is index = 1
, or if we want to get right boundary of target
, which is index = 3
, we cannot handle it with this algorithm.
It’s a quite normal demand. Perhaps you would say, can’t I find a target, then I search it from target to left(or right)? Sure you can, but it’s not so good, since we cannt guarantee the time complexity with O(logn).
Here we will discuss this two kind of Binary Search Alghrithm.
See codes below, and pay attention to marked details:
int left_bound(int[] nums,int target){
if(nums.lengh == 0) return -1;
int left = 0;
int right = nums.length; // Attention!
while(left < right){ // Attention
int mid = (left + right) / 2;
if(nums[mid] == target){
right = mid;
}else if(nums[mid] < target){
left = mid + 1;
}else if(nums[mid] > target){
right = mid; // Attention
}
}
return left;
}
while(left < right)
, rather than <=
?A1: Analyze in the same way, since
right = nums.length
rather thannums.length - 1
, the search interval is[left, right)
, which is left closed right open.
The terminal condition of
while(left < right)
isleft == right
. At this time search interval[left,right)
is empty, so it can be terminated correctly.
return -1
? what if there is no target
in nums
?A2: Before this, let’s think about what’s meaning of
left border
is:
For this array, the algorithm will get result 1
. The result 1
can be interpreted this way: there is 1 element in nums
which element is less than 2.
For example, a sorted array nums = [2,3,5,7]
, target = 1
, the alghrithm will return 0, which means there is 0 element in nums
which element is less than 1.
For example, we have same sorted array as described above, and this time we have target = 8
, the algorithm will get result 4
, which means there is 4 element in nums
which element is less than 8
.
In summary, we can see the interval of return value using the alghrithm (which is the value of left
) is closed interval [0,nums.length]
, so we can simply add two line of codes to get -1
result in proper time.
while(left < right){
//...
}
//target is larger than all nums
if(left == nums.length) return -1;
//just like the way previously implenented
return nums[left] == target ? left : -1;
left = mid + 1, right = mid
? It’s kind of different with previous implement.A1: It’s easy to explain. Since our search interval is [left,right), which is left closed right open, so when
nums[mid]
has been detected, in then next move, the search interval should removemid
and slit it to two intervals, which is[left,mid)
and[mid + 1, right)
.
A4: The key is the solution when we meet
nums[mid] == target
:
if (nums[mid] == target){
right = mid;
}
It’s obviously that we don’t return it immediatly when we find
target
, in the further we continuly search in interval[left,mid)
, which is search towarding left and contract, then we can get left border.
left
, rather than right
?A5: It’s same way, because the terminal condition of
while
isleft == right
.
It’s almost same with part two: binary search to find left border, there is only two differences, which is marked below:
int right_bound(int[] nums,int target){
if(nums.length == 0) return -1;
int left = 0, right = nums.length;
while(left < right){
int mid = (left + right) / 2;
if(nums[mid] == target){
left = mid + 1; // Attention!
}else if(nums[mid] < target){
left = mid + 1;
}else if(nums[mid] > target){
right = mid;
}
}
return left - 1; //Attention!
}
A1: Similarly, key point is:
if(nums[mid] == target){
left = mid + 1;
}
When
nums[mid] == target
, we don’t return immediately. On the contrary we enlarge the lower bound of search interval, to make serach interval move to right rapidlly, and finally we can get right border.
left -1
, unlike when we process with left border algorithm and return left
? In addition I think since we are searching right border, shouldn’t we return right
instead?A2: First of all, the terminal condition of
while
loop isleft == right
, so it’s right to use both of them. You can returnright - 1
if you want to reflectright
.
As for why we should minus
1
here, it’s a special point, let’s see the condition judgement:
if(nums[mid] == target){
left = mid + 1;
//Thinking this way: mid = left - 1
}
When we update the value of left
, we must do it this way: left = mid + 1
, which means when while
is terminated, nums[left]
must not equal to target
, but nums[left-1]
could be equal to target
.
As for why left = mid + 1
, it’s same as part two.
return -1
? what if there is no target
in nums
?A3: Like left border search, because the terminal condition of
while
isleft == right
, which means value interval ofleft
is[0,nums.length]
, so we can add some codes andreturn -1
apprapoly:
while(left < right){
// ...
}
if (lef == 0) return -1;
return nums[left -1] == target ? (left -1) : -1;
Let’s tease out the causal logic of these detailed differences.
Because we initialize right = nums.length - 1
, it decided our search interval is [left,right]
, and it also decided left = mid + 1
and right = mid - 1
.
Since we only need to find a index of target
, so when nums[mid] == target
, we can return immediately.
Because we initialize right = nums.length
, it decided our search interval is [left,right)
, and it also decided while (left < right)
,and left = mid + 1
and right = mid
.
Since we need to find the left border, so when nums[mid] == target
, we shouldn’t return immediately, we need to tighten the right border to lock the left border.
Because we initialize right = nums.length
, it decided our search interval is [left,right)
,
it also decided while(left < right)
, left = mid + 1
and right = mid
.
Since we need to find the left border, so when nums[mid] == target
, we shouldn’t return immediately, we need to tighten the left border to lock the right border.
For further consideration, we must set left = mid + 1
when we tighten left border, so no matter we return left
or right
, we must minus 1
with the result.
If you can understand all above, then congratulations, binary search alghrithm won’t borther you any more!
According to this article, you will learn:
When we write binary search code, we don’t use else
, we will use else if
instead to make our mind clear.
Pay attention to search interval and terminal condition of while
. If there are any element missed, check it before we return the result.
If we need to search left/right border, we can get proper result when nums[mid] == target
, and when we search right border, we should minus 1 to get result.
If we close both sides of border, we can only change the code in nums[mid] == target
and return logic to get right answer. Put it on your notes, it can be a template for binary search implementation!


This plugin adds a customisable giveway feature in your discord klasa bot. It comes with the following commands:
NOTE:
Install the plugin
npm i klasa-giveaway
yarn add klasa-giveaway
Use the plugin in your code
const { Client } = require("klasa");
Client.use(require("klasa-giveaway"));
new Client().login("Your Beautiful Token");
or in typescript
import { Client } from 'klasa';
import { GiveawayClient } from 'klasa-giveaway';
Client.use(GiveawayClient);
new Client().login("Your Beautiful Token");
To your KlasaClientOptions you can optionally add giveaway options.
For example:
new Client({
giveaway: {
maxGiveaways: 5,
requiredPermission: 5,
provider: 'mongodb'
}
})
For a list of giveaway options see here
It also allows you to define your own locales. See built in en-US Locale
Generated using TypeDoc


make_subdep_entry¶
-
support.git.
make_subdep_entry
(path, fileobj=None)¶ Add submodule (separate repo in this directory) to subdep.txt
subdep.txt is a file listing all the sub-repos, that is, repos which are under this directory
:param path : path to the directory to be processed :type path : str
:param fileobj : file object for file subdep.txt :type fileobj : instance of a file class
- Returns
file object


Before Change
// Machine translation with attention
input_features = "[{name: english, type: sequence, vocab_size: 10," \
" max_len: 10, encoder: rnn, cell_type: lstm} ]"
output_features = Template("[{name: spanish, type: sequence,"
" vocab_size: 10, max_len: 10,"
" decoder: generator, cell_type: lstm,"
" attention: ${attention}}] ")
// Generate test data
rel_path = generate_data(
input_features,
After Change
def test_experiment_attention(csv_filename):
// Machine translation with attention
input_features = [
sequence_feature(encoder="rnn", cell_type="lstm", max_len=10)
]
output_features = [
sequence_feature(
max_len=10,
cell_type="lstm",


City, State
Your City
Your State
Chicago, Michigan
Detroit, Michigan
Oakland, California
0 incidents,
0 injuries,
0 deaths,
from guns in the last 72 hours
About


I don't claim to have a fool proof method for passing piss tests, but here's one that some of you might not have thought of that worked for me.
If you know you are going to be tested, excercise, sweat, drink cranberry juice, do whatever you think will help get whatever is in there out of your system for as long as possible before the test. Get some dehydrated urine from somewhere (it's easier to find than it sounds) or apparently you can make your own by putting clean pee in a jar and waiting for it to dry, then scrping the jar.
Anyway, the day of the test drink a hell or a lot of water, caffeinated beverages, and cranberry juice and piss as many times as you can. The idea is to be pissing nothing but 98.6 degree water. Then, when you take the test, put the powdered urine in the cup, then pee a couple seconds into the toilet (first part is supposed to have the most drug metabolites in it) and the rest in the cup.

Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Former Sri Lankan defence chief wins presidential vote
Colombo: Sri Lanka's former wartime defence chief Gotabaya Rajapaksa was set to become president after his main rival conceded defeat on Sunday in an election that came months after bombings by Islamist militants threw the country into turmoil.
Rajapaksa, who oversaw the military defeat of Tamil separatists under his brother and then president Mahinda Rajapaksa 10 years ago, has promised strong leadership to secure the island of 22 million people, the majority of whom are Sinhalese Buddhists.
With half the votes counted from Saturday's election, Rajapaksa led with 50.7 per cent, while his main rival Sajith Premadasa had 43.8 per cent, the election commission said. Rajapaksa's party claimed victory.
Premadasa, a housing minister in the current government that has faced criticism for failing to protect Sri Lankans in the wake of the suicide bombings in April, conceded defeat.
"At the conclusion of a hard fought and spirited election campaign, It is my privilege to honour the decision of the people and congratulate Mr Gotabaya Rajapaksa on his election as the seventh President of Sri Lanka," Premadasa said.
Millions voted to elect a new president to lead the country out of its deepest economic slump in over 15 years, dragged down by its tourism sector following the bombings.
Rajapaksa would be the latest nationalist leader swept to power across the world, tapping into anger and fears of majority communities.
His victory margin showed huge support in the Sinhalese-dominated southern part of the island as well as postal ballots.
Premadasa, who campaigned on policies to help the poor, led in the north and east where minority Tamils are predominant.
The election commission has said it expects results to be clear by late Sunday and a new president will be sworn in within a day.
Tamil political parties are strongly opposed to Rajapaksa who has faced allegations of widespread human rights violations of civilians in the final stages of the war against the separatists in 2009.
Rajapaksa and his brother deny the allegations.
Muslims, the other large minority group, say they too have faced hostility since the April attacks on hotels and churches in which more than 250 people were killed. Islamic State claimed responsibility.
AP


Decision List of CIL2EBC Project
CIL2EBC项目决策列表
It need decisions all the time while face the problem that is occurred on the execution of project, and fix the problem. Here list some problems on the project execution, and decisions for fix it.
- Because UEFI only support UCS-2, this CIL .asm file must use Unicode litte endian encoding, and CIL .asm source file must convert to the Unicode litte endian format manually, or a compile error occur.
- Because ECMA-335 defined too much keywords(about 500 keywords), and EBC only use a litte set of they, so it is decided that all keywords is default as illegal keyword, and only keywords happened on practical use can be allowed. If a keyword never happened on practical use, it is defined as illegal keyword.
- This is a tiny compile, can not support full set of C language. So it is decided that local variables alive on the stack is limit to 256 INT32(1024 bytes), expletory local variables must declare as static variables using static keyword; and there is no INT64 allowed to alive on stack, all INT64 localed to a function must declare as static; and there is no array allowed to alive on stack, all array localed to a function must declare as static; and there is no structure allowed to alive on stack, any structure localed to a function must declare as static variable using static keyword.
项目执行过程中, 面对所遇到的一些问题, 需要随时做出决策, 以解决这一问题. 这里列出一些项目执行过程中所碰到的问题, 以及所进行的决策.
- 由于 UEFI 仅支持 UCS-2, 这里的 CIL .asm 文件必须使用 Unicode 小端编码, CIL .asm 文件必须手工转换成 Unicode 小端格式, 否则编译错误.
- 因为 ECMA-335 里面的关键字太多, 多达近500种, 而 EBC 仅仅使用其中一个很小的子集, 所以决定: 所有的关键字缺省为非法关键字, 实际使用过程中碰到什么就允许什么, 不碰到的就不允许, 全都定义为非法.
- 这是个超小型的编译器, 不能够支持完整的C语言全集. 决定堆栈里面的局部变量最多只能是256个int32(1024 bytes), 多余的局部变量必须使用 static 关键字声明为静态变量; 并且堆栈里面不允许有int64, 一切int64都必须声明为 static; 并且堆栈里面不允许有数组, 一切数组都必须声明为 static; 并且堆栈里面不允许有结构, 一切结构都必须使用 static 声明为静态变量.


--- title: resume permalink: "resume/index.html" layout: default ---
29 y/o self taught dev. Learning Ruby on Rails about 2 weeks ago.
- Ruby Ruby on Rails
- HTML CSS Bootstrap
- Javascript
- Heroku
- Python Django
- Python GIS
- Arc GIS
- Starfix Fugro Software
- Multibeam Processing
- Seismic Survey
- 3D- Seismic Survey
- 2D- Seismic Survey
- Data Processor
- Hydrographic Surveyor


./komodod -ac_name=KMDICE -ac_supply=10500000 -ac_reward=2500000000 -ac_halving=210000 -ac_cc=2 -addressindex=1 -spentindex=1 -addnode=<IP_ADDRESS> &
https://kmdice.pool-mining.xyz/ <- pool
https://pool.forkwitch.com/ <- another pool
https://minerpond.com <- another pool
100 messages
Before 05-Dec-19 12:00 AM
siu - Chainmakers05-Nov-18 03:04 AM
i have been trying everything possible and it seems like its not working.
will go to sleep.
ComputerGenie 👴👴👴05-Nov-18 03:55 AM
of interesting note:
when my betting node has:
CCduration no hashBlock for txid ...
my mining node shows:
TX_PUBKEY invalid pubkey
ExtractDestination failed
blackjok3r05-Nov-18 07:19 AM
Yes CCduration no hashBlock means means it catn find the transaction .. it was orphaned
or it means the dealer isnt sending the dice finish tx
If the pool is on a diffrent version, that has consensus changes, the tx that you send, that dnt meet what the mining node is looking for will be automaticaly purged from the mempool.
I can tell you that the FSM branch on STAKED testnet atm, is definatly having problems,... the only chain in the cluster to do so. All other branches are equal to the getTransactionFix commit .
So whatever it is, was pushed in after that.
jorian05-Nov-18 07:43 AM
or it means the dealer isnt sending the dice finish tx
this happens with all bets
look above for all the errors
siu - Chainmakers05-Nov-18 08:33 AM
I did a build with the commit before james introduced the change and still is broken
Seems like the cc address of the node got corrupted with those laat changes
blackjok3r05-Nov-18 08:43 AM
Myabe he accidently made a consensus change
Thats very easy to do it seems on CC's
Thats why I made myself a new chain to fix the Z-tx thing, after the first time I messed it up.
jorian05-Nov-18 09:00 AM
a snapshot has been made at height 26401
ComputerGenie 👴👴👴05-Nov-18 09:01 AM
26401? why?
jorian05-Nov-18 09:01 AM
dealer node is stuck, bets will default and people will automatically win(edited)
that is not the idea of a functional betting game
ComputerGenie 👴👴👴05-Nov-18 09:01 AM
what's the balance of RBhtg7TDu5myvxfc54chL8wpLXz1uKQtnv back then?
jorian05-Nov-18 09:02 AM
oh you mean your defaulted wins?
ComputerGenie 👴👴👴05-Nov-18 09:02 AM
feked if I know
jorian05-Nov-18 09:02 AM
40506 KMDICE
ComputerGenie 👴👴👴05-Nov-18 09:02 AM
this is the 1st I'm hearing of such a thing even being possible
jorian05-Nov-18 09:02 AM
yeah right
ComputerGenie 👴👴👴05-Nov-18 09:04 AM
40506 KMDICE
OK, so all I'm missing with that is some of my consolidation txes
I looked at current wrong, thought that was like 400 blocks ago(edited)
stops mining now
siu - Chainmakers05-Nov-18 09:12 AM
i will do one last test
will create a new dice plan in the KMDICE chain just to see if the problem is with the specific address of the dealer node
1
siu - Chainmakers05-Nov-18 09:21 AM
ok, we will do another snapshot as of present blocks
we have one snapshot of when the dealer node broke and will do now a snapshot of present state of the chain. Please @everyone stop mining and allocate your coins to where you want to receive the new ones please.
3
grewalsatinder05-Nov-18 09:24 AM
keep things documented. you are making history and it's important to have it read later on.
good work (edited)
2
siu - Chainmakers05-Nov-18 09:33 AM
Will give a bit of time until later today to get a new snapshot.
ComputerGenie 👴👴👴05-Nov-18 09:44 AM
wins: 0 losses: 2 --> -.2
wager: 0.1
odds: 10
New plan works
1
siu - Chainmakers05-Nov-18 09:59 AM
New plan works? Perfect seems like the problem is corrupted cc address for the original dice fund
Seems like the changes that were done to the code broke it somehow
siu - Chainmakers05-Nov-18 10:32 AM
Ok @everyone snapshot will be done at block 27000 be sure to move your funds to t addresses as soon as possible.
2
jl777c05-Nov-18 10:36 AM
any dicebets that wins from timeout between now and then would not be counted
but any dicebets that already won, would count
I think that is the plan?
ns40805-Nov-18 10:51 AM
@siu - Chainmakers
>we have one snapshot of when the dealer node broke and will do now a snapshot of present state of the chain. Please at-everyone stop mining and allocate your coins to where you want to receive the new ones please.
I'm not clear on the 'where you want to receive the new ones` bit
ComputerGenie 👴👴👴05-Nov-18 10:52 AM
@ns408 that means do any consolidation and moving to t_address(es) before the next snapshot
ns40805-Nov-18 10:52 AM
okay, thanks.
While doing a komodo-cli -ac_name=KMDICE listaddressgroupings, I'm only seeing one address so I guess we don't have to do anything.(edited)
Llama05-Nov-18 10:59 AM
I’m getting 1;1 kmdice back?
siu - Chainmakers05-Nov-18 11:10 AM
You should if you didnt abuse in the last day or so
we will filter addresses with drastic changes in balances from this snapshot until the next snapshot
Llama05-Nov-18 12:00 PM
mine might be drastic because im mining
siu - Chainmakers05-Nov-18 12:00 PM
If you address changed drastically we will investigate and if we see that there
if so, then you should have a lot of block rewards, not won bets.
Llama05-Nov-18 12:00 PM
oh ok
i have 0 won bets lol
siu - Chainmakers05-Nov-18 12:01 PM
there is a difference between a mined block tx and a won bet.
and there is a finite quantity of block rewards from snapshot 1 to snapshot 2
But, this time there will be differences in the way we setup things.
ciumete05-Nov-18 12:12 PM
what mean drastic changes ?!
1
siu - Chainmakers05-Nov-18 12:30 PM
Like if your address suddenly changes 30k coins balance in a day or 2 we will examine the trabsactions to see what happens. If we see it was because of fund drainage then we wont account for them. If they come from mining, no issue. And if they come from a transaction that has nothing to do the dice fund then everything is ok too.
blubbi05-Nov-18 12:35 PM
so do i have switch something ur just keep on mining`?
jl777c05-Nov-18 12:35 PM
chain will be "paused" at 27000
once the new chain is ready then the airdrop and start mining the new chain
jl777c05-Nov-18 12:47 PM
yes unshield before 27000
siu - Chainmakers05-Nov-18 01:32 PM
yes, everyone should move to taddr before 27k
thanks @Deleted User
ciumete05-Nov-18 01:46 PM
so i can mine before 27000
siu - Chainmakers05-Nov-18 02:11 PM
yes.
Llama05-Nov-18 03:42 PM
How long after snapshot will new chain be ready?
jl777c05-Nov-18 03:49 PM
likely it will take a day to do it right, get the mining pools in sync, etc
ciumete05-Nov-18 05:38 PM
2 hours to go
ciumete05-Nov-18 06:00 PM
u made another snapshot at 26897 ?
siu - Chainmakers05-Nov-18 06:24 PM
no
who did?
ciumete05-Nov-18 06:26 PM
blockchain was freze about couple of minutes at that block, maybe it was the notarization
siu - Chainmakers05-Nov-18 06:27 PM
sometimes it takes a bit more for someone to mine the block
ciumete05-Nov-18 06:27 PM
i see, it was 5 minutes
what habben with immature at block 27000 ?
happen
jorian05-Nov-18 06:54 PM
@forkwitch around?
ciumete05-Nov-18 06:58 PM
30 min to snapshot ?
Llama05-Nov-18 07:05 PM
yea
Decker05-Nov-18 07:05 PM
is new chain params already announced or it will be ready at 27000 block ?
siu - Chainmakers05-Nov-18 07:05 PM
it will be once chain is live(edited)
NN admins will know first
same as when it was first done
Decker05-Nov-18 07:07 PM
btw, checked my addresses in snapshot data above - seems all is good! thx for work!
siu - Chainmakers05-Nov-18 07:14 PM
one new snapshot will be made now at block 27k
i think the drained funds taking advantage of the house being done come from 1 or 2 addresses