SCANDIR
Section: Linux Programmer's Manual (3)
Updated: 2014-05-28
Index
Return to Main Contents
NAME
scandir, scandirat, alphasort, versionsort - scan
a directory for matching entries
SYNOPSIS
#include <dirent.h>
int scandir(const char *dirp, struct dirent ***namelist,
- int (*filter)(const struct dirent *),
int (*compar)(const struct dirent **, const struct dirent **));
int alphasort(const struct dirent **a, const struct dirent **b);
int versionsort(const struct dirent **a, const struct dirent **b);
#include <fcntl.h> /* Definition of AT_* constants */
#include <dirent.h>
int scandirat(int dirfd, const char *dirp,
struct dirent ***namelist,
- int (*filter)(const struct dirent *),
int (*compar)(const struct dirent **, const struct dirent **));
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):
scandir(),
alphasort():
-
_BSD_SOURCE || _SVID_SOURCE
|| /* Since glibc 2.10: */
-
(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)
versionsort():
_GNU_SOURCE
scandirat():
_GNU_SOURCE
DESCRIPTION
The
scandir()
function scans the directory dirp, calling
filter() on each directory entry.
Entries for which
filter() returns nonzero are stored in strings allocated via
malloc(3),
sorted using
qsort(3)
with the comparison
function compar(), and collected in array namelist
which is allocated via
malloc(3).
If filter is NULL, all entries are selected.
The
alphasort()
and
versionsort()
functions can be used as the comparison function
compar().
The former sorts directory entries using
strcoll(3),
the latter using
strverscmp(3)
on the strings (*a)->d_name and (*b)->d_name.
scandirat()
The
scandirat()
function operates in exactly the same way as
scandir(),
except for the differences described here.
If the pathname given in
dirp
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
dirfd
(rather than relative to the current working directory of
the calling process, as is done by
scandir()
for a relative pathname).
If
dirp
is relative and
dirfd
is the special value
AT_FDCWD,
then
dirp
is interpreted relative to the current working
directory of the calling process (like
scandir()).
If
dirp
is absolute, then
dirfd
is ignored.
See
openat(2)
for an explanation of the need for
scandirat().
RETURN VALUE
The
scandir()
function returns the number of directory entries
selected.
On error, -1 is returned, with
errno
set to indicate the cause of the error.
The
alphasort()
and
versionsort()
functions return an integer less than, equal to,
or greater than zero if the first argument is considered to be
respectively less than, equal to, or greater than the second.
ERRORS
- ENOENT
-
The path in dirp does not exist.
- ENOMEM
-
Insufficient memory to complete the operation.
- ENOTDIR
-
The path in dirp is not a directory.
The following additional errors can occur for
scandirat():
- EBADF
-
dirfd
is not a valid file descriptor.
- ENOTDIR
-
dirp
is a relative path and
dirfd
is a file descriptor referring to a file other than a directory.
VERSIONS
versionsort()
was added to glibc in version 2.1.
scandirat()
was added to glibc in version 2.15.
CONFORMING TO
alphasort(),
scandir():
4.3BSD, POSIX.1-2008.
versionsort()
and
scandirat()
are GNU extensions.
NOTES
Since glibc 2.1,
alphasort()
calls
strcoll(3);
earlier it used
strcmp(3).
EXAMPLE
#define _SVID_SOURCE
/* print files in current directory in reverse order */
#include <dirent.h>
int
main(void)
{
struct dirent **namelist;
int n;
n = scandir(".", &namelist, NULL, alphasort);
if (n < 0)
perror("scandir");
else {
while (n--) {
printf("%s\n", namelist[n]->d_name);
free(namelist[n]);
}
free(namelist);
}
}
SEE ALSO
closedir(3),
fnmatch(3),
opendir(3),
readdir(3),
rewinddir(3),
seekdir(3),
strcmp(3),
strcoll(3),
strverscmp(3),
telldir(3)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- scandirat()
-
- RETURN VALUE
-
- ERRORS
-
- VERSIONS
-
- CONFORMING TO
-
- NOTES
-
- EXAMPLE
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 02:54:58 GMT, September 18, 2014


Our website templates are created with inspiration, checked for quality and originality and meticulously sliced and coded. What’s more, they’re absolutely free! You can do a lot with them. You can modify them.
read thisOur website templates are created with inspiration, checked for quality and originality and meticulously sliced and coded. What’s more, they’re absolutely free! You can do a lot with them. You can modify them.
read thisOur website templates are created with inspiration, checked for quality and originality and meticulously sliced and coded. What’s more, they’re absolutely free! You can do a lot with them. You can modify them.
read this


Running Spikes(An exploratory exercise)Author: Oliver Chong,
16 Nov 2018
Why did we do this?
Due to the team revisiting of the short term project focus, which seeks to not be dependent on external services, the team wanted to make sure our technical decisions supported the project direction. The team's goal was to ensure our technology choices would not be limiting our future development while leveraging them to their maximum potential.
What did we do?
The balanced team discussed the possible decisions we might need to make in the short, medium, and long-term to determine the level of impact that choices might make on our ability to deliver functionality. When possible, the team opted to postpone making a decision if we agreed that it would not impact our ability to deliver in the future. If it was not possible to defer the decision, the team looked to make choices that were the simplest for the short term, but to be mindful of design patterns that would allow a more complex or complete solution in the future if needed. Finally, the team took a confidence vote (1 being the lowest, 3 the highest) on how well Node and Java could meet the needs of our application.
What did we learn?
The intent of the exercise was to focus on the value proposition of each technology for our application rather than making an either-or decision. We compared the final scores given to each core technology and determined that moving forward with a REST-ful backend using NodeJS is the best fit. Additionally, agreement was reached that several of the technology decisions can safely be deferred to a later time.


