about + FAQs
ETHBerlinZwei is a hackathon, a culture festival, an educational event,
a platform for hacktivism, and a community initiative to push the decentralized ecosystem forward.
After a successful 2018 event,
ETHBerlin decided to reaffirm its commitment with the ecosystem and founded the Department of Decentralization,
responsible for initiatives that go beyond organizing a hackathon
and seek to also support the projects coming from our events and community.
Zwei (short for ETHBerlinZwei), is our second iteration.
ETHBerlin 2018 sought to marry the culture and values of Berlin with those of the builder community and succeeded at it.
This time, we are pushing even further into becoming a festival for people from all backgrounds,
and most importantly, a hub where builders will be able to get their creative juices flowing
by discovering various cultural and educational experiences spread across almost a week.
ETHBerlinZwei’s talks and workshops will be held at dAppcon Berlin
so all participants will have access to the two-day conference before diving deep into the Zwei experience.


Contact Information
Feel free to contact us by email anytime.
<EMAIL_ADDRESS>Return to Homepage


Class LeaderboardStandingsRequest
Encapsulates leaderboard current standings request.
Inheritance
Inherited Members
Namespace: PlayGen.SUGAR.Contracts
Assembly: PlayGen.SUGAR.Contracts.dll
Syntax
public class LeaderboardStandingsRequest
Examples
JSON { "LeaderboardToken" : "AN_ACHIEVEMENT_TOKEN", "GameId" : 1, "ActorId" : 1, "LeaderboardFilterType" : "Near", "PageLimit" : 10, "PageOffset" : 0, "MultiplePerActor" : false, DateStart : "2016-01-01 00:00:00", DateEnd : "2016-12-31 23:59:59" }
Properties
ActorId
The Id of an Actor. Required for getting standings for Near, Friends (user only) and Group Members (group only)
Declaration
public int? ActorId { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.Int32> |
DateEnd
The latest point which data should be collected from. Can be left null to gather all data up to the present time.
Declaration
public DateTime? DateEnd { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTime> |
DateStart
The earliest point which data should be collected from. Can be left null to set no earliest point.
Declaration
public DateTime? DateStart { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTime> |
GameId
The Id of the Game the leaderboard.
Declaration
[Required]
public int? GameId { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.Int32> |
LeaderboardFilterType
The filter for what standings will be returned.
Declaration
[Required]
public LeaderboardFilterType? LeaderboardFilterType { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<LeaderboardFilterType> |
LeaderboardToken
The Token of the Leaderboard which the standings are being gathered for.
Declaration
[Required]
public string LeaderboardToken { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
MultiplePerActor
Whether a user can rank multiple times if they have different values. Only applicable for Highest, Lowest, Earliest, Latest.
Declaration
[Required]
public bool? MultiplePerActor { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.Boolean> |
PageLimit
The maximum number of results which will be returned. Leave this as null to return all results as each time the next page is queried the database is queried
Declaration
[Required]
public int? PageLimit { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.Int32> |
PageOffset
The set of results which will be returned based on the limit. 0 returns the first set of results for Top, Friends and Group Member and the nearest range for Near.
Declaration
[Required]
public int? PageOffset { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.Int32> |


Dear, I am Mr Malick Diop, the director of Contract Awards and Finance Allocations of the Federal Ministry of Works and Housing. I presided over the award of the building of the federal government satellite housing estates at here in Dakar, the new federal capital city of Senegal. During the bid for the contract, I had a pact with the eventual winner of the bid and the contractor of the project to inflate the contract sum to the tune of US$30 Million Dollars. The contract has since been executed, and job completion certificate duly awarded. Furthermore, the payment for the contract has been fully made to the contractor leaving behind the over-inflated amount of US$30 Million Dollars, which I have secured under contract ref. No: FMWH/FRN/108X01/2002. The problem now is that as a senior civil servant, I am prohibited by the civil service code from running a private business or foreign bank account. Moreover, I am required to declare my assets annually with the civil service commission for verification and clearance, and therefore, cannot defend this large amount of money as an addition to my assets without compromising my reputation and the impeccable records I have achieved over the years. Therefore, I need your cooperation to be present as a sub-contractor in the execution of the project/contract to claim the fund on my behalf. For volunteering your cooperation in this deal, you are entitled to 40% of the fund. Should this be acceptable to you, kindly indicate in writing and confirm the following: Telephone and fax numbers for prompt communication. Bank name, address and account number where the fund will be moved. Full name of company and address or personal name and address that will serve as the beneficiary/sub-contractor to claim the fund. Furthermore, as soon as this fund is transferred into your bank account, I will require you to still act as my agent in investing my share in estates/landed properties and financial securities in your country. I want to emphasize here that this deal is free from any form of risk from both parties as great care has been exercise in perfecting it, and therefore, I enjoin you to approach it with an open mind and without any fear whatsoever. As a deal, I make haste to advise that you should be private about it. Kindly channel all correspondences through<EMAIL_ADDRESS>Mr.Malick Diop. -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.300 / Virus Database: 265.8.5 - Release Date: 03/02/2005


{% extends 'mapper/index.html' %} {% load static %} {% block content %}
Welcome to Biological Taxonomy ID Mapper!
This simple tool will allow you to easily map taxonomic information from NCBI's databases directly onto your file, as long as it has FASTA-formatted headers. In order to start click submit link in the upper right part of the page.


class PubannotationEvaluator
Constants
- EXACT_TYPE_MATCH
- SOFT_MATCH_CHARACTERS
- SOFT_MATCH_WORDS
Public Class Methods
new(soft_match_chatacters = SOFT_MATCH_CHARACTERS, soft_match_words = SOFT_MATCH_WORDS, denotation_type_match = EXACT_TYPE_MATCH, relation_type_match = EXACT_TYPE_MATCH)
click to toggle source
# File lib/pubannotation_evaluator/pubannotation_evaluator.rb, line 6 def initialize(soft_match_chatacters = SOFT_MATCH_CHARACTERS, soft_match_words = SOFT_MATCH_WORDS, denotation_type_match = EXACT_TYPE_MATCH, relation_type_match = EXACT_TYPE_MATCH) @soft_match_chatacters = soft_match_chatacters @soft_match_words = soft_match_words @denotation_type_match = eval <<-HEREDOC Proc.new do |study_type, reference_type| #{denotation_type_match} end HEREDOC @relation_type_match = eval <<-HEREDOC Proc.new do |study_type, reference_type| #{relation_type_match} end HEREDOC end
Public Instance Methods
compare(study_annotations, reference_annotations)
click to toggle source
To compare two sets of annotations
Attributes¶ ↑
-
study_annotations
: annotations to be studied -
reference_annotations
: annotations to be compared against
# File lib/pubannotation_evaluator/pubannotation_evaluator.rb, line 27 def compare(study_annotations, reference_annotations) study_annotations[:denotations] ||= [] study_annotations[:relations] ||= [] study_annotations[:modifications] ||= [] reference_annotations[:denotations] ||= [] reference_annotations[:relations] ||= [] reference_annotations[:modifications] ||= [] comparison_denotations, mmatches_denotations = compare_denotations(study_annotations[:denotations], reference_annotations[:denotations], reference_annotations[:text]) comparison_relations = compare_relations(study_annotations[:relations], reference_annotations[:relations], mmatches_denotations) comparison_modifications = compare_modifications(study_annotations[:modofications], reference_annotations[:modofications], comparison_denotations, comparison_relations) comparison = comparison_denotations.collect{|a| a.merge(type: :denotation)} + comparison_relations.collect{|a| a.merge(type: :relation)} + comparison_modifications.collect{|a| a.merge(type: :modification)} docspec = {sourcedb:study_annotations[:sourcedb], sourceid:study_annotations[:sourceid]} docspec[:divid] = study_annotations[:divid] if study_annotations.has_key?(:divid) comparison.collect{|d| d.merge(docspec)} end
evaluate(comparison)
click to toggle source
To produce evaluations based on comparison.
Attributes¶ ↑
-
comparison
: the mapping between study and reference annotations
# File lib/pubannotation_evaluator/pubannotation_evaluator.rb, line 53 def evaluate(comparison) counts = count(comparison) measures = measure(counts) {counts:counts, measures:measures} end
get_false_negatives(comparison, project_name)
click to toggle source
# File lib/pubannotation_evaluator/pubannotation_evaluator.rb, line 63 def get_false_negatives(comparison, project_name) comparison.select{|m| m[:study].nil? && m[:reference]} end
get_false_positives(comparison, project_name)
click to toggle source
# File lib/pubannotation_evaluator/pubannotation_evaluator.rb, line 59 def get_false_positives(comparison, project_name) comparison.select{|m| m[:study] && m[:reference].nil?} end


Greetings and welcome to my homepage! I'm a librarian at Case Western Reserve University and I'm looking forward to delving into the wild and woolly world of web development.
My husband and I live in the Cleveland area with our rambunctious cat, Clemmie. In my free time, I enjoy Zumba, yoga, reading and exploring the delights that Cleveland has to offer.
People are often confused how to say my last name. The first syllable is pronounced “cur” like a mean dog. The second and last syllables are pronounced like the last name Kessler.


Structured queries¶
New in version 0.1: the Browser class provides structured queries.
Trident provides a way to make structured and efficient model queries using the
new Browser
class. The best way to utilize
this new class, is to spawn a new session using a cache. A brief overview of
the available API is below:
with session.with_cache(timeout=60) as sess:
# sess is a new AqSession
# perform code inside of here
# use the session to find the last 50 samples
# attach those samples automatically to a cache
samples = sess.browser.last(50, 'Sample')
# inside the 'with' statement, this is equivalent to...
samples = sess.Sample.last(50)
# returns all Samples in the cache
samples_from_cache = sess.browser.get('Sample')
assert samples == samples_from_cache
# efficiency collects all of the samples' 'sample_type' attr
sample_types = sess.browser.get('Sample', 'sample_type')
# optionally, we can provide specific models
sample_types2 = sess.browser.get(samples[:10], 'sample_type')
# efficiently collect do a nested query finding the
# all of the models related to items, samples, sample_types, field_types, and
# field_values, and object types
sess.last('Item', 50)
sess.browser.get('Item', {
'sample': {
'sample_type': [],
'field_values': {'sample', 'field_type'} # can be a list, set, tuple, etc.
},
'object_type': 'field_type'
})
Speeding up queries¶
Session objects can automatically cache model results to greatly speed up data mining. It does this using the Browser class, which is stored in the .browser attribute of the session.
To begin, lets grab a normal AqSession instance.
from pydent import AqSession
session = AqSession('mylogin', 'mypass', 'myurl.org')
By default, the cache is turned off. We can see this by printing off the browser
if session.browser:
print(session.browser.model_cache)
else:
print("No browser")
Lets turn on the cache, which initializes the browser
session.using_cache = True
s = session.Sample.one()
print(session.browser.model_cache.keys())
{"Sample": {12355: <Sample>}}
We should now see that the queries model has been cached in the browsers dictionary. Now, next time we attempt to retrieve the sample, we should preferentially retrieve from the model_cache.
s2 = session.Sample.find(s.id)
assert id(s) == id(s2)
Due to how models inherit their sessions from other models, queries made via attribute relationships are also attached to the model_cache
s.sample_type
s.sample_type.field_types
assert 'SampleType' in session.browser.model_cache
assert session.browser.model_cache['SampleType']
assert 'FieldType' in session.browser.model_cache
assert session.browser.model_cache['FieldType']
Temporary Sessions¶
Of course, caching may not always be desirable, as in the case of making server updates. If we only ever pulled from our local cache, we would be unable to see any updates on the server. In this case, we may want to create a temporary cache, perform optimized queries, and then return the models. To do this, we can use the new temporary session API.
Conviniently, sessions themselves are session factories. We can spin off new sessions with new properties using existing sessions.
mynewsession = session()
We can instantiate a session with new properties. For example, spinning off a session with using_cache=True
nocache = session(using_cache=False)
We can also instantiate sessions with requests turned off or with new timeouts or sessions that inherith the model cache.
increasetimeout = session(timeout=60)
norequests = session(using_requests=False)
inheritcache = session(using_models=True)
However, this can become troublesome if we have many different sessions attached to many different models. To keep everything tidy, we can use the with api of the session.
with session(using_cache=True) as sess:
samples = sess.Sample.last(100)
sess.browser.get(samples, 'sample_type')
# in the 'with' statement, models inherit the temporary session
assert samples[0].session is not session
assert samples[0].session is sess
# upon exiting the with statement, models return
# to the original session.
assert samples[0].session is session
Two convinience methods have been implemented to use cache and turn off requests. You can use these with nested with statements as well:
with session.with_cache() as sess1:
samples = sess1.Sample.last(10)
with sess1.with_request_off() as sess2:
sess2.find(samples[0].id)
Optimized queries¶
We can perform optimized queries using the browser’s get method. This allows us to pull model relationships very efficiently from the server. Under the hood, Trident is using knowledge of model relationships to efficiently optimize queries sent to the server and preferentially using a local model cache.
Optimized queries can increase data mining speed by up to 5-fold. Here the optimized method (#4) is compared with nested requests (#1 and #2) and server side deserialization (#3).
Below is an example of retrieve nested model information for many plans:
with session.with_cache() as sess:
plans = sess.Plan.last(50)
sess.browser.get(plans, {
"operations": {
"field_values": {
"sample": "sample_type",
"item": 'object_type',
'field_type': []
}
}
}
# now data is cached in the plans!
for p in plans:
for op in p.operations:
for fv in op.field_values:
print(fv.sample.name)


Image top
Luiz Henrique Feltes
Luiz Henrique Feltes
Software Developer
Blog
|
Linkedin
Twitter
Github
No post found at the moment.
Creating a blog
Content here
12 Mar 2016
on
Teste
Duas palavras
New post with a long text about something
Content here
12 Mar 2016
on
Teste
Duas palavras


n-dimensional cross-correlation. Generalized version of xcorr2. For 2 dimensional inputs this function is exactly the same as xcorr2, but also works in higher dimensions. Can also be more efficient because it performs convolution using convnFast. Note that xcorr2 is part of the 'Signal Processing Toolbox' and may not be available on all systems. The order of parameters is reversed from normxcorrn. This is to be compatible with the matlab functions normxcorr2 and xcorr2 (which take parameters in different orders). USAGE C = xcorrn( A, T, [shape] ) INPUTS A - first d-dimensional matrix T - second d-dimensional matrix shape - ['full'] 'valid', or 'same' (see convn) OUTPUTS C - correlation matrix EXAMPLE T=gaussSmooth(rand(20),2); A=repmat(T,[3 3]); C1=xcorr2(A,T); C2=xcorrn(A,T); C3=rot90(xcorrn(T,A),2); figure(1); im(C1); figure(2); im(C2); figure(3); im(C3); See also XCORR2, NORMXCORRN, XEUCN, CONVNFAST Piotr's Computer Vision Matlab Toolbox Version 2.12 Copyright 2014 Piotr Dollar. [pdollar-at-gmail.com] Licensed under the Simplified BSD License [see external/bsd.txt]


Maptcha is a web-based interface doing rough placements of historical maps on modern geography.
The first version of maptcha.org was launched by Mike Migurski in July 2011, using the 1905 Sanborn Fire Insurance Atlas as its first map series test case. The atlas contained about 700 pages of street level maps of San Francisco, and when it was launched, volunteers from around the world used the site to place each page on to a modern map of the city, all within a few days, which was a wonderful surprise!
The application was further developed in 2012 by Stamen Design in San Francisco, under a grant from The Bill Lane Center for the American West at Stanford University to support for the 2013Year of the Bay project, crowdsourcing a new history of the San Francisco Bay Area.
Your mission, should you choose to accept it, is to align a historical map with its modern equivalent. This will mean scaling and rotating and/or zooming in and out until the features on both maps line up. A rough match is a good match.
When you open up the tool, you'll see two panels. The left panel contains the old map, and the right panel shows you a modern map of the same (or similar) area. Use the rotation and scaling widget on the left - the big yellow circle thingy - to change the size and position of the old map. You can drag and drop or zoom in and out of either map too. Use the search to bring up a specific place on the modern map if it isn't in quite the right place when you start.
You might be working on a map that's part of an atlas. Maptcha will let you place as many maps as you have time to do, so, once you're happy with the arrangement, click on the FINISHED button and move to the next map.
It's possible you'll come up against a map that's not possible to place for some reason, like, the page is too damaged to read properly, or there aren't any features on the old map that you can recognize on a modern map, or it's simply too tricky. If that happens, you can click on the SKIP THIS MAP button to move on to a new map.
You can stop at any time, of course.
Please get in touch with us. We'd love to find new institutional partners with map collections who are interested to have volunteers place historical maps on modern geography. In fact, we'd love to keep enhancing the Maptcha application, so would love to find potential grant partners to help fund that development work.
Is this open source? Can I use it at my institution?
Not yet, but we'd love to help you try. Right now, the code is up on Github, and we'd love to open it up to the world. Your demand will help move this forward, so please let us know you're interested.


Lókı
Name:
Pronunciation:
Nicknames:
Race:
Affliction:
Gender:
Sexuality:
Relationship:
SO:
Age:
Eyes:
Hair:
Height:
Weight:
Build:
Distinguishing Marks:
Colors:
Faith:
Alliance:
Political Views:
Class:
Occupation:
Title:
Residence:
Lókı
Loh-key
They don't like the ones people keep calling them...
Nord
N/A
Genderfluid
Pansexual
No
N/A
They refuses to say.
Golden Hazel
Red, wavy-curly, cut at their shoulders
5'7"
Slightly under average
Slim and fit.
Heavy arm and chest tattoos.
Olive, Black, Brown, Green
They don't really care much for it.
Ebonheart Pact
Bah!
Nightblade, Mag DPS
"Freelancer", they'll take on whatever jobs they feels like.
N/A
Autumn's-Gate, The Rift


“I have known Adrian for approximately nine years in my role as an investigator with Victoria Police. During this time I have utilised Adrian’s academic skills and operational experience on numerous occasions as a Subject Matter Expert in Arab and Islamic culture to deliver tailor made training packages to suit my audience’s needs and skill sets. Adrian is a passionate and enthusiastic presenter with outstanding interpersonal skills who provides an informed insight and objective overview of his subject matter”
-Detective Senior Sergeant, Victoria Police
“Adrian’s passion for Arabic and his knowledge of the contextual culture around it was truly infectious. His unique way of presenting the material and inspiring students has had a big impact on my own desire to learn more, and to use the life-long learning skills he gave us. His sense of humour made learning Arabic so much fun, and his encouraging style allowed people to learn comfortably at their own pace”
-Kristy, ex-Deakin University
“I have had the privilege of working with Dr. Gully for over eight years and have found his work to be of the highest professional and ethical standards. I have been present during his presentations on Arab and Islamic culture, and I have also utilized him as a witness to provide expert evidence with regard to forensic linquistics. I found Dr. Gully to be a very credible and impressive witness. He not only comes with a unique level of expertise, but he is informative and engaging, providing impartial analyses of some very important issues.”
-Detective Senior Sergeant, Victoria Police
“Well, suffice to say this, I found him a very impressive witness with his background of Arabic studies, and no-one challenged, as I understand it, his expertise in any way whatsoever. ”
-His Honour Judge Parrish - 28/2/2014, Melbourne County Court (Taken from public records.)
“Hi (Person's Name), I would like to thank you for allowing Adrian to assist me in presenting to the interpretor course on 24th July in Melbourne. Adrian was brilliant, and attracted a lot of questions from the participants. His insight from the interpreting perspective was appreciated, and I also picked up a lot from listening.”
- Inspector, Victoria Police
Focusing on the relevance of historical motifs to the local environment, including group and individual behaviors, and factors contributing to radicalization.
Islamic culture and trends, and Arabic forensic linguistics.
Training and information programs.
Intensive language programs to cater for students of all levels.
From one language to another, without embellishment
For events and occasions.
I qualified as a professional interpreter and translator of Arabic [National Accreditation Authority for Translators and Interpreters, Advanced Diploma] in 2008 after a distinguished academic career of more than twenty years in Arabic and Islamic Studies. Among the positions I held were HH Sheikh of Sharjah Professor of Arabic Studies [University of Exeter, UK], and Senior Lecturer in Islamic Studies [University of Melbourne, Australia]. I was the Director of Studies at the Centre for Teaching Arabic as a Foreign Language, Alexandria University, from 1989-1991. I was also External Examiner for degree programs at various universities in the United Kingdom, including Oxford, Cambridge and the School of Oriental Studies.
I hold a BA and PhD in Arabic and Islamic Studies. As part of my professional activities I have been an advisor and expert witness in high profile cases, including the Lockerbie Trial in the Netherlands, and in the County and Supreme Courts in Victoria, Australia.
I began studying Arabic and Islamic Studies in 1979, the year of the Iranian Revolution, which perhaps changed the shape of our world forever. I have lived for several years in Arabic speaking countries, and this has provided me with a much deeper understanding of the cultural, religious, historical, behavioural and social climates of the Arab and Muslim world. Since 2005 I have worked in many different environments, including schools, universities and various government agencies, as well as with individuals from different backgrounds, combining my linguistic skills and knowledge with cultural training, insights and interpretations.
French and German languages also spoken.


BMW iNext Production Version Could Be Called iX: Report
It’s an improvement.
by Anthony AlanizBMW is preparing to launch its next “technological flagship” tentatively named the iNext. If you think that’s a bad name, then you’re not alone. A new report from BMWBlog suggests the German automaker had been debating what to call its electric SUV, with iNext and iX5 at the forefront.
The new name falls in line with BMW’s other naming conventions while giving the automaker some breathing room going forward. The BMW i3 and i8 already exist, and the company is preparing to launch the iX3 and i4, too. Calling BMW’s new flagship iX5 could have caused some problems down the road, especially when the automaker electrifies the X5 crossover.
Get A Look At BMW's EV SUV:
BMW will also keep its traditional naming convention with the iX, meaning the automaker will denote the iX’s power output as well after the model name. Think “BMW iX xDrive40, iX xDrive50, and iX M50 xDrive,” as BMWBlog notes.
Our spy photographers are continuing to capture the iNext out testing, too, which looks production-ready. Earlier this month, we got our first look inside at the curved display dominating the dashboard, which functions as the instrument cluster and infotainment system.
Gallery: 2021 BMW iNEXT Spy Photos
Spy shots of the outside show a traditional crossover shape with an upright grille and sleek headlights. The cladding hides a lot of the crossover’s details so that it could be much shapelier underneath. It’s also difficult to tell how large the grille is; however, it doesn’t appear to be obnoxiously big.
We’ve seen the outside, peeked inside, and likely know the name. However, BMW is keeping much of the iNext’s specs secret. We have no information about the powertrain, range, or recharge times. However, we can expect BMW to offer the EV with several different power, range, and pricing options. We don’t know when BMW will reveal the car, but it’s expected to arrive at dealerships for the 2021 model year.
Source: BMWBlog


This is one of the first webpages we designed. We started with basic html, eventually added css styling, and learned the importance of README.md's
This project was where we first learned how to link to seperate html pages inside our own directories, as well as how to add and link images to our index page.
This project helped us solidify linking htmls in our home directories and practice the funcionality of branches.
This project taught us how to use floats and divs to create columns, sidebars, or anything that you might want to group seperate from other page content.
This was by far the most challenging and rewarding project we worked on this week. We were tasked with rebuilding a wiki page from scratch, matching the formatting with bootstrap and css elements.
I graduated highschool in 2010 and went on to complete 3 years of college before I realized my inability to commit to something at that time. I started at Oregon State University for my freshman year, then transferred to University of Oregon for the next two.
During the summer of 2011, I went on a 30 day backpacking expedition through the NOLS program, standing for National Outdoor Leadership School. We hiked 180 miles across Washington state, venturing into the Pasaytan Wilderness and even into parts of Canada when we were straddling the border. I was able to experience complete one-ness with nature as a result of having no electronic ammenities and a distinct focus on "Leave No Trace" environmental principles.
Up until around 2014, I mainly worked seasonal jobs and summers due to being a full-time student. I worked as a(n)
Then I decided to enlist in a federal program called Americorps NCCC. I spent 10 months in the deep south living, and essentially volunteering (we were given 120$ every 2 weeks), with 7 other people between the ages of 18-24. We spent every waking moment together: moving around between makeshift living spaces in our 15 passenger van. We worked with organizations such as
We travelled from our home-base in Vicksburg, Mississippi to various project sites in Alabama, Georgia, North Carolina, Louisianna, Tennesse, and others. Generally we spent around 5 weeks at each project site.
I spent the past 8 months working in retail for a company I love, called Orchard Supply Hardware. The employees of this store are second to none and quickly became a home away from home for me.
I have grown up with a love for video games. I started out playing Battle Toads on the Super Nintendo when I was in daycare and haven't shyed away since. My favorite games would have to be
I love to watch good TV and movies, and I'm definitely a critic, but I wouldn't consider myself well-rounded since I am unable (unwilling) to subject myself to certain genres, like Horror, or even shows and movies that are based in content I don't find compelling. Here are some of my favorites:
I am wild about music. I really really really enjoy singing, mostly to myself, but sometimes outloud when I am happy enough. (Hopefully you won't be subjected to such foulness). Some of my favorite artists, in no particular order, (but shown in an ordered list for completion purposes), are


The Hammer Framework is a fully compliant JSR-330 dependency injection implementation. It is a lighter weight alternative to other popular JSR-330 implementations such as Guice, Spring, HK2, and others. In addition to its leaner API and simpler configuration, it has a smaller runtime footprint of most of the alternatives and a faster runtime bootstrapping time.
The {@link hammer.api.Injector Injector} is the main dependency injection interface for the hammer framework. In order to acquire an instance of an {@code Injector}, a single {@link hammer.api.Container Container} instance is configured and manipulated using one or more {@link hammer.api.Loader Loader} implementations. This all happens in the context of a call to one of the static {@link hammer.api.Hammer Hammer.createInjector} methods which returns a fully configured and ready to use {@code Injector}.
The {@link hammer.api.Container Container} is configured by adding injectable concrete classes (or fully instantiated instances) via the {@code addImpl} or {@code addInstance} methods. These calls can then be further configured to indicate under what conditions the configured injectable class will be injected (i.e. for what types and qualifiers). For example, consider the following concrete class which is legally injectable according to the rules of the JSR-330 specification:
public class GameService implements Service { private final Handicapper handicapper; @Inject GameService(Handicapper handicapper) { this.handicapper = handicapper; } public Game startGame(Player... players) { ... } @Override public void start() { ... } @Override public void stop() { ... } }
In order to inject a {@code GameService}, it must be added to the {@code Container} using a {@code Loader}. Since it also depends on a {@code Handicapper}, an implementation of that type must also be added to the container:
public class GameLoader implements Loader { @Override public void load(Container container) { // configure the GameService to be injected for requests of its own type container.addImplType(GameService.class) .asStrictBinding() .forItself(); // configure a FairHandicapper to be injected for requests of a Handicapper container.addImplType(FairHandicapper.class) .asStrictBinding() .forSpecificTypes(Handicapper.class); } });
Using the above {@code Loader}, an {@code Injector} can be created and used to acquire an instance of {@code GameService}:
public static void main(String[] args) { // configure the container and create the injector Injector injector = Hammer.createInjector(new GameLoader()); // get an instance of GameService GameService gs = injector.getInstance(GameService.class); }
Notice that the {@code GameService} is injected "forItself" in the above {@code Loader}. Rather than configuring the injector to inject it for requests of its own type, you can also configure the {@code GameService} to be injected for requests of {@code Service} instances:
container.addImplType(GameService.class).asStrictBinding().forSpecificTypes(Service.class);
Now injection requests for an instance of {@code Service} will return a {@code GameService}.
// will be an instance of GameService Service gs = injector.getInstance(Service.class);
Injections using qualifiers are fully supported with hammer. In order to configure an injection request to be associated with a specific qualifier, use the {@code whenQualifiedBy} method that is fluently available when setting up strict bindings:
// configure a FairHandicapper to be injected for requests of a Handicapper // that are qualified with an @Named("fair") qualifier annotation container.addImplType(FairHandicapper.class) .asStrictBinding() .forSpecificTypes(Handicapper.class) .whenQualifiedWith(Qualifiers.named("fair"));
Configuring parameterized types is supported by using the {@link hammer.api.TypeToken} class available in the API. For example:
container.addImplType(MyIntegerSet.class) .asStrictBinding() .forSpecificTypes(new TypeToken<Set<Integer>>() {});
Static injection is supported at {@code Injector} creation time via calls to the {@link hammer.api.Container#configureStaticInjections} method.
See the {@link hammer.api.Container} class and its nested classes for more details on collection injection.
See the {@link hammer.api.Container#activateScopes} method and the {@link hammer.api.Injector#enterScope} method for more details on support for scopes.


Software Engineer at Paradox
The AI company that believes recruiting is a people game.
- Working closely to the Da Nang and US team
- Communicating between teams to develop new features
- Focusing on enhancing maintainability of the code base
- Added new features and maintain existing project
October 2021 - Current
Fresher at Fiop
Fiop is a software outsourcing company in Viet Nam.
- Develop app mobile using React Native
- Develop website using ReactJs
March 2021 - October 2021
Intern at iNext Technology
iNext is one of the leading companies in the field of Telemedicine,
Teleradiology and PACS (Picture Archiving and Communication System)
in Vietnam.
- Fix bugs, Explore and develop open source OpenMRS
- Technologies used : OpenMRS, Java Spring MVC, MySQL,
June 2020 - December 2020


Preparation time
overnight
Cooking time
1 to 2 hours
Serves
Serves 2
James' own version of traditional fish and chips with crisp beer batter and all the trimmings.
For the mushy peas, soak the peas for at least four hours in a large bowl with three times their volume of water and the bicarbonate of soda, or, if you have the time, overnight.
Drain the peas, rinse under cold running water and place in a large, lidded pan. Cover with water (about 2.5cm/1in above the peas), cover with a lid and bring to the boil. Reduce the heat and simmer the peas for 1½-2 hours, stirring from time to time. The peas should be soft and mushy in texture but not too dry. If they are wet, continue cooking over the heat with the lid off until they dry out a little. Beat in the butter and season with salt and freshly ground black pepper.
For the tartare sauce, whisk the egg yolks, mustard and vinegar together in a bowl.
Continue to whisk the mixture and slowly pour in the rapeseed oil until all of the oil is incorporated and mixture is thick and light.
Stir in the capers, gherkins, shallot and herbs. Season, to taste, with salt and freshly ground black pepper and a squeeze of lemon juice. Keep in the fridge until ready to serve.
For the fish and chips, preheat a deep-fat fryer to 190C/375F. Meanwhile, sprinkle the yeast and sugar into a mixing bowl. Pour over the beer and vinegar and whisk in the flour and salt. Leave to ferment – it is ready to use when the mixture starts to bubble.
Place a steamer on the hob and place the chopped potatoes in the steamer and cook for 4-5 minutes. Remove and allow to dry out.
Dip the cod fillets into the batter and deep fry until golden-brown and cooked through – about 3-4 minutes. Remove with a slotted spoon and drain on kitchen paper.
Add the potatoes to the deep-fat fryer and fry for 3-4 minutes, or until golden-brown and crisp. Remove from the pan with a slotted spoon and set aside to drain on kitchen paper. Season with a little salt.
Serve the fish and chips with the tartare sauce and mushy peas.


Five talking points from Preston North End's defeat to Derby County at Pride Park
by Dave SeddonAfter three wins on the spin and four games unbeaten, Preston found the going tough at Derby and lost 1-0 at Pride Park.
Poor in the first half and a bit better in the second would be fair assessment of the pattern of North End’s play in the East Midlands.
Here are some of the talking points from the game.
1. The Lilywhites are still looking to find their feet away from home. This was a fourth defeat on their travels and in three of them they have failed to score.
In the first half, they failed to impose themselves on the game with Derby very much in the ascendancy.
North End were better in the second half, the Rams allowing them to have more of the ball and attempting to counter.
But a lot of the play was in front of the Derby defence rather than getting in behind and clear-cut chances were few and far between.
2. Darnell Fisher had put in some strong displays of late but Saturday’s was not one of them.
That is not singling him out for criticism, with some of his colleagues off-key too.
However, with North End playing a high defensive line, Derby found plenty of space behind right-back Fisher.
The yellow card he got for a foul on Mason Bennett was his ninth of the season in just 15 appearances.
Having already served a one-game ban for five bookings, a two-match suspension is just a caution away.
That is a worry with Joe Rafferty operating at left-back to good effect – Andrew Hughes remains sidelined, as does Tom Clarke.
Alan Browne is an option to play right-back, as he did in the second half after Fisher was subbed at the interval.
3. North End goalkeeper Declan Rudd has sometimes has the finger pointed at him this season but he deserved the plaudits on Saturday for a decent performance.
Twice he came out on top in one-on-one situations in the first half to deny Tom Lawrence and Martyn Waghorn.
Rudd did so again after the break to deny Waghorn, although that one was a more comfortable save.
4. Alex Neil hasn’t been afraid to change things early, for example bringing Jayden Stockley off the bench in the first half against Blackburn last month.
At Derby, he made a double change at half-time, introducing Paul Gallagher and Billy Bodin.
Gallagher was Preston’s best player in the second half, displaying a calmness on the ball and a good range of passing.
He could probably count himself unfortunate not to start after a good display in the win against Huddersfield before the break.
It was nice to see Bodin on the pitch, this the winger’s first appearance since September 14.
The third substitute used was Jordan Storey, that a change forced on Neil by an injury to Ben Davies.
Storey looked very measured in his time on the pitch, playing next to Patrick Bauer for the first time in a competitive game.
After being a regular pick in the second half of last season, this was only Storey's appearance in a Championship game this campaign - the other was as a substitute too.
Bringing Storey on unfortunately denied David Nugent a run-out against the club he left in the summer after a two-and-a-half year stay.
Nugent was ready to come on when Davies was injured, hence Storey getting the nod instead.
5. Although the team didn't fire on the day, the North End supporters certainly did.
There were 2,435 of them at Derby, packed into one corner of the ground. They made plenty of noise, were in good voice but unfortunately didn't get a goal to celebrate.
Pride Park is a decent ground with good acoustics but I'm no fan of its location. If you can imagine plonking Deepdale in the middle of a bigger version of Deepdale Retail Park, then that should give you an idea of what the Rams' home is like.


The Platform
Imagine if all stakeholders in the agricultural industry could make better-informed decisions, eliminate unnecessary paperwork and dockets, reduce supply chain inefficiency and risk, open markets and increase their bottom line by conducting business in one simple platform.
Learn MoreA powerful featureset
Stock management
Contracting
Supply chain tracking
Logistics automation
Broker integration
Calculated blending
Design that looks less 'theme' and more you.
Foundry offers you the modularity and ease-of-use of a template with the style and aesthetic of contemporary, bespoke web design.
Get In Touch
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident,
438 Marine Parade
Elwood, Victoria
P.O Box 3184
E<EMAIL_ADDRESS>P: +62 812 1151 2552


{% extends "charme_base.html" %} {% load i18n %} {% block main %}
{% trans "We've emailed you your username. You should be receiving it shortly." %}
{% trans "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." %}
{% endblock %}


Kotlin/Native with CLion
| 最近更新 | 2018-01-23 |
In this tutorial we'll see how to
Configuring CLion for Kotlin/Native development
While it is certainly possible to use any editor to write Kotlin/Native code, JetBrains provides a fully-fledged IDE experience for Kotlin/Native via CLion. CLion is a C/C++ IDE built on the IntelliJ platform.
Kotlin support in CLion is provided via a couple of plugins, namely the Kotlin plugin which provides core support for the language, and the Kotlin/Native plugin which
adds functionality for native support. Both of these plugins are provided by JetBrains and can be installed using the the Plugins
configuration dialog
Once installed (which requires a restart of the IDE), we should now have Kotlin support enabled. We can now create a new project using the
New Project
wizard
Additionally we can also create a new project based on an exiting sample template, by choosing one of the available ones
In our case we're going to use the Hello World
template to generate a sample application.
Building an running the application
Once we have created the application, we can build and run it by using the Run
menu and selecting Build
, or alternatively
pressing the assigned keyboard shortcut (which depends on our keyboard mapping)
To run the application, we merely select Run
from the same Build
menu and see the output


From core product improvements to long-term innovations, I design products and services to merge business and user needs. I achieve this through gathering and analysing data to spot areas of opportunity and prioritise them according to growth value.
Trained by world class designer Jake Knapp from Google Venture, I run Design Sprints that allow teams to develop quick experiments at minimum costs. The methodology optimises market research, prototyping and user testing.
Experienced in implementing research methodologies and building international teams from the ground up, I foster "why" cultures. I train people in research and best practices to increase confidence and autonomy through data-informed decisions.
VP Content Partnerships at Kahoot!
Chloe has been a vital element of the Kahoot! Partnerships team. By implementing new frameworks to support intra-departmental work and designing new experiments, Chloe has helped generate revenue and improve both internal and external success metrics. Influencing strategies with senior-level stakeholders, you can trust Chloe to make it happen!
Vice President of Products
Chloe has supported the delivery of complex service and product design projects. She also has solid business acumen and took a lead exploring new strategic opportunities. In addition, she gets involved in all stages of the product and service design process, from initial analysis and research to workshops, and the final delivery of projects. Chloe is curious, has a positive attitude and always has a hunger to learn more.
CTO at Shazam | ex-Google
Chloe has a real passion for UX and is a continual source of new and innovative product ideas. A strong advocate of User Centered Design, her first priority is always to ensure the team are focussed on designing solutions that solve real user problems. She thrives on creating quality products and delightful user experiences; and her enthusiasm and energy are infectious!
Barclays Venture
Kahoot (Promoted)
Investor: Microsoft
Yieldify (Promoted)
Investor: Google Venture
W.A.J.O.L
Ogilvy & Mather
Prun Radio
...And many more...


Module: Ruff::Standard::Call1cc
- Defined in:
- lib/ruff/standard/call1cc.rb
Overview
Call1cc
provides call-with-oneshot-continuation.
The continuation can be run in the context
.
Call1cc
provides call-with-oneshot-continuation.
The continuation can be run in the context
.


From the Firehose
{% for post in site.posts %}
{% endfor %}
{{ post.title }}
{{ post.date | date:"%B %d, %Y" }} by {{ post.author }}
{{ post.excerpt }}
{% endfor %}
--- layout: default permalink: /blog/ title: Blog description: Home description sitemap: true image: WIP author: WIP keywords: WIP categories: jekyll bootstrap ---
Multiple lines of text that form the lede, informing new readers quickly and efficiently about what's most interesting in this post's contents.
This is a wider card with supporting text below as a natural lead-in to additional content.
Continue readingThis is a wider card with supporting text below as a natural lead-in to additional content.
Continue reading{{ post.date | date:"%B %d, %Y" }} by {{ post.author }}
{{ post.excerpt }}


I am a mechanical design engineer with a passion for creating innovative hardware products, entrepreneurship, public speaking and dance
maybe some images here
I am a mechanical design engineer with a passion for creating innovative hardware products, entrepreneurship, public speaking and dance
maybe some images here


Patchwork
This repository is a website hosted by GitHub Pages. It goes along with Git-it, a terminal based workshop for learning Git and GitHub.
Users fork this repository and learn things like (forking) branching, adding collaborators, pulling in changes, pushing to a remote branch and submitting pull request. Once their pull request comes in, @reporobot rewrites the index.html here to include the user.


JERUSALEM — As Israel intensified its aerial assaults on Tuesday against symbols of Hamas rule in Gaza and other targets, new efforts were underway to forge a cease-fire, though they were mired in confusion and mixed signals after 22 days of fighting.
The renewed diplomatic push came after what Palestinians said was a devastating hit on the only electricity plant in the Gaza Strip, which set off a huge fire and threatened to create a major humanitarian crisis, with the Palestinian enclave lacking the means to operate the water and sewage systems as well as hospitals.
After increasingly urgent international calls for a halt in the hostilities, the West Bank-based Palestinian leadership, led by President Mahmoud Abbas, announced that Hamas and Islamic Jihad, the main Palestinian factions fighting in Gaza, were ready for an immediate 24-hour truce, and that a Palestinian delegation was planning to head to Cairo for broader cease-fire talks.Palestinians displaced from their homes received bread on Tuesday in the northern Gaza Strip.Loss of Shelter and Electricity Worsens a Crisis for Fleeing GazansJULY 29, 2014 Tunnels Lead Right to the Heart of Israeli FearJULY 28, 2014 Israeli Leader Sees No Quick End to Gaza WarJULY 28, 2014 Large sections of Gaza, including Gaza City's Shijaiyah neighborhood, have been destroyed in the current 20-day battle with Israel.Despite Gains, Hamas Sees a Fight for Its Existence
Mohammed Shinbary comforted his daughter Mahasin, 7, who was injured in an Israeli airstrike at the United Nation school in Beit Hanoun. He went to see her in the hospital in Beit Lahiya. July 24, 2014.Photographing on the Ground in GazaJULY 29, 2014 In a statement from the West Bank city of Ramallah, the leadership said that it had held intensive consultations with leaders of Hamas and Islamic Jihad and that a request by the United Nations to extend the truce to 72 hours was being considered favorably.
Israel Broadens Targets in Gaza Barrage Israel Broadens Targets in Gaza BarrageCreditWissam Nassar for The New York Times But Sami Abu Zuhri, a Hamas spokesman in Gaza, immediately responded in a text message that the announcement of a unilateral 24-hour truce was “incorrect and has nothing to do with the positions of the resistance.”
He added: “When we have an Israeli commitment with an international obligation of a humanitarian cease-fire, we will study it. But declaring a unilateral truce while the occupation kills our children, this will never happen.”
Later on Tuesday, Mohammed Deif, the commander of Hamas’s military wing who lives in hiding, said there would be no cease-fire until Israel stopped its attacks and the blockade on Gaza was lifted.


"""
This file contains classes which implement deep neural networks namely CNN and LSTM
"""
import sys
import numpy as np
from keras import Sequential
from keras.layers import LSTM as KERAS_LSTM, Dense, Dropout, Conv2D, Flatten, \
BatchNormalization, Activation, MaxPooling2D
from . import Model
[docs]class DNN(Model):
"""
This class is parent class for all Deep neural network models. Any class
inheriting this class should implement `make_default_model` method which
creates a model with a set of hyper parameters.
"""
[docs] def __init__(self, input_shape, num_classes, **params):
"""
Constructor to initialize the deep neural network model. Takes the input
shape and number of classes and other parameters required for the
abstract class `Model` as parameters.
Args:
input_shape (tuple): shape of the input
num_classes (int): number of different classes ( labels ) in the data.
**params: Additional parameters required by the underlying abstract
class `Model`.
"""
super(DNN, self).__init__(**params)
self.input_shape = input_shape
self.model = Sequential()
self.make_default_model()
self.model.add(Dense(num_classes, activation='softmax'))
self.model.compile(loss='binary_crossentropy', optimizer='adam',
metrics=['accuracy'])
print(self.model.summary(), file=sys.stderr)
self.save_path = self.save_path or self.name + '_best_model.h5'
[docs] def load_model(self, to_load):
"""
Load the model weights from the given path.
Args:
to_load (str): path to the saved model file in h5 format.
"""
try:
self.model.load_weights(to_load)
except:
sys.stderr.write("Invalid saved file provided")
sys.exit(-1)
[docs] def save_model(self):
"""
Save the model weights to `save_path` provided while creating the model.
"""
self.model.save_weights(self.save_path)
[docs] def train(self, x_train, y_train, x_val=None, y_val=None, n_epochs=50):
"""
Train the model on the given training data.
Args:
x_train (numpy.ndarray): samples of training data.
y_train (numpy.ndarray): labels for training data.
x_val (numpy.ndarray): Optional, samples in the validation data.
y_val (numpy.ndarray): Optional, labels of the validation data.
n_epochs (int): Number of epochs to be trained.
"""
best_acc = 0
if x_val is None or y_val is None:
x_val, y_val = x_train, y_train
for i in range(n_epochs):
# Shuffle the data for each epoch in unison inspired
# from https://stackoverflow.com/a/4602224
p = np.random.permutation(len(x_train))
x_train = x_train[p]
y_train = y_train[p]
self.model.fit(x_train, y_train, batch_size=32, epochs=1)
loss, acc = self.model.evaluate(x_val, y_val)
if acc > best_acc:
best_acc = acc
self.trained = True
[docs] def predict_one(self, sample):
if not self.trained:
sys.stderr.write(
"Model should be trained or loaded before doing predict\n")
sys.exit(-1)
return np.argmax(self.model.predict(np.array([sample])))
[docs] def make_default_model(self) -> None:
"""
Make the model with default hyper parameters
"""
# This has to be implemented by child classes. The reason is that the
# hyper parameters depends on the model.
raise NotImplementedError()
[docs]class CNN(DNN):
"""
This class handles CNN for speech emotion recognitions
"""
def __init__(self, **params):
params['name'] = 'CNN'
super(CNN, self).__init__(**params)
[docs] def make_default_model(self):
"""
Makes a CNN keras model with the default hyper parameters.
"""
self.model.add(Conv2D(8, (13, 13),
input_shape=(
self.input_shape[0], self.input_shape[1], 1)))
self.model.add(BatchNormalization(axis=-1))
self.model.add(Activation('relu'))
self.model.add(Conv2D(8, (13, 13)))
self.model.add(BatchNormalization(axis=-1))
self.model.add(Activation('relu'))
self.model.add(MaxPooling2D(pool_size=(2, 1)))
self.model.add(Conv2D(8, (13, 13)))
self.model.add(BatchNormalization(axis=-1))
self.model.add(Activation('relu'))
self.model.add(Conv2D(8, (2, 2)))
self.model.add(BatchNormalization(axis=-1))
self.model.add(Activation('relu'))
self.model.add(MaxPooling2D(pool_size=(2, 1)))
self.model.add(Flatten())
self.model.add(Dense(64))
self.model.add(BatchNormalization())
self.model.add(Activation('relu'))
self.model.add(Dropout(0.2))
[docs]class LSTM(DNN):
"""
This class handles CNN for speech emotion recognitions
"""
def __init__(self, **params):
params['name'] = 'LSTM'
super(LSTM, self).__init__(**params)
[docs] def make_default_model(self):
"""
Makes the LSTM model with keras with the default hyper parameters.
"""
self.model.add(
KERAS_LSTM(128,
input_shape=(self.input_shape[0], self.input_shape[1])))
self.model.add(Dropout(0.5))
self.model.add(Dense(32, activation='relu'))
self.model.add(Dense(16, activation='tanh'))


This method is used to compare the receiver object (this
)
with the argument object (arg0
) for equivalence
This method is used to compare the receiver object (this
)
with the argument object (arg0
) for equivalence.
The default implementations of this method is an equivalence relation:
x
of type Any
,
x.equals(x)
should return true
.x
and y
of type
Any
, x.equals(y)
should return true
if and only
if y.equals(x)
returns true
.x
, y
, and z
of type AnyRef
if x.equals(y)
returns true
and
y.equals(z)
returns
true
, then x.equals(z)
should return true
.
If you override this method, you should verify that
your implementation remains an equivalence relation.
Additionally, when overriding this method it is often necessary to
override hashCode
to ensure that objects that are
"equal" (o1.equals(o2)
returns true
)
hash to the same Int
(o1.hashCode.equals(o2.hashCode)
).
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
Returns a hash code value for the object
Returns a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash
codes (o1.hashCode.equals(o2.hashCode)
) yet not be
equal (o1.equals(o2)
returns false
). A
degenerate implementation could always return 0
.
However, it is required that if two objects are equal
(o1.equals(o2)
returns true
) that they
have identical hash codes
(o1.hashCode.equals(o2.hashCode)
). Therefore, when
overriding this method, be sure to verify that the behavior is
consistent with the equals
method.
Returns a string representation of the object
Returns a string representation of the object.
The default representation is platform dependent.
Retrieve the current value
Retrieve the current value
Change the currently bound value, discarding the old value
Change the currently bound value, discarding the old value.
Usually withValue()
gives better semantics.
Set the value of the variable while executing the specified thunk
Set the value of the variable while executing the specified thunk.
The value to which to set the variable
The code to evaluate under the new setting
DynamicVariables provide a binding mechanism where the current value is found through dynamic scope, but where access to the variable itself is resolved through static scope.
The current value can be retrieved with the
value
method. New values should be pushed using thewithValue
method. Values pushed viawithValue
only stay valid while thewithValue
's second argument, a parameterless closure, executes. When the second argument finishes, the variable reverts to the previous value.Usage of
withValue
looks like this:Each thread gets its own stack of bindings. When a new thread is created, the DynamicVariable gets a copy of the stack of bindings from the parent thread, and from then on the bindings for the new thread are independent of those for the original thread.


MultiSelect is used to multiple values from a list of options.
Virtual Scrolling enabled MultiSelect depends on @angular/cdk's ScrollingModule so begin with installing CDK if not already installed.
MultiSelect requires a value to bind and a collection of options.
The option itself is bound to the model by default, use optionValue to customize the property to pass as the value.
A comma separated list is used by default to display selected items whereas alternative chip mode is provided using the display property to visualize the items as tokens.
Particular options can be prevented from selection using the optionDisabled property.
MultiSelect can be used in a model driven form as well.
For custom content support when displaying options, define a ng-template named item where the local ng-template variable refers to an option in the options collection. Similarly selectedItems template can be used to customize when displaying the selected options. Additionally a custom header, footer and empty filter message can be provided using header, footer and emptyfilter templates. In addition when grouping is enabled, group template is available to customize the option groups. All templates get the option instance as the default local template variable.
VirtualScrolling is an efficient way of rendering the options by displaying a small subset of data in the viewport at any time. When dealing with huge number of options, it is suggested to enable VirtualScrolling to avoid performance issues. Usage is simple as setting virtualScroll property to true and defining itemSize to specify the height of an item.
Transition of the open and hide animations can be customized using the showTransitionOptions and hideTransitionOptions properties, example below disables the animations altogether.
When the max number of selected items to display is reached, an ellipsis is used to indicate a text overflow. This behavior can be customized with the selectedItemsLabel property that accepts a template string such as ""{0}" items selected" where the parameter is the number of selected items.
| Name | Type | Default | Description |
|---|---|---|---|
| appendTo | any | null | Target element to attach the overlay, valid values are "body" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]="mydiv" for a div element having #mydiv as variable name). |
| ariaFilterLabel | string | null | Defines a string that labels the filter input. |
| ariaLabelledBy | string | null | Establishes relationships between the component and label(s) where its value should be one or more element IDs. |
| autofocusFilter | boolean | false | Applies focus to the filter element when the overlay is shown. |
| autoZIndex | boolean | true | Whether to automatically manage layering. |
| baseZIndex | number | 0 | Base zIndex value to use in layering. |
| defaultLabel | string | Choose | Label to display when there are no selections. Deprecated: Use placeholder instead. |
| dataKey | string | null | A property to uniquely identify a value in options. |
| disabled | boolean | false | When present, it specifies that the element should be disabled. |
| displaySelectedLabel | boolean | true | Whether to show labels of selected item labels or use default label. |
| dropdownIcon | string | pi pi-chevron-down | Icon class of the dropdown icon. |
| emptyFilterMessage | string | No results found | Text to display when filtering does not return any results. |
| filter | boolean | true | When specified, displays an input field to filter the items on keyup. |
| filterMatchMode | string | contains | Defines how the items are filtered, valid values are "contains" (default) "startsWith", "endsWith", "equals", "notEquals", "in", "lt", "lte", "gt" and "gte". |
| filterValue | string | null | When specified, filter displays with this value. |
| filterLocale | string | undefined | Locale to use in filtering. The default locale is the host environment's current locale. |
| filterBy | string | null | When filtering is enabled, filterBy decides which field or fields (comma separated) to search against. |
| filterPlaceHolder | string | null | Defines placeholder of the filter input. |
| hideTransitionOptions | string | .1s linear | Transition options of the hide animation. |
| inputId | string | null | Identifier of the focus input to match a label defined for the component. |
| itemSize | number | null | Height of an item in the list for VirtualScrolling. |
| maxSelectedLabels | number | 3 | Decides how many selected item labels to show at most. |
| name | string | null | Name of the input element. |
| options | array | null | An array of objects to display as the available options. |
| optionLabel | string | label | Name of the label field of an option. |
| optionValue | string | value | Name of the value field of an option. |
| optionDisabled | string | disabled | Name of the disabled field of an option. |
| optionGroupLabel | string | label | Name of the label field of an option group. |
| optionGroupChildren | string | items | Name of the options field of an option group. |
| group | boolean | false | Whether to display options as grouped when nested options are provided. |
| overlayVisible | boolean | false | Specifies the visibility of the options panel. |
| panelStyle | object | null | Inline style of the overlay panel. |
| placeholder | string | null | Label to display when there are no selections. |
| readonly | boolean | false | When present, it specifies that the component cannot be edited. |
| emptyMessage | string | No records found. | Text to display when there is no data. Defaults to global value in i18n translation configuration. |
| emptyFilterMessage | string | No results found | Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration. |
| resetFilterOnHide | boolean | false | Clears the filter value when hiding the dropdown. |
| scrollHeight | string | 200px | Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value. |
| selectedItemsLabel | string | ellipsis | Label to display after exceeding max selected labels e.g. ({0} items selected), defaults "ellipsis" keyword to indicate a text-overflow. |
| selectionLimit | number | null | Number of maximum options that can be selected. |
| showHeader | boolean | true | Whether to show the header. |
| showTransitionOptions | string | .12s cubic-bezier(0, 0, 0.2, 1) | Transition options of the show animation. |
| showToggleAll | boolean | true | Whether to show the checkbox at header to toggle all items at once. |
| style | object | null | Inline style of the element. |
| styleClass | string | null | Style class of the element. |
| tabindex | number | null | Index of the element in tabbing order. |
| tooltip | any | null | Advisory information to display in a tooltip on hover. |
| tooltipStyleClass | string | null | Style class of the tooltip. |
| tooltipPosition | string | top | Position of the tooltip, valid values are right, left, top and bottom. |
| tooltipPositionStyle | string | absolute | Type of CSS position. |
| virtualScroll | boolean | false | Whether the data should be loaded on demand during scroll. |
| Name | Parameters | Description |
|---|---|---|
| onClick | event: Click event | Callback to invoke when component is clicked. |
| onChange | event.originalEvent: browser event event.value: Current selected values event.itemValue: Toggled item value |
Callback to invoke when value changes. |
| onFilter | event.originalEvent: Browser event event.filter: Filter value used in filtering. |
Callback to invoke when data is filtered. |
| onFocus | event.originalEvent: browser event | Callback to invoke when multiselect receives focus. |
| onBlur | event.originalEvent: browser event | Callback to invoke when multiselect loses focus. |
| onPanelShow | - | Callback to invoke when overlay panel becomes visible. |
| onPanelHide | - | Callback to invoke when overlay panel becomes hidden. |
| Name | Parameters |
|---|---|
| item | $implicit: Data of the item |
| group | $implicit: Data of the group item |
| selectedItems | $implicit: value |
| header | - |
| empty | - |
| emptyfilter | - |
| footer | - |
Following is the list of structural style classes, for theming classes visit theming page.
| Name | Element |
|---|---|
| p-multiselect | Container element. |
| p-multiselect-label-container | Container of the label to display selected items. |
| p-multiselect-label | Label to display selected items. |
| p-multiselect-trigger | Dropdown button. |
| p-multiselect-filter-container | Container of filter input. |
| p-multiselect-panel | Overlay panel for items. |
| p-multiselect-items | List container of items. |
| p-multiselect-item | An item in the list. |
| p-multiselect-open | Container element when overlay is visible. |
Angular CDK.


I began with 44mg, insufflated, and chased it with a mouthful of water, tilting my head back to allow moisture to permeate into the membrane area and encourage uptake.
Nearly immediate results; visible tracers, feeling of displacement.
Within 20 minutes I felt a physical sensation of gravity shifting -- instead of gravity pulling down, it was pulling back somewhat (as though I was accelerating). [side-note: the gravity-shift feeling was very similar to a Salvia Divinorum exprience almost exactly a decade ago.]
Inspired by the physical sensation of propulsion, I went for a walk.
Before my walk I made preparations; insufflated another 44mg, totaling an 88mg dose including the 44mg from 20m prior. Took a drink of water (tilting my head back and allowing the moisture to soak into the membrane) and excited the imbibement by smoking 30mg THC.
I walked to one of my usual places of divination. It was a short walk, ~50m at a 55° incline, then ~40m planar, then ~200m slight varying decline, resulting in the arrival at the location I consider to be my Nexus of Spirit.
I then performed a few basic rituals (pleasantries, followed by deconstruction of the Self into a Point through incantation and relaxation of the material Self) and was immediately catapulted into cosmic travel — depths reached previously only through nigh abandonment of the corporeal self. [It is a worthwhile distraction here to note that going 'Outside The Gates' is considered, by some, to be breaking certain Law — dogma easily sidestepped by those understanding of the parting words of Hassan-I Sabbāh.]
Primordeal creation and Grand Structure, all at once, and with it a sense of direct communication with a distinct being. Perhaps what the OTO would classify as the HGA, though it is worth noting that strong undercurrents of Nibiru energy were abound.
No specific message was conveyed, other than a feeling of success in establishing communication.
Then, a wash of Earth realm as I opened my eyes to focus on the stars above, reassuring me of my safety and connection to this sandbox we all play in.
Sat up, trundled on home, reflected, and munched on a tomato.
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.


Completed packages will remain in the unstable channel. Remaining jobs will be canceled.
Remaining build jobs: {{ cancelableCount }}


{% extends "layout.html" %} {% block body %}
The page you are looking for cannot be found.
If you just switched documentation versions, it is likely that the page you were on is moved. You can look for it in the content table left, or go to the homepage.
If you cannot find documentation you want, please open an issue to tell us!
{% endblock %}


Navbar
Home
(current)
Link
Dropdown
Action
Another action
Something else here
Disabled
Search
Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
Slide 7
Slide 8
Slide 9
Slide 9


Is the Apple Watch Series 1 still worth the buy?
Source: Pixabay
Best answer: No, an Apple Watch Series 1 is not worth the buy, especially since you can buy the superior Series 2 model for the same price. The Apple Watch Series 2 came out at the same time as the Series 1, but it has GPS and water-resistance up to 50m, while the Series 1 does not offer these features.
- GPS + water resistance: Apple Watch 2 ($175 at Amazon)
- All that plus cellular: Apple Watch 3 (From $299 at Apple)
Get value for your money
Buying an older version of the Apple Watch can certainly save you some cash, especially when the newest models are starting at $399. On the other hand, all Apple Watches are not created equal. Even though the Apple Watch series 1 and 2 series were both released at the same time, they do not offer the same features. The Series 1 has most of the same specs as the original Apple Watch, only with a faster processor.
By contrast, the Apple Watch series 2 was the first to offer GPS and water resistance. GPS is important if you'd like to use your smartwatch for navigation, and if swimming is your preferred form of exercise, the Apple Watch can track your laps and heart rate for you, up to a depth of 50 meters. All of these features are automatically included with the Apple Watch Series 2, but you won't find them in the Series 1.
Picking the best fit
Though Apple discontinued both the Series 1 and 2, they are still supported by WatchOS updates. However, selling for identical price points by aftermarket sellers. To us, the choice seems clear. More features for the same price? Go for the Apple Watch series 2. In fact, if you have the budget, the Apple Watch 3 is an even better choice because it offers cellular data, even when your iPhone is not around. Whatever your budget, you should get the most out of your purchase when you get higher quality for the same price.
Our pick
Apple Watch 2
Value for price
The Apple Watch 2 is still available at a good price point and supports regular updates from Apple. It was the first model to offer GPS and water resistance.
Even better
Apple Watch 3
Get your data
A smartwatch that can receive calls and function independently of a cellphone offers a whole new world of possibilities. The Apple Watch 3 is still sold on the Apple website with cellular data.
We may earn a commission for purchases using our links. Learn more.


Vocabulary Power Plus for the...
Vocabulary for the College Bound
Vocabulary Power Plus: Book H
Vocabulary Power Plus for the...
Vocabulary for Achievement: Third Course
Vocabulary for Achievement: Second Course
Vocabulary Power Plus for College...
Vocabulary for the High School
Vocabulary for Achievement: Fourth Course
Vocabulary for Achievement: Fifth Course
Glencoe Language Arts: Grammar and...
Vocabulary from Classical Roots -
Glencoe Language Arts: Grammar and...
Vocabulary Power Plus for the...
Vocabulary Power Plus: Book G
Vocabulary from Classical Roots -
Vocabulary from Classical Roots -
Vocabulary Power Plus for College...
Vocabulary Power Plus for the...
Vocabulary Power Plus for the...


This is a list of my scientific and technical publications. (My publications in humour, poetry, and recreational linguistics are in a separate list.)
This list is also available as a BibTeX file.


How is the capital budget being spent in your area?
Use the menu at the top right to view different map layers.
Click on a ward on the map for more detailed information.
Show and hide more detailed information about the project using the button near the top left.


| Source code location: | Utilities/Memory |
| Function prototypes file: | Utilities/Memory/zoltan_mem.h or include/zoltan_mem.h |
| Library name: | libzoltan_mem.a |
| Other libraries used by this library: | libmpi.a. (See note below.) |
Routines:
Zoltan_Array_Alloc: Allocates arrays of dimension n, n=0,1,...,4 |
|
Use in Zoltan:
The memory management utility routines are used extensively in Zoltan and in some individual algorithms. Zoltan developers use these routines directly for most memory management, taking advantage of the error checking and debugging capabilities of the library. |
|
Note on MPI usage:
MPI is used only to obtain the processor number (through a call to MPI_Comm_rank) for print statements and error messages. If an application does not link with MPI, the memory utilities should be compiled with -DZOLTAN_NO_MPI; all output will then appear to be from processor zero, even if it is actually from other processors. |
| Arguments: | |
| file | A string containing the name of the file calling the function. The __FILE__ macro can be passed as this argument. This argument is useful for debugging memory allocation problems. |
| line | The line number within file of the call to the function. The __LINE__ macro can be passed as this argument. This argument is useful for debugging memory allocation problems. |
| n | The number of dimensions in the array to be allocated. Valid values are 0, 1, 2, 3, or 4. |
| d1, d2, ..., dn | The size of each dimension to be allocated. One argument is included for each dimension. |
| size | The size (in bytes) of the data objects to be stored in the array. |
| Returned Value: | |
| double * | A pointer to the starting address of the n-dimensional array, or NULL if the allocation fails. |
| Example: | |
| int ** x = (int **) Zoltan_Array_Alloc ( __FILE__ , __LINE__ , 2, 5, 6, sizeof (int)); | |
| Allocates a two-dimensional, 5x6-element array of integers. |
A macro ZOLTAN_MALLOC is defined in zoltan_mem.h. It takes the argument n, and adds the __FILE__ and __LINE__ macros to the argument list of the Zoltan_Malloc call:
#define ZOLTAN_MALLOC(n) Zoltan_Malloc((n), __FILE__, __LINE__)Using this macro, the developer gains the file and line debugging information without having to type file and line information in each memory allocation call.
| Arguments: | |
| n | The size (in bytes) of the memory-allocation request. |
| file | A string containing the name of the file calling the function. The __FILE__ macro can be passed as this argument. This argument is useful for debugging memory allocation problems. |
| line | The line number within file of the call to the function. The __LINE__ macro can be passed as this argument. This argument is useful for debugging memory allocation problems. |
| Returned Value: | |
| double * | A pointer to the starting address of memory allocated. NULL is returned if n = 0 or the routine is unsuccessful. |
| Example: | |
| struct Zoltan_Struct *b = (struct Zoltan_Struct *) ZOLTAN_MALLOC(sizeof(struct Zoltan_Struct)); | |
| Allocates memory for one Zoltan_Struct data structure. |
A macro ZOLTAN_CALLOC is defined in zoltan_mem.h. It takes the arguments num and size, and adds the __FILE__ and __LINE__ macros to the argument list of the Zoltan_Calloc call:
#define ZOLTAN_CALLOC(num, size) Zoltan_Calloc((num), (size), __FILE__, __LINE__)Using this macro, the developer gains the file and line debugging information without having to type file and line information in each memory allocation call.
| Arguments: | |
| num | The number of elements of the following size to allocate. |
| size | The size of each element. Hence, the total allocation is num * size bytes. |
| file | A string containing the name of the file calling the function. The __FILE__ macro can be passed as this argument. This argument is useful for debugging memory allocation problems. |
| line | The line number within file of the call to the function. The __LINE__ macro can be passed as this argument. This argument is useful for debugging memory allocation problems. |
| Returned Value: | |
| double * | A pointer to the starting address of memory allocated. NULL is returned if n = 0 or the routine is unsuccessful. |
| Example: | |
| int *b = (int *) ZOLTAN_CALLOC( 10, sizeof(int)); | |
| Allocates memory for 10 integers and initializes the memory to zeros. |
A macro ZOLTAN_REALLOC is defined in zoltan_mem.h. It takes the arguments ptr and n, and adds the __FILE__ and __LINE__ macros to the argument list of the Zoltan_Realloc call:
#define ZOLTAN_REALLOC(ptr, n) Zoltan_Realloc((ptr), (n), __FILE__, __LINE__)Using this macro, the developer gains the file and line debugging information without having to type file and line information in each memory allocation call.
| Arguments: | |
| ptr | Pointer to allocated memory to be re-sized. |
| n | The size (in bytes) of the memory-allocation request. |
| file | A string containing the name of the file calling the function. The __FILE__ macro can be passed as this argument. This argument is useful for debugging memory allocation problems. |
| line | The line number within file of the call to the function. The __LINE__ macro can be passed as this argument. This argument is useful for debugging memory allocation problems. |
| Returned Value: | |
| double * | A pointer to the starting address of memory allocated. If the routine is unsuccessful, NULL is returned and *ptr is unchanged. |
| Example: | |
| int n = sizeof(struct Zoltan_Struct);
int *b = (int *) ZOLTAN_MALLOC (n)); b = (int *) ZOLTAN_REALLOC (b, 2*n); |
|
| Reallocates memory for b from length n to length 2*n. |
A macro ZOLTAN_FREE is defined in zoltan_mem.h. It takes the argument ptr, and adds the __FILE__ and __LINE__ macros to the argument list of the Zoltan_Free call:
#define ZOLTAN_FREE(ptr) Zoltan_Free((void **)(ptr), __FILE__, __LINE__)Using this macro, the developer gains the file and line debugging information without having to type file and line information in each memory allocation call.
| Arguments: | |
| ptr | Address of a pointer to the memory to be freed. Upon return, ptr is set to NULL. |
| Example: | |
| ZOLTAN_FREE(& x); | |
| Frees memory associated with the variable x; upon return, x is NULL. |
| Arguments: | |
| new_level | Integer indicating the amount of debugging to use.  Valid options include:
0 -- No debugging. |
| Default: | |
| Memory debug level is 1. |
| Arguments: | |
| None. |
| Arguments: | |
| type | Integer to request type of information required.  These integers
are defined in zoltan_mem.h. Valid options include:
ZOLTAN_MEM_STAT_TOTAL -- The function will return the current total memory allocated via Zoltan's memory allocation routines. |
| Default: | |
| type = ZOLTAN_MEM_STAT_MAXIMUM | Returned Value: |
| int | The number in bytes of the specific requested memory statistic. |
| Example: | |
| total = Zoltan_Memory_Usage (ZOLTAN_MEM_STAT_TOTAL); |
| Arguments: | |
| type | Integer to specify the type of information to be reset .  These integers
are defined in zoltan_mem.h. Valid options include:
ZOLTAN_MEM_STAT_TOTAL -- The function will set the count of total memory allocated via Zoltan's memory allocation routines to zero. |
| Default: | |
| type = ZOLTAN_MEM_STAT_MAXIMUM | |
| Example: | |
| Zoltan_Memory_Reset (ZOLTAN_MEM_STAT_TOTAL); |


HEAVEN AND EARTH A film review by Chuck Dowling Copyright 1996 Chuck Dowling
(1993) *** - C:Tommy Lee Jones, Hiep Thi Le, Joan Chen, Haing S. Ngor, Debbie Reynolds, Dustin Nguyen, Jeffrey Jones.
To enjoy the work of director Oliver Stone you must put aside any personal opinions about him. It's true that he takes himself and his work much too seriously. However, if you are able to just concentrate on his films and treat them as works of fiction based on actual events, then you'll see that he's a great filmmaker. Not counting the awful "Natural Born Killers", he has given us some great films such as "Platoon", "Talk Radio" and one of my favorite films of all time, "JFK". I had huge expectations for this film, some of which were met, but for the most part they were not.
"Heaven and Earth" is based on the writings of Le Ly Hayslip, who grew up in a small village in Vietnam only to see it ripped apart by the ravages of war. In the film's first act, we see her life in the village before the war. The people there are peaceful and content with life. When the war begins we see the horrors brought about by both the Viet Cong and the South Vietnamese. Both groups try to coerce the villagers to join their side. Many of the villagers are accused by each side of being traitors and are punished and tortured for information. This part of the film, showing the heartwrenching anguish of what these people went through, especially Le Ly, packs quite an emotional punch and ranks among Stone's best work. To my knowledge, this is the first mainstream American film to show this side of the war.
Having said that, it's hard to understand why the film becomes such a simplistic, easily predictable soap opera. Le Ly and her mother leave the village and head to Saigon where the two of them become housekeepers for a wealthy couple. The husband seduces Le Ly and she becomes pregnant. The wife then finds out about the affair and banishes Le Ly and her mother from the house. Her mother then returns to the village while Le Ly finds work selling cigarettes, liquor, and eventually herself to American GI's. There's nothing interesting as far as plot here, and this part of the film could have easily been done without.
Just as the film reaches it's lowest point, Sgt. Steve Butler (Jones) shows up. At first he appears to be a nice guy just looking for someone to talk to. It's obvious to the audience, however, that he's too good to be true. He marries Le Ly and takes her back with him to America. It's back in the states when we start to learn that the war has destroyed Steve's soul as his character becomes a cliched, drunken maniac who staggers around, beats up on Le Ly, and spouts out theories about Black Ops and the Special Forces (typical Stone dialogue). She eventually gets away from him and she returns to her homeland to visit her family. At this point, the film tries to end on more highly charged emotional scenes. However, the first act was so powerful and moving that by this point you have nothing left to give to these characters.
So is "Heaven and Earth" a good movie? Yes and no. It's a very well acted and directed film. The story however, started out original and then sank into easy predictability. Also, it's not the kind of film that is made for entertainment or enjoyment. You can't leave the film saying to yourself, "Wow, I enjoyed the things that happened in that movie." Would I ever watch the film again or recommend it to anyone? Probably not. Although, the first act was good enough to give the film a better than average rating.
-- Chuck Dowling Visit Chuck's Movie Reviews at http://users.southeast.net/~chuckd21/ Over 1,500 movies rated and/or reviewed! Movie news, box office reports, film related links, and reader's polls and reviews.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


This is the example page with settings view. Feel free to use it in your project.
Load new page with push
COBI.Bike toggle
COBI.Bike toggle active
Profile
Birth date
Email
Username


(1513) Moses writes Genesis
(1512) Moses writes Exodus and Leviticus
(1473) Moses writes Numbers, Deuteronomy, and Job
(1450) Joshua writes the book bearing his name
(1100) Judges is completed by Samuel
(1090) Ruth is written by Samuel
(1078) 1 Samuel completed by Samuel, Gad, and Nathan
(1040) 2 Samuel written by Gad and Nathan
(607) Jeremiah writes his Lamentations
(580) 1 & 2 Kings and Jeremiah are completed by him
(460) Ezra writes the book bearing his name and 1 & 2 Chronicles
(443) Nehemiah is completed
(475) Esther is written by Mordecai
(460) Psalms is compiled by Ezra
(717) Proverbs is compiled by King Agur
(1020) Song of Solomon is written by King Solomon
(1000) Ecclesiastes is completed by King Solomon
(732) Isaiah writes his prophetic book
(591) Ezekiel writes his prophetic book
(536) Daniel writes his prophetic book
(745) Hosea writes his prophetic book
(820?) Joel writes his prophetic book
(804) Amos writes his prophetic book
(607) Obadiah writes his prophetic book
(844) Jonah writes his prophetic book
(717) Micah writes his prophetic book
(632) Nahum writes his prophetic book
(628?) Habakkuk writes his prophetic book
(648) Zephaniah writes his prophetic book
(520) Haggai writes his prophetic book
(518) Zechariah writes his prophetic book
(443) Malachi writes his prophetic book
(41) The gospel of Matthew is completed
(60-65) The gospel of Mark is completed
(56-58) The gospel of Luke is completed
(98) The gospel of John and his 3 letters are completed
(61) The book of Acts is written
(56) The letters of Romans is completed
(55) The letter of 1 & 2 Corinthians are completed
(50-52) The letter of Galatians is completed
(60-61) The letters to Ephesians, Philippians, Colossians and Philemon are completed
(61) The letters of Hebrews is completed
(50) The letter of 1 Thessalonians is completed
(51) The letter of 2 Thessalonians is completed
(61-64) The letter of 1 Timothy and Titus is completed
(65) The letter of 2 Timothy is completed
(65) The letter of Jude is completed
(62) The letter of James is completed
(62-64) Peter's first letter is completed
(64) Peter's second letter is completed
(96) The letter of the Revelation is completed