sfftk.readers
package¶
Note
Each module in this package implements an ad hoc reader for a particular file type. The naming convention is
<ext>reader
, where<ext>
is a short and unique description for that file format, typically (but not exclusively) the file extension for the file format e.g.am
for AmiraMesh henceamreader
module. By ad hoc we mean that the module is designed to conform to the data model of the file format. Theformats
package adapts the ad hocness to that of EMDB-SFF data model.Each module should implement at top-level function get_data that takes a string filename and
*args
,**kwargs
and returns an object representing a segmentation from the relevant file format.
AmiraMesh reader¶
sfftk.readers.amreader
¶
Ad hoc reader for AmiraMesh files
SuRVoS reader¶
sfftk.readers.survosreader
¶
Ad hoc reader for SuRVoS segmentation files
-
class
sfftk.readers.survosreader.
SuRVoSSegmentation
(fn, dataset='/data', mask_value=1)[source]¶ Bases:
object
A SuRVoS segmentation
SuRVoS segmentations are based on integer annotations. To the best of my understanding no textual information is saved in segmentation.
-
property
data
¶ The underlying segmentation data
-
property
shape
¶ The shape of the segmentation volume
-
property
-
sfftk.readers.survosreader.
get_data
(fn, *args, **kwargs)[source]¶ Main entry point for reader
We need to return an object with a handle on the segments:
each segment is a 3D volume with only that segments voxel values retained
we reference each segment on the segmentation through an index-like interface e.g. s1 = Segmentation[1] returns the segmentation with annotation value of ‘1’
s = SuRVoSSegmentation(fn) s.segment_ids() # returns a list of segment IDs s[s.segment_ids()[0] # gets the first segment
CCP4 mask reader¶
sfftk.readers.mapreader
¶
Ad hoc reader for CCP4 masks
References¶
The following article is useful as it exposes many internals of map files:
-
class
sfftk.readers.mapreader.
Map
(fn, *args, **kwargs)[source]¶ Bases:
object
Class to encapsulate a CCP4 mask
-
fix_mask
(mask_value=1.0, voxel_values_threshold=3)[source]¶ Try to fix this mask
A mask should have only two voxel values: some non-zero value (usually 1) and zero (0) for masked-out regions. Sometimes the process of manipulating the mask (e.g. volume rotation) relies on interpolation, which converts a mask to have more than two voxel values. This function attempts to fix that provided that the number of voxel values is not greater than voxel_value_threshold.
-
property
is_mask
¶ Determine if this is a mask or not
- Return bool status
mask or not
-
property
labels
¶ A string of labels found in the CCP4 mask file
-
read
(f, header_only=False)[source]¶ Read data from an EMDB Map mask
- Parameters
f (file) – file object
header_only (bool) – only read the header [default: False]
- Return int status
0 on success; fail otherwise
-
property
skew_matrix
¶ Skew matrix as a numpy array
-
property
skew_matrix_data
¶ Skew matrix data as a space-separated string
-
property
skew_translation
¶ Skew translation as a numpy array
-
property
skew_translation_data
¶ Skew translation as a space-separated string
-
property
voxels
¶ The voxel mask
-
IMOD reader¶
sfftk.readers.modreader
¶
Ad hoc reader for IMOD (.mod) files.
.mod files are chunk files and loosely follow the Interchange File Format (IFF). In summary, IFF files consist of a four-byte header (all caps chunk name e.g. ‘IMOD’) followed by an integer of the number of bytes in the chunk. The chunk is then structured according to the author’s design requirements. Not all .mod chunks follow this convention (e.g. ‘OBJT’ chunks do not include the size of the chunk immediately after the chunk ID.
A description of the structure of .mod files can be found at the following URL: http://bio3d.colorado.edu/imod/betaDoc/binspec.html
This module consists of a set of classes each identified by the respective chunk names. The following patterns are observed in the design of these classes:
The name of the class is the name of the chunk e.g. OBJT class refers to OBJT chunks.
All classes have one public method: read(f), which takes a file handle and returns a file handle at the current unread position.
Some chunks are nested (despite the serial nature of IFF files). Contained chunks are read with public methods defined as
add_<chunk>
e.g. OBJT objects are containers of CONT objects and therefore have aadd_cont()
method which takes a CONT object as argument. Internally, container objects use (ordered) dictionaries to store contained objects.All chunk classes inherit from
object
class and have theobject.__repr__()
method implemented to print objects of that class.
In addition, there are several useful dictionary constants and functions and classes (flags) that interpret several fields within chunks.
Note
The order of classes is based on their position in the module. This can be changed if needed.
The most important classes are modreader.IMOD
, modreader.OBJT
, modreader.CONT
and modreader.MESH
-
class
sfftk.readers.modreader.
CLIP
(f)[source]¶ Bases:
object
CLIP chunk class
- Parameters
f (file) – file handler for the IMOD segmentation file
-
class
sfftk.readers.modreader.
CLIP_FLAGS
(*args, **kwargs)[source]¶ Bases:
sfftk.readers.modreader.FLAGS
Flags in the CLIP chunk
-
class
sfftk.readers.modreader.
CONT
(f)[source]¶ Bases:
object
CONT chunk class
- Parameters
f (file) – file handle of the IMOD segmentation file
-
class
sfftk.readers.modreader.
CONTOUR_FLAGS
(*args, **kwargs)[source]¶ Bases:
sfftk.readers.modreader.FLAGS
Flags in the CONT chunk
-
class
sfftk.readers.modreader.
COST
(f)[source]¶ Bases:
object
COST chunk class
- Parameters
f (file) – file handle of the IMOD segmentation file
-
class
sfftk.readers.modreader.
COST_FLAGS
(*args, **kwargs)[source]¶ Bases:
sfftk.readers.modreader.FLAGS
Flags in the COST chunk
-
class
sfftk.readers.modreader.
FLAGS
(int_value, num_bytes, endian='little')[source]¶ Bases:
object
Base class of bit flags
-
class
sfftk.readers.modreader.
IMAT_FLAGS
(*args, **kwargs)[source]¶ Bases:
sfftk.readers.modreader.FLAGS
Flags in the IMAT chunk.
-
class
sfftk.readers.modreader.
IMOD
(f)[source]¶ Bases:
object
Class encapsulating the data in an IMOD file
The top-level of an IMOD file is an IMOD chunk specifying various data members.
-
property
x_length
¶ The length of X side of the image in angstrom
-
property
y_length
¶ The length of Y side of the image in angstrom
-
property
z_length
¶ The length of Z side of the image in angstrom
-
property
-
class
sfftk.readers.modreader.
MCLP
(f)[source]¶ Bases:
object
MCLP chunk class
Model clipping plane parameters
- Parameters
f (file) – file handle of the IMOD segmentation file
-
class
sfftk.readers.modreader.
MCLP_FLAGS
(*args, **kwargs)[source]¶ Bases:
sfftk.readers.modreader.FLAGS
Flags in the MCLP chunk
-
class
sfftk.readers.modreader.
MEPA
(f)[source]¶ Bases:
object
MEPA chunk class
- Parameters
f (file) – file handle of the IMOD segmentation file
-
class
sfftk.readers.modreader.
MEPA_FLAGS
(*args, **kwargs)[source]¶ Bases:
sfftk.readers.modreader.FLAGS
Flags in the MEPA chunk
-
class
sfftk.readers.modreader.
MESH
(f)[source]¶ Bases:
object
MESH chunk class
- Parameters
f (file) – file handle of the IMOD segmentation file
-
class
sfftk.readers.modreader.
MESH_FLAGS
(*args, **kwargs)[source]¶ Bases:
sfftk.readers.modreader.FLAGS
Flags in the MESH chunk
-
class
sfftk.readers.modreader.
MEST
(f)[source]¶ Bases:
object
MEST chunk class
- Parameters
f (file) – file handle of the IMOD segmentation file
-
class
sfftk.readers.modreader.
MINX
(f)[source]¶ Bases:
object
MINX chunk class
Model to image transformation Documented as 72 bytes but works with 76 bytes
- Parameters
f (file) – file handle of the IMOD segmentation file
-
class
sfftk.readers.modreader.
MODEL_FLAGS
(*args, **kwargs)[source]¶ Bases:
sfftk.readers.modreader.FLAGS
Flags in the MODEL chunk
-
class
sfftk.readers.modreader.
MOST
(f)[source]¶ Bases:
object
MOST chunk class
Class encapsulating storage parameters for the top-level
sfftk.readers.modreader.IMOD
chunk.- Parameters
f (file) – file handle of the IMOD segmentation
-
class
sfftk.readers.modreader.
OBJECT_FLAGS
(*args, **kwargs)[source]¶ Bases:
sfftk.readers.modreader.FLAGS
Flags in the OBJT chunk
-
class
sfftk.readers.modreader.
OBJECT_SYM_FLAGS
(*args, **kwargs)[source]¶ Bases:
sfftk.readers.modreader.FLAGS
Additional flags in the OBJT chunk
-
class
sfftk.readers.modreader.
OBJT
(f)[source]¶ Bases:
object
OBJT chunk class
An IMOD file has several
sfftk.readers.modreader.OBJT
chunks, each of which contain the data either as contours (sfftk.readers.modreader.CONT
) or meshes (sfftk.readers.modreader.MESH
). OBJT chunks also containsfftk.readers.modreader.CLIP
,sfftk.readers.modreader.IMAT
,sfftk.readers.modreader.MEPA
and asfftk.readers.modreader.OBST
storage chunk.
-
class
sfftk.readers.modreader.
SLAN
(f)[source]¶ Bases:
object
SLAN chunk class
- Parameters
f (file) – file handle of the IMOD segmentation file
-
class
sfftk.readers.modreader.
STORE
(f)[source]¶ Bases:
object
Generic storage class for models (MOST), objects (OBST), contours (COST), and meshes (MEST)
- Parameters
f (file) – file handle of the IMOD segmentation file
-
class
sfftk.readers.modreader.
VIEW
(f, first_view=False)[source]¶ Bases:
object
VIEW chunk class
- Parameters
f (file) – file handle of the IMOD segmentation file
-
class
sfftk.readers.modreader.
VIEW_FLAGS
(*args, **kwargs)[source]¶ Bases:
sfftk.readers.modreader.FLAGS
Flags in the VIEW chunk
-
sfftk.readers.modreader.
angstrom_multiplier
(units)[source]¶ Determine a multiplier to convert units to angstrom
\[1\textrm{Å} = 10^{-10}\textrm{m} \Rightarrow 1\textrm{m} = 10^{10}\textrm{Å}\]Consider some generic unit U with a power of 10
\[1\textrm{U} = 10^x \textrm{m} \Rightarrow 1\textrm{m} = 10^{-x}\textrm{U}\]We need a unit factor that relates Å to U. Dividing both expressions for \(1\textrm{m}\)
\[\begin{aligned} 1 = \frac{10^{10}}{10^{-x}} \textrm{Å per U (Å/U)} = 10^{10 + x} \textrm{Å/U} \end{aligned}\]To convert U to Å we multiply by \(10^{10 + x}\) Å/U
Example: To convert 3 nm to Å we consider that \(x = -9\) for nm. So:
\[\begin{split}\begin{align} 3\textrm{nm} & = 3\textrm{nm} \times 10^{10 + (-9)}\textrm{Å/nm} \\ & = 3\textrm{nm} \times 10^{10 - 9}\textrm{Å/nm} \\ & = 3\textrm{nm} \times 10\textrm{Å/nm} \\ & = 30\textrm{Å} \end{align}\end{split}\]
-
sfftk.readers.modreader.
find_chunk_length
(f)[source]¶ Determine the size (in bytes) of the current chunk. Also, return the name of the next chunk.
Assumes that current position in the file is immediately after the chunk header.
-
sfftk.readers.modreader.
get_data
(fn)[source]¶ Extract chunks from IMOD model file pointed to by the handle f
- Parameters
fn (str) – name of IMOD file
- Raises
ValueError – if it doesn’t start with an IMOD chunk
ValueError – if the file lacks an IEOF chunk
-
sfftk.readers.modreader.
print_model
(fn)[source]¶ Pretty print the IMOD model
Arguments: :param str fn: name of IMOD file # :param mod: an object of class IMOD containing all data # :type mod:
sfftk.readers.modreader.IMOD
# :param file output: the name of the output to which data should be sent
Segger reader¶
sfftk.readers.segreader
¶
Ad hoc reader for Segger files
-
class
sfftk.readers.segreader.
SeggerSegmentation
(fn, *args, **kwargs)[source]¶ Bases:
object
Encapsulation of a Segger segmentation
-
property
descriptions
¶ Returns a dictionary of descriptions for each region
-
property
file_name
¶ File name
-
property
file_path
¶ File path
-
property
format
¶ Format of the segmentation
-
property
format_version
¶ Format version
-
property
header
¶ Collate group-level attributes in a dictionary
-
property
ijk_to_xyz_transform
¶ Image-to-physical space transform
-
property
map_level
¶ Map level (contour level)
-
property
map_path
¶ Path to map file
-
property
map_size
¶ Map dimensions (I, J, K)
-
property
mask
¶ The mask (TM)
-
property
name
¶ Name of the segmentation
-
property
parent_ids
¶ A dictionary of region_ids to parent_ids
-
property
ref_points
¶ A dictionary of region_ids to ref_points
-
property
region_colours
¶ A dictionary of region_ids to region_colors
-
property
region_ids
¶ An iterable of region_ids
-
property
root_parent_ids
¶ The
-
simplify_mask
(mask, replace=True)[source]¶ Simplify the mask by replacing all region_ids with their root_parent_id
The region_ids and parent_ids are paired from which a tree is inferred. The root of this tree is value 0. region_ids that have a corresponding parent_id of 0 are penultimate roots. This method replaces each region_id with its penultimate parent_id. It simplifies the volume.
-
property
smoothing_levels
¶ A dictionary of region_ids to smoothing_levels
-
property
-
sfftk.readers.segreader.
get_data
(fn, *args, **kwargs)[source]¶ Gets segmentation data from a Segger file
-
sfftk.readers.segreader.
get_root
(region_parent_zip, region_id)[source]¶ Return the penultimate parent_id for any region_id.
The penultimate parent is one layer below the root (0). The set of penultimate parents are the distinct regions contained in the segmentation. They correspond to putative functional regions.
Stereolithography¶
sfftk.readers.stlreader
¶
Ad hoc reader for Stereolithography (STL) files
Depends on the numpy-stl package
Reads both ASCII and binary files
Amira HyperSurface reader¶
sfftk.readers.surfreader
¶
Ad hoc reader for Amira HyperSurface files
-
class
sfftk.readers.surfreader.
HxSurfSegment
(material, vertices, triangles, prune=True)[source]¶ Bases:
object
Generic HxSurface segment class
The
ahds
package provides a better abstraction of this filetype-
property
colour
¶ The colour of the segment
-
property
id
¶ The segment ID
-
property
name
¶ The name of the segment
-
property
triangles
¶ A list of triangles (lists with 3 vertex IDs) in this segment
-
property
vertices
¶ A dictionary of vertices in this segment indexed by vertex ID
-
property
-
sfftk.readers.surfreader.
extract_segments
(af, *args, **kwargs)[source]¶ Extract patches as segments
- Parameters
af (
ahds.AmiraFile
) – an AmiraFile object- Return dict segments
a dictionary of segments with keys set to Material Ids (voxel values)
-
sfftk.readers.surfreader.
get_data
(fn, *args, **kwargs)[source]¶ Get segmentation data from the Amira HxSurface file
- Parameters
fn (str) – file name
- Return header
AmiraHxSurface header
- Rtype header
- Return dict segments
segments each of class
sfftk.readers.surfreader.HxSurfSegment


Individual enterpreneur
(Software architect, Team-Lead, Contractor)
CTO (2017-2018)
Software architect (2016-2017)
Team-Lead (2014-2015)
Senior software developer (2014)
During my work at Netology Group there were a lot of happy moments and challenging tasks. I tried to keep up with the very dynamic development of the company, tried to do my best and helped my colleagues to become a better versions of themselves :)
Here I learned a lot, and I was fortunate enough to grow up from a startup employee to a software architect/CTO in a mature and solid company (one of the biggest EduTech companies in Russia)
Here are some of my achievements, which I consider the most significant:
full-stack developer
(leading developer)
full-stack developer
(In parallel with the work in FG "Life")
Junior
|> Middle
|> Leading specialist
(In parallel with incomplete PhD)
You can look at the following projects as my code examples:
CodeSandbox (Demo: https://netology.ru/netcoder ) - this is a small project in which I have participated as software architect and fullstack developer. There are SPA react/redux app, rails API backend/back-office + Code Executor written using Elixir.
It is about 4 weeks were spent on this project (in my spare time, it is a home project). It is not the best my work (because it is part-time job), but some approaches to software development can be reviewed.
SampleCalendar - This small sample React component, written as interview assignment for company oneclass.com bootstrapped with create-react-app. A couple of evenings were spent on this project
Also you can inspect https://foxford.ru, https://netology.ru, https://academy.hh.ru, https://netology.ru, https://edmarket.ru. For each of these large portals I have implemented a lot of features and code specs.
I'm interested in programming in the broadest sense of the word and I really like learning new things!
During my career, I managed to get acquainted with different approaches to development and to do many useful things for companies in which I was fortunate enough to work.
I worked with the following languages and their ecosystems: Ruby, JavaScript (ES3 / ES5 / CoffeeScript / ES2015 + / ElmLang / PureScript / nodejs), Erlang / Elixir, Scala (very little Java and Kotlin), Haskell, Go-lang, Clojure, C / C ++, Bash, Python.
I have an experience in the role of team lead, software architect and in the role of Head of the Development Department / CTO. I interacted quite closely with colleagues from product divisions, marketers, designers, sales departments, business representatives and partners / contractors from outside companies, so I can well imagine how to make development process effective and transparent for business.
I'm sure that I could quickly adapt and be very productive in any company with a developed culture of software development.
I have a personal development plan for the next couple of years. I quickly learn and try to keep the spirit of juniority.
At the moment, I'm considering the vacancy options for the keywords Software Architect / Senior Fullstack / Senior Frontend / Senior Backend . At the moment, I'm more interested in dealing with technical issues / software architecture than with people management.
I spend free time with my family, studying electrical engineering / robotics / professional books about software engineering, studying at various online courses/master-classes. If you are interested in working with me you can walk around the links in the header of this CV - get acquainted with my presentations / speeches / take a look at various demo projects ^^ I will be happy to answer your questions :)


