CONCEIVING ADA
Reviewed by Harvey Karten, Ph.D. Fox Lorber Director: Lynn Hershman Leeson Writer: Lynn Hershman Leeson, Eileen Jones Cast: Tilda Swinton, Francesca Faridany, Timothy Leary, Karen Black
There's something awfully scary about this movie. "Conceiving Ada" is not eerie like, say, "I Know What You Did Last Summer," and in fact for maturity and intellectual depth it's not even on the same planet as that high-school adventure. Nor does writer-director Lynn Hershman Leeson spook us in the manner of James Whaley, who conceived not Ada but the Bride of Frankenstein. What's frightening is that "Frankenstein" author Mary Shelley's apprehension about the subordination of human beings by the very mutants we created is coming ever closer to reality. Take movies, for example. Special effects dominate the youth market more than ever now, as computer- and video-game savvy kids flock to theaters for the car crashes and exploding buildings rather than for the human performances. What's more a character like Todd, the title figure played by Kurt Russell in Warner Bros.' "Soldier," acts so much like an accomplished robot that Russell himself could have been downsized in favor of an automaton. Some visionaries have actually suggested that many films of the future will be as devoid of living actors as "Prince of Egypt," with computer-generated substitutes that look like anything but cartoon figures.
To some extent that future is here, with "Conceiving Ada" serving as a breakthrough in cinema technology. The human roles are taken by real people, though the part of a dog is assumed by both a real mutt (who is so ugly that it's cute) and a computer-generated image of the pooch. Ah, but the sets! Lots of brand-new technological effects are used, generally created with Photoshop software and added in post- production. The actors themselves performed against nothing more than a bluescreen, photographed with a Digital Betacam (with the images later transferred to 35mm), and for the most part the techies then took over. The computer-savvy crew utilized 380 photos of Victorian rooms of San Francisco Bay-area bed and breakfast lodgings plus some still shots of the actual room once occupied by the daughter of Lord Byron, Ada, known as Lady Lovelace. They superimposed the photos through miscellaneous digital technologies, colorized them, and mixed it all up in post production. Lynn Hershman Leeson, who had done scores of videos before involving herself in this groundbreaking effort, is just the person to do the movie, given her techie background and her desire to restore Ada Byron King to her rightful place in history.
Enough about the impressive technology, which you can read about in the American Cinematographer magazine of 18 September 1998. The film must stand or fall not on the cleverness of the set but on the quality of the drama. Drama is, alas, its weak link.
The story deals with Ada Byron King (played by the remarkable star of "Orlando," Tilda Swinton), who lived in England during Victorian times (mid-19th century). Paralleling Ada's life in many ways is a fictional character of our own time here in America, Emmy Coer (Francesca Faridany). Emmy is a computer programming genius pregnant by her union with Nicholas Clayton (J.D. Wolfe) and like Ada is obsessed with work while having a difficult time dealing with the thought of having children. While researching artificial life on her computer, she manipulates her unit to travel through time and to her utter amazement hones in on actual scenes from Ada's life which are uploaded by Ada's own memory. As acted with grace, eloquence, and intensity by Tilda Swinton, Ada takes the modern-day programmer through her experiments with the formation of a new language, one which could allow the a precursor of the computer invented by Charles Babbage (John O'Keefe) to do far more than make computations. Her intended language would permit this Analytical Machine to write poetry and compose music, among other delights. The passionate Ada is seen enjoying several love affairs with some of the brilliant men of her time such as mathematician John Crosse. But she feels that because women are accorded no respect other than as childbearers and homemakers, her discoveries became credited to the men with whom she worked. In one scene, the mortally ill and bleeding Ada is dismissed by her physician as being merely hysterical, is given opium (to which she became addicted), and told to "have a child" to get over her pain.
With only 85 minutes to tell the story, director Leeson spends too much time on the character of Emmy, who dominates the opening scenes, time that could have been spent more profitably exploring exactly what Ada contributed to the world of the computer. We are left with the feeling that the real work was generally performed by the men who received the credit, particularly Babbage, who actually built the device. We wonder, then, why the Defense Department named a whole computer language after Ada and nothing after Charles. Though Ada frequently exhorts her new friend from the twentieth century to "save" her, we learn principally that the salvation is to come by restoring Ada's name to its rightful place in history and not to deliver her from her painful illness, indifference to her children, or her feeling that she has not fulfilled her destiny.
"Conceiving Ada," for all its technological proficiency, remains a work too precious for any but the most sophisticated film buff, displaying Ada's appetite for lovemaking and obsession with her work but almost devoid of passion itself. A vibrant imagination is at work in its creation, but the film is all intellect--inert from the neck down.
Not Rated. Running Time: 85 minutes. (C) 1999 Harvey Karten
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


h
ackerearth
-- Programming Problems Hub!
Total Likes:
API Hits:
Sort By
{{c.name}}
Solved By: {{c.solved_by}} |
Rating
{{rate}}
{{c.parent_challenge}}
{{val+', '}}
Link :
{{c.url}}


Blog for dogs
This is my blog for dogs. It contains information about dogs, such as:
What to eat
How much to exercise
Where to buy toys
About the Author
My name is Michael Mayer.


i love riding my bicycle
you don't need to know the mechanics in order to enjoy riding it
you can take it easy, you can sweat
the bicycle doesn't have a backdoor where someone could spy on me, or brick it, or is collecting data about my whereabouts
i wish all computational tools gave us the same freedom and experience as bikes do