--- layout: post title: '' date: '2009-12-30T03:20:27+01:00' tags: category: 'Writing' tumblr_url: http://andywenk.tumblr.com/post/307149854/this-blog-will-move-to ---
THIS BLOG WILL MOVE TO
http://blog.netzmeister-st-pauli.com
All new posts will be placed there …
I will transfer the best posts from here and then close this (ugly) blog.
Cheers
Andy


EVO HTML to PDF Converter allows you set the permissions of generated PDF document like printing and editing and to password protect the generated PDF document with separate user and owner passwords.
The options you can set in this demo are:
HTML Page to Convert
-
HTML Page URL or Local File to Convert. The URL of the HTML page to convert must be accessible from the computer where the converter runs.
If the page requires authentication or if you are using a proxy server to access Internet then you have to set the converter properties accordingly
as described in documentation
PDF Security Options
-
User Password. You can use this option to set an user password to be required when the PDF document is opened in a PDF viewer
-
Owner Password. You can use this option to set an owner password. If the PDF document is password protected you can use the owner password to open the document and change its permissions
-
Print Enabled. Use this option to enable or disable the document printing option when the PDF document is opened in a PDF viewer
-
Copy Content Enabled. Use this option to enable or disable the content copying when the PDF document is opened in a PDF viewer
-
Edit Content Enabled. Use this option to enable or disable the content editing when the PDF document is opened in a PDF editor
-
Edit Annotations Enabled. Use this option to enable or disable the annotations editing when the PDF document is opened in a PDF editor
-
Fill Form Fields Enabled. Use this option to enable or disable the form fields filling. In order to disable the form fields filling you have to disable
the Edit Annotations Enabled and Edit Content Enabled options too


${settings.get('vnstat_name', 'vnStat')}
% if not importParamiko and platform.system() == 'win32':Paramiko was not found on your system
Download and install http://www.voidspace.org.uk/python/modules.shtml#pycrypto
Then pip install paramiko
%inherit file="base.html"/> <% import platform %> <% settings = self.attr.settings %>
Download and install http://www.voidspace.org.uk/python/modules.shtml#pycrypto
Then pip install paramiko


Met Office issue cold weather alert warning for this weekend as temperatures plunge
The Met Office say there's an 80 per cent chance of cold weather affecting much of England until Monday
by Helen Carter, https://www.manchestereveningnews.co.uk/authors/helen-bennicke/The Met Office has issued a cold weather alert warning with an 80 per cent risk of "severe cold weather" over the weekend across England.
The low temperatures could increase the health risks to vulnerable patients and disrupt the delivery of services.
The very cold overnight temperatures and widespread frosts are likely across the North of England and Midlands throughout Friday and until Monday morning.
"Daytime temperatures are also remaining in the low single figures of Celsius, especially across rural parts," it said.
"Mostly places [will be] dry, although a few very isolated wintry showers are possible across North Eastern coasts," warned the Met Office alert.
People are urged to maintain regular contact with vulnerable neighbours and ensure they have access to warm food and drinks.
The public should "avoid exposing yourself to cold or icy outdoor conditions if you are at risk of cold-related illness or falls".
"Overnight mist and freezing fog patches are possible across Central England, leading to a cold day on Saturday. Across the far South and South West, temperatures could recover a little on Saturday, with a small chance of rain."
In Manchester, the Met Office predicts temperatures will not rise above 5 degrees Celsius, with lows of -2C coming on Monday morning.
It will stay cold and dry for most of Sunday into Monday.
Read more of today's top stories
Separately, a yellow Met Office weather warning is in place as temperatures plunge, with fog likely to lead to some travel disruption on Friday night and into Saturday morning.
The warning is in place from 1am on Saturday until 11am.
The change in temperature is as result of Arctic winds blowing southwards causing temperatures to tumble.
It covers a swathe of England, across Yorkshire, south to Birmingham and East Anglia and the home counties North of London.
After heavy rain in October and earlier this month, there are still seven Environment Agency flood warnings in place where flooding is expected and immediate action is required.
Flooding badly affected parts of Derbyshire and South Yorkshire during the heavy rain and 'danger to life' warnings were issued at the time along the banks of the River Don.
Get breaking news first on the free Manchester Evening News app - download it here for your Apple or Android device. You can also get a round-up of the biggest stories sent direct to your inbox every day with the MEN email newsletter - subscribe here . And you can follow us on Facebook here .


ERN
Nodes
Administration
John Doe
Profile
50%
Settings
Help
Log Out
6
Shah Alam
3 mins ago
Emergency signal recieved from location: xxx, ip address: xxxx in xxxx
See All Alerts
{{ yield }}


PseudoHikiParser parses texts written in a Hiki like notation, and converts them into HTML, Markdown or other formats.
I am writing this tool with following objectives in mind,
And, it would not be compatible with the original Hiki notation.
BSD 2-Clause License
I haven't yet decided the terms and conditions for the reuse and redistribution, but consider adopting a dual-licensed style.
And one of them will be BSD 2-clause license or MIT license.
(It seems bothersome for me to manage a dual-licensed script.)
gem install pseudohikiparser
or if you also want to try out experimental features,
gem install pseudohikiparser --version 0.0.6.develop
And results of conversion
You will find these samples in develop branch.
(Please note that pseudohiki2html is currently provided as a showcase of PseudoHikiParser, and the options will be continuously changed at this stage of development.)
After the installation of PseudoHikiParser, you can use a command: pseudohiki2html.
Type the following lines at the command prompt:
pseudohiki2html <<TEXT !! The first heading The first paragraph TEXT
And it will return the following result to stdout:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   <meta content="en" http-equiv="Content-Language"> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> <meta content="text/javascript" http-equiv="Content-Script-Type"> <title>-</title> <link href="default.css" rel="stylesheet" type="text/css">

 The first heading

 The first paragraph