Introduction to data and resources available at Statistics Bureau Japan
Organised by: The GenTime Project at the Department of Sociology, Oxford, sponsored by the European Research Council, the Japan Society for the Promotion of Science, and the Economic and Social Research Council
Date: 9 January 2020
Location: LLR Room, Nuffield College, University of Oxford (QR code contains Google Map link)
Thursday, January 9, 2020 |
||
| Time | Title of Presentation | Presenter |
| 11:00-11:30 | Coffee | |
| 11:30-11:50 | Welcome address | Prof. Man-Yee Kan (Principal Investigator of ERC GenTime project) and Prof. Christiaan Monden (Head of Department of Sociology, University of Oxford) |
| 11:50-11:55 | Opening remarks | Prof. Nobuo Ueno (Director of JSPS London) |
| 12:00-13:00 | Using Statistics Bureau Japan Data at an onsite facility | Prof. Hiroe Tsubaki (Director-General, The Institute of Statistical Mathematics, Tokyo; former president of the National Statistics Centre, Japan) |
| 13:00-14:00 | Lunch | |
| 14:00-15:00 | Statistics Bureau Japan: Anonymized microdata available to researchers | Dr. Kiyomi Shirakawa (a current Deputy Director at the National Statistics Centre) |
| 15:00-15:30 | Coffee/Tea | |
| 15:30-17:30 | Research based on the microdata from the Japanese Statistics Bureau | Prof. Nobuko Nagase (Ochanomizu University) and Minoru Yagishita (Tokyo Metropolitan University) |
| 17:30-18:00 | JSPS London funding opportunities |
If you have any further queries, please feel free to get in touch with us at<EMAIL_ADDRESS>We are looking forward to welcoming you!
Prof. Man-Yee Kan, Dr. Ekaterina Hertog, Dr. Muzhi Zhou, Dr. Shohei Yoda, and Dr. Kamila Kolpashnikova