Apache HTTP Server Version 1.3
Performance Tuning Tips for Digital Unix
Below is a set of newsgroup posts made by an engineer from DEC in
response to queries about how to modify DEC's Digital Unix OS for more
heavily loaded web sites. Copied with permission.
Update
From: Jeffrey Mogul<EMAIL_ADDRESS>Date: Fri, 28 Jun 96 16:07:56 MDT
- The advice given in the README file regarding the
"tcbhashsize" variable is incorrect. The largest value
this should be set to is 1024. Setting it any higher
will have the perverse result of disabling the hashing
mechanism.
- Patch ID OSF350-146 has been superseded by
Patch ID OSF350-195 for V3.2C
Patch ID OSF360-350195 for V3.2D
Patch IDs for V3.2E and V3.2F should be available soon.
There is no known reason why the Patch ID OSF360-350195
won't work on these releases, but such use is not officially
supported by Digital. This patch kit will not be needed for
V3.2G when it is released.
From<EMAIL_ADDRESS>(Jeffrey Mogul)
Organization DEC Western Research
Date 30 May 1996 00:50:25 GMT
Newsgroups comp.unix.osf.osf1
Message-ID<EMAIL_ADDRESS>Subject Re: Web Site Performance
References 1
In article<EMAIL_ADDRESS><EMAIL_ADDRESS>(Jim Skoog) writes:
>Where are the performance bottlenecks for Alpha AXP running the
>Netscape Commerce Server 1.12 with high volume internet traffic?
>We are evaluating network performance for a variety of Alpha AXP
>runing DEC UNIX 3.2C, which run DEC's seal firewall and behind
>that Alpha 1000 and 2100 webservers.
Our experience (running such Web servers as altavista.digital.com
and www.digital.com) is that there is one important kernel tuning
knob to adjust in order to get good performance on V3.2C. You
need to patch the kernel global variable "somaxconn" (use dbx -k
to do this) from its default value of 8 to something much larger.
How much larger? Well, no larger than 32767 (decimal). And
probably no less than about 2048, if you have a really high volume
(millions of hits per day), like AltaVista does.
This change allows the system to maintain more than 8 TCP
connections in the SYN_RCVD state for the HTTP server. (You
can use "netstat -An |grep SYN_RCVD" to see how many such
connections exist at any given instant).
If you don't make this change, you might find that as the load gets
high, some connection attempts take a very long time. And if a lot
of your clients disconnect from the Internet during the process of
TCP connection establishment (this happens a lot with dialup
users), these "embryonic" connections might tie up your somaxconn
quota of SYN_RCVD-state connections. Until the kernel times out
these embryonic connections, no other connections will be accepted,
and it will appear as if the server has died.
The default value for somaxconn in Digital UNIX V4.0 will be quite
a bit larger than it has been in previous versions (we inherited
this default from 4.3BSD).
Digital UNIX V4.0 includes some other performance-related changes
that significantly improve its maximum HTTP connection rate. However,
we've been using V3.2C systems to front-end for altavista.digital.com
with no obvious performance bottlenecks at the millions-of-hits-per-day
level.
We have some Webstone performance results available at
http://www.digital.com/info/alphaserver/news/webff.html
I'm not sure if these were done using V4.0 or an earlier version
of Digital UNIX, although I suspect they were done using a test
version of V4.0.
-Jeff
----------------------------------------------------------------------------
From<EMAIL_ADDRESS>(Jeffrey Mogul)
Organization DEC Western Research
Date 31 May 1996 21:01:01 GMT
Newsgroups comp.unix.osf.osf1
Message-ID<EMAIL_ADDRESS>Subject Digital UNIX V3.2C Internet tuning patch info
----------------------------------------------------------------------------
Something that probably few people are aware of is that Digital
has a patch kit available for Digital UNIX V3.2C that may improve
Internet performance, especially for busy web servers.
This patch kit is one way to increase the value of somaxconn,
which I discussed in a message here a day or two ago.
I've included in this message the revised README file for this
patch kit below. Note that the original README file in the patch
kit itself may be an earlier version; I'm told that the version
below is the right one.
Sorry, this patch kit is NOT available for other versions of Digital
UNIX. Most (but not quite all) of these changes also made it into V4.0,
so the description of the various tuning parameters in this README
file might be useful to people running V4.0 systems.
This patch kit does not appear to be available (yet?) from
http://www.service.digital.com/html/patch_service.html
so I guess you'll have to call Digital's Customer Support to get it.
-Jeff
DESCRIPTION: Digital UNIX Network tuning patch
Patch ID: OSF350-146
SUPERSEDED PATCHES: OSF350-151, OSF350-158
This set of files improves the performance of the network
subsystem on a system being used as a web server. There are
additional tunable parameters included here, to be used
cautiously by an informed system administrator.
TUNING
To tune the web server, the number of simultaneous socket
connection requests are limited by:
somaxconn Sets the maximum number of pending requests
allowed to wait on a listening socket. The
default value in Digital UNIX V3.2 is 8.
This patch kit increases the default to 1024,
which matches the value in Digital UNIX V4.0.
sominconn Sets the minimum number of pending connections
allowed on a listening socket. When a user
process calls listen with a backlog less
than sominconn, the backlog will be set to
sominconn. sominconn overrides somaxconn.
The default value is 1.
The effectiveness of tuning these parameters can be monitored by
the sobacklog variables available in the kernel:
sobacklog_hiwat Tracks the maximum pending requests to any
socket. The initial value is 0.
sobacklog_drops Tracks the number of drops exceeding the
socket set backlog limit. The initial
value is 0.
somaxconn_drops Tracks the number of drops exceeding the
somaxconn limit. When sominconn is larger
than somaxconn, tracks the number of drops
exceeding sominconn. The initial value is 0.
TCP timer parameters also affect performance. Tuning the following
require some knowledge of the characteristics of the network.
tcp_msl Sets the tcp maximum segment lifetime.
This is the maximum lifetime in half
seconds that a packet can be in transit
on the network. This value, when doubled,
is the length of time a connection remains
in the TIME_WAIT state after a incoming
close request is processed. The unit is
specified in 1/2 seconds, the initial
value is 60.
tcp_rexmit_interval_min
Sets the minimum TCP retransmit interval.
For some WAN networks the default value may
be too short, causing unnecessary duplicate
packets to be sent. The unit is specified
in 1/2 seconds, the initial value is 1.
tcp_keepinit This is the amount of time a partially
established connection will sit on the listen
queue before timing out (e.g., if a client
sends a SYN but never answers our SYN/ACK).
Partially established connections tie up slots
on the listen queue. If the queue starts to
fill with connections in SYN_RCVD state,
tcp_keepinit can be decreased to make those
partial connects time out sooner. This should
be used with caution, since there might be
legitimate clients that are taking a while
to respond to SYN/ACK. The unit is specified
in 1/2 seconds, the default value is 150
(ie. 75 seconds).
The hashlist size for the TCP inpcb lookup table is regulated by:
tcbhashsize The number of hash buckets used for the
TCP connection table used in the kernel.
The initial value is 32. For best results,
should be specified as a power of 2. For
busy Web servers, set this to 2048 or more.
The hashlist size for the interface alias table is regulated by:
inifaddr_hsize The number of hash buckets used for the
interface alias table used in the kernel.
The initial value is 32. For best results,
should be specified as a power of 2.
ipport_userreserved The maximum number of concurrent non-reserved,
dynamically allocated ports. Default range
is 1025-5000. The maximum value is 65535.
This limits the numer of times you can
simultaneously telnet or ftp out to connect
to other systems.
tcpnodelack Don't delay acknowledging TCP data; this
can sometimes improve performance of locally
run CAD packages. Default is value is 0,
the enabled value is 1.


This determines when, if ever, build records for this project should be
discarded. Build records include the console output, archived artifacts, and
any other metadata related to a particular build.
Keeping fewer builds means less disk space will be used in the
Build Record Root Directory
, which is specified on the
Configure System
screen.
Jenkins offers two options for determining when builds should be discarded:
-
Build age: discard builds when they reach a certain age; for example,
seven days old.
-
Build count: discard the oldest build when a certain number of builds
already exist.
These two options can be active at the same time, so you can keep builds for
14 days, but only up to a limit of 50 builds, for example. If either limit is
exceeded, then any builds beyond that limit will be discarded.
You can also ensure that important builds are kept forever, regardless of
the setting here — click the
Keep this build forever
button on the build page.
The last stable and last successful build are also excluded from these
rules.
In the
Advanced
section, the same options can be specified, but specifically for build
artifacts
. If enabled, build artifacts will be discarded for any builds which exceed
the defined limits. The builds themselves will still be kept; only the
associated artifacts, if any, will be deleted.
For example, if a project builds some software and produces a large
installer, which is archived, you may wish to always keep the console log
and information about which source control commit was built, while for disk
space reasons, you may want to keep only the last three installers that were
built.
This can make sense for projects where you can easily recreate the same
artifacts later by building the same source control commit again.
Note that Jenkins does not discard items immediately when this configuration
is updated, or as soon as any of the configured values are exceeded; these
rules are evaluated each time a build of this project completes.


Press the mode switch button on your TableDisco during startup. This will initiate a firmware update.
Cyan: Scanning for Updater - Yellow: Connecting to Updater - Blue: Downloading firmware and updating


Splits a String by Character type as returned by
java.lang.Character.getType(char)
. Groups of contiguous
characters of the same type are returned as complete tokens, with the
following exception: the character of type
Character.UPPERCASE_LETTER
, if any, immediately preceding a
token of type Character.LOWERCASE_LETTER
will belong to the
following token rather than to the preceding, if any,
Character.UPPERCASE_LETTER
token.
StringUtils.splitByCharacterTypeCamelCase(null) = null
StringUtils.splitByCharacterTypeCamelCase("") = []
StringUtils.splitByCharacterTypeCamelCase("ab de fg") = ["ab", " ", "de", " ", "fg"]
StringUtils.splitByCharacterTypeCamelCase("ab de fg") = ["ab", " ", "de", " ", "fg"]
StringUtils.splitByCharacterTypeCamelCase("ab:cd:ef") = ["ab", ":", "cd", ":", "ef"]
StringUtils.splitByCharacterTypeCamelCase("number5") = ["number", "5"]
StringUtils.splitByCharacterTypeCamelCase("fooBar") = ["foo", "Bar"]
StringUtils.splitByCharacterTypeCamelCase("foo200Bar") = ["foo", "200", "Bar"]
StringUtils.splitByCharacterTypeCamelCase("ASFRules") = ["ASF", "Rules"]
- Parameters:
str
- the String to split, may be null
- Returns:
- an array of parsed Strings,
null
if null String
input - Since:
- 2.4


POWER BALLOT
HAWAII PRIMARY ELECTION
AUGUST 9, 2014
Libertarian Party (L)
United States Senate
United States House of Representatives - District 2
Governor
Lieutenant Governor
Independent Party (I)
Governor
Lieutenant Governor
Republican Party (R)
United States Senate
United States House of Representatives - District 2
Governor
Lieutenant Governor
Hawaii State House - District 51
Green Party (G)
Nonpartisan (N)
United States Senate
Governor
all disqualified since no Nonpartisan Lieutenant Governor candidate, see Hawaii News Now articleDemocratic Party (D)
United States Senate
United States House of Representatives - District 2
Governor
Lieutenant Governor
Hawaii State House - District 51
Office of Hawaiian Affairs
OHA Board of Trustees - Oahu Representative
OHA Board of Trustees - At-Large Representatives
(you can vote for up to 3)The Power Ballot is for informational purposes only and cannot be used to officially vote in the primary election. No endorsement of any candidate or party is intended. Candidate information has been gathered from public websites and documents.
Did you find a mistake? Do you have a suggestion?Let us know - Email Civic-Celerator
Special thanks to Corie Tanida of Common Cause Hawaii who coordinated a great group of volunteers - Christine Trecker, Connie Clinton, Dustin Schoedel, Jeanne Ohta and Joe Heaukulani. They all spent many hours doing the candidate research that made the Power Ballot possible.
The amazing web development skills of Jason Axelson were critical for pulling in candidate data from the REST service and smoothing the rough edges of my initial prototype.
Mahalo ka kou! - Da Map Guy (Royce Jones)