And if you specify a file name with --output
option:
pseudohiki2html --output first_example.html <<TEXT !! The first heading The first paragraph TEXT
the result will be saved in first_example.html.
For more options, please try pseudohiki2html --help
Until version 0.0.4, the name of the command was pseudohiki2html.rb
.
From version <IP_ADDRESS>.develop, command line options are renamed as follows:
| old name | new name | note |
|---|---|---|
| -f | -F | '-f' is now used as the short version of '--format-version' |
| -h | -f | '-h' is now used as the short version of '--help' |
| --html_version | --format-version | other formats than html should be supported |
| --encoding | --format-encoding | '--encoding' is now used as the long version of '-E' option |
| - | --encoding | now same as '-E' option of MRI |
A class method PseudoHiki::BlockParser.parse composes a syntax tree from its input, and a visitor class converts the tree into a certain format.
If you save the lines below as a ruby script and execute it:
#!/usr/bin/env ruby require 'pseudohikiparser' hiki_text = <<TEXT !! The first heading The first paragraph TEXT tree = PseudoHiki::BlockParser.parse(hiki_text) html = PseudoHiki::HtmlFormat.format(tree) puts html
you will get the following output:

 The first heading

 The first paragraph

In the example above, HtmlFormat is a visitor class that converts the parsed text into HTML 4.01 format.
Other than HtmlFormat, XhtmlFormat, Xhtml5Format, PlainTextFormat and MarkDownFormat are available.
If you want to use WikiNames, you have to pass an instance of PseudoHiki::AutoLink::WikiName as the argument of BlockParser.new or the second argument of BlockParser.parse.
require 'pseudohiki/blockparser' require 'pseudohiki/htmlformat' require 'pseudohiki/autolink' # PseudoHiki::AutoLink::WikiName is defined in this file. text = <<TEXT a line with an ^EscapedWikiName and a WikiName. TEXT puts "--- with default options:" wiki_name_link = PseudoHiki::AutoLink::WikiName.new tree = PseudoHiki::BlockParser.parse(text, wiki_name_link) puts PseudoHiki::XhtmlFormat.format(tree) puts "--- when :escape_wiki_name option is set to true:" escape_wiki_name_link = PseudoHiki::AutoLink::WikiName.new({:escape_wiki_name => true}) escaped_tree = PseudoHiki::BlockParser.parse(text, escape_wiki_name_link) puts PseudoHiki::XhtmlFormat.format(escaped_tree)
will print
--- with default options:
 a line with an ^EscapedWikiName and a WikiName.
 --- when :escape_wiki_name option is set to true:
 a line with an EscapedWikiName and a WikiName.

And if you don't like the default behavior, you may prepare a class/module that substitutes AutoLink::WikiName.
If you don't need to reuse a tree parsed by PseudoHiki::BlockParser.parse, you can use following class methods of PseudoHiki::Format.
| Method name | Result of conversion |
|---|---|
| to_html | HTML 4.01 |
| to_xhtml | XHTML 1.0 |
| to_html5 | HTML 5 |
| to_plain | plain text |
| to_markdown | Markdown |
| to_gfm | Github Flavored Markdown |
For example, the script below returns the same result as the example of PseudoHiki::BlockParser
#!/usr/bin/env ruby require 'pseudohikiparser' hiki_text = <<TEXT !! The first heading The first paragraph TEXT puts PseudoHiki::Format.to_html(hiki_text)
If you add [name_of_id], just after the marks that denote heading or list type items, it becomes the id attribute of resulting html elements. Below is an example.
!![heading_id]heading *[list_id]list
will be rendered as

heading

list