Beta This is a test version of the layout of this page. Take the survey to help us improve it
Form
We will set out the arrangements for requesting changes to your AGE facility for 2016 in an updated version of the Operational Performance Management Rules 2015 to 2016.
For further information about AGE, refer to the apprenticeships section of our website. If you have additional queries, please contact your Central Delivery Service adviser in the first instance.
Use these forms to request changes to your AGE facility for the 2015 to 2016 financial year, or to request a new facility.
The Operational Performance Management Rules 2015 to 2016 describes the process to request an increase to your Apprenticeship Grant for Employers (AGE) facility for the 2015 to 2016 financial year.
You must request an increase if you are likely to exceed your facility. You can also use the form to request a new facility for the 2015 to 2016 financial year if you have not previously been allocated one, but you must already have a contract with us for 16 to 18 apprenticeships or adult skills budget funding.
You can use the form at any time before 30 June 2016.
For further information about AGE, refer to the apprenticeships section. If you have additional queries, please contact your Central Delivery Service adviser in the first instance.


Animation, Adventure, Comedy
After landing the gig of a lifetime, a New York jazz pianist suddenly finds himself trapped in a strange land between Earth and the afterlife.
Animation, Action, Adventure
When Hiccup discovers Toothless isn't the only Night Fury, he must seek "The Hidden World", a secret Dragon Utopia before a hired tyrant named Grimmel finds it first.


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import uk.gov.hmrc.govukfrontend.views.html.components._ @this(govukPanel: GovukPanel) @(messageInboxUrl: String, panel: Panel) @govukPanel(panel)
You do not need to do anything now.
We will contact you if we need more information.


TASK-PA
DASHBOARD
Todays Tasks
(current)
All Tasks
Compeleted Tasks
Add Task
Search
Add Task
Repeat
Repeat...
Weekly
Monthly
Annually
Category
Choose Category...
Personal
Work
Family
Bills
Priority
Set Priority...
Critical
Important
Normal
Low
Reminder
Set Reminder...
1 hr before deadline
1 day before deadline
1 week before deadline
Create Task


Home
Compiler Links and Resources
Resources about Programming Languages
/r/compilers
@ftomassetti
godbolt.org Compiler Explorer
Lambda the Ultimate
astexplorer.net


Nepal's KP Sharma Oli discharged from hospital after dialysis
Nepal's Prime Minister Oli admitted to intensive care unit of hospital in Kathmandu raising concerns country's future.
Nepali Prime Minister KP Sharma Oli was discharged from a private hospital in Kathmandu late on Thursday after being hospitalised the previous day - raising concerns about his health and Nepal's future.
Oli, 66, was rushed to Grande Hospital in the country's capital on Wednesday, with his spokesmen saying it was a "routine checkup," but local media have reported that he underwent dialysis for his kidney.
The leader of Nepal was admitted to the intensive care unit of the hospital, where he underwent dialysis for renal disease, according to Kantipur, Nepal's national newspaper.
The Himalyan Times also reported that the prime minister underwent a second dialysis on Thursday after undergoing the same treatment on Wednesday.
In August, Oli travelled twice to Singapore, where doctors removed excess antibodies which can reject a transplanted kidney according to doctors.
Oli, chairman of the ruling Nepal Communist Party, underwent a kidney transplant 12 years ago in India. Since then, he has frequently travelled to India, Thailand and Singapore for follow-up treatments.


Pasta Alla Norma
A delicious Sicilian pasta dish, with Aubergines in a tomato sauce topped with fresh basil.
- ⏲ Prep time: 15 min
- 🍳 Cook time: 40 min
- 🍽 Servings: 4
Ingredients
- 3 aubergines (900g)
- 300g spaghetti
- 100ml olive oil
- 5 garlic cloves, minced
- 1 chilli (or 1 tsp of dried chilli flakes)
- 2 x 400g tinned chopped tomatoes
- 1 teaspoon dried oregano
- 1 teaspoon caster sugar
- Fresh basil
Directions
- Preheat oven to 220c (fan), or gas mark 7.
- Use a peeler to shave off alternating strips on your aubergines, so they looked striped, like zebras.
- Then cut the aubergine widthways into 1cm thick slices. Place into a bowl with 75ml of olive oil, a good pinch of salt and black pepper. Coat the aubergines, then spread them onto two or three baking paper-lined trays. Roast for 30-35 minutes until dark brown.
- Whilst the aubergines are cooking, put two tablespoons of olive oil into a frying pan or pot on a medium-high heat. Add garlic and chillis and fry for 1 minute (don’t burn them!). Add tinned tomatoes, oregano, sugar and a pinch of salt and pepper to the pot. Reduce heat to medium low and cook until the sauce has thickened.
- Cook the pasta according to packet instructions, once al dente, drain and retain some of the pasta water.
- Once cooked, add the aubergine to the pasta sauce and mix well. Then add the spaghetti to the aubergine and sauce mixture, making sure everything is evenly coated. Add some of the pasta water if required to loosen the sauce, then top with fresh basil.
- Check for seasoning, then serve immediately.
Contribution
Recipe tags:
italian
pasta
fasting


class MetaBack:
Undocumented
| Method | __init__ |
Undocumented |
| Instance Variable | positions |
Undocumented |
| Instance Variable | prices |
Undocumented |
| Instance Variable | open_money |
Undocumented |
| Instance Variable | iteration |
Undocumented |
| Instance Variable | time_mult |
Undocumented |
| Instance Variable | bought_at |
Undocumented |
| Instance Variable | sold_at |
Undocumented |
| Instance Variable | rsi |
Undocumented |
| Method | buy |
Undocumented |
| Method | sell |
Undocumented |
| Method | get_revaluation |
Undocumented |
| Method | set_prices |
Undocumented |
| Method | calc_coef |
Undocumented |
| Method | should_close |
Undocumented |
| Method | should_open |
Undocumented |
| Method | check_everything |
Undocumented |
| Method | run |
Undocumented |
| Instance Variable | _coef |
Undocumented |
| Instance Variable | _pos_coef |
Undocumented |
| Instance Variable | _macd_diff_last |
Undocumented |
| Instance Variable | _macd_diff_high |
Undocumented |
| Instance Variable | _macd_diff_low |
Undocumented |
| Instance Variable | _macd_fast_last |
Undocumented |
| Instance Variable | _macd_slow_last |
Undocumented |
| Instance Variable | _spread_last |
Undocumented |
| Instance Variable | _cci_last |
Undocumented |
| Instance Variable | _loop_i |
Undocumented |
| Instance Variable | _pre_open_reval |
Undocumented |
| Instance Variable | _sl |
Undocumented |
| Instance Variable | _cci |
Undocumented |
| Instance Variable | _macd |
Undocumented |
| Instance Variable | _ccis |
Undocumented |
| Instance Variable | _macds |
Undocumented |
| Instance Variable | _spreads |
Undocumented |
| Instance Variable | _finrez_results |
Undocumented |
| Instance Variable | _spread_mean |
Undocumented |
| Instance Variable | _cci_high_limit |
Undocumented |
| Instance Variable | _cci_low_limit |
Undocumented |
| Instance Variable | _waiting_after_loss |
Undocumented |
| Instance Variable | _tp_counter |
Undocumented |
| Instance Variable | _sl_counter |
Undocumented |
Undocumented
| Parameters | sec | Undocumented (type: str ) |
| qty | Undocumented (type: float ) |


We will mainantain homogenaity in our development environment by using a linter that will automaticly conform code to a pre-defined style, and by using gulp (a JavScript compiler), which will combine different modules and files into the distrobution file. Our code will be kept in sync using git.
We will use a vagrant box to develop the server. Even though node and npm already do a lot to manage versions of dependencies, this will allow us to manage the version of node itself. This will also allow us to set up a local Mongo database instance easily.


I am an Human resource generalist who is fascinated by Tech.
Welcome to my portfolio!
I am currently in my sophomore in the University of Lagos studying Industrial Relations and Personnel Management. I am also a National Diploma holder in Business Administration and Management from Yaba College of Technology which i graduated with an upper credit. During my course in Yabatech we had Human capital management as a course which peaked my interest in Human resource management. I am also interested in web development during my free time i learn more about web development and tech in general. I've replicated some designs with the use of HTML5, CSS3, Bootstrap 3 and Javascript. Whenever i need to relax i listen to music or watch movies and series.
The ability to help organisations possess great human resource and helping them keep up the motivation and productivity in their organisation is what i love.
Skills i possess: Proficient knowledge of Microsoft Package, Designing Whiteboard Animations and Canva Designs, Research skills.
Work Experience:
ADMINISTRATIVE INTERN
Enechionyia and co. (Accountants) / March 2018 - June 2018
SIWES (Student Industrial Work Experience Scheme) at Enechionyia and co. an accounting firm in Lagos, Nigeria.
Duties:
Drafting, typing and communicating reports to clients.
Accompanying and Assisting my supervisor with weekly visits to clients for inventory sorting.
I like to code things from scratch, and enjoy seeing designs come to life in the browser.
Languages i know: HTML, CSS, Bootstrap, Javascript
These are some of my works. NB: The designs were gotten from Frontend masters
Do you want to know more about me or have an idea you would like to collaborate on?