In this example we will demonstrate how to use AreaListener for additional control over Excel generation with Jxls.
We will use Department and Employee objects
public class Department { private String name; private Employee chief; private List<Employee> staff = new ArrayList<Employee>(); private String link; // getters/setters ... } public class Employee { private String name; private int age; private Double payment; private Double bonus; private Date birthDate; private Employee superior; // getters/setters ... }
The goal is to highlight those bonus cells which have bonus value more than 20%.
The report template for this example uses Comment markup to define the transformation areas. It looks like this
In this example we will use Jxls POI adapter to generate the report. The code is like the following
List<Department> departments = EachIfCommandDemo.createDepartments(); logger.info("Opening input stream"); try(InputStream is = EachIfCommandDemo.class.getResourceAsStream(template)) { try (OutputStream os = new FileOutputStream(output)) { Transformer transformer = TransformerFactory.createTransformer(is, os); System.out.println("Creating area"); XlsArea xlsArea = new XlsArea("Template!A1:G15", transformer); XlsArea departmentArea = new XlsArea("Template!A2:G12", transformer); EachCommand departmentEachCommand = new EachCommand("department", "departments", departmentArea); XlsArea employeeArea = new XlsArea("Template!A9:F9", transformer); XlsArea ifArea = new XlsArea("Template!A18:F18", transformer); XlsArea elseArea = new XlsArea("Template!A9:F9", transformer); IfCommand ifCommand = new IfCommand("employee.payment <= 2000", ifArea, elseArea); ifArea.addAreaListener(new SimpleAreaListener(ifArea)); elseArea.addAreaListener(new SimpleAreaListener(elseArea)); employeeArea.addCommand(new AreaRef("Template!A9:F9"), ifCommand); Command employeeEachCommand = new EachCommand("employee", "department.staff", employeeArea); departmentArea.addCommand(new AreaRef("Template!A9:F9"), employeeEachCommand); xlsArea.addCommand(new AreaRef("Template!A2:F12"), departmentEachCommand); Context context = new Context(); context.putVar("departments", departments); logger.info("Applying at cell " + new CellRef("Down!A1")); xlsArea.applyAt(new CellRef("Down!A1"), context); xlsArea.processFormulas(); logger.info("Setting EachCommand direction to Right"); departmentEachCommand.setDirection(EachCommand.Direction.RIGHT); logger.info("Applying at cell " + new CellRef("Right!A1")); xlsArea.reset(); xlsArea.applyAt(new CellRef("Right!A1"), context); xlsArea.processFormulas(); logger.info("Complete"); transformer.write(); logger.info("written to file"); } }
To highlight required bonus cells we adding our custom SimpleAreaListener to each area of If-Command
ifArea.addAreaListener(new SimpleAreaListener(ifArea)); elseArea.addAreaListener(new SimpleAreaListener(elseArea));
The SimpleAreaListener is a simple class that highlights the greater 20% bonus cells.
It looks like this
public class SimpleAreaListener implements AreaListener { static Logger logger = LoggerFactory.getLogger(SimpleAreaListener.class); XlsArea area; PoiTransformer transformer; private final CellRef bonusCell1 = new CellRef("Template!E9"); private final CellRef bonusCell2 =new CellRef("Template!E18"); public SimpleAreaListener(XlsArea area) { this.area = area; transformer = (PoiTransformer) area.getTransformer(); } public void beforeApplyAtCell(CellRef cellRef, Context context) { } public void afterApplyAtCell(CellRef cellRef, Context context) { } public void beforeTransformCell(CellRef srcCell, CellRef targetCell, Context context) { } public void afterTransformCell(CellRef srcCell, CellRef targetCell, Context context) { if(bonusCell1.equals(srcCell) || bonusCell2.equals(srcCell)){ // we are at employee bonus cell Employee employee = (Employee) context.getVar("employee"); if( employee.getBonus() >= 0.2 ){ // highlight bonus when >= 20% logger.info("highlighting bonus for employee " + employee.getName()); highlightBonus(targetCell); } } } private void highlightBonus(CellRef cellRef) { Workbook workbook = transformer.getWorkbook(); Sheet sheet = workbook.getSheet(cellRef.getSheetName()); Cell cell = sheet.getRow(cellRef.getRow()).getCell(cellRef.getCol()); CellStyle cellStyle = cell.getCellStyle(); CellStyle newCellStyle = workbook.createCellStyle(); newCellStyle.setDataFormat( cellStyle.getDataFormat() ); newCellStyle.setFont( workbook.getFontAt( cellStyle.getFontIndex() )); newCellStyle.setFillBackgroundColor( cellStyle.getFillBackgroundColor()); newCellStyle.setFillForegroundColor(IndexedColors.ORANGE.getIndex()); newCellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND); cell.setCellStyle(newCellStyle); } }
As seen we are overriding afterTransformCell(CellRef srcCell, CellRef targetCell, Context context) method and trigger cell highlighting if bonus condition is satisfied
public void afterTransformCell(CellRef srcCell, CellRef targetCell, Context context) { if(bonusCell1.equals(srcCell) || bonusCell2.equals(srcCell)){ // we are at employee bonus cell Employee employee = (Employee) context.getVar("employee"); if( employee.getBonus() >= 0.2 ){ // highlight bonus when >= 20% logger.info("highlighting bonus for employee " + employee.getName()); highlightBonus(targetCell); } } }
The actual highlight is done using POI API in highlightBonus(CellRef cellRef) method
Final report for this example can be downloaded here


Welcome to the OSIAM administration!
Here you can administrate the users and groups of the OSIAM instance you connected to.
Authentication failed. Please log in again.
LoginHere you can administrate the users and groups of the OSIAM instance you connected to.
Authentication failed. Please log in again.
Login


My Second Post
Wed Aug 22 2012 17:00:00 GMT-0700 (PDT)
A super-interesting piece of prose I had already written weeks ago.


Logout
TRMS
Dashboard
Your Pending Reimbursement
Approved Reimbursements
Request a Reimbursement
Request


{% extends "themes/blog.html" %} {% block title %} Title {% endblock %} {% block blogtitle %} Blog Title {% endblock %} {% block blogdescription %} Short Description {% endblock %} {% block blogauthordate %}Posted by Dudon Wai on DATE{% endblock %} {% block maincontent %}
The first paragraph is meant to hook the audience and also briefly explain what the topic of the post is.
These paragraphs are meant to elaborate on the subtitle topic.
Insert any quotes that you want to share, or links you might want to direct your audience
Close your post with a little blurb that ties in with the intro, and gives direction for where the audience can get more information
[1] You should have a number of references that you can refer to here, to avoid too many tangents in the body of the text CLICK HERE
{% endblock %}


Pricing policy is straight forward. One flat payment of 3500 USD for software, installation , data migration and 3 month support.You create Heroku cloud account - www.heroku.com add us a collaborator and we will take care of the rest.
We will provide an application that will be hosted on your personal Heroku Cloud account , this way you will get total independence of our company. You can always increase your cloud account performance with your Heroku cloud provider.
You deal with Heroku, we are only software provider. At this moment basic Heroku cloud account is free however for better performance you might want to get payed account .
We take care of data migration - you provide us you data in excel we do the mapping.
Unlimited amount of users and rental units.
Support is 100 USD monthly however if you don't have support but then you require it - you have to pay one time fee of 800 USD.
If you are on support plan you are eligible for free upgrades.
Custom development is simple - you tell us what you need and we tell you what will be the price.


formhub aims to make collecting survey data with Android smart phones easy and free.
One uses formhub as follows:
This tutorial will walk you through each stop of the way.The first step in collecting survey data is to actually write the survey. For this tutorial we will be using the following survey:
After creating an account and signing into the site you can publish forms for use with ODK Collect. On the right, we submit tutorial.xls, described above, for publication.
After publishing our first form, a new table appears showing our new form. Next we need to use ODK Collect to submit data for this form...
The url of this web application must be given to ODK Collect before it will get forms from and submit data to formhub. In Collect's Main Menu, press the Menu button. Select Server Preferences, then Server. Enter {{ odk_url }} as the server.
After submitting data from ODK Collect to the server you can now download the data as a nicely formatted csv or xls file.
And look at submissions on a map:


17762 Mitchell N, Irvine, 92614
Phone:<PHONE_NUMBER>
Toggle navigation
HOME
SERVICES
GALLERY
ABOUT US
CONTACT
Gallery
Home
Gallery
«
1
2
3
4
5
»
Copyright © LU Electric Inc. 1990-2015


This port lies on the north west corner of Estonia's north coast, opposite the island of Osmussaar. Due to the area being out of bounds for many years, it is now an interesting haven for wildlife and fauna.
Position 59°12’41.00”N, 23°30’03.05”E. (harbour entrance)
It is essential for follow the leading marks when approaching this harbour due to dangerous rocks.
Shore storage is available at the port.
There is a summer beach cafe here and a well stocked local store (open daily).
Last updated January 2016.


US says Israeli settlements are no longer illegal in major policy shift
The United States will no longer consider Israeli settlements to be illegal under international law in a move that breaks with decades of policy.
On Monday, Secretary of State Mike Pompeo repudiated a 1978 State Department legal opinion that held that civilian settlements in the occupied territories are ‘inconsistent with international law’.
The decision has angered Palestinians and put the US at odds with nations working to bring the long-running conflict to an end.
The Trump administration believes the former policy hasn’t advanced the cause of peace and says any legal questions about the issue should be addressed by Israeli courts, Mr Pompeo stated.
He said: ‘Calling the establishment of civilian settlements inconsistent with international law has not advanced the cause of peace.
Advertisement Advertisement
‘The hard truth is that there will never be a judicial resolution to the conflict and arguments about who is right and who is wrong as a matter of international law will not bring peace.’
Mr Pompeo added the US wouldn’t take a position on the legality of specific settlements, that the new policy wouldn’t extend beyond the West Bank and that it would not create a precedent for other territorial disputes.
He also claimed the change in policy did not mean the administration was prejudging the status of the West Bank in any eventual Israeli-Palestinian peace agreement.
The 1978 legal opinion on settlements – known as the Hansell Memorandum – sets out US opposition to settlement construction.
It has been in place in one way or another – depending on the sitting president’s position on the matter – for more than 40 years.
The international community overwhelmingly considers the settlements illegal.
This is based in part on the Fourth Geneva Convention, which stops an occupying power from transferring parts of its own civilian population to occupied territory.
Palestinian President Mahmoud Abbas’ spokesman, Nabil Abu Rdeneh, has condemned the announcement, saying: ‘The US administration has lost its credibility to play any future role in the peace process.’
He added that settlements are illegal under international law.
It is not the first move from the Trump Administration that has been seen to weaken Palestinian efforts.
Others include Donald Trump’s decision to recognise Jerusalem as Israel’s capital, as well as the relocation of the US Embassy and the closure of the Palestinian diplomatic office in Washington.
Advertisement Advertisement
The move could be seen as a boost to Israeli Prime Minister Benjamin Netanyahu, who has been unable to form a coalition government following elections.
Mr Netanyahu’s office has claimed the policy shift ‘rights a historical wrong’.
A statement read: ‘This policy reflects an historical truth – that the Jewish people are not foreign colonialists in Judea and Samaria.’
Got a story for Metro.co.uk?
Get in touch with our news team by emailing us at<EMAIL_ADDRESS>For more stories like this, check our news page.


The purpose of this site is to publish videos about the Catalan independence movement and videos of complain of the intolerance and violence of Spain with Catalonia.


Welcome to inputEx 4.0.0 !
inputEx is an open-source javascript framework to build fields and forms for web applications using the YUI3 library. All the fields and forms are configured using JSON or created in Javascript. It provides a very efficient abstraction for building interactive web applications.
Disclaimer: It is not an unobtrusive library, but has much more to see!
It is built on top of the YUI3 library, is available under a MIT License and is free for all uses.
Download inputex 4.0.0
(November, 1st 2015 - changeset)
Resources
Directory Contents
This package contains the following directories:
api
Generated API docs for the entire library in HTML format.build
Built inputEx source files. This is what you should load on your web pages. The built files are generated at development time from the contents of thesrc
directory. The build step generates debug files (unminified and with full comments and logging), raw files (unminified, but without debug logging), and minified files (suitable for production deployment and use).docs
User guides and examples for inputEx componentssrc
Raw unbuilt source code (JavaScript, CSS, image assets, etc.) for the library. The individual component directories under thesrc
directory contain build.json files which can be used to build individual modules using the shifter Builder. (learn more on how to build components)
Examples list
Standard fields
"Meta" fields
- Group
- Form
- ListField
- CombineField
- InPlaceEdit
- TypeField
- SerializeField
- String Availability
- TreeField (alpha)
- Lens
- KeyValue
- KeyOpValue
- Object (beta)
Widgets
Date & Time fields
- DateField
- DatePickerField
- TimeField
- DateTimeField
- DateSplitField
- DateSelectMonthField
- TimeIntervalField
Extended
- Uneditable
- MultiSelectField
- MultiAutoComplete
- DSSelectField
- EmailField
- UrlField
- ColorField
- UpperCaseField
- IPv4Field
- RatingStars
- LinkedCombo
Numbers
Json-Schema
Wrappers
SMD json-rpc/REST
Other
- Definition loading
- I18n
- Example using XML
- Interactions (beta)
- inputex-calendar-today-highlight-plugin
- inputex-calendar-week-number-plugin
- inputex-calendar-year-navigator-plugin
- inputex-ddlist
- inputex-imagecropper
- node-menunav-improved


Dust Speak is a project by Steve Rice in collaboration with the current and former residents of the independent micronation of Eutropia.
Dust Speak is a project by Steve Rice in collaboration with the current and former residents of the independent micronation of Eutropia.


Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Canadian Electric Vehicles Ltd.
Mailing Address:
P.O. Box 616ERRINGTON, British Columbia
V0R 1V0
Location Address:
1184 Middlegate RdERRINGTON, British Columbia
V0R 1V0
Tel.:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
Logo
Full profile
Full profile
Contact information
Company description
Product / Service / Licensing
Vehicles in service range in size from three ton aircraft refueling and LAV trucks to the Might-E Tug, an electric towing unit which tows a variety of carts and equipment weighing up to 10,000 pounds.
The primary CEV product is the Might-E Truck, a custom heavy duty electric utility vehicle. Might-E Trucks are in operation at Universities, Government Sites, Industries, Parks, Municipalities and private companies.
Although our product focus is the manufacture of Might-E Truck we also continue to supply kits and technical support to convert high emission gas powered vehicles to zero emission electric vehicles.
The Might-E Tug is a high torque towing device capable of operating up to 72 hours on a single charge. Recharge is as simple as plugging into a standard outlet. Powered by a battery pack the Might-E Tug is a zero emission unit safe to use in enclosed areas.
The Might-E Tug is ergonomically designed for ease of operation and greatly reduces the potential for operator injury by eliminating the effort of moving heavy loads.
Designed for low maintenance cost, it out performs larger ride-on tow units both financially and mechanically.
Might-E Truck all Electric Utility Vehicle is your answer!
With an on-board battery charger and solid state speed controller, powered by a 72V, 225 Ah battery pack and a 16 HP SEPEX (Separately Excited) motor; it has a field adjustable top speed of up to 25 mph (40 km/h).
The SEPEX direct drive system utilizes Regenerative Braking technology and gives it superior durability, performance and range of up to 55 miles (90km) on a single charge.
With the economics and efficiency of operating in mind, this model is the new generation Electric Utility Vehicle that satisfies requirements and regulations for Low Speed Vehicles (LSV) or Neighborhood Electric Vehicles (NEV) for use as utility, work, urban or leisure vehicle.
Designed for low maintenance cost, it outperforms combustion vehicles both financially and mechanically.
1740-Airfield Specialized Trucks and Trailers
3930-Warehouse Trucks and Tractors, Self-Propelled
3990-Materials Handling Equipment, Miscellaneous
Technology profile
From small walk behind "tugs" capable of pulling up to 7000 lbs to 12,000 lb airport equipment. Recent additions include the
"Might E Truck Jr"
This small electric powered truck has a range of over 100 km and a top speed of 40 km/hr, suitable for airports, factories and other on site applications.
Market profile
Alliances:
- Sales/Marketing
- Technology
Industry sector market interests:
- Transportation
Sector information
Success stories:
In 2000 Canadian Electric Vehicles was approached by Los Angeles airport to design and build an electric powered aircraft refueling truck. Over 50 of these three ton trucks have been converted and are in use at airports in North America, Europe, Middle East and Australia. Randy Holmquist, with his staff of technicians and engineers continues to offer contract research and development services for the design and prototyping of electric vehicles for various industrial applications.Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
Products, services and licensing
Product / Service / Licensing
Vehicles in service range in size from three ton aircraft refueling and LAV trucks to the Might-E Tug, an electric towing unit which tows a variety of carts and equipment weighing up to 10,000 pounds.
The primary CEV product is the Might-E Truck, a custom heavy duty electric utility vehicle. Might-E Trucks are in operation at Universities, Government Sites, Industries, Parks, Municipalities and private companies.
Although our product focus is the manufacture of Might-E Truck we also continue to supply kits and technical support to convert high emission gas powered vehicles to zero emission electric vehicles.
The Might-E Tug is a high torque towing device capable of operating up to 72 hours on a single charge. Recharge is as simple as plugging into a standard outlet. Powered by a battery pack the Might-E Tug is a zero emission unit safe to use in enclosed areas.
The Might-E Tug is ergonomically designed for ease of operation and greatly reduces the potential for operator injury by eliminating the effort of moving heavy loads.
Designed for low maintenance cost, it out performs larger ride-on tow units both financially and mechanically.
Might-E Truck all Electric Utility Vehicle is your answer!
With an on-board battery charger and solid state speed controller, powered by a 72V, 225 Ah battery pack and a 16 HP SEPEX (Separately Excited) motor; it has a field adjustable top speed of up to 25 mph (40 km/h).
The SEPEX direct drive system utilizes Regenerative Braking technology and gives it superior durability, performance and range of up to 55 miles (90km) on a single charge.
With the economics and efficiency of operating in mind, this model is the new generation Electric Utility Vehicle that satisfies requirements and regulations for Low Speed Vehicles (LSV) or Neighborhood Electric Vehicles (NEV) for use as utility, work, urban or leisure vehicle.
Designed for low maintenance cost, it outperforms combustion vehicles both financially and mechanically.
1740-Airfield Specialized Trucks and Trailers
3930-Warehouse Trucks and Tractors, Self-Propelled
3990-Materials Handling Equipment, Miscellaneous
Technology
Technology profile
From small walk behind "tugs" capable of pulling up to 7000 lbs to 12,000 lb airport equipment. Recent additions include the
"Might E Truck Jr"
This small electric powered truck has a range of over 100 km and a top speed of 40 km/hr, suitable for airports, factories and other on site applications.
Market
Market profile
Alliances:
- Sales/Marketing
- Technology
Industry sector market interests:
- Transportation


| Interface | Description |
|---|---|
| AppendContextElementRequest |
An XML AppendContextElementRequest(@).
|
| AppendContextElementRequestDocument |
A document containing one appendContextElementRequest(@) element.
|
| AttributeList |
An XML AttributeList(@).
|
| CondValueList |
An XML CondValueList(@).
|
| ContextAttribute |
An XML ContextAttribute(@).
|
| ContextAttributeDocument |
A document containing one contextAttribute(@) element.
|
| ContextAttributeList |
An XML ContextAttributeList(@).
|
| ContextAttributeResponse |
An XML ContextAttributeResponse(@).
|
| ContextAttributeResponseDocument |
A document containing one contextAttributeResponse(@) element.
|
| ContextAttributeResponseList |
An XML ContextAttributeResponseList(@).
|
| ContextElement |
An XML ContextElement(@).
|
| ContextElementDocument |
A document containing one contextElement(@) element.
|
| ContextElementList |
An XML ContextElementList(@).
|
| ContextElementResponse |
An XML ContextElementResponse(@).
|
| ContextElementResponseDocument |
A document containing one contextElementResponse(@) element.
|
| ContextElementResponseList |
An XML ContextElementResponseList(@).
|
| ContextMetadata |
An XML ContextMetadata(@).
|
| ContextMetadataDocument |
A document containing one contextMetadata(@) element.
|
| ContextMetadataList |
An XML ContextMetadataList(@).
|
| ContextRegistration |
An XML ContextRegistration(@).
|
| ContextRegistrationAttribute |
An XML ContextRegistrationAttribute(@).
|
| ContextRegistrationAttributeDocument |
A document containing one contextRegistrationAttribute(@) element.
|
| ContextRegistrationAttributeList |
An XML ContextRegistrationAttributeList(@).
|
| ContextRegistrationDocument |
A document containing one contextRegistration(@) element.
|
| ContextRegistrationList |
An XML ContextRegistrationList(@).
|
| ContextRegistrationResponse |
An XML ContextRegistrationResponse(@).
|
| ContextRegistrationResponseDocument |
A document containing one contextRegistrationResponse(@) element.
|
| ContextRegistrationResponseList |
An XML ContextRegistrationResponseList(@).
|
| DiscoverContextAvailabilityRequestDocument |
A document containing one discoverContextAvailabilityRequest(@) element.
|
| DiscoverContextAvailabilityResponseDocument |
A document containing one discoverContextAvailabilityResponse(@) element.
|
| DiscoveryContextAvailabilityRequest |
An XML DiscoveryContextAvailabilityRequest(@).
|
| DiscoveryContextAvailabilityResponse |
An XML DiscoveryContextAvailabilityResponse(@).
|
| EntityId |
An XML EntityId(@).
|
| EntityIdDocument |
A document containing one entityId(@) element.
|
| EntityIdList |
An XML EntityIdList(@).
|
| NotifyCondition |
An XML NotifyCondition(@).
|
| NotifyConditionDocument |
A document containing one notifyCondition(@) element.
|
| NotifyConditionList |
An XML NotifyConditionList(@).
|
| NotifyConditionType |
An XML NotifyConditionType(@).
|
| NotifyConditionTypeDocument |
A document containing one notifyConditionType(@) element.
|
| NotifyContextAvailabilityRequest |
An XML NotifyContextAvailabilityRequest(@).
|
| NotifyContextAvailabilityRequestDocument |
A document containing one notifyContextAvailabilityRequest(@) element.
|
| NotifyContextAvailabilityResponse |
An XML NotifyContextAvailabilityResponse(@).
|
| NotifyContextAvailabilitytResponseDocument |
A document containing one notifyContextAvailabilitytResponse(@) element.
|
| NotifyContextRequest |
An XML NotifyContextRequest(@).
|
| NotifyContextRequestDocument |
A document containing one notifyContextRequest(@) element.
|
| NotifyContextResponse |
An XML NotifyContextResponse(@).
|
| NotifyContextResponseDocument |
A document containing one notifyContextResponse(@) element.
|
| OperationScope |
An XML OperationScope(@).
|
| OperationScopeDocument |
A document containing one operationScope(@) element.
|
| OperationScopeList |
An XML OperationScopeList(@).
|
| QueryContextRequest |
An XML QueryContextRequest(@).
|
| QueryContextRequestDocument |
A document containing one queryContextRequest(@) element.
|
| QueryContextResponse |
An XML QueryContextResponse(@).
|
| QueryContextResponseDocument |
A document containing one queryContextResponse(@) element.
|
| RegisterContextRequest |
An XML RegisterContextRequest(@).
|
| RegisterContextRequestDocument |
A document containing one registerContextRequest(@) element.
|
| RegisterContextResponse |
An XML RegisterContextResponse(@).
|
| RegisterContextResponseDocument |
A document containing one registerContextResponse(@) element.
|
| RegistrationMetaData |
An XML RegistrationMetaData(@).
|
| RegistrationMetaDataDocument |
A document containing one registrationMetaData(@) element.
|
| Restriction |
An XML Restriction(@).
|
| RestrictionDocument |
A document containing one restriction(@) element.
|
| StatusCode |
An XML StatusCode(@).
|
| StatusCodeDocument |
A document containing one statusCode(@) element.
|
| SubscribeContextAvailabilityRequest |
An XML SubscribeContextAvailabilityRequest(@).
|
| SubscribeContextAvailabilityRequestDocument |
A document containing one subscribeContextAvailabilityRequest(@) element.
|
| SubscribeContextAvailabilityResponse |
An XML SubscribeContextAvailabilityResponse(@).
|
| SubscribeContextAvailabilityResponseDocument |
A document containing one subscribeContextAvailabilityResponse(@) element.
|
| SubscribeContextRequest |
An XML SubscribeContextRequest(@).
|
| SubscribeContextRequestDocument |
A document containing one subscribeContextRequest(@) element.
|
| SubscribeContextResponse |
An XML SubscribeContextResponse(@).
|
| SubscribeContextResponseDocument |
A document containing one subscribeContextResponse(@) element.
|
| SubscribeError |
An XML SubscribeError(@).
|
| SubscribeErrorDocument |
A document containing one subscribeError(@) element.
|
| SubscribeResponse |
An XML SubscribeResponse(@).
|
| SubscribeResponseDocument |
A document containing one subscribeResponse(@) element.
|
| UnsubscribeContextAvailabilityRequest |
An XML UnsubscribeContextAvailabilityRequest(@).
|
| UnsubscribeContextAvailabilityRequestDocument |
A document containing one unsubscribeContextAvailabilityRequest(@) element.
|
| UnsubscribeContextAvailabilityResponse |
An XML UnsubscribeContextAvailabilityResponse(@).
|
| UnsubscribeContextAvailabilityResponseDocument |
A document containing one unsubscribeContextAvailabilityResponse(@) element.
|
| UnsubscribeContextRequest |
An XML UnsubscribeContextRequest(@).
|
| UnsubscribeContextRequestDocument |
A document containing one unsubscribeContextRequest(@) element.
|
| UnsubscribeContextResponse |
An XML UnsubscribeContextResponse(@).
|
| UnsubscribeContextResponseDocument |
A document containing one unsubscribeContextResponse(@) element.
|
| UpdateActionType |
An XML UpdateActionType(@).
|
| UpdateContextAttributeRequest |
An XML UpdateContextAttributeRequest(@).
|
| UpdateContextAttributeRequestDocument |
A document containing one updateContextAttributeRequest(@) element.
|
| UpdateContextAvailabilitySubscriptionRequest |
An XML UpdateContextAvailabilitySubscriptionRequest(@).
|
| UpdateContextAvailabilitySubscriptionRequestDocument |
A document containing one updateContextAvailabilitySubscriptionRequest(@) element.
|
| UpdateContextAvailabilitySubscriptionResponse |
An XML UpdateContextAvailabilitySubscriptionResponse(@).
|
| UpdateContextAvailabilitySubscriptionResponseDocument |
A document containing one updateContextAvailabilitySubscriptionResponse(@) element.
|
| UpdateContextElementRequest |
An XML UpdateContextElementRequest(@).
|
| UpdateContextElementRequestDocument |
A document containing one updateContextElementRequest(@) element.
|
| UpdateContextElementResponse |
An XML UpdateContextElementResponse(@).
|
| UpdateContextElementResponseDocument |
A document containing one updateContextElementResponse(@) element.
|
| UpdateContextRequest |
An XML UpdateContextRequest(@).
|
| UpdateContextRequestDocument |
A document containing one updateContextRequest(@) element.
|
| UpdateContextResponse |
An XML UpdateContextResponse(@).
|
| UpdateContextResponseDocument |
A document containing one updateContextResponse(@) element.
|
| UpdateContextSubscriptionRequest |
An XML UpdateContextSubscriptionRequest(@).
|
| UpdateContextSubscriptionRequestDocument |
A document containing one updateContextSubscriptionRequest(@) element.
|
| UpdateContextSubscriptionResponse |
An XML UpdateContextSubscriptionResponse(@).
|
| UpdateContextSubscriptionResponseDocument |
A document containing one updateContextSubscriptionResponse(@) element.
|
| Class | Description |
|---|---|
| AppendContextElementRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| AppendContextElementRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| AttributeList.Factory |
A factory class with static methods for creating instances
of this type.
|
| CondValueList.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextAttribute.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextAttributeDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextAttributeList.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextAttributeResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextAttributeResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextAttributeResponseList.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextElement.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextElementDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextElementList.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextElementResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextElementResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextElementResponseList.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextMetadata.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextMetadataDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextMetadataList.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextRegistration.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextRegistrationAttribute.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextRegistrationAttributeDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextRegistrationAttributeList.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextRegistrationDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextRegistrationList.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextRegistrationResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextRegistrationResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| ContextRegistrationResponseList.Factory |
A factory class with static methods for creating instances
of this type.
|
| DiscoverContextAvailabilityRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| DiscoverContextAvailabilityResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| DiscoveryContextAvailabilityRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| DiscoveryContextAvailabilityResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| EntityId.Factory |
A factory class with static methods for creating instances
of this type.
|
| EntityIdDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| EntityIdList.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyCondition.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyConditionDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyConditionList.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyConditionType.Enum |
Enumeration value class for noNamespace.NotifyConditionType.
|
| NotifyConditionType.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyConditionTypeDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyContextAvailabilityRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyContextAvailabilityRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyContextAvailabilityResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyContextAvailabilitytResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyContextRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyContextRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyContextResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| NotifyContextResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| OperationScope.Factory |
A factory class with static methods for creating instances
of this type.
|
| OperationScopeDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| OperationScopeList.Factory |
A factory class with static methods for creating instances
of this type.
|
| QueryContextRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| QueryContextRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| QueryContextResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| QueryContextResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| RegisterContextRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| RegisterContextRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| RegisterContextResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| RegisterContextResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| RegistrationMetaData.Factory |
A factory class with static methods for creating instances
of this type.
|
| RegistrationMetaDataDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| Restriction.Factory |
A factory class with static methods for creating instances
of this type.
|
| RestrictionDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| StatusCode.Factory |
A factory class with static methods for creating instances
of this type.
|
| StatusCodeDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeContextAvailabilityRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeContextAvailabilityRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeContextAvailabilityResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeContextAvailabilityResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeContextRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeContextRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeContextResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeContextResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeError.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeErrorDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| SubscribeResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UnsubscribeContextAvailabilityRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| UnsubscribeContextAvailabilityRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UnsubscribeContextAvailabilityResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| UnsubscribeContextAvailabilityResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UnsubscribeContextRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| UnsubscribeContextRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UnsubscribeContextResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| UnsubscribeContextResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateActionType.Enum |
Enumeration value class for noNamespace.UpdateActionType.
|
| UpdateActionType.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextAttributeRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextAttributeRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextAvailabilitySubscriptionRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextAvailabilitySubscriptionRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextAvailabilitySubscriptionResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextAvailabilitySubscriptionResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextElementRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextElementRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextElementResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextElementResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextSubscriptionRequest.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextSubscriptionRequestDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextSubscriptionResponse.Factory |
A factory class with static methods for creating instances
of this type.
|
| UpdateContextSubscriptionResponseDocument.Factory |
A factory class with static methods for creating instances
of this type.
|
Copyright © 2014. All Rights Reserved.


Why Regularized Auto-Encoders learn Sparse Representation?
• PaperList
This paper has some great insights to offer in design of autoencoders. As title suggests, it addresses “whether regularized helps in learning sparse representation of the data theoretically?”
Here is the setup: we have an input which is mapped to latent space via autoencoder where is encoder activation function, is the weight matrix, and is the encoder bias and is hidden representation or outputs of hidden units.
For analysis, paper assumes that decoder is linear i.e. decodes back the encoded hidden representation and loss is squared loss function. Therefore, for learning parameters of autoencoder; objective function is:
Now we are interested in sparsity of , hidden representation.
Besides above, paper makes two more assumptions.
Assumption 1: Data is drawn from a distribution for which and , where is identity matrix.
Basically, it assumes that data is whitened which is reasonable for some cases. There is one more assumption from analysis point of view which is needed for the derivation of theorems, we will see that later.
Finally, for a give data sample , each hidden unit gets activated if pre-activation unit is greater than threshold:
So, the sparsity of depends upon the value of pre-activation units (whose value further depend upon the input data samples). If the expected value of pre-activation unit is less than threshold over data distribution then the corresponding hidden unit expected output is zero.
The idea is to somehow show that regularization encourages the expected value of pre-activation unit to reduce on average in autoencoders. This indirectly induces sparsity in , hidden representation.


Over the past 35 years, there has been an evident upward trend in the number of strikeouts per season. The number has almost doubled from 22,451 strikeouts (1985) to 42,823 strikeouts (2019). Taking into consideration the increase in strikeouts with the increase in homeruns, one can induct that players are swinging for the fences rather than trying to hit for contact. When players try to hit homeruns, they swing harder than if they were to try and hit a single. Swinging harder causes the player to normally pull their head off the ball and thus be less likely to hit it. This leads to many power hitters to strikeout more often than players who hit for contact. We can further prove this hypothesis by taking a look at the recent trends with batting averages in Major League Baseball. Click 'Slide 3' in the navbar to see batting average data. (Data from: https://www.baseball-almanac.com/hitting/histrk4.shtml)


JUL 16
DETROIT, MI
DTE ENERGY MUSIC THEATER
JUL 19
TORONTO, ON
KEY ENERGY MUSIC THEATER
FEB 12
NEW YORK, KJ
BTS ENERGY MUSIC THEATER
FEB 15
NEW JERSY, PL
LSR ENERGY MUSIC THEATER
MAR 16
ALMAN, LK
DTE ENERGY MUSIC THEATER
APR 02
AMERICA, LK
DTE ENERGY MUSIC THEATER


--- layout: post tags: [Software Design] date: 2010-12-03 13:19:48 UTC title: "Towards better abstractions" description: "Some preliminary thoughts on heuristics for good interface design." --- {% include JB/setup %}
In my previous post I discussed why the use of interfaces doesn't guarantee that we work against good abstractions. In this post I will look at some guidelines that might be helpful in defining better abstractions.
One important trait of a useful abstraction is that we can create many different implementations of it. This is the Reused Abstractions Principle (RAP). This is particularly important because composition and separation of concerns often result in such reuse. Every time we use Null Objects, Decorators or Composites, we reuse the same abstraction to compose an application from separate classes that all adhere to the Single Responsibility Principle. For example, Decorators are an excellent way to implement Cross-Cutting Concerns.
The RAP gives us a way to identify good abstractions after the fact, but doesn't say much about the traits that make up a good, composable interface.
On the other hand, I find that the composability of an interface is a pretty good indicator of its potential for reuse. While we can create Decorators from just about any interface, creating meaningful Null Objects or Composites are much harder. As we previously saw, bad abstractions often prevent us from implementing a meaningful Composite.
Being able to implement a meaningful Composite is a good indication of a sound interface.
This understanding is equivalent to the realization associated with the concept of Closure of Operations from Domain-Driven Design. As soon as we achieve this, a lot of very intuitive, almost arithmetic-like APIs tend to follow. It becomes much easier to compose various instances of the abstraction.
With Composite as an indicator of good abstractions, here are some guidelines that should enable us to define more useful interfaces.
The more members an interface has, the more difficult it is to create a Composite of it. Thus, the Interface Segregation Principle is a good guide, as it points us towards small interfaces. By extrapolation, the best interface would be an interface with a single member.
That's a good start, but even such an interface could be problematic if it's a Leaky Abstraction or a Shallow Interface. Still, let us assume that we aim for such Role Interfaces and move on to see what other guidelines are available to us.
Commands, and by extension any interface that consists of all void methods, are imminently composable. To implement a Null Object, just ignore the input and do nothing. To implement a Composite, just pass on the input to each contained instance.
 There's no way to ask a Command about anything when the method returns void. Commands also guarantee the Law of Demeter, because there's no way you can ‘dot' across a void :)
If a Command takes one or more input parameters, they must all stay clear of Shallow Interfaces and Leaky Abstractions. If these conditions are satisfied, a Command tends to be a very good abstraction. However, sometimes we just need return values.
We already briefly discussed Closure of Operations. In C# we can describe this concept as any method that fits this signature in some way:
T DoIt(T x);
An interface that returns the same type as the input type(s) exhibit Closure of Operations. There may be more than one input parameter as long as they are all of the same type.
The interesting thing about Closure of Operations is that any interface with that quality is easily implemented as a Null Object (just return the input). A sort of Composite is often also possible because we can pass the input to each instance in the Composite and use some sort of aggregation or selection algorithm to return a result.
Even if the return type doesn't easily lend itself towards aggregation, you can often implement a coalescing behavior with a Composite by returning the first non-null instance returned by the contained instances.
Interfaces that exhibits Closure of Operations tend to be good abstractions, but it's not always possible to design APIs like that.
Sometimes we can keep some of the benefits from Closure of Operations even though a pure model isn't possible. Any method that returns a type that is a subset of the input types also tends to be composable.
One variation is something like this:
T1 DoIt(T1 x, T2 y, T3 z);
In this sort of interface, the return type is the same as the first parameter. When creating Null Objects or Composites, we can generally just do as we did with pure Closure of Operations and ignore the other parameters.
Another variation is a method like this:
T1 DoIt(Foo<T1, T2, T3> foo);
where Foo is defined like this:
public class Foo<T1, T2, T3> { public T1 X { get; set; } public T2 Y { get; set; } public T3 Z { get; set; } }
In this case we can still reduce the input to create the output by simply selecting and returning foo.X and ignoring the other properties.
Still, we may not always be able to define APIs such as these.
Sometimes (perhaps even most of the times) we can't mold our APIs into any of the above shapes because we inherently need to map one type into another type:
T2 Map(T1 x);
To keep such a method composable, we must then make sure that the output type itself is composable. This would allow us to implement a Composite by wrapping each return value from the contained instances into a Composite of the return type.
Likewise, we could create a Null Object by returning another Null Object for the return type.
In theory, we could repeat this design process to create a big chain of composable types, as long as the last type terminates the chain by fitting into one of the above shapes. However, this can quickly become unwieldy, so we should go to great efforts to make those chains as short as possible.
It should be noted that every type that implements IEnumerable fits pretty well into this category. A Null Object is simply an empty sequence, and a Composite is simply a sequence with multiple items. Thus, interfaces that return enumerables tend to be good abstractions.
There are many well-known variations of good interface design. The above guiding principles looks only at a small, interrelated set. In fact, we can regard both Commands and Closure of Operations as degenerate cases of Reduction of Input. We should strive to create interfaces that directly fit into one of these categories, and when that isn't possible, at least interfaces that return types that fit into those categories.
Keeping interfaces small and focused makes this possible in the first place.
P.S. (added 2019-01-28) See my retrospective article on the topic.
Comments
I was able to follow you perfectly until the section "Composable return types", however I'd like to clarify how letting go of closure of operations affects composability. Certainly, if the return type isn't composable, you are SOL. However, conforming to the three previous shapes mentioned is only a (generally) sufficent but NOT necessary condition for composability, is that correct? I ask because you follow with "as long as the last type terminates the chain by fitting into one of the above shapes", and not just "... by being composable" so it muddies the waters a bit.
My second question is about this chain itself - not clear on what it is. It's not inheritance and I thought about the chain formed formed by recursively called Composites in the parent Composite's tree structure, but then they wouldn't be conforming to the same interface.
Also when you said other well-known variations of good interface design, were you talking about minimalism, RAP, rule/intent interfaces and ISP? I'm not aware of much more.
Many thanks!
Orchun, thank you for writing. I intend to write a retrospective on this article, in the light of what I've subsequently figured out. I briefly discuss that connection in another article, but I've yet to make a formal treatment out of it. Shortly told, all the 'shapes' identified here form monoids, and the Composite design pattern itself forms a monoid.
Stay tuned for a more detailed treatment of each of the above 'shapes'.
Regarding good interface design, apart from minimalism, my primary concern is that an API does its utmost to communicate the invariants of the interaction; i.e. the pre- and postconditions involved. This is what Bertrand Meyer called design by contract, what I simply call encapsulation, and is related to what functional programmers refer to when they talk about being able to reason about the code.


Lets have a look at our available books.
Anna Karenina
Madame Bovary
War and Peace
The Great Gatsby
Lolita
Middlemarch
The Adventures of Huckleberry Finn
The Stories of Anton Chekhov


- onChannelDisconnected() - Method in class com.montefiore.gaulthiergain.adhoclibrary.datalink.wifi.WifiAdHocManager
-
- onClient(InetAddress, InetAddress) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.wifi.ConnectionWifiListener
-
Callback when the device is a client.
- onConnection(AdHocDevice) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.appframework.ListenerApp
-
Method allowing to notify when a connection is performed with a remote peer.
- onConnection(String) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.service.ServiceMessageListener
-
Method allowing to notify when a connection is performed with a remote peer.
- onConnectionClosed(AdHocDevice) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.appframework.ListenerApp
-
Method allowing to notify when a connection is closed with a remote peer.
- onConnectionClosed(String) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.service.ServiceMessageListener
-
Method allowing to notify when a connection is closed with a remote peer.
- onConnectionClosedFailed(Exception) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.appframework.ListenerApp
-
Method allowing to notify when a exception occurs during closing a connection.
- onConnectionFailed(Exception) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.appframework.ListenerApp
-
Method allowing to notify when a exception occurs during connection process.
- onConnectionFailed(Exception) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.service.ServiceMessageListener
-
Method allowing to notify when an exception has occurred during the connection process.
- onConnectionFailed(Exception) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.wifi.ConnectionWifiListener
-
Callback when the connection fails.
- onConnectionStarted() - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.wifi.ConnectionWifiListener
-
Callback when the connection is started.
- onDeviceDiscovered(AdHocDevice) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.service.DiscoveryListener
-
- onDiscoveryCompleted(HashMap<String, AdHocDevice>) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.service.DiscoveryListener
-
Method allowing to notify when the discovery is finished.
- onDiscoveryCompleted(HashMap<String, AdHocDevice>) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.network.datalinkmanager.DataLinkManager.ListenerBothDiscovery
-
- onDiscoveryFailed(Exception) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.service.DiscoveryListener
-
Method allowing to notify when the discovery fails.
- onDiscoveryStarted() - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.service.DiscoveryListener
-
Method allowing to notify when the discovery started.
- onEnableBluetooth(boolean) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.appframework.ListenerAdapter
-
Method allowing to notify if the Bluetooth adapter has been enabled.
- onEnableBluetooth(ListenerAdapter) - Method in class com.montefiore.gaulthiergain.adhoclibrary.datalink.bluetooth.BluetoothAdHocManager
-
Method allowing to notify if the Bluetooth adapter has been enabled.
- onEnableWifi(boolean) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.appframework.ListenerAdapter
-
Method allowing to notify if the Wi-Fi adapter has been enabled.
- onEnableWifi(ListenerAdapter) - Method in class com.montefiore.gaulthiergain.adhoclibrary.datalink.wifi.WifiAdHocManager
-
Method allowing to notify if the Wi-Fi adapter has been enabled.
- onFailure(Exception) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.appframework.ListenerAction
-
This method is called if the operation has failed.
- onForwardData(AdHocDevice, Object) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.appframework.ListenerApp
-
Method allowing to notify when a Data message from remote peer is forwarded.
- onGroupOwner(InetAddress) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.wifi.ConnectionWifiListener
-
Callback when the device is the groupOwner.
- onMessageReceived(MessageAdHoc) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.service.ServiceMessageListener
-
Method allowing to notify when message is received.
- onMsgException(Exception) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.service.ServiceMessageListener
-
Method allowing to notify when an exception has occurred during the message process.
- onReceive(Context, Intent) - Method in class com.montefiore.gaulthiergain.adhoclibrary.datalink.wifi.WiFiDirectBroadcastConnection
-
- onReceive(Context, Intent) - Method in class com.montefiore.gaulthiergain.adhoclibrary.datalink.wifi.WiFiDirectBroadcastDiscovery
-
- onReceivedData(AdHocDevice, Object) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.appframework.ListenerApp
-
Method allowing to notify when a Data message is received from a remote peer.
- onServiceCompleted(int) - Method in interface com.montefiore.gaulthiergain.adhoclibrary.datalink.wifi.WifiAdHocManager.ServiceDiscoverListener
-
- onSuccess() - Method in interface com.montefiore.gaulthiergain.adhoclibrary.appframework.ListenerAction
-
This method is called if the operation has succeeded.


CJ Wilson
From Zero to Zen: Software Development is Practice
I'm a Beginner (And So Can You!)
Version Control, Git, and GitHub
January 17, 2015
Think of version control as a save point in a video game. Instead of saving every single character you type, version control saves a bundle of changes through a method called a 'commit.' Version control makes tracking any type of change organized and provides a checkpoint to return to if your new changes have seriously unintended effects. It becomes especially useful during a team project; teammates can work on the same files simultaneously and merge all the changes together after each separte edit has been made. It is a basic yet vital concept for efficient coding. Version control can save your sanity, and it's a crucial skill to master to become an effective teammate.
Git is a popular version control system that allows users to make changes to code. Git is a local system, so it stays on your personal computer. You can copy code from a public source and pull it to your computer to edit without changing the original code right away. Git allows users to create different versions of code called branches. These branches can be manipulated and saved with the "git commit" command. Once you're satisfied with the work you've done in a specific branch, you can save these changes and push the changes back to the live version of the code and delete the remaining branches that you will not use.
You may be wondering where you'll be pushing this code to make it live on the web. Users export code edited in the local system Git to a public website called GitHub. GitHub is a social-coding website that allows users to share code and track changes made to that code. Because GitHub is open source (code may be used and changed by anyone), projects can be improved by anyone willing to work on it. GitHub encourages collaboration and accountability while editing code because many times you'll be editing somebody else's code. If you are a part of a team working on the same code at the local level, GitHub can collect the changes from each person and systematically incorporate the changes into one big file.


11.6. Data Consumers¶
A GeoMesa Kafka data store in consumer mode reads feature data written
to Kafka (by a separate GeoMesa Kafka producer). The store supports two types of
SimpleFeatureSource
‘s: live and replay. A Kafka Consumer Feature
Source operating in live mode continually pulls data from the end of
the message queue (e.g. latest time) and always represents the latest
state of the simple features; autoOffsetReset
can be set to smallest
to read from the beginning of the the message queue. A Kafka Consumer Feature
Source operating in replay mode will pull data from a specified time interval
in the past and can provide features as they existed at any point in time
within that interval.
First, create the data store. For example:
String brokers = ...
String zookeepers = ...
String zkPath = ...
// build parameters map
Map<String, Serializable> params = new HashMap<>();
params.put("brokers", brokers);
params.put("zookeepers", zookeepers);
// optional - the default is false
params.put("isProducer", Boolean.FALSE);
// optional
params.put("zkPath", zkPath);
// optional - can be set to "smallest" to read from the beginning of the message queue
params.put("autoOffsetReset", "largest");
// create the data store
KafkaDataStoreFactory factory = new KafkaDataStoreFactory();
DataStore consumerDs = factory.createDataStore(params);
The brokers
, zookeepers
, and zkPath
parameters must be
consistent with the values used to create the Kafka Data Store Producer.
Because createSchema
was called on the Kafka Data Store Producer, it
does not need to be called on the Consumer. Calling createSchema
with a SimpleFeatureType
that has already been created will result
in an exception being thrown. Note that all SimpleFeature
s
returned by the Kafka Data Store consumer will have a
SimpleFeatureType
equal to the streamingSFT
created when setting
up the producer, i.e. the SimpleFeatureType
will include the hint
added by KafkaDataStoreHelper.createStreamingSFT
.
Now that the Kafka Data Store Consumer has been created it can be queried in either live or replay mode.
11.6.1. Live Mode¶
Live mode is the default and requires no extra setup. In this mode the
SimpleFeatureSource
contains the current state of the
KafkaDataStore
. As SimpleFeatures
are created, modified,
deleted, or cleared by the Kafka Data Store Producer, the current state
is updated. All queries to the SimpleFeatureSource
are queries
against the current state. For example:
String typeName = ...
SimpleFeatureSource liveFeatureSource = consumerDs.getFeatureSource(typeName);
Filter filter = ...
liveFeatureSource.getFeatures(filter);
It is also possible to provide a CQL filter to the getFeatureSource method call which will ensure
the resulting FeatureSource
only contains certain records. Providing a filter to reduce the number of
returned records will provide a performance boost when using the featureSource.
String typeName = ...
SimpleFeatureSource liveFeatureSource = consumerDs.getFeatureSource(typeName, filter);
11.6.2. Replay Mode¶
Replay mode allows the a user to query the KafkaDataStore
as it
existed at any point in the past. Queries against a Kafka Replay Simple
Feature source specify a historical time to query and only the set and
version of SimpleFeature
s that existed at that point in time will
be used to answer the query.
In order to use Replay mode some additional hints are required: the start and end times of the replay window and a read behind duration:
Instant replayStart = ...
Instant replayEnd = ...
Duration readBehind = ...
ReplayConfig replayConfig = new ReplayConfig(replayStart, replayEnd, readBehind);
The replay window is simply an optimization that allows the Kafka Replay Feature Source to load, at initialization time, all state changes that occur within the window. Any query for a time outside of the window will return no results even if features existed at that time.
The read behind is the amount of time used to rebuild state. For
example, if readBehind = 5s
then for a query requesting state at
time = t
all state changes that occurred between t - 5s
and
t
will be used to build the state at time t
which will then be
used to answer the query. Selecting an appropriate read behind requires
an understanding of the producer. The expected use case is a producer
that updates every simple feature, even if it hasn’t changed, at a
regular interval. For example, if the producer is updating every x
seconds then a read behind of x + 1s
might be appropriate.
During initialization of the Kafka Replay Feature Source all state
changes from replayStart - readBehind
to replayEnd
will be read
and cached. As the size of the replay window and read behind increases
so does the amount of data that must be read and cashed. So, both the
size of the window and the read behind should be kept as small as
possible.
After creating the ReplayConfig
, pass it, along with the
streamingSFT
, to the KafkaDataStoreHelper
:
SimpleFeatureType streamingSFT = consumerDs.getSchema(typeName);
SimpleFeatureType replaySFT = KafkaDataStoreHelper.createReplaySFT(streamingSFT, replayConfig);
The streamingSFT
passed to createReplaySFT
must contain the
hints added by KafkaDataStoreHelper.createStreamingSFT
. The easiest
way to ensure this is to call consumerDs.getSchema(typeName)
. The
SimpleFeatureType
returned by createReplaySFT
will contain the
hint added by createStreamingSFT
as well as a a hint containing the
ReplayConfig
. Additionally the replaySFT
will have a different
name than streamingSFT
. This is to differentiate live and
replay SimpleFeatureType
s. The replaySFT
will also contain
an additional attribute, KafkaLogTime
, of type java.util.Date
which represents the historical query time.
After creating the replaySFT
the Kafka Replay Feature Source may be
created:
consumerDs.createSchema(replaySFT);
String replayTimeName = replaySFT.getTypeName();
SimpleFeatureSource replayFeatureSource = consumerDs.getFeatureSource(replayTimeName);
The call to createSchema
is required because the replaySFT
is a
new SimpleFeatureType
.
Finally the Kafka Replay Consumer Feature Source can be queried:
Instant historicalTime = ...
Filter timeFilter = ff.and(filter, ReplayTimeHelper.toFilter(historicalTime));
replayFeatureSource.getFeatures(timeFilter);


Programming Languages
Java - Object Oriented Programming
JavaScript - NodeJS
Python - Functional Programming
MySQL - Databases
Building Java Programs and Fundementals - Experience with different
datastructures and algorithmes.
Understanding how JavaScript works and implementing NodeJS and ExpressJS
to run applications and libraries.
Understanding how strong Python is, and how to implement small features from Python
in other applications.
Experience with rational database and how to create a new database based
on the normalization rules.
Skills
Communication
Customer Service
JQuery
DevOps Tools
Java Spring Boot MVC
NodeJS
ExpressJS -
Understanding the principle of basic communication and know in order to communicate.
There is a need to be a good listener and being able to understand the requirement.
Understanding what the customer need in order to provide good customer service,
that gives value to the customer.
JavaScript Library, that provide better user experience and can also help with restful api.
Deploying projects with AWS, Heroku. Famillar with using Ubuntu and Linux subsystems.
Experience with setting up a Spring Boot enviroment with Model, View and Controller.
Also with JDBC driver and JPA to get data from a rational database.
Understanding how to use Node with JavaScript and how to install dependencies into my projects,
that helps me with archiving the need for the project.
Technologies
Amazon Web Services
Heroku - Free Deployment Service
Jenkins CI/CD Pipeline
Experience with EC2-instances, RDS-instance and deployment with various projects.
Experience with deploying Java and NodeJS projects with GitHub and Heroku CI/CD.
Experience with deploying Java Applications with Jenkins and implementing CI/CD
Projects
First year project in Java Spring Boot
Mandatory Project - Second Semester
Third Semester - Software Development Project
Nordic Motorhome Rental - Java Spring Boot MVC
Kailua Car Rental - Java Spring Boot MVC
Lærkegården Vinbutik - Java Spring Boot MVC & JPA


Use this rule to control the number of spaces inside braces ({
and }
).
With min-spaces-inside = 0
and max-spaces-inside = 0
the following code snippet would PASS:
object: {key1: 4, key2: 8}
the following code snippet would FAIL:
object: { key1: 4, key2: 8 }
With min-spaces-inside = 1
and max-spaces-inside = 3
the following code snippet would PASS:
object: { key1: 4, key2: 8 }
the following code snippet would PASS:
object: { key1: 4, key2: 8 }
the following code snippet would FAIL:
object: { key1: 4, key2: 8 }
the following code snippet would FAIL:
object: {key1: 4, key2: 8 }
With min-spaces-inside-empty = 0
and max-spaces-inside-empty = 0
the following code snippet would PASS:
object: {}
the following code snippet would FAIL:
object: { }
With min-spaces-inside-empty = 1
and max-spaces-inside-empty = -1
the following code snippet would PASS:
object: { }
the following code snippet would FAIL:
object: {}


read without -r will mangle backslashes
echo "Enter name:"
read name
echo "Enter name:"
read -r name
By default, read
will interpret backslashes before spaces and line feeds (i.e. you can use backslashes in your string as an escape character). This is rarely expected or desired.
Normally you just want to read data including backslashes which are part of the input string and have no special escape meaning, which is what read -r
does. You should always use -r
unless you have a good reason not to:
-r
If this option is given, backslash does not act as an escape character.
Note that read -r
will still strip leading and trailing spaces. IFS="" read -r
prevents this.
If you want backslashes to affect field splitting and line terminators instead of being read, you can disable this message with a [[directive]].


This metric is a more precise measurement of productivity loss than simply measuring broken commits on the master branch; some jobs don't ever run on PRs and thus will break master both without the author being able to predict so and without other devs ever noticing.
"Avoidable" is when the developer had early warning in their PRs of the failed jobs that went on to break master when they merged.