(Please note that this is just an experimental feature.)
Tags for inline decorations are escaped when they are enclosed in plugin tags:
For example, {{''}} and {{==}} can be escaped. And {{ {}} and {{} }} should be rendered as two left curly braces and two right curly braces respectively.
will be rendered as
For example, '' or == can be escaped. And {{ and }} sould be rendered as two left curly braces and two right curly braces respectively.
If a link tag is nested inside another link tag, the outer tag is always treated as a link even when its url is for an image.
So you can make a link from a thumbnail as in the following example.
[[[[thumbnail of an image|http://www.example.org/image_thumb.png]]|http://www.example.org/image.png]]
will be rendered as

The following features are just experimental and available only in develop branch.
By lines that begin with '//@', you can assign certain attributes to its succeeding block.
For example,
//@class[class_name] !!A section with a class name paragraph
will be rendered as

A section with a class name

 paragraph

When a certain part of a document is enclosed by //@begin[section_name]
and //@end[section_name]
, HtmlFormat and its subclasses will convert the tags into
 or
 elements with id or class attributes.
!! title paragraph 0 //@begin[main-part] !!! main part subtitle 1 paragraph 1 !!! main part subtitle 2 paragraph 2 //@end[main-part] //@begin[additional-part] !!! additional part subtitle paragraph 3 //@end[additional-part]
will be rendered as

 title

 paragraph 0

 main part subtitle 1

 paragraph 1

 main part subtitle 2

 paragraph 2

 additional part subtitle

 paragraph 3

Please note that some of the following classes are implemented partly or not tested well.
Their class method (HtmlFormat|XhtmlFormat).format returns a tree of HtmlElement objects, and you can traverse the tree as in the following example.
#!/usr/bin/env ruby require 'pseudohikiparser' hiki_text = <<HIKI !! heading paragraph 1 that contains [[a link to a html file|http://www.example.org/example.html]] paragraph 2 that contains [[a link to a pdf file|http://www.example.org/example.pdf]] HIKI html = HtmlFormat.format(hiki_text) html.traverse do |elm| if elm.kind_of? HtmlElement and elm.tagname == "a" elm["class"] = "pdf" if /\.pdf\Z/o =~ elm["href"] end end puts html.to_s
will print

 heading

 paragraph 1 that contains a link to a html file

 paragraph 2 that contains a link to a pdf file

This visitor is for HTML5.
Currently there aren't many differences with XhtmlFormat except for the handling of
 elements.
This visitor removes markups from its input and returns plain texts. Below are examples
:tel:03-xxxx-xxxx ::03-yyyy-yyyy :fax:03-xxxx-xxxx
will be rendered as
tel: 03-xxxx-xxxx 03-yyyy-yyyy fax: 03-xxxx-xxxx
And
||cell 1-1||>>cell 1-2,3,4||cell 1-5 ||cell 2-1||^>cell 2-2,3 3-2,3||cell 2-4||cell 2-5 ||cell 3-1||cell 3-4||cell 3-5 ||cell 4-1||cell 4-2||cell 4-3||cell 4-4||cell 4-5
will be rendered as
cell 1-1 cell 1-2,3,4 == == cell 1-5 cell 2-1 cell 2-2,3 3-2,3 == cell 2-4 cell 2-5 cell 3-1 || || cell 3-4 cell 3-5 cell 4-1 cell 4-2 cell 4-3 cell 4-4 cell 4-5
This visitor is for (Git Flavored) Markdown and just in experimental stage.
The following are a sample script and its output:
#!/usr/bin/env ruby require 'pseudohiki/markdownformat' md = PseudoHiki::MarkDownFormat.create gfm = PseudoHiki::MarkDownFormat.create(gfm_style: true) hiki = <<TEXT !! The first heading The first paragraph ||!header 1||!header 2 ||''cell 1''||cell2 TEXT tree = PseudoHiki::BlockParser.parse(hiki) md_text = md.format(tree).to_s gfm_text = gfm.format(tree).to_s puts md_text puts "--------------------" puts gfm_text
(You will get the following output.)
## The first heading The first paragraph

header 1	header 2

cell 1	cell2

 -------------------- ## The first heading The first paragraph |header 1|header 2| |--------|--------| |_cell 1_|cell2 |
You cannot convert malformed lists with this visitor class. That means list items must be nested hierarchically and if you skip a level in the sequence of items, the result of coversions will be corrupted.
The following is an example of malformed list in which the first level is skipped:
**First item **Second item


S. K. Samanta & Co. (P) Ltd., better known as SKSL, is an ISO 9001-2008 engineering company that has been executing EPC contracts in energy and infrastructure sectors since its incorporation in 1982. We have a long history of executing of infrastructural projects like bulk material handling plants, heavy industrial workshop complexes, cross country pipelines, roads, educational complexes, buildings, etc. With a passion for growth, SKSL has recently diversified into the steel sector by setting up a fully automated TMT Bar Rolling Mill with an impressive capacity of 500 MT/day. We firmly believe in our commitment to provide sustainable solutions will have a lasting impact on communities across India.
S. K. Samanta & Co. (P) Ltd., better known as SKSL, is an ISO 9001-2008 engineering company that has been executing EPC contracts in energy and infrastructure sectors since its incorporation in 1982. We have a long history of executing of infrastructural projects like bulk material handling plants, heavy industrial workshop complexes, cross country pipelines, roads, educational complexes, buildings, etc. With a passion for growth, SKSL has recently diversified into the steel sector by setting up a fully automated TMT Bar Rolling Mill with an impressive capacity of 500 MT/day. We firmly believe in our commitment to provide sustainable solutions will have a lasting impact on communities across India.


Russia Have Been Banned From 2020 Olympic Games & 2022 World Cup
by Michael CorryThe World Anti-Doping Agency has banned Russia from global sporting events meaning they will not be eligible to compete at the 2020 Tokyo Olympics or the 2022 FIFA World Cup.
The decision comes after WADA accused Moscow of falsifying data from an anti-doping laboratory.
“The full list of recommendations have been unanimously accepted,” said WADA spokesman James Fitzgerald, via the New York Post.
“WADA’s executive committee approved unanimously to assert a non-compliance on the Russian anti-doping agency for a period of four years.”
Russian athletes will still be allowed to compete at the Tokyo Olympics next year as neutrals. However, they will need to demonstrate that they were not part of any state-sponsored system of doping which is what Wada believes has happened in Russia.
They will also still be able to compete at Euro 2020, despite the ban with St Petersburg being one of the 12 host cities.
“They are going to have prove they had nothing to do with the non-compliance, (that) they were not involved in the doping schemes as described by the McLaren report, or they did not have their samples affected by the manipulation,” Fitzgerald said.


MRaster Roadmap
Ideas for future development
| Copyright © 2016-2022 Mitch Richling. All rights reserved. |
This document is a collection of ideas for future development. Don't think of it as a roadmap of what will be done, but rather as a rough guide of what I'm thinking about…
If you have something you really want, drop me a line. It must might end up on this list.
In no particular order:
- Canvas Compositing
- adjoinCanvas(const ramCanvasTpl &theCanvas, side);
insertCanvas(const ramCanvasTpl &theCanvas, intCrdT x1 = 0, intCrdT y1 = 0)DONE.
- pixel corner coordinates
- Given a pixel, spit out the real corner coordinates
Given a pixel, get a single corner given by indexes cornerX & cornerY – cornerX & Y are 0 or 1.DONE.Given a pixel, get a single corner given by single index cornerIndex – cornerIndex is 0, 1, 2, or 3.DONE.- Signed distance function evaluation on pixel corner – return list of states.
- point2d cast operators
complexDONE.- tuple
- vector
- coordinate conversion with point objects
int2real(intCrdT x, intCrdT y)DONE.real2int(intCrdT x, intCrdT y)DONE.- int2real(pointIntType thePoint)
- real2int(pointFltType thePoint)
- Precomputed Mandelbrot
- Add example that computes & saves convergence information in image files
- Escape points
Escape timeDONE- Last iteration value
- Iteration before last value
- Cyclic points
Period lengthDONETime to first periodDONE- Minimum modulus of points in cycle
- Maximum modulus of points in cycle
- Escape points
- Consider doing above, but with HDF5 file – and store all the orbits & cycles…
- Add budabrot examples using pre-computed data
- Budabrot for period 2 bulb.
- Budabrot for period 1 bulb.
- Budabrot for period 1 & 2 bulbs with 1 red and 2 blue
- Budabrot with just the cyclic parts of the orbits for all orbits. Odd period red, even blue.
- Add example that computes & saves convergence information in image files
- Add number formatting
Padded integers – like we use in image file names & MRW headersDONEFloating point numbersCANCELED
- Add \(IC_tC_p\) or ITP color space support
- Color difference:
Add colorTpl::distDeltaE1994DONEAdd colorTpl::distDeltaE1976DONE- Add colorTpl::distDeltaE2000
- Add Rec. ITU-R BT.2124 or Δ EITP https://en.wikipedia.org/wiki/Color_difference
- FITS
- Add an example showing how to read a FITS file using FITSIO
- HDF5
- Add an example showing how to read/write a HDF5 file
- Integrate HDF5 support into ramCanvasTpl?
- Set channels
- From an array (the object)
- An iterator
- An initializer list
- Add cubic spline interpolation
- Add: getPxColorInterpBCubS(double x, double y) – bicubic spline
- Add support to PxColorInterpolate
- Add an entry to interpolationType – CUBICSPLINE
- Note I'm not talking about bicubic implemented with a smoothing kernel.
- Save Greyscale ascii
A good sequences:
"$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. " " .:-=+*#%@"
- Make ramCanvas work like a standard container
- Pixel store iterators
- Work with standard algorithms
- etc..
- Interactive canvas observer
- Fire off a thread that monitors a canvas and displays it.
- Use an SDL2 or GLUT window.
- Rate of update should be tuenable.
- An occasional display artifact due to thread data collision is acceptable.
- Encode real coordinate information in saved images and use that data in ImageJ for measurements and mouse location
Write ImageJ plugin/tool that prints out real coordinates when clicking on an image.DONE
- OpenMP
- Spread OpenMP use across examples.
- Include parallelism in ramCanvas
- Draw Pixel functionality
- Functional approach to pixel drawing methods
- Have a functor called by drawPixel instead of a switch statement
- Option to have a color tfrm* method argument to drawPixel
- A drawPixel-like method that increments a specified channel of the specified pixel by a given quantity "addToPixel"
- More generic than above. Take a colorTpl tfrm* style function to modify the specified pixel.
- Functional approach to pixel drawing methods
- ramCanvas Converters
- Add C++20 concepts for converters & apply them to the methods that use converters
- Add converter support to ramCanvas copy operation – i.e. so we can "copy" data between canvases of a dissimilar types
- Converters
- Crop canvas
- ramCanvasTpl: Add methods to copy/convert/filter data from another ramCanvas.
- Method that returns a packed integer from a color value. It should use a standard converter to do the job if one is not provided.
- ramCanvasTpl: relations
- Add operators: != & ==.
Add isEqualDONEAdd isCloseDONEAdd isSameSizeDONEAdd isNotSameSizeDONE
- unit tests
- colorTpl
- Add tests to make sure constants are correct for ALL types (minChanVal, maxChanVal, meanChanVal, etc….)
- Add GCC with 128-bit support tests
- ramCanvasTpl
- Instead of comparing files, load files and compare images – using an endianness aware MRW reader.
- Test TIFF files in save_file test case – by reading them in along with a reference MRW, and comparing the images in RAM.
- Convert test_draw_fonts.cpp to a demo
- Add unit tests for fonts
- Add unit tests for Geometric transforms
- Add unit tests for Homogeneous transforms
- Add unit tests for Convolution
- Add unit tests for image write with filters
- colorTpl
- Geometric Transformations:
- Support both forward and reverse transformations.
- Notation
- Target Canvas: \(T\) – coordinates \((u, v)\)
- Source Canvas: \(S\) – coordinates \((x, y)\)
- Target color: \(C_T(u, v)\) = color of pixel at \((u, v)\)
- Source color: \(C_S(x, y)\) = color of pixel at \((x, y)\)
- Geometric mappings:
- forward: \(f:S\rightarrow T\)
- \(f(x, y)\) -> \((u, v)\)
- \(C_T(\mathrm{round}(f(x, y)))\) ← \(C_S(x, y)\)
- \(f(x, y)\) might not be integer coordinates.
- So we just pick the closest.
- Some \((x, y)\) coordinates \(S\) might not map to valid \((u, v)\) coordinates in \(T\) – i.e. they might be off canvas.
- Some pixels in \(T\) might be hit by more than one set of \((x, y)\) coordinates.
- A stratigy needs to be selcted for which hit to take.
- Algorithm
- for each \((x, y)\) in \(S\)
- Compute \((u, v)=\mathrm{round}(f(x, y))\).
- If \((u,v)\) are valid, then set \(C_T(u, v) = C_S(x, y)\) otherwise \(C_T(u, v) = \mathrm{GREEN}\).
- for each \((x, y)\) in \(S\)
- reverse: \(r:T\rightarrow S\)
- \(r(u, v) -> (x, y)\)
- \(C_T(u, v) \leftarrow C_S(r(u, v))\)
- \(r(u, v)\) might not be integral
- Image interpolation is the standard solution to this problem.
- Some \((u, v)\) coordinats in \(T\) might not be mapped valid coordinates in \(S\).
- We can identify these pixesl by coloring them with a guard color (like green)
- Algorithm
- for each \((u, v)\) in \(T\)
- Compute \((x, y)=r(u, v)\)
- If (\(x,y)\) is valid, then set \(C_T(u, v) = \mathrm{interpolate}(C_S, x, y)\), else set \(C_T(u, v) = \mathrm{GREEN}\).
- for each \((u, v)\) in \(T\)
- forward: \(f:S\rightarrow T\)
- Methods
reverse: bivariate polynomial in x & yDONE.- Bivariate Polynomials
- Single list of coefficients
- Order is lexicographic
- Bivariate Polynomials
- forward: bivariate polynomial in x & y
- forward: univariate polynomial in r
reverse: univariate polynomial in rDONE.- Compatable with Imagemagick's barrel distortion transformation
- (X, Y) is the image center for both T & S
- A, B, C, & D are constants
- A+B+C+D=1 – if you don't provide D it will be computed
- r is the target radius: r=sqrt((u-X)^2+(v-Y)^2)
- R is the source radius: R=sqrt((x-X)^2+(y-Y)^2)
- Command line option looks like this:
-distort Barrel "A B C D X Y"
- The polynomial looks like this: R = r * ( A*r^3 + B*r^2 + C*r + D )
Algorithm:
for each (u,v) r=sqrt((u-X)^2+(v-Y)^2) R = r * ( A*r^3 + B*r^2 + C*r + D ) x = u * r / R + X y = v * r / R + Y
- Compatable with Imagemagick's barrel distortion transformation
- forward: functor
reverse: functorDONE.- forward: Affine matrix (3x3) transform
reverse: Affine matrix (3x3) transformDONE.- Matrix
- Just an array of 9 elements
- Matrix
Make use of tuple assignment notation
std::tuple<float&, char&&, int> tpl(x, std::move(y), z); const auto& [a, b, c] = tpl;


Tests if the correct number of violation reports are generated and each report corresponds to this feature. 4 reports should be created out of the 6 options below (reports for all except for 'fallback' and 'optional').
| not-set | auto | block | swap | fallback | optional |
|---|


This setting corresponds to the --mountpoint option of the unik build CLI command.
--mountpoint
unik build


{{open_tag|none}} // keep unauthorized users out $this->require_acl ('admin', '{{plural}}'); // set the layout $page->layout = 'admin'; // get the version and check if the app installed $version = Appconf::get ($this->app, 'Admin', 'version'); $current = $this->installed ($this->app, $version); if ($current === true) { // app is already installed and up-to-date, stop here $page->title = __ ('Already up-to-date'); printf ('
%s', $this->app, __ ('Home')); return; } $page->title = sprintf ( '%s: %s', __ ('Upgrading App'), Appconf::get ($this->app, 'Admin', 'name') ); // add your upgrade logic here // mark the new version installed $this->mark_installed ($this->app, $version); printf ('
', $this->app, __ ('Done.')); {{close_tag|none}}


{% extends "layout_bsa.html" %} {% block page_title %} What is your date of birth?  Date of birth For example, 31 03 1980 Day Month Year {% endblock %}
Check your answer:
Claim your NHS Pension
For example, 31 03 1980


| Loc Nguyen | Thu-Hang Thi Ho |
Published in Science Publishing Group.
Experimental Results published in Journal of Community & Public Health Nursing.
Presented at the 2016 Annual Conference of Ho Chi Minh City Society for Reproductive Medicine (HOSREM).
Product download.
Git source.
Fetal age and weight estimation plays the important role in pregnant treatments. There are many estimate formulas created by the combination of statistics and obstetrics. However, such formulas give optimal estimation if and only if they are applied into specified community or ethnic group with characteristics of such ethnic group. This product proposes a framework that supports scientists to discover and create new formulas more appropriate to community or region where scientists do their research. The discovery algorithm used inside the framework is the core of the architecture of framework. This algorithm is based on heuristic assumptions, which aims to produce good estimate formula as fast as possible. Moreover, the framework gives facilities to scientists for exploiting useful information under pregnant statistical data.


| MATLAB 文件帮助: cv.StereoSGBM | 查看 cv.StereoSGBM 的代码 | Index |
StereoSGBM Class for computing stereo correspondence using the semi-global block matching algorithm
The class implements the modified H. Hirschmuller algorithm [HH08] that differs from the original one as follows:
By default, the algorithm is single-pass, which means that you
consider only 5 directions instead of 8. Set Mode='HH'
in the
contructor to run the full variant of the algorithm but beware that it
may consume a lot of memory.
The algorithm matches blocks, not individual pixels.
Mutual information cost function is not implemented. Instead, a simpler Birchfield-Tomasi sub-pixel metric from [BT96] is used. Though, the color images are supported as well.
Some pre- and post- processing steps from K. Konolige algorithm
cv.StereoBM are included, for example: pre-filtering (XSobel
type)
and post-filtering (uniqueness check, quadratic interpolation and
speckle filtering).
bm = cv.StereoSGBM('MinDisparity',0, ...);
bm.BlockSize = ...;
disparity = bm.compute(left, right);
[HH08]:
Heiko Hirschmuller. "Stereo processing by semiglobal matching and mutual information". Pattern Analysis and Machine Intelligence, IEEE Transactions on, 30(2):328-341, 2008.
[BT96]:
Stan Birchfield and Carlo Tomasi. "A pixel dissimilarity measure that is insensitive to image sampling". Pattern Analysis and Machine Intelligence, IEEE Transactions on, 20(4):401-406, 1998.
| Superclasses | handle |
| Sealed | false |
| Construct on load | false |
| StereoSGBM | Creates StereoSGBM object |
| BlockSize | Matched block size, default 7 |
| Disp12MaxDiff | Maximum allowed difference (in integer pixel units) in the |
| MinDisparity | Minimum possible disparity value, default 0 |
| Mode | one of 'SGBM' (default) or 'HH' (runs the full-scale two-pass |
| NumDisparities | Maximum disparity minus minimum disparity, positive and divisble by |
| P1 | first parameter controlling the disparity smoothness, default 0 |
| P2 | second parameter controlling the disparity smoothness, default 0 |
| PreFilterCap | Truncation value for prefiltering image pixels, default 0 |
| SpeckleRange | Maximum disparity variation within each connected component (when |
| SpeckleWindowSize | Maximum size of smooth disparity regions to consider their noise |
| UniquenessRatio | uniqueness ratio, default 0 |
| id | Object ID |
| addlistener | Add listener for event. | |
| clear | Clears the algorithm state. | |
| compute | Computes disparity map for the specified stereo pair | |
| delete | Destructor | |
| empty | Checks if algorithm object is empty. | |
| eq | == (EQ) Test handle equality. | |
| findobj | Find objects matching specified conditions. | |
| findprop | Find property of MATLAB handle object. | |
| ge | >= (GE) Greater than or equal relation for handles. | |
| getDefaultName | Returns the algorithm string identifier. | |
| gt | > (GT) Greater than relation for handles. | |
| Sealed | isvalid | Test handle validity. |
| le | <= (LE) Less than or equal relation for handles. | |
| load | Loads algorithm from a file or a string. | |
| lt | < (LT) Less than relation for handles. | |
| ne | ~= (NE) Not equal relation for handles. | |
| notify | Notify listeners of event. | |
| save | Saves the algorithm to a file. |
| ObjectBeingDestroyed | Notifies listeners that a particular object has been destroyed. |


Like nearly everyone today, I’m active in various social networking sites. There are some to spend only a few seconds and other which have longer (some lifetime) appeal for your patience. Here is a list where you can find me:
There are more social network sites where I publish personal information about me. If we know each in personal we can connect each other:
Is a buzz from the old times of the Internet and means that you use news a feed reader like (in my opinion the best out there) Google Reader to get informed about new articles about different websites. If you want, you can subsribe to my feed:
Of course, you can just visit this page without using this feed if this is to complicated for you.


Clinical Trials Browser
Currently viewing
trials with
enrolled participants.
Conditions
Intervention
Study years


This page provides links to demonstrations using the feedWebGL javascript library and other information about the package.
The feedWebGL package streamlines the process of implementing WebGL2 programs that use the Transform/Feedback feature of WebGL2. These features are not consistently implemented on all browsers.
Please use the webglreport to view the capabilities of your browser.


flibs/strings - Glob matching
The glob_matching module provides a string matching method known as glob matching: it is used for instance under UNIX, Linux and DOS to select files whose names match a certain pattern - strings like "*.f90" describe all file swhose names end in ".f90".
The method implemented in the module is somewhat simplified than the full glob matching possible under UNIX: it does not support character classes.
Glob patterns are intended to match the entire string. In this implementation, however, trailing blanks in both the string and the pattern are ignored, so that it is a bit easier to use in Fortran.
The module supports both "*" and "?" as wild cards, where "*" means any sequence of characters, including zero and "?" means a single character. If you need to match the characters "*" or "?", then precede them with a backslash ("\"). If you need to match a backslash, you will need to use two:
match = string_match( "c:\somedir" "c:\\*" )
will return .true., while:
match = string_match( "c:\somedir" "c:\*" )
will not match, as the backslash "escapes" the asterisk, which then becomes an ordinary character.
The module contains a single function:
To import the glob matching function, use this module.
Check whether the (entire) string matches the given "glob" pattern. Trailing blanks in both the string and the pattern are ignored. The function returns .true. if the string matches the pattern, .false. otherwise.
The string to be examined
The string containing the pattern
The matching algorithm is not flawless:
Patterns like "e* *" may fail, because trailing blanks are removed. The string "e " ought to match this pattern, but because only the substring "e" will be considered, the trailing blank that is necessary for matching between the two asterisks is removed from the matching process.
The test program contains a case that should fail on this, but it does not, oddly enough.
Patterns like "b*ba" fail on a string like "babababa" because the algorithm finds an early match (the substring at 3:4) for the last literal substring "ba" in the pattern. It should instead skip over that substring and search for the substring 7:8.
There are two ways to deal with this:
Insert an extra character at the end, which does not occur anywhere in the pattern.
If the match fails, continue at a point after the position of the literal substring where matching failed.
The second is probably the way to go, but it may be a bit slower.
Copyright © 2006 Arjen Markus <arjenmarkus@sourceforge.net>


Hi Daniel
Someone has requested to reset your password. If it were not you, please ignore this email. Otherwise please click on the following link to set a new password: Click here to set a new password
Thank you!


Indent-o-Meter
`Prev `__
I
`Next `__
--------------
**Indent-o-Meter**
[] A fiendishly clever ASCII display hack that became a brief fad in
1993-1994; it used combinations of tabs and spaces to produce an analog
indicator of the amount of indentation an included portion of a reply
had undergone. The full story is at
`http://world.std.com/~mmcirvin/indent.html `__.
--------------
+---------------------------------+----------------------------+-------------------------------+
| `Prev `__ | `Up <../I.html>`__ | `Next `__ |
+---------------------------------+----------------------------+-------------------------------+
| indent style | `Home <../index.html>`__ | index of X |
+---------------------------------+----------------------------+-------------------------------+


BT is giving away free TVs and Xbox One consoles with broadband deal
The freebies are available on a range of BT broadband bundles when customers add BT Sport
by Neil Bennett, https://www.birminghammail.co.uk/authors/neil-bennett/BT are enticing new customers with the offer of either a free Xbox One or a free 4K TV.
Customers who now sign up or upgrade to BT Sport will be rewarded with an exciting giveaway worth hundreds of pounds.
The offers - live now on BT's website - start at £35.99 per month on a 24 month contract and come with a smart hub that gives you unlimited monthly usage.
BT Bundles
Along with a Superfast Fibre Essential bundle with average speeds of 36MB, here are the bundles that come with your choice of either an LG Smart TV or an Xbox One once you've added BT Sport.
To check out all of the deals, go to the BT website's deals page .
- Superfast Fibre - Average Speed of 50MB - £35.99 per month
- Superfast Fibre 2 - Average Speed of 67MB - £39.99 per month
- Ultrafast Fibre - Average Speed of 145MB - Speed Guarantee of at least 100MB - £39.99 per month
The deal is said to end as soon as stock runs out.
Sky Deals
BT aren't the only telecommunications company to be offering out deals.
Sky TV also have their own range of offers starting from £45 a month.
Broadband is only included in one of their deals, with average download speeds of 59Mbps and FREE Sky Talk Anytime.
Other offers include Sky TV and Netflix bundle from the low price of £25 a month and various savings on Sky Mobile.


{include file="Common/head.html"} {include file="Common/header.html"} {include file="Common/menu.html"} {include file="Common/main.html"} {include file="Common/footer.html"} {include file="Common/shortcut.html"} {include file="Common/foot.html"}


@*
* Copyright 2023 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.cataloguefrontend.servicecommissioningstatus.Check
@import uk.gov.hmrc.cataloguefrontend.routes
@import uk.gov.hmrc.cataloguefrontend.model.Environment
@this()
@(serviceName : String,
checks : List[Check],
applicableEnvironments : List[Environment]
)(implicit
request : RequestHeader
)
@standard_layout("Commissioning-State") {
Commissioning State
Guidance for creating a microservice can be found in the MDTP Handbook
| Step | State |
|---|


Though for the majority of my life I have had an interest in video production I was never too far from the visual and imaginative industry that is graphic design. Only recently (less than a year ago) have I discovered my interest in graphic design, an interest that has evolved deeply into a passion. I am mostly self-taught, having had taken a few computer arts classes in high school.
Outside of that I scour the internet for any resources to help me improve my craft and help me grow into the professional I would like to be. I've come a long way form where I began but my journey has yet to end.
I've also recently gotten web development at the start of October, '14. Since then I've made two websites (both are in my portfolio). I don't believe in perfection at all times but trying your best to achieve something functional and practical. Ergo I'm pretty proud of what I've done so far and will continue to improve on what I do and can do.
Links to all of my social media, portfolio, LinkedIn and Github and be found below!
For business inquires of any kind contact me through the convenient contact box below, or email me: PieceDigitalStudios@Gmail.Com


ABOUT ME
No, I am who I am. I'm not going to change for anybody.
Welcome to My History
- A GIRL who graduated as a Engineer
- graduated from Hashemite Universty
- did'nt work yet, did'nt have experiens yet
- career shifting to programming
Welcome to My History


{% extends "base.html" %} {% load i18n %} {% block title %}{% trans 'Password reset successful' %}{% endblock %} {% block content %}
{% trans "We've e-mailed you instructions for setting your password to the e-mail address you submitted. You should be receiving it shortly." %}
We've had some problems with emails being blocked as spam by some service providers- Hotmail seems particularly bad. If your email doesn't appear soon, you can try again, or contact us and we'll sort the problem.
{% endblock %}


Cookies are small files which are stored on a user's computer. They are designed to hold a modest amount of data specific to a particular client and website, and can be accessed either by the web server or the client computer.
We don't use any cookies for this website.


The Meenakshi Thirukalyanam festival commemorates Meenakshi Amman's sacred marriage to Lord Shiva. This grand festival takes place in Madurai, Tamil Nadu's cultural capital, and is one of the city's most important activities. According to legend, Lord Shiva once came to Madurai to tie the nuptial knots with Meenakshi, and this practise has been carried on ever since. This annual event is held in Madurai's popular "Meenakshi Amman Temple," and devotees from all over the world attend to witness this magnificent event. Meenakshi Thirukalyanam is held on the 10th day of the renowned Chithirai festival.
Meenakshi Thirukalyanam festival dates between 2018 & 2028
Year Date 2018 Thursday, 26th of April 2019 Wednesday, 17th of April 2020 Monday, 4th of May 2021 Saturday, 24th of April 2022 Thursday, 14th of April 2023 Monday, 1st of May 2024 Saturday, 20th of April 2025 Wednesday, 7th of May 2026 Tuesday, 28th of April 2027 Sunday, 18th of April 2028 Friday, 5th of May


Background
Foreground
Background colour is set to {{data.backgroundColor}}
Foreground colour is set to {{data.foregroundColor}}


Breaking: Early reports of an Israeli attack on western Damascus
by News DeskBEIRUT, LEBANON (5:15 A.M.) – At approximately 5:00 A.M. (local time), a source from the Syrian military said a couple of rockets were fired from the Mount Hermon (Jabal Sheikh) region of Lebanon towards the western countryside of Damascus.
According to the source, the attack was believed to have been launched by the Israeli Defense Forces (IDF), as they share a part of Mount Hermon.
The source added that the Syrian military quickly activated their air defenses as soon as the rockets were fired into southwestern Syria.
Since the attack, the Israeli media has reported that the Israeli Defense Forces intercepted rockets fired from Syria into the occupied Golan Heights.
Al-Masdar is awaiting a response about these claims.
More details to come…