The goal of the Seattle project is to build an open and free computational platform that makes distributed computation available to everyone. We believe that humanity benefits from an open, volunteer-driven, peer-to-peer infrastructure that can solve important computational tasks for users. The Seattle project is being used to support students around the world, help researchers make the Internet a safer and more robust place, and Seattle is being used to help families in developing regions share photos to keep in touch. You, too, can make a difference just by running our software!
Quick Links
FAQ
Q: How do I ensure that a specific project I want to support gets credit for my resources?
A: The project should have a link to a specific installer they want you to use on their page. Use their installer.
Q: I only want a specific project to be able to use my resources, how do I control this?
A: The project may have two different types of installers, restricted and free. A restricted installer will make it so that the project can't trade resources on your machine to another project in exchange for resources elsewhere. Please keep in mind that a restricted installer may make it harder for a project to get the type of resources they need.
Q: I have a project and I want to use Seattle resources, how do I get started?
A: Simply register on our sharing site, Seattle Clearinghouse. Once you log into your account, you will find a link that you can give others to donate on your behalf. You should look through our tutorials for information about programming in Seattle.
Q: My question is not answered. Who do I contact?
A: Please contact our team at<EMAIL_ADDRESS>if you have any further questions concerning Seattle.


- testBasicInfection() - Method in class com.ram.kainterview.TotalInfectionTest
-
Generate random basic user graph and test total infection
- testBasicUserGeneration() - Method in class com.ram.kainterview.user.UserGeneratorTest
-
Tests standard user generation and ensures no duplication and checks
maximum student size restriction
- testInvalidLevels() - Method in class com.ram.kainterview.user.UserGeneratorTest
-
Checks illegal parameter for number of levels
- testInvalidMaximumStudents() - Method in class com.ram.kainterview.user.UserGeneratorTest
-
Checks illegal parameter for maximum number of students
- testInvalidMinimumUsers() - Method in class com.ram.kainterview.user.UserGeneratorTest
-
Checks illegal parameter for minimum number of users
- testLargeGeneration() - Method in class com.ram.kainterview.user.UserGeneratorTest
-
Stress test for a large user generation
- testRandomInfection() - Method in class com.ram.kainterview.StrictLimitedInfectionTest
-
Stress test random infection
- testSingleUser() - Method in class com.ram.kainterview.user.UserGeneratorTest
-
Ensures functionality for single user generation (edge case)
- testSingleUserInfection() - Method in class com.ram.kainterview.StrictLimitedInfectionTest
-
Tests infection for single user
- testSingleUserInfection() - Method in class com.ram.kainterview.TotalInfectionTest
-
Tests infection of a single user
- testSpecificInfection() - Method in class com.ram.kainterview.StrictLimitedInfectionTest
-
Tests specific infection
- testSpecificInfection() - Method in class com.ram.kainterview.TotalInfectionTest
-
Generate specific user graph and test total infection
- toString() - Method in enum com.ram.kainterview.Error
-
- toString() - Method in enum com.ram.kainterview.InfectionType
-
- totalInfect(int) - Method in class com.ram.kainterview.user.User
-
Performs total infection from this user with the new version number
- TotalInfectionTest - Class in com.ram.kainterview
-
Test cases for total infection
- TotalInfectionTest() - Constructor for class com.ram.kainterview.TotalInfectionTest
-
- type - Variable in class com.ram.kainterview.InfectionControllerImpl
-
Keeps track of the current infection type


We believe that when an individual receives the Holy Ghost, he receives divine enablement for divine service and witness. (Acts 1: 8; 2:4).
To be recommended – E-Transfer, Check, Internet, etc.
DonateWe believe in the virgin birth of the Lord Jesus Christ, His deity, His sinless humanity and perfect life, the eternal all-sufficiency of His atoning death, His bodily resurrection, His ascension to the Father’s right hand, and His personal coming again at His second advent.


ResizeBillboard()
语法
ResizeBillboard(#Billboard, #BillboardGroup, Width, Height)概要
Resizes a billboard, which is currently contained in a billboard group, to a new width and height, specified in world units. Note that although you can resize billboards independently with this function there will be some performance lost if the billboards within a billboard group are all different sizes.
参数
#Billboard The billboard to resize. #BillboardGroup The billboard group which currently contains the billboard. Width, Height The new size of the billboard, in world units.
返回值
无.
已支持操作系统
所有


Additional Resources
Links
Vi Cheat Sheet
Vi Tutorial
VIM-Adventures - Learn VIM while playing a game
Computer Science Fundamentals - Algorithms | Recursion | Stacks & Queues | Binary Trees | Heaps
Sorting Algorithms Animations
|
Comparison Sorting Algorithms
Regex One
|
Regex 101
|
RegExr
|
Regex Golf
Git Ignore
Git Branching
Project Euler - Math & Programing problems
Books
"Pro Git" by Scott Chacon & Ben Straub
"Modern Operating Systems" by Andrew S. Tanenbaum & Herbert Bos
"Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest & Clifford Stein
"Mastering Regular Expressions" by Jeffrey E. F. Friedl
"Head First Java" by Kathy Sierra & Bert Bates
"Thinking in Java" by Bruce Eckel
"Head First Object-Oriented Analysis and Design" by Brett D. McLaughin, Gary Police & Dave West
"Clean Code" by Robert C. Martin AKA Uncle Bob
"Core Java for the Impatient" by Cay S. Horstmann
Videos & Movies
Map Of Computer Science
The Scribe's Oath - Robert "Uncle Bob" Martin


i graduated from Winfield High School in the class of 2020 or better known as the year of covid.
now i currently go to Ranken tech for App and Web Development
where ive worked before
i worked at my high school for two summers and now i work at home depot to get myself through college


Sleep Street
Feel at home in one of our 5 accommodations, each with it's own unique style.

Lob loves the south of France, Hans loves the desert.  We both love to buy second hand stuff, and we especially love our little Sterre.
FROM OUR GUESTS
"Thank you so much! And congratulations, because your apartment is the best place where we stayed during all our trip! Clean, big and details. Take more photo's and load them to your website because the place is better than we thought! Angel Fernandez
SLEEP STREET NEWS!
15 sep — We're very proud to announce our newest addition to the Sleepstreet family: check out Sleepstreet 5, a 3 bedroom house close to Dampoort!
SUPPORT US ON FACEBOOK!
Do you want to follow us or stay tuned on fun activities in Ghent? Become a fan of Sleepstreet on Facebook!


@(dForm: Form[models.shopping.Discount],user: models.users.User) @import models.users.User @import helper._ @main("Add/Update Discount",user){
Add a new discount.
@helper.form(action=routes.AdminProductCtrl.addDiscountSubmit(), 'class -> "form-horizontal", 'role -> "form") { @* CSRF attack prevention *@ @* This token, sent by the controller, will be used to authenticate the form submission *@ @CSRF.formField @inputText(dForm("discountID"), '_label -> "Discount ID", 'class -> "form-control") @inputText(dForm("discountName"), '_label -> "Discount Name", 'class -> "form-control") @inputText(dForm("amount"), '_label -> "Amount", 'class -> "form-control") @helper.checkbox(dForm("valid")) } @* end of form *@ } @* end of main *@


A page dedicated to all those interested in learning hard concepts in the easiest way possible, free of charge. This page was created for personal benifit and for all those interested. This is a journal of all the things that I have studied and am currently studying. The lightbulb aspects the I get when studying will also be logged is this site.
The goal in making this page is to explain technical concepts in the easiest way possible, which is of course dificult, but this is the goal. It is created for game engineers and developers and engineering in general.
All contributions are welcome. If you feel you can explain a concept in a very simple way, realized a why you just had a lightbulb moment, or you have knowledge and hours of practice, please consider contributing, as it will be a benifit to many. Please consider this one goal: less is always more. Please consider breaking up the lessons so they do not become too complicated or bunched up together.
Python and C# (Unity 3d)
3D Math Primer for Graphics and Game Development by Ian Parberry and Fletcher Dunn
more to come


Off-Topic
How do we get the client rank again?
(10)
Live chat
(1)
Buyers
(2)
Update
(5)
← previous page
next page →


The termini of most Class II DNA transposons, in particular those with terminal inverted repeat sequences (TIRs), are critical to the process of transposition and often show signs of conservation between families within a single class. These conserved patterns may be used to classify de-novo identified elements. Non-coding DNA transposons often can only be classified by recognition of these patterns along with not-always-available target site duplication characteristics. As many transposons have (fragments) of other elements embedded, even those with apparent coding sequence should generally be classified by their terminal patterns if there is a conflict.
DNA transposons found in eukaryotic genomes fall into four broad groups1,2,3 (Figure 1) each with their own set of autonomous and non-autonomous forms (typically non-coding deletion products retaining the end recognition sites). Here we provide logos and HMMs for the terminal 26 bp of most currently recognized subclasses. The strongest signals are carried by TIR DNA transposons, but even Helitrons and some Crypton elements lacking TIRs contain signs of base conservation. HMMs for the 5’ and 3’ ends were generated from an ungapped alignment of the first/last 60bp of all known members with clearly defined termini (Figure 2). Minor modifications were made to some consensus sequences to have each line up from the true end, most commonly involving removal of target site duplications. The 3’ ends were reverse-complemented to match the 5’ end (in case of TIRs). HMMs were developed using HMMER (hmmbuild) for the 5’ ends, the 3’ ends, and the combined termini. The logos below are a representation of the information content at each position within the HMM. The full set may be downloaded from https://www.dfam.org/releases/dna_termini_1.1 and will be updated as new families are added to each class.
| {{section.section}} | Subclass | {{subclass.name}} | Families | {{subclass.count}} | Termini |
|
5' end |
|
3' end |
|
Notes | {{subclass.notes}} |
|---|


Please Turn On JavaScript for This Game to Work
Welcome To The Number Guessing Game
Can I Guess Your Number in 5 Tries?
Think of a number between 1 an 100 Don't tell me what it is


Recipe 1.25. Converting HTML Documents to Texton a Unix Terminal
Credit: Brent Burley, Mark Moraes
Problem
You need to visualize
HTML documents as text, with support for bold and underlined display
on your Unix terminal.
Solution
The simplest approach is to code a filter
script, taking HTML on standard input and emitting text and terminal
control sequences on standard output. Since this recipe only targets
Unix, we can get the needed terminal control sequences from the
"Unix" command
tput, via the function popen of
the Python Standard Library module
os:
#!/usr/bin/env python
import sys, os, htmllib, formatter
# use Unix tput to get the escape sequences for bold, underline, reset
set_bold = os.popen('tput bold').read( )
set_underline = os.popen('tput smul').read( )
perform_reset = os.popen('tput sgr0').read( )
class TtyFormatter(formatter.AbstractFormatter):
''' a formatter that keeps track of bold and italic font states, and
emits terminal control sequences accordingly.
'''
def _ _init_ _(self, writer):
# first, as usual, initialize the superclass
formatter.AbstractFormatter._ _init_ _(self, writer)
# start with neither bold nor italic, and no saved font state
self.fontState = False, False
self.fontStack = [ ]
def push_font(self, font):
# the `font' tuple has four items, we only track the two flags
# about whether italic and bold are active or not
size, is_italic, is_bold, is_tt = font
self.fontStack.append((is_italic, is_bold))
self._updateFontState( )
def pop_font(self, *args):
# go back to previous font state
try:
self.fontStack.pop( )
except IndexError:
pass
self._updateFontState( )
def updateFontState(self):
# emit appropriate terminal control sequences if the state of
# bold and/or italic(==underline) has just changed
try:
newState = self.fontStack[-1]
except IndexError:
newState = False, False
if self.fontState != newState:
# relevant state change: reset terminal
print perform_reset,
# set underine and/or bold if needed
if newState[0]:
print set_underline,
if newState[1]:
print set_bold,
# remember the two flags as our current font-state
self.fontState = newState
# make writer, formatter and parser objects, connecting them as needed
myWriter = formatter.DumbWriter( )
if sys.stdout.isatty( ):
myFormatter = TtyFormatter(myWriter)
else:
myFormatter = formatter.AbstractFormatter(myWriter)
myParser = htmllib.HTMLParser(myFormatter)
# feed all of standard input to the parser, then terminate operations
myParser.feed(sys.stdin.read( ))
myParser.close( )
Discussion
The basic
formatter.AbstractFormatter class, offered by the
Python Standard Library, should work just about anywhere. On the
other hand, the refinements in the TtyFormatter
subclass that's the focus of this recipe depend on
using a Unix-like terminal, and more specifically on the availability
of the tput Unix command to obtain information on
the escape sequences used to get bold or underlined output and to
reset the terminal to its base state.
Many systems that do not have Unix certification, such as Linux and
Mac OS X, do have a perfectly workable tput
command and therefore can use this recipe's
TtyFormatter subclass just fine. In other words, you
can take the use of the word "Unix"
in this recipe just as loosely as you can take it in just about every
normal discussion: take it as meaning
"*ix," if you will.
If your "terminal" emulator
supports other escape sequences for controlling output appearance,
you should be able to adapt this TtyFormatter class
accordingly. For example, on Windows, a cmd.exe
command window should, I'm told, support standard
ANSI escape sequences, so you could choose to hard-code those
sequences if Windows is the platform on which you want to run your
version of this script.
In many cases, you may prefer to use other existing Unix commands,
such as lynx -dump -, to get richer formatting
than this recipe provides. However, this recipe comes in quite handy
when you find yourself on a system that has a Python installation but
lacks such other helpful commands as lynx.
See Also
Library Reference and Python in a
Nutshell docs on the formatter and
htmllib modules; man tput on a
Unix or Unix-like system for more information about the
tput command.
|


|
BitMagic-C++
|
Algorithms for fast aggregation of a group of bit-vectors. More...
#include <bmaggregator.h>
Public Types | |
| enum | max_size { max_aggregator_cap = 512 } |
| Maximum aggregation capacity in one pass. More... | |
| enum | operation { BM_NOT_DEFINED = 0, BM_SHIFT_R_AND = 1 } |
| Codes for aggregation operations which can be pipelined for efficient execution. More... | |
| enum | operation_status { op_undefined = 0, op_prepared, op_in_progress, op_done } |
| typedef BV | bvector_type |
| typedef const bvector_type * | bvector_type_const_ptr |
| typedef bm::id64_t | digest_type |
| typedef bvector_type::allocator_type::allocator_pool_type | allocator_pool_type |
Public Member Functions | |
Construction and setup | |
| aggregator () | |
| ~aggregator () | |
| void | set_optimization (typename bvector_type::optmode opt=bvector_type::opt_compress) |
| set on-the-fly bit-block compression By default aggregator does not try to optimize result, but in some cases it can be quite a lot faster than calling bvector<>::optimize() later (because block data sits in CPU cache). More... | |
Methods to setup argument groups and run operations on groups | |
| unsigned | add (const bvector_type *bv, unsigned agr_group=0) |
| Attach source bit-vector to a argument group (0 or 1). More... | |
| void | reset () |
| Reset aggregate groups, forget all attached vectors. More... | |
| void | combine_or (bvector_type &bv_target) |
| Aggregate added group of vectors using logical OR Operation does NOT perform an explicit reset of arg group(s) More... | |
| void | combine_and (bvector_type &bv_target) |
| Aggregate added group of vectors using logical AND Operation does NOT perform an explicit reset of arg group(s) More... | |
| bool | combine_and_sub (bvector_type &bv_target) |
| Aggregate added group of vectors using fused logical AND-SUB Operation does NOT perform an explicit reset of arg group(s) More... | |
| bool | combine_and_sub (bvector_type &bv_target, bool any) |
| Aggregate added group of vectors using fused logical AND-SUB Operation does NOT perform an explicit reset of arg group(s) Operation can terminate early if anything was found. More... | |
| bool | find_first_and_sub (bm::id_t &idx) |
| void | combine_shift_right_and (bvector_type &bv_target) |
| Aggregate added group of vectors using SHIFT-RIGHT and logical AND Operation does NOT perform an explicit reset of arg group(s) More... | |
| void | set_range_hint (bm::id_t from, bm::id_t to) |
| Set search hint for the range, where results needs to be searched (experimental for internal use). More... | |
Logical operations (C-style interface) | |
| void | combine_or (bvector_type &bv_target, const bvector_type_const_ptr *bv_src, unsigned src_size) |
| Aggregate group of vectors using logical OR. More... | |
| void | combine_and (bvector_type &bv_target, const bvector_type_const_ptr *bv_src, unsigned src_size) |
| Aggregate group of vectors using logical AND. More... | |
| bool | combine_and_sub (bvector_type &bv_target, const bvector_type_const_ptr *bv_src_and, unsigned src_and_size, const bvector_type_const_ptr *bv_src_sub, unsigned src_sub_size, bool any) |
| Fusion aggregate group of vectors using logical AND MINUS another set. More... | |
| bool | find_first_and_sub (bm::id_t &idx, const bvector_type_const_ptr *bv_src_and, unsigned src_and_size, const bvector_type_const_ptr *bv_src_sub, unsigned src_sub_size) |
| bool | combine_shift_right_and (bvector_type &bv_target, const bvector_type_const_ptr *bv_src_and, unsigned src_and_size, bool any) |
| Fusion aggregate group of vectors using SHIFT right with AND. More... | |
Horizontal Logical operations used for tests (C-style interface) | |
| void | combine_or_horizontal (bvector_type &bv_target, const bvector_type_const_ptr *bv_src, unsigned src_size) |
| Horizontal OR aggregation (potentially slower) method. More... | |
| void | combine_and_horizontal (bvector_type &bv_target, const bvector_type_const_ptr *bv_src, unsigned src_size) |
| Horizontal AND aggregation (potentially slower) method. More... | |
| void | combine_and_sub_horizontal (bvector_type &bv_target, const bvector_type_const_ptr *bv_src_and, unsigned src_and_size, const bvector_type_const_ptr *bv_src_sub, unsigned src_sub_size) |
| Horizontal AND-SUB aggregation (potentially slower) method. More... | |
Pipeline operations | |
| int | get_operation () const |
| Get current operation code. More... | |
| void | set_operation (int op_code) |
| Set operation code for the aggregator. More... | |
| void | stage (bm::word_t *temp_block) |
| Prepare operation, create internal resources, analyse dependencies. More... | |
| operation_status | run_step (unsigned i, unsigned j) |
| Run a step of current arrgegation operation. More... | |
| operation_status | get_operation_status () const |
| const bvector_type * | get_target () const |
| bm::word_t * | get_temp_block () |
Protected Types | |
| typedef bvector_type::blocks_manager_type | blocks_manager_type |
Protected Member Functions | |
| void | combine_or (unsigned i, unsigned j, bvector_type &bv_target, const bvector_type_const_ptr *bv_src, unsigned src_size) |
| void | combine_and (unsigned i, unsigned j, bvector_type &bv_target, const bvector_type_const_ptr *bv_src, unsigned src_size) |
| digest_type | combine_and_sub (unsigned i, unsigned j, const bvector_type_const_ptr *bv_src_and, unsigned src_and_size, const bvector_type_const_ptr *bv_src_sub, unsigned src_sub_size) |
| void | prepare_shift_right_and (bvector_type &bv_target, const bvector_type_const_ptr *bv_src, unsigned src_size) |
| bool | combine_shift_right_and (unsigned i, unsigned j, bvector_type &bv_target, const bvector_type_const_ptr *bv_src, unsigned src_size) |
| bm::word_t * | sort_input_blocks_or (const bvector_type_const_ptr *bv_src, unsigned src_size, unsigned i, unsigned j, unsigned *arg_blk_count, unsigned *arg_blk_gap_count) |
| bm::word_t * | sort_input_blocks_and (const bvector_type_const_ptr *bv_src, unsigned src_size, unsigned i, unsigned j, unsigned *arg_blk_count, unsigned *arg_blk_gap_count) |
| bool | process_bit_blocks_or (blocks_manager_type &bman_target, unsigned i, unsigned j, unsigned block_count) |
| void | process_gap_blocks_or (unsigned block_count) |
| digest_type | process_bit_blocks_and (unsigned block_count, digest_type digest) |
| digest_type | process_gap_blocks_and (unsigned block_count, digest_type digest) |
| bool | test_gap_blocks_and (unsigned block_count, unsigned bit_idx) |
| bool | test_gap_blocks_sub (unsigned block_count, unsigned bit_idx) |
| digest_type | process_bit_blocks_sub (unsigned block_count, digest_type digest) |
| digest_type | process_gap_blocks_sub (unsigned block_count, digest_type digest) |
| bool | any_carry_overs (unsigned co_size) const |
| bool | process_shift_right_and (const bm::word_t *arg_blk, digest_type &digest, unsigned carry_over) |
| const bm::word_t * | get_arg_block (const bvector_type_const_ptr *bv_src, unsigned k, unsigned i, unsigned j) |
| bvector_type * | check_create_target () |
Static Protected Member Functions | |
| static unsigned | resize_target (bvector_type &bv_target, const bvector_type_const_ptr *bv_src, unsigned src_size, bool init_clear=true) |
| static unsigned | max_top_blocks (const bvector_type_const_ptr *bv_src, unsigned src_size) |
| static unsigned | find_effective_sub_block_size (unsigned i, const bvector_type_const_ptr *bv_src, unsigned src_size) |
Algorithms for fast aggregation of a group of bit-vectors.
Current implementation can aggregate up to max_aggregator_cap vectors (TODO: remove this limitation)
Algorithms of this class use cache locality optimizations and efficient on cases, wehen we need to apply the same logical operation (aggregate) more than 2x vectors.
TARGET = BV1 or BV2 or BV3 or BV4 ...
Definition at line 51 of file bmaggregator.h.
| typedef bvector_type::allocator_type::allocator_pool_type bm::aggregator< BV >::allocator_pool_type |
Definition at line 58 of file bmaggregator.h.
|
protected |
Definition at line 325 of file bmaggregator.h.
| typedef BV bm::aggregator< BV >::bvector_type |
Definition at line 54 of file bmaggregator.h.
| typedef const bvector_type* bm::aggregator< BV >::bvector_type_const_ptr |
Definition at line 55 of file bmaggregator.h.
| typedef bm::id64_t bm::aggregator< BV >::digest_type |
Definition at line 56 of file bmaggregator.h.
| enum bm::aggregator::max_size |
Maximum aggregation capacity in one pass.
| Enumerator | |
|---|---|
| max_aggregator_cap |
Definition at line 61 of file bmaggregator.h.
| enum bm::aggregator::operation |
Codes for aggregation operations which can be pipelined for efficient execution.
| Enumerator | |
|---|---|
| BM_NOT_DEFINED | |
| BM_SHIFT_R_AND |
Definition at line 68 of file bmaggregator.h.
| enum bm::aggregator::operation_status |
| Enumerator | |
|---|---|
| op_undefined | |
| op_prepared | |
| op_in_progress | |
| op_done |
Definition at line 74 of file bmaggregator.h.
| bm::aggregator< BV >::aggregator | ( | ) |
Definition at line 506 of file bmaggregator.h.
| bm::aggregator< BV >::~aggregator | ( | ) |
Definition at line 515 of file bmaggregator.h.
| unsigned bm::aggregator< BV >::add | ( | const bvector_type * | bv, |
| unsigned | agr_group = 0 |
||
| ) |
Attach source bit-vector to a argument group (0 or 1).
Arg group 1 used for fused operations like (AND-SUB)
| bv | - input bit-vector pointer to attach |
| agr_group | - input argument group (0 - default, 1 - fused op) |
Definition at line 558 of file bmaggregator.h.
Referenced by DemoAND(), DemoAND_SUB(), DemoOR(), DemoSUB(), main(), and bm::aggregator< bvector_type >::set_optimization().
|
protected |
Definition at line 1738 of file bmaggregator.h.
|
protected |
Definition at line 545 of file bmaggregator.h.
| void bm::aggregator< BV >::combine_and | ( | bvector_type & | bv_target | ) |
Aggregate added group of vectors using logical AND Operation does NOT perform an explicit reset of arg group(s)
| bv_target | - target vector (input is arg group 0) |
Definition at line 598 of file bmaggregator.h.
Referenced by DemoAND(), main(), and bm::aggregator< bvector_type >::set_optimization().
| void bm::aggregator< BV >::combine_and | ( | bvector_type & | bv_target, |
| const bvector_type_const_ptr * | bv_src, | ||
| unsigned | src_size | ||
| ) |
Aggregate group of vectors using logical AND.
| bv_target | - target vector |
| bv_src | - array of pointers on bit-vector aggregate arguments |
| src_size | - size of bv_src (how many vectors to aggregate) |
Definition at line 669 of file bmaggregator.h.
|
protected |
Definition at line 934 of file bmaggregator.h.
| void bm::aggregator< BV >::combine_and_horizontal | ( | bvector_type & | bv_target, |
| const bvector_type_const_ptr * | bv_src, | ||
| unsigned | src_size | ||
| ) |
Horizontal AND aggregation (potentially slower) method.
| bv_target | - target vector |
| bv_src | - array of pointers on bit-vector aggregate arguments |
| src_size | - size of bv_src (how many vectors to aggregate) |
Definition at line 1509 of file bmaggregator.h.
Referenced by bm::aggregator< bvector_type >::set_optimization().
| bool bm::aggregator< BV >::combine_and_sub | ( | bvector_type & | bv_target | ) |
Aggregate added group of vectors using fused logical AND-SUB Operation does NOT perform an explicit reset of arg group(s)
| bv_target | - target vector (input is arg group 0(AND), 1(SUB) ) |
Definition at line 606 of file bmaggregator.h.
Referenced by DemoAND_SUB(), DemoSUB(), main(), and bm::aggregator< bvector_type >::set_optimization().
| bool bm::aggregator< BV >::combine_and_sub | ( | bvector_type & | bv_target, |
| bool | any | ||
| ) |
Aggregate added group of vectors using fused logical AND-SUB Operation does NOT perform an explicit reset of arg group(s) Operation can terminate early if anything was found.
| bv_target | - target vector (input is arg group 0(AND), 1(SUB) ) |
| any | - if true, search result will terminate of first found result |
Definition at line 616 of file bmaggregator.h.
| bool bm::aggregator< BV >::combine_and_sub | ( | bvector_type & | bv_target, |
| const bvector_type_const_ptr * | bv_src_and, | ||
| unsigned | src_and_size, | ||
| const bvector_type_const_ptr * | bv_src_sub, | ||
| unsigned | src_sub_size, | ||
| bool | any | ||
| ) |
Fusion aggregate group of vectors using logical AND MINUS another set.
| bv_target | - target vector |
| bv_src_and | - array of pointers on bit-vectors for AND |
| src_and_size | - size of AND group |
| bv_src_sub | - array of pointers on bit-vectors for SUBstract |
| src_sub_size | - size of SUB group |
| any | - flag if caller needs any results asap (incomplete results) |
Definition at line 696 of file bmaggregator.h.
|
protected |
Definition at line 983 of file bmaggregator.h.
| void bm::aggregator< BV >::combine_and_sub_horizontal | ( | bvector_type & | bv_target, |
| const bvector_type_const_ptr * | bv_src_and, | ||
| unsigned | src_and_size, | ||
| const bvector_type_const_ptr * | bv_src_sub, | ||
| unsigned | src_sub_size | ||
| ) |
Horizontal AND-SUB aggregation (potentially slower) method.
| bv_target | - target vector |
| bv_src_and | - array of pointers on bit-vector to AND aggregate |
| src_and_size | - size of bv_src_and |
| bv_src_sub | - array of pointers on bit-vector to SUB aggregate |
| src_sub_size | - size of bv_src_sub |
Definition at line 1533 of file bmaggregator.h.
Referenced by bm::aggregator< bvector_type >::set_optimization().
| void bm::aggregator< BV >::combine_or | ( | bvector_type & | bv_target | ) |
Aggregate added group of vectors using logical OR Operation does NOT perform an explicit reset of arg group(s)
| bv_target | - target vector (input is arg group 0) |
Definition at line 590 of file bmaggregator.h.
Referenced by DemoOR(), main(), and bm::aggregator< bvector_type >::set_optimization().
| void bm::aggregator< BV >::combine_or | ( | bvector_type & | bv_target, |
| const bvector_type_const_ptr * | bv_src, | ||
| unsigned | src_size | ||
| ) |
Aggregate group of vectors using logical OR.
| bv_target | - target vector |
| bv_src | - array of pointers on bit-vector aggregate arguments |
| src_size | - size of bv_src (how many vectors to aggregate) |
Definition at line 644 of file bmaggregator.h.
|
protected |
Definition at line 890 of file bmaggregator.h.
| void bm::aggregator< BV >::combine_or_horizontal | ( | bvector_type & | bv_target, |
| const bvector_type_const_ptr * | bv_src, | ||
| unsigned | src_size | ||
| ) |
Horizontal OR aggregation (potentially slower) method.
| bv_target | - target vector |
| bv_src | - array of pointers on bit-vector aggregate arguments |
| src_size | - size of bv_src (how many vectors to aggregate) |
Definition at line 1485 of file bmaggregator.h.
Referenced by bm::aggregator< bvector_type >::set_optimization().
| void bm::aggregator< BV >::combine_shift_right_and | ( | bvector_type & | bv_target | ) |
Aggregate added group of vectors using SHIFT-RIGHT and logical AND Operation does NOT perform an explicit reset of arg group(s)
| bv_target | - target vector (input is arg group 0) |
Definition at line 636 of file bmaggregator.h.
Referenced by bm::aggregator< bvector_type >::set_optimization().
| bool bm::aggregator< BV >::combine_shift_right_and | ( | bvector_type & | bv_target, |
| const bvector_type_const_ptr * | bv_src_and, | ||
| unsigned | src_and_size, | ||
| bool | any | ||
| ) |
Fusion aggregate group of vectors using SHIFT right with AND.
| bv_target | - target vector |
| bv_src_and | - array of pointers on bit-vectors for AND masking |
| src_and_size | - size of AND group |
| any | - flag if caller needs any results asap (incomplete results) |
Definition at line 1568 of file bmaggregator.h.
|
protected |
Definition at line 1605 of file bmaggregator.h.
|
staticprotected |
Definition at line 852 of file bmaggregator.h.
| bool bm::aggregator< BV >::find_first_and_sub | ( | bm::id_t & | idx | ) |
Definition at line 626 of file bmaggregator.h.
Referenced by bm::aggregator< bvector_type >::set_optimization().
| bool bm::aggregator< BV >::find_first_and_sub | ( | bm::id_t & | idx, |
| const bvector_type_const_ptr * | bv_src_and, | ||
| unsigned | src_and_size, | ||
| const bvector_type_const_ptr * | bv_src_sub, | ||
| unsigned | src_sub_size | ||
| ) |
Definition at line 752 of file bmaggregator.h.
|
protected |
Definition at line 1727 of file bmaggregator.h.
|
inline |
Get current operation code.
Definition at line 300 of file bmaggregator.h.
|
inline |
Definition at line 316 of file bmaggregator.h.
|
inline |
Definition at line 318 of file bmaggregator.h.
Referenced by DNA_FingerprintScanner::FindCollection().
|
inline |
Definition at line 320 of file bmaggregator.h.
|
staticprotected |
Definition at line 1390 of file bmaggregator.h.
|
protected |
Definition at line 1554 of file bmaggregator.h.
|
protected |
Definition at line 1219 of file bmaggregator.h.
|
protected |
Definition at line 1150 of file bmaggregator.h.
|
protected |
Definition at line 1303 of file bmaggregator.h.
|
protected |
Definition at line 1051 of file bmaggregator.h.
|
protected |
Definition at line 1040 of file bmaggregator.h.
|
protected |
Definition at line 1085 of file bmaggregator.h.
|
protected |
Definition at line 1667 of file bmaggregator.h.
| void bm::aggregator< BV >::reset | ( | ) |
Reset aggregate groups, forget all attached vectors.
Definition at line 525 of file bmaggregator.h.
Referenced by DemoAND(), DemoAND_SUB(), DemoOR(), DemoSUB(), main(), and bm::aggregator< bvector_type >::set_optimization().
|
staticprotected |
Definition at line 1342 of file bmaggregator.h.
| aggregator< BV >::operation_status bm::aggregator< BV >::run_step | ( | unsigned | i, |
| unsigned | j | ||
| ) |
Run a step of current arrgegation operation.
Definition at line 1773 of file bmaggregator.h.
Referenced by bm::aggregator< bvector_type >::set_operation().
|
inline |
Set operation code for the aggregator.
Definition at line 303 of file bmaggregator.h.
|
inline |
set on-the-fly bit-block compression By default aggregator does not try to optimize result, but in some cases it can be quite a lot faster than calling bvector<>::optimize() later (because block data sits in CPU cache).
| opt | - optimization mode (full compression by default) |
Definition at line 97 of file bmaggregator.h.
Referenced by DemoAND(), DemoAND_SUB(), DemoOR(), and DemoSUB().
| void bm::aggregator< BV >::set_range_hint | ( | bm::id_t | from, |
| bm::id_t | to | ||
| ) |
Set search hint for the range, where results needs to be searched (experimental for internal use).
Definition at line 536 of file bmaggregator.h.
Referenced by bm::aggregator< bvector_type >::set_optimization().
|
protected |
Definition at line 1448 of file bmaggregator.h.
|
protected |
Definition at line 1410 of file bmaggregator.h.
| void bm::aggregator< BV >::stage | ( | bm::word_t * | temp_block | ) |
Prepare operation, create internal resources, analyse dependencies.
Prerequisites are: that operation is set and all argument vectors are added
Definition at line 1749 of file bmaggregator.h.
Referenced by bm::aggregator< bvector_type >::set_operation().
|
protected |
Definition at line 1119 of file bmaggregator.h.
|
protected |
Definition at line 1133 of file bmaggregator.h.


What was the problem? I got stuck on trying to a the list to line up underneath another list.
What problem solving techniques did you use? Tried to figure it out myself, than I looked up a youtube video
How did you feel throughout the process? Frustrated and confused
What did you learn? That you have to be sure that you have the correct youtube video, and even then you dont have the options for troubleshooting if it doesnt like work like it did in the video
What was the problem? I got stuck on the chessboard and getting it to create a space on the 2nd line.
What problem solving techniques did you use? I read through the hints and then googled the challenge.
How did you feel throughout the process? Confused at first but relieved to understand where I was going wrong and how the solution worked.
What did you learn? That alot of the answers to different coding challenges can be found online.
Psuedocode - This is always step 1 when problem solving a line of code. I dont always write it out but i at least think of the process in this way at first.
Trying Something - This is always step two
Rubber ducky method - Not something I practise enough
Reading error messages - Deffiniely check these
Console.logging - Not something I am confident on how to do
Google- Somehting I do alot of
Asking your peers - Fortunately something I can do easily
Asking coaches - Fortunately something i havent yet need to do
Imporving process with reflection - Somehitng I am doing now. And can now see value in doing more often


Documentation
Objects that will be returned.
-
Auth1 - Subclass of User
name type description email string email of the user salt string randomly generated string used to encrypt password success boolean displays whether the web service method was successful -
Auth2 - Subclass of User
name type description user_id integer identifier of user object email string email of the user success boolean displays whether the web service method was successful -
Category
name type description category_id integer identifier of category object name string name of category GET /Services/Category.phpreturns Array<Category> -
Ingredient
name type description recipe_item_ingredient_id integer identifier of ingredient object amount string amount of the ingredient required unit_id integer identifier of the unit unit_name_abbr string name of the unit type (tsp, tbl, etc) ingredient string name of the ingredient -
Instruction
name type description recipe_id integer id that references the recipe instruction_index integer order that the instruction should be displayed instruction string instruction/step for the recipe -
Rating
name type description user_id integer id of the user that rated this recipe recipe_id integer id of the recipe that was rated rating integer the rating given for the recipe (1-10) Get a list of all ratings the user has givenGET /Services/Rating.php@param user_id integerreturns Array<Rating>Insert/Update a new rating, if a rating already exists it will remove the old rating and add a new one.POST /Services/Rating.php@param user_id integer@param rating integer@param recipe_id integerreturns RecipeRating -
RecipeRating
name type description count integer number of people that rated this recipe avg integer average rating of this reipce -
Recipe
name type description recipe_id integer identifier of recipe object recipe_created_ts timestamp date the recipe was created recipe_updated_ts timestamp date the recipe was last updated title string name of the recipe description string short description of the recipe author_id integer references the user object user_id prep_time integer amount of time it takes to prepare this recipe cook_time integer amount of time it takes to cook this recipe serving_size integer amount of people this recipe will serve active boolean is this recipe active, read-only Inserts a new recipePOST /Services/Recipe.php@param title string@param description string@param author_id integer@param prep_time integer@param cook_time integer@param serving_size integer@param thumbnail string@param instructions array<Instruction>@param ingredients array<Ingredient>@param categories array<Category>returns RecipeUpdate a recipePUT /Services/Recipe.php@param recipe_id integer@param title string@param description string@param author_id integer@param prep_time integer@param cook_time integer@param serving_size integer@param thumbnail string@param instructions array<Instruction>@param ingredients array<Ingredient>@param categories array<Category>returns RecipeGet All RecipesGET /Services/Rating.php@param search string@param filterBy string@param sortBy string@param limit integer@param offset integer@param user_id integerreturns Array<Recipe> -
User
name type description user_id integer identifier of user object email string email of the user, also used for their login password_hash string hash generated by app password_salt string randomly generated string used to encrypt password Inserts a new user, email and password are passed through basic authPOST /Services/User.php@param email string@param password_salt string@param password_hash stringreturns UserUpdates the users salt and passwordPUT /Services/User.php@param user_id integer@param email string@param password_hash string@param password_salt stringreturns UserGets the user by user_idGET /Services/User.php@param user_id integerreturns UserGets the user auth 1, this is used to update the users passwordGET /Services/User.php@param auth stringreturns Auth1Gets the user auth 2, email and password are passed through basic authGET /Services/User.php@param email string@param password stringreturns Auth2


UpdateVersion searches its input for a .NET AssemblyVersion attribute and calculates a new version number using one of several algorithms. UpdateVersion can use a file or the standard input stream for input and it can write its output to a file or the standard output stream.
UpdateVersion calculates and outputs new version numbers using one of several algorithms. You can use it with Visual Studio .NET to update your AssemblyInfo.* file on demand. You can use it from a NAnt script to update your assembly version numbers every time you build your project. You can also run it directly from the command line, in a batch file, or from a make file.
UpdateVersion will calculate a new revision number only or it can calculate a new build number and a new revision number at the same time.
UpdateVersion can calculate the build number by incrementing the existing build number or it can calculate the build number based on the project start date.
UpdateVersion can calculate the revision number by incrementing the existing revision number or it can calculate the revision number based on the number of seconds since midnight.
Matt Griffith - http://mattgriffith.net
· Added Version option.
· Attempted to improve Unicode handling by outputting to file using the default encoding.
Scott Hanselman - http://www.hanselman.com/blog/
· Added BuildDay algorithm for build number calculation.
· Added Fixed algorithm for revision number calculation.
· Updated the Regular expression to handle this condition: [assembly: AssemblyVersionAttribute("1.0.3296.1")]
· Refactored VersionUpdater.cs.
Mike Gunderloy - http://www.larkware.com
· Added the Pin feature.
|
Short Form |
Long Form |
Valid Values |
Description |
|
-s |
--startdate |
Any date string which DateTime can parse for the current culture. Example: 2002-11-23 |
The date the project started. The startdate option is required if the MonthDay build type is specified. Otherwise the startdate option is ignored.
|
|
-b |
--build |
"Fixed" | "MonthDay" | "Increment" | “BuildDay” |
Specifies the algorithm UpdateVersion should use to calculate the build number. The default is "Fixed" meaning the build number will remain the same if you do not specify one of the other build algorithms. “MonthDay” calculates the build number based on [monthssincestart][dayofmonth]. “BuildDay” calculates the build number based on [lastdigitofyear][dayofyear]. |
|
-p |
--pin |
A version number in the x.x.x.x format. |
Specifies the version number UpdateVersion should output. The pin option allows you to pin the version number. |
|
-r |
--revision |
"Fixed" | "Automatic" | "Increment" | |
Specifies the algorithm UpdateVersion should use to calculate the revision number. "Automatic" calculates the revision number based on [secsincemidnight/10]. "Increment" calculates the revision number by incrementing the current revision number by one. "Fixed" causes the revision number to remain the same. |
|
-i |
--inputfile |
Path to an existing file. |
The file UpdateVersion should use as the input. If the inputfile option is not present UpdateVersion will use the standard input stream as its input. |
|
-o |
--outputfile |
A valid filename. |
The file UpdateVersion should write its output to. If the outputfile option is not present UpdateVersion will write its output to the standard output stream. |
|
-v |
--version |
"Assembly" | "File" |
Specifies the version number to update. The default is "Assembly" which is backward compatible with previous versions of UpdateVersion. Use "–v Assembly" to update the AssemblyVersion attribute. Use "–v File" to update the AssemblyFileVersion attribute. |
0 UpdateVersion successfully read the input and wrote the output. Note: UpdateVersion returns 0 even when it does not find an AssemblyVersion attribute string to update in the input. If that happens UpdateVersion writes a warning to the standard error stream.
1 UpdateVersion was unable to parse the command line options. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens.
2 UpdateVersion was unable to read the input. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens.
3 An error occurred while UpdateVersion was searching for the AssemblyVersion attribute or while it was calculating the new version number. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens.
4 UpdateVersion was unable to write the output. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens.
Standard input and standard output:
C:\>echo AssemblyVersion("<IP_ADDRESS>") | UpdateVersion AssemblyVersion("<IP_ADDRESS>98")
C:\>echo AssemblyVersion("<IP_ADDRESS>") | UpdateVersion -b Increment AssemblyVersion("<IP_ADDRESS>10")
C:\>echo AssemblyVersion("<IP_ADDRESS>") | UpdateVersion -b Increment -r Increment
AssemblyVersion("<IP_ADDRESS>")
C:\>echo AssemblyVersion("<IP_ADDRESS>") | UpdateVersion -b MonthDay -s 2002-11-23
AssemblyVersion("<IP_ADDRESS>35")
C:\>echo AssemblyVersion("<IP_ADDRESS>") | UpdateVersion -b MonthDay -s 2000-11-23
AssemblyVersion("1.0.2423.8339")
C:\>echo AssemblyVersion("<IP_ADDRESS>") | UpdateVersion -b MonthDay -s 11/23/2000
AssemblyVersion("1.0.2423.8339")
C:\>echo AssemblyVersion("<IP_ADDRESS>") | UpdateVersion -p <IP_ADDRESS> AssemblyVersion("<IP_ADDRESS>")
C:\>echo AssemblyVersion("<IP_ADDRESS>") | UpdateVersion -b BuildDay AssemblyVersion("1.0.3298.7453")
C:\>echo AssemblyVersion("<IP_ADDRESS>") | UpdateVersion -b Increment -r Fixed
AssemblyVersion("<IP_ADDRESS>")
C:\>echo AssemblyFileVersion("<IP_ADDRESS>") | UpdateVersion -v File
AssemblyFileVersion("<IP_ADDRESS>17")
Redirecting to and from standard input and standard output
C:\>UpdateVersion -b Increment < Input.txt > Output.txt
Specify the input and output files on the command line
C:\>UpdateVersion -b Increment -i Input.txt -o Output.txt
You can mix and match all of these techniques so you could easily specify an input file on the command line and write the output to standard output like so:
C:\>UpdateVersion -b Increment -i Input.txt
To specify the output file on the command line and read the input from standard input do this:
C:\>echo AssemblyVersion("<IP_ADDRESS>") | UpdateVersion -b Increment –o Output.txt
You can add UpdateVersion to the Tools menu as an External Tool. You can then select the UpdateVersion command from the menu to update your AssemblyInfo.cs or AssemblyInfo.vb file. Just select Tools -> External Tools... -> Add and enter values similar to the following:
Title: Update Version Number
Command: UpdateVersion.exe
Arguments: -b MonthDay -s 2002-11-23 -i "AssemblyInfo.cs" -o "AssemblyInfo.cs"
Initial directory: $(ProjectDir)
Use Output window: Checked
If UpdateVersion is not in your PATH you will need to provide the full path where UpdateVersion can be found. You can specify any valid options for the Arguments.
Create a new Makefile with the following contents:
test:
UpdateVersion -b MonthDay -s 2002-01-21 -i Input.txt -o Output.txt
Then run nmake.
Create a new NAnt script named Test.build with the following contents:
<project name="ExecTest" default="test">
<tstamp/>
<target name="test" description="tests using exec to run UpdateVersion.exe">
<echo message="********************************************************************"/>
<echo message="** Running UpdateVersion.exe."/>
<exec program="UpdateVersion.exe" commandline="-b MonthDay -s 2002-01-21 -i Input.txt -o
Output.txt" verbose="true" failonerror="true" />
<echo message="** End of Tests"/>
<echo message="********************************************************************"/>
</target>
</project>
Then run NAnt.exe.
Because UpdateVersion returns a non-zero value when it fails your NAnt script will fail as long as the exec tasks' failonerror option is true.
Copyright © 2002 Matt Griffith
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


- main(String[]) - Static method in class app.Program
-
Main Program thread.
- MySqlColumn - Class in app.mysql
-
Class used to virtualize a single column of a
MySql Table column.
- MySqlColumn() - Constructor for class app.mysql.MySqlColumn
-
Default class constructor.
- MySqlColumn(String, String, int) - Constructor for class app.mysql.MySqlColumn
-
Overloaded constructor that can be used
to assign the attributes of the class
during initialization.
- MySqlColumn.ColumnType - Enum in app.mysql
-
Enumeration defining the types of columns
supported.
- MySqlConnection - Class in app.mysql
-
Wrapper class for a MySQL Server
connection.
- MySqlConnection() - Constructor for class app.mysql.MySqlConnection
-
Default class constructor.
- MySqlConnection(String, String, String, String, String) - Constructor for class app.mysql.MySqlConnection
-
Overloaded constructor that can be used
to assign the defining attributes of the
connection during initialization of the class.
- MySqlConnection.EntityType - Enum in app.mysql
-
- MySqlDatabase - Class in app.mysql
-
Class used to virtualize a MySql Database.
- MySqlDatabase() - Constructor for class app.mysql.MySqlDatabase
-
Default Class constructor
- MySqlEntityBaseClass - Class in app.mysql
-
Base class that defines the attributes
common to all MySql Entity objects.
- MySqlEntityBaseClass() - Constructor for class app.mysql.MySqlEntityBaseClass
-
Default Class constructor
- MySqlEntityBaseClass(MySqlConnection, String, String, String) - Constructor for class app.mysql.MySqlEntityBaseClass
-
Overloaded constructor which can be used to initialize the
attributes of the class when the class is constructed.
- MySqlEntityBaseClass(MySqlConnection, String) - Constructor for class app.mysql.MySqlEntityBaseClass
-
Overloaded constructor used to initialize the a
connection object and a name attribute.
- MySqlTable - Class in app.mysql
-
Class used to virtualize a MySql Server
Table.
- MySqlTable() - Constructor for class app.mysql.MySqlTable
-
Default Class constructor


Consciousness Explained Vol 1; Daniel C. Dennett, Paul Weiner (Illustrator); Paperback; $14.35;
Darwin's Dangerous Idea : Evolution and the Meanings of Life; Daniel C. Dennett; Paperback; $12.80;
Elbow Room; Daniel C. Dennett; Paperback; $12.55
The Intentional Stance; Daniel C. Dennett; Paperback; $19.00
Kinds of Minds : Toward an Understanding of Consciousness (Science Masters Series); Daniel C. Dennett; Hardcover; $18.00;
Mind & Reality; Daniel C. Dennett, et al; Hardcover; $16.16
The Mind's I; Douglas R. Hofstadter, et al; Paperback; $15.26;
Content and Consciousness (International Library of Philosophy and Scientific Method); D.C. Dennett; Paperback; $17.95
The Intentional Stance (A Bradford Book); Daniel C. Dennett; Hardcover; $35.00
Kinds of Minds : Towards an Understanding of Consciousness; Daniel C. Dennett; Paperback; $9.00 (Not Yet Published -- On Order);
Content and consciousness; Daniel Clement Dennett; Unknown Binding (Hard to Find)
Elbow room : the varieties of free will worth wanting; Daniel Clement Dennett; Unknown Binding (Hard to Find)
Elbow room : the varieties of free will worth wanting; Daniel Clement Dennett; Unknown Binding (Hard to Find)
This page is maintained by Alexander Chislenko