Please refer to the Installation page for how to set up Velosurf in you Velocity-Tools Webapp or in your Java application.
It is possible to use several instances of Velosurf at the same time, each having its own configuration file, for instance if you want to use different context keys to refer to different schemas. Provided that the different configuration files use the same database login (apart from the schema name), you can cross-reference entities between configuration files.
It is also possible to split the configuration file into several pieces using the XML Include syntax:
the root <database>
tag must have the following attribute set: xmlns:xi="http://www.w3.org/2001/XInclude"
.
You can set include files using the syntax: <xi:include href="included_file.xml"/>
(other features of the
XML Include specification, like fallback and XPointers, are not supported).
The XML tree of the configuration file (plus optional reverse engineered data) defines everything that will be accessible under the $db
(or whatever name you choosed) context key.
The syntax of this configuration file is detailed on the Configuration page.
An attribute is of any of the following types::
For the row and row set types, if the rows are instances of an entity, you can specify the name of the resulting entity. Doing so, you'll be able to invoke this resulting entity attributes and actions.
The former and now deprecated syntax for declaring attributes was: <attribute name="myattribute" result="scalar|row|rowset[/resultEntity]">
. Now, you can use: <scalar name="myScalar">
, <row name="myRow" [result="resultEntity"]>
, <rowset name="myRow" [result="resultEntity"]>
Values of the current instance that are needed in the SQL query of an entity's attribute must appear as inline tags inside the SQL query:
Please note that the $book.publisher
property will automagically be available, without any need to declare it, when using the full database reverse enginering mode (see later).
Be careful when using quoted SQL strings in your queries: since XML parsers may add spaces here and there
inside text data, it may break the syntax of such SQL queries. To remedy to this problem, you must use the XML attribute
xml-space="preserve"
as an XML attribute of any XML entity containing such an SQL query.
Remember also to escape XML special characters < > and & with their XML equivalent (respectively <
>
and &
) whenever they appear inside your queries.
Other parameters - called external parameters - can appear as inline tags in an attribute SQL query. For instance, let's say we want to define a root attribute listing all the books published in the given year. We'll define this attribute like this:
There are two ways to use external attributes from templates:
The first one is to set their values as properties of the parent object (this method is now strongly discouraged, since the parent object can be shared), like this:
The second -and now preferred- method is to specify the map of all external parameters values as argument of the attribute:
Without using this customized uberspector, you can still use this method by doing:
Connections and statements pooling is transparent. There are two connections pools, one with autocommit connections for queries and single statement updates and one without autocommit for transactions (actions containing several update requests). Those pools grow according to the rate of requests.
The automatic connection recovery will transparently care for broken or timed out connections.
Needed statements are created on the fly when needed, that is when there isn't any previous instance of a particular statement or when such an instance is already busy. The statements pool will thus grow as needed.
Concurrent accesses are of course taken into account: Velosurf maintains a busy state for each connection.
There are four reverse engineering modes proposed by Velosurf:
entity.fetch
method) aren't available when using this mode.See the Imported and Exported Keys section below for details on the reverse engineering of foreign keys.
By default entity names are deduced from SQL table names and entity property names are deduced from SQL column names.
Use the table='table name'
if an entity is to have a different name than its corresponding table
and use a <aliases alias1='column1' alias2='column2' >
tag to declare aliases
for SQL column names.
When a table name or an SQL column name is aliased, you have to use the alias rather than the column name in whatever attribute or tag in the configuration file, except when the name appears as a keyword of an attribute SQL query.
Example:
Unless reverse engineering is deactivated, primary keys of tables will be reverse engineered. You can then use the fetch(key)
entity method
to fetch a particular instance of this entity. The key
parameter can be a scalar value, a list of values or a map of key-value pairs. The two last forms are adequate for multi-valued primary keys.
For instance:
This example illustrate a common practice, which is to add hidden id fields to HTML forms so that target instances can be fetched using the HTTP query tool.
Multivalued keyed rows can also be fetched the same way by providing a column→value map (like $query
itself) or a list containing
key values in their natural order.
You can iterate on an entity or on a row set attribute by mean of the Velocity #foreach
directive.
Example:
List of books by publisher:
#foreach($publisher in $db.publisher)
Books published by $publisher.name:
#foreach($book in $publisher.books)
- $book.title (author $book.author.firstname $book.author.lastname)
#end
#end
While discouraged since it breaks SQL code isolation, you can control the rows order and add supplemental criteria
by calling the order("SQL order clause")
and refine("SQL condition")
methods before issuing the #foreach
, like this:
List of books by publisher:
#set($db.publisher.refine('active=true')) ## only take into account active publishers
#set($db.publisher.order('name')) ## order by name
#foreach($publisher in $db.publisher)
Books published by $publisher.name:
#foreach($book in $publisher.books)
- $book.title (author $book.author.firstname $book.author.lastname)
#end
#end
Refinment and ordering have the same scope than the velosurf.web.VelosurTool tool.
Since in a Webapp the query part of URLs is likely to contain ID values, it is good practice to obfuscate those values
if you want to protect the Webapp against manual editing of those URLs. Velosurf can automatically handle this obfuscation for you.
You just need to provide a comma separated list of columns meant to be obfuscated in the obfuscate
attribute of the <entity>
tag.
Remember that obfuscated IDs will be strings, never numbers.
When very frequent fetch queries occur, you can tell Velosurf to cache corresponding instances in memory by mean of the cache
attribute of the <entity>
tag,
which can take the following values:
no
(the default): no caching provided.yes
: caching of fetched instances with respect to memory. Instances are put into the cache
when fetched for the first time, but the Java virtual machine can reclaim the memory they use if needed.Warning: Velosurf will invalidate cached entries on update/delete requests, but global updates are not taken into account, so be sure to empty the cache after global modifications.
This caching mechanism is meant for straightforward optimizations in simple situations, for instance to avoid re-fetching a specific instance at each HTTP request.
Using the class
attribute of the entity tag, you can specify which class you'd like Velosurf to use to map instances of a particular entity.
This class can be a POJO (Plain Old Java Object) or a class inheriting from velosurf.context.Instance
.
In both cases, the following methods will be taken into account by Velosurf when present in the POJO:
getFoo()
.get(key)
setFoo(value)
put(key,value)
update()
(boolean result type expected)update(map)
(boolean result type expected)insert()
(boolean result type expected)delete()
(boolean result type expected)When using POJOs, you can choose to implement only some of fields getters and setters; other fields will still have their default getters and setters.
By default, the database is opened in read-only mode, and thus forbidding the execution of any action, insert, update or delete.
You need to set a read-only="no"
attribute in the database tag to override this default behaviour.
To enforce the MVC paradigm, database modifications should not be issued from inside templates but rather from a controller object, so as not to mix View and Controller layers. This controller object of your own can change programmatically the read-only flag of its connection before issuing the modifications, while still relying on the model defined in Velosurf configuration file via the Velosurf Java api. And to enforce security, you should also use different database users with different rights (see the FAQ about how to do this).
For each row-based update or delete, Velosurf ensures that the key values are known to avoid a wider accidental update or delete.
After an insertion, the last inserted ID value can be fetched using $db.entity.lastInsertID
(or from Java code by calling
the getLastInsertID()
method on the EntityReference). Note: this feature is not implemented in Velosurf for all databases (for now,
only Cloudscape, DB2, HSqlDB, MySql and Sybase databases are supported - if you need this feature for your favorite RDBMS not listed here, please contribute!)
Velosurf provides a validation process on constraints defined in its configuration file. Those constraints don't replace SQL defined constraints, they are supplementary constraints provided by Velosurf which are enforced on a per-row basis and not checked on massive updates.
You can define constraints on fields of an entity using a <constraint>
tag per column. Each column constraint tag contains field constraints. Field constraints can be expressed in a short syntax form (as attributes of the column <constraint> tag)
or in a long syntax form (as child tags of the column <constraint> tag), the long syntax form allowing some additional settings
on the field constraint like the customization of the error message to be generated when the field constraint fails.
The following field constraints are available (we only recall the short syntax here; please refer to the Configuration page or to the javadoc):
not-null="yes"
: data cannot be null.not-empty="yes"
: data cannot be null or an empty string.min-length="integer"
and/or max-length="integer"
: data length must reside in the specified inclusive interval.one-of="value1,value2,..."
: data must be one of the supplied values.references="table.column"
: data must reference a value found in table.column
(a select distinct
query is performed at validation time).regex="pattern"
: data must be matched by the supplied pattern.type="number"
: a numeric value is expectedtype="integer"
: an integer or long value is expected.min="number"
and/or max="number"
: data must be in the specified inclusive interval (number type implied).type="date"
: data must be a parsable date. Some heuristics are provided to determine the locale and the format of the date; otherwise you can use the long syntax form and
specify the format you expect here.after="yyyymmdd"
and/or before="yyyymmdd"
: data must be a date lying between the specified inclusive interval (date type implied).type="email"
: data is expected to have a valid email syntax. When using the long syntax form for this constraint, you can also ask for a DNS check
(to validate the domain name) and for an SMTP check (to validate the user name).Apart from not-empty
and not-null
, all constraints are considered valid on a null or empty string.
Validation occurs:
update()
or insert()
is called on a row (boolean returned).validate()
is called on a row (boolean returned).velosurf.validation.ValidationFilter
servlet filter, see below.In all cases, all validation error messages are then accessible in the $db.validationErrors
list.
The validation filter checks every request for a velosurf.entity
query attribute that contains the name
of the entity against which the data is to be validated. If found, it will check form data and either let the request pass through
if data is valid or redirect back the client browser to the input form (using the referrer field) with $db.validationErrors
populated if data is not valid.
Once the filter in set up in you /WEB-INF/web.xml
file with those lines:
then every input form can benefit of this mechanism provided:
<input type="hidden" name="velosurf.entity" value="entity name">
.When reverse engineering foreign keys in full mode, each foreign key will produce two new attributes:
Example: if the book
table is importing the key of the publisher
table, then the two generated attributes will be:
$book.publisher
(a single publisher)$publisher.books
(a set of books)If this default behaviour is not the one you need, use a lower reverse engineering mode and define manually the
foreign keys you need using the <imported-key>
and <exported-key>
tags. You can
still use those tags in full reverse engineering mode to customize the name of the generated attributes.
Velosurf provides an HTTP query parameter parser, traditionally mapped to the $query
key in the toolbox. It is very similar to the VelocityTools ParameterTool (from which it inherits), but adds a few features:
$query
as an argument to one of the Velosurf methods expecting a map.$query.foo
will return a map containing two keys, firstname and lastnameVelosurf provides a localization mechanism. It consists of:
velosurf.web.l10n.Localizer
Java interface with a getter and a setter for the active locale, and two getters to obtain
localized messages from their ID (the second one allowing the use of parameterized messages as in "Found {0} match(es) for {1}."
).velosurf.web.l10n.HTTPLocalizerTool
Java class implementing the Localizer
interface.
It will try to deduce the appropriate locale for incoming HTTP queries (from their "Accepted-Language" header). It is abstract because it does not make any assumption
on how the localized data is stored.velosurf.web.l10n.SimpleDBLocalizer
Java class inheriting from HttpLocalizerTool
that uses a configurable localized(id,locale,string)
SQL table.velosurf.web.l10n.LocalizationFilter
servlet filter meant to help the process of redirecting or
forwarding incoming requests towards separate localized instances of a site (i.e. /index.html
redirected
or forwarded towards /en/index.html
or /fr/index.html
) based on browser locale. This rewriting mechanism is
only implemented for the URI part of the URL at the moment (that is, you cannot yet change the hostname (→en.mysite.com
) or the query string (→mysite.com?lang=fr)).Please refer to the corresponding javadoc and look in the examples for how to configure those tools.
Once the localizer is set up in the toolbox, the syntax used to display a localized message in a template will be like: $local.welcomeMessage
. When localizing
parameterized messages, the getter that takes parameters must be used: $local.get('welcomeMessage',$user.name)
Here is an example of configuration where we want the client browser redirected towards pages under /en/
, /fr/
or /es/
if needed:
/WEB-INF/web.xml
:/WEB-INF/toolbox.xml
(VelocityTools 1.x):/WEB-INF/tools.xml
(VelocityTools 2.x):Using the redirect method is more advised than using the forward method, since the forward method will let one URL correspond to different web pages, thus bugging search engines.
Velosurf is shipped with some utility classes that allow one to easily plug a session based CRAM (Challenge Response Authentication Mechanism) in a Webapp. It consists of three classes and a javascript module:
velosurf.web.auth.AuthenticationFilter
that is meant to be mapped to pages needing authentication.velosurf.web.auth.BaseAuthenticator
tool that takes a method
configuration parameter
(the encryption method to be used). Omitting this method
parameter means that passwords will be transmitted in clear (which is
not a problem if you use HTTPS, which you should really use if you want security).velosurf.web.auth.SimpleDBAuthenticator
, that implements the two abstract
methods getUser(login)
and getPassword(login)
using a configurable user(id,login,password)
SQL table. If you use this authenticator, you'll have to define a root attribute that returns a user instance given its login, as detailed on the javadoc page./src/javascript/md5.js
(BSD license) implementing the client-side encryption for the HmacMD5
method.Please refer to the provided javadoc links for further information regarding the configuration parameters.
Here is an example of configuration for a HmacMD5 autentication:
/WEB-INF/web.xml
:/WEB-INF/toolbox.xml
(VelocityTools 1.x):/WEB-INF/tools.xml
(VelocityTools 2.x):/login.vhtml
:Logout
Once a user has logged on, $auth.loggedUser will contain the user's instance.
Velosurf comes with a TemplateNameFilter
servlet filter
that is used to mask the '.vtl' in URLs. The idea is to be able to change the status of an HTML file from plain HTML to templatized HTML
without the need to update URLs. It supposes you follow the convention of suffixing '.vtl' to the name of template files (e.g. index.html.vtl
or toolkit.js.vtl
).
Check the javadoc to see how you can customize the parameters of the filter.
When using several of the filters proposed by the library, one must be cautious to the order in which those filters
are mapped to incoming HTTP requests in the /WEB-INF/web.xml
application descriptor.
If used, the template name filter should appear first. Then, if both the authentication and localization filters are
used, they should appear in the same order as the hierarchical ordering of the corresponding directories (i.e. authentication first if you
use paths like /auth/en/
and localization first if you use paths like /en/auth/
).
The Velosurf API is a very convenient way to access to the database from Java while still centralizing your model
in model.xml
.
The main classes you may have to use are the following ones:
velosurf.Velosurf
to obtain a database connection with velosurf.getDatabase()
velosurf.model.Entity
obtained from database.getEntity('name')
.velosurf.model.Attribute
obtained from database.getAttribute('name')
or from entity.getAttribute('name')
.
Attributes can then be evaluated with the appropriate method depending on the result type of the attribute (evaluate()
, fetch()
or query()
).
velosurf.model.Action
obtained from database.getAction('name')
or from entity.getAction('name')
.velosurf.context.RowIterator
obtained from entity.iterator()
or from attribute.query()
.velosurf.context.Instance
fetched by its key value or as the result of an attribute.But you can also stick to velosurf.context
objects, that is use EntityReference
instead of velosurf.model.Entity
and velosurf.context.AttributeReference
instead of velosurf.model.Attribute
. It all depends on your needs.
Please note that to avoid sql connection timeouts, you should not declare Velosurf prepared statements as variables having a long lifecycle (like static members). You should only keep references to Velosurf connection objects on the long term (they do handle timeouts). Plus, they already do prepared statements caching and pooling for you.


Mobile Usability Test
Welcome back to my blog!
I hope you enjoyed my findings from last week, I collected much data with the help from an awesome group of testers! This week I am continuing the fun with a new group, focusing our user testing studies on mobile devices. We will be following the same procedure as last week just on a smaller screen. Throughout this testing, they will be provided the same mobile device, an iphone 7 plus.
The Testers
Susan
- What line of work do you do?
- How often are you on the computer or surfing the web?
- Would you rather go shopping online or in a store?
I am the Loss Prevention Area Manager for the Western Region.
Everyday, mainly for work.
I like to shop both online and in store.
Jon
- What line of work do you do?
- How often are you on the computer or surfing the web?
- Would you rather go shopping online or in a store?
I work at the Fort Lewis Main Exchange as your LPM( Loss Prevention Manager).
All the time.
My wife does all the shopping, but I like going out to the stores.
Frank
- What line of work do you do?
- How often are you on the computer or surfing the web?
- Would you rather go shopping online or in a store?
I work Loss prevention. My title is an ESSA (Exchange Security and Safety Associate).
All the time.
I never go shopping, but if I had to choose it would be in the store.
Website on the Smartphone
Tasks
- Can you locate the Grooming price list?
- Can you locate the Store hours?
- Can you find the stores contact numbers?
Testers Results
- Susan
- Jon
- Frank
She looks over the homepage and clicked on Self-Serve Groom, but noticed shortly after this was not what she wanted. First off, this does not provide the prices for grooming services, only self-serve, she blurts out, "I don't want to bathe my dog!". I could tell with her long stare at the phone she was confused, next she locates the 'services' link in the nav bar. This is where she found a list with the correct link, Full Service Groom which leads her to the grooming prices. The following two questions she found easily by clicking the location tab in the drop-down menu.
Picture below shows Self-Serve options
Jon used a similar approach as Susan, he saw the word 'Groom' on the homepage and assumed he would find
the grooming prices. Not there! Next
he proceeds to use the drop-down menu where he find's Full Service Groom, finding his
answer. He than continuies to the next questions
using the 'Contact' link searching for the phone numbers and hours. He finds the numbers easily, because
they are
located at the footer of the page like it is with every page, he gets annoyed
by not seeing the hours.
He than goes to the menu tab clicking the 'location' link finding the hours of operation. He told me "that
should not have been difficult".
I agreed and said, "that's why we're doing this"!
Picture below shows list of Services
Lastly, we have Frank who has a different outcome. He clicks the menu tab right away and locates 'Services' from there finds Full Service Groom with the prices. Very Smart! Than he quickly goes to find the contact numbers by scrolling all the way down the page. Onto the last question finding the store hours, in which he struggles. He first goes to the online store, in the menu options which was interesting, than goes to contact. While on the contact page he notices it has no information pertaining to hours, just two links. He clicks on the phone number located at the footer of the page which highlights the section and diplays "Click here to view the map". He clicks again and finally it takes him to the store hours he was having so much trouble finding.
Picture below shows highlighted section
Summary of Final Thoughts
My testers did an excellent job inspecting the Soggy Doggy Website using a different method than before,
using a mobile device. I was able to gather new data and found ways the mobile version site can be improved
and be better accessible to visiting users.
I do have a few recommendation's that I believe would make the site easier to use and will not give
users a
chance to become confused. Starting with the grooming prices, both Susan and Jon had a hard time finding the
grooming prices, they assumed it would be on the ‘Self-serve Groom’ page. This would be easily avoided if
they would combine all services with the prices on one single page. This would avoid the users going on a
searching party!
The search for the contact information and the store hours were a bit messy as well. The phone numbers
are
located at the footer of each page but are barely seen by the wrong usage of font-color. Phone numbers that
are small and the color white with a light background will make it hard to read. Another suggestion would be
including the store hours in the footer, this would not take up much space. This would avoid users clicking
multiple tabs trying to find an important key question that every user will be wanting to know.
Picture below shows barley visiable numbers


Corss-Platform Online Education Design
FOXUS
WORKING WORKS · Web Design
Intell-DrivenMedical Records MGMT
Service Design
Hopsicle
Unity 3D Game Design
Happy New Year
Tangible Interaction Design
Say with Flowers
Industrial Design
Modu Table
FIND ME BY sxczqxty1994@163.com


{% extends "aggregator/base.html" %} {% load i18n %} {% block meta_title %}Access denied{% endblock %} {% block title %}Access denied{% endblock %} {% block body_id %}aggregator-denied{% endblock %} {% block main %} Access denied :( Sorry, you can't do that. ← Go back {% endblock %}
Sorry, you can't do that.


We were unable to create your account.
Your details
First name
Last name
Role
Customer support
Email
You will need this to sign into your account.
<EMAIL_ADDRESS>Create account


24 Jake Gillette (USA) 25 Oct 2014 2:52:19 Harrisburg IL/USA Shawnee 12 Oct 2014 2:46:33 Plover WI/USA Saint Bronislava 28 Sep 2014 2:49:11x Merrillville IN/USA Tri Town Community 13 Sep 2014 2:45:15 Madison WI/USA Madison Garden 12 Jul 2014 3:05:33 Mackinaw City MI/USA Waugoshance Trail 22 Jun 2014 2:40:52 Manitowoc WI/USA Maritime 18 May 2014 2:44:55a Midland MI/USA Great Lakes Bay 26 Apr 2014 3:00:18 Rockford MI/USA Hurt the Dirt 29 Mar 2014 2:39:02 West Lafayette IN/USA Circular Logic 22 Feb 2014 2:53:13.2 Goshen IN/USA Maple Leaf Indoor- Day 1 28 Sep 2013 2:42:23 Spring Lake MI/USA Oktoberfest 01 Sep 2013 2:46:37 Hooper NE/USA Logan View Raider Run 27 Apr 2013 3:20:10.2 North Liberty IN/USA Potato Creek Trail Runs 14 Apr 2013 2:41:40 Lowell IN/USA Crossroads of Indiana 23 Mar 2013 2:42:23 West Lafayette IN/USA Circular Logic 23 Feb 2013 2:52:05 Goshen IN/USA Maple Leaf Indoor- Day 1 20 Oct 2012 2:47:57 Libertyville IL/USA Des Plaines River Trail 28 Apr 2012 3:41:54 North Liberty IN/USA Potato Creek Trail Runs 25 Feb 2012 2:59:48 Goshen IN/USA Maple Leaf Indoor- Day 1 09 Oct 2011 2:52:24 Concord MI/USA Friends of the Falling Waters Trail 16 May 2010 2:47:56 Rockford IL/USA Rockford 27 Feb 2010 3:04:42 Goshen IN/USA Maple Leaf Indoor 11 Oct 2009 2:54:16 Concord MI/USA Wild Life 21 Feb 2009 3:07:06 Goshen IN/USA Maple Leaf Indoor
Last Updated on 29 Oct 2014


General discussion about Komodo. For useful links and more info click the pinned messages to the right. DON'T DM @jl777
100 messages
Before 05-Dec-19 12:00 AM
Alecandro11-Feb-19 08:27 PM
Rebrand and marketing is starting to catch on it seems
KomodoWorld11-Feb-19 08:28 PM
definitely, and it's barely starting
with the features on the pipeline, we'll be in a very different position by the end of 19'
5
3
the icing on the cake would be the option to migrate an Erc20, set the date to take a snapshot or create a tool to take the snapshot and import it into Chainlizard -> assetchain
1
and users can access their funds with the same privkey
Cryptoon11-Feb-19 08:31 PM
@KomodoWorld stop pls, my body can only be so ready
Alecandro11-Feb-19 08:31 PM
I'll say it again, this project is so exciting. Plus I think that this is one of the best (if not the best) projects out there. Can't wait for the price to reflect that
KomodoWorld11-Feb-19 08:32 PM
just an idea, I'm sure something like this is in the works sooner or later
Cryptoon11-Feb-19 08:33 PM
There was a channel on this
Erc20 bridge or something like that
Probably merged with another one
KomodoWorld11-Feb-19 08:34 PM
yes, "Migration paths into a Komodo blockchain" is on the website roadmap
too bad days have only 24 hours
you can only do so much at a time
Alecandro11-Feb-19 08:35 PM
lets migrate the entire crypto space into different KMD chains
lol
KomodoWorld11-Feb-19 08:35 PM
yes, seriously
Cryptoon11-Feb-19 08:38 PM
with regards to interoperability that would be amazing tbh
Alecandro11-Feb-19 08:38 PM
KMD seriously needs to dethrone ETH as the #2 lol
ca33311-Feb-19 08:39 PM
yes @KomodoWorld - that is correct.. our team has been working on 'automagic' migration tools. Here is a little teaser on how this would look for a BTC protocol based coin that would migrate over to KMD:
a) run a snapshot on height X (which gets announced as snapshot-height)
b) create new AC chain with coin-cap of a)
c) run a bunch of sendtomany to distribute the coins according to a)
d) ensure the users can access their tokens with their old privkey - so might have to provide a simple tool to calc KMD WIF out of snapshotchain (origin) WIF
6
4
3
thanks to various supporters and devs the above steps are all automated and a matter of executing a script.
KomodoWorld11-Feb-19 08:40 PM
mic drop
Alecandro11-Feb-19 08:41 PM
@ca333 Incredible stuff. Also side note, great interview!!
2
yorklab11-Feb-19 08:44 PM
Nothing ever gets changed with feedback like that
@ComputerGenie 👴👴👴 In reference to BarterDEX GUI: One of the most important things you and @hyperDEX can do is have an available help file. Either you can hover over each clickable icon and a pop-up explains what it is, or perhaps a clickable question mark next to each where a text file (that downloaded with the program) pops up and tells you what each icon does. This will help with the learning curve and cut down on the same questions being asked over and over again.(edited)
KomodoWorld11-Feb-19 08:47 PM
tooltips
2
ComputerGenie 👴👴👴11-Feb-19 08:48 PM
@yorklab satinder started to add that to BarterDEX GUI and the reception was luke-warm at best (but I will keep that in mind for my fork)
Interesting to note:
When I asked so, what's "bad" about the layout of BarterDEX GUI? she stopped responding and this has been the main issue since day 1 (edited)
jansako11-Feb-19 08:48 PM
Good UX is better than tooltips... those are just crutches...
I am definitely looking forward to v2
lots of feedback willb e incoming
v2 UI I mean...
yorklab11-Feb-19 08:49 PM
Of course, but you can't assume it's perfect and not everyone has the same knowledge, some of us have to start from the beginning.(edited)
ComputerGenie 👴👴👴11-Feb-19 08:50 PM
LOL without feedback, v2 = v1 with a different backend that you never see
jansako11-Feb-19 08:50 PM
I stopped giving v1 feedback after I was told UI changes won;t be made until v2 comes out(edited)
chicken-egg problem, but the team decides what is more important(edited)
Cryptoon11-Feb-19 08:51 PM
after a while once you understood the concept barterdex worked fine for me
ComputerGenie 👴👴👴11-Feb-19 08:51 PM
I stopped giving v1 feedback after I was told it UI chagnes won;t be made until v2 comes out
there stopped being any real interest a good 6 months before that
Cryptoon11-Feb-19 08:51 PM
set the price a little bit higher to improve chances of ordermatching, play around with utxo's for a while
once a trade got through keep repeating that trade untill bob is out of those utxos
play around untill you find new matching utxo's
but for mm2 those things should be a thing of the past anyway
jansako11-Feb-19 08:53 PM
@ComputerGenie 👴👴👴 I am talking more or less a year ago... I helped out on Hyperdex for a bit too, but UX there also stalled on mm v1
ComputerGenie 👴👴👴11-Feb-19 08:53 PM
chicken-egg problem, but the team decides what is more important
BarterDEX GUI was only a "team" project by default of a smaller community at that time; literally everyone was asked to participate in whatever capacity they could
jansako11-Feb-19 08:53 PM
I know, I was there...
probably did a couple of thousand trades in total
ComputerGenie 👴👴👴11-Feb-19 08:54 PM
I stopped working on it because I got tired of asking the same question I'm still asking and getting the same 0 response I'm still getting
jansako11-Feb-19 08:55 PM
so let's pick it up again once v2 is ready to be shown... so what if on day 1 it looks like v1?
ComputerGenie 👴👴👴11-Feb-19 08:56 PM
so what if on day 1 it looks like v1?
You'll hate it as much as you do v1
Cryptoon11-Feb-19 08:56 PM
a lot of user complaints were that they got no matches and they didnt know why
so they think it's a gui issue
while it was mm
jansako11-Feb-19 08:57 PM
I don't hate v1...(edited)
ComputerGenie 👴👴👴11-Feb-19 08:57 PM
there's that too @Cryptoon
Cryptoon11-Feb-19 08:57 PM
once people get to testing, and trades go through easily, they will be able to more specifically point to gui/ux flaws
ComputerGenie 👴👴👴11-Feb-19 08:57 PM
I don't hate v1...
"you" in the general sense, not "you" singular
Cryptoon11-Feb-19 08:57 PM
now people dont know for sure what the problem is
my plan is to start testing when mm2.0 is there; and just comment as many things as pop into my head as possible
jansako11-Feb-19 08:58 PM
it is the job of UX to make sure you never have to wonder
Cryptoon11-Feb-19 08:58 PM
and then designers/devs can use the comments to adjust where needed
jansako11-Feb-19 08:59 PM
issues/problems should not even be shown in the UI, it should be solved by the code on the back end... I know, easy to say...(edited)
ComputerGenie 👴👴👴11-Feb-19 08:59 PM
it is the job of UX to make sure you never have to wonder
That's a great insight, as long as the U can describe their X and tell the GUI dev what makes it a not good X for the U
We aren't mind readers(edited)
jansako11-Feb-19 08:59 PM
I will leave work at work...
For sure.
ComputerGenie 👴👴👴11-Feb-19 09:01 PM
issues/problems should not even be shown in the UI, it should be solved by the code on the back end...
We tried that and got<PHONE_NUMBER>0000000 complaints of "It's not doing anything when I click it"
jansako11-Feb-19 09:02 PM
...progress bar... (edited)
ca33311-Feb-19 09:02 PM
the problems of MM1 were resolved in MM2 - its a very solid/stable piece of p2p/blockchain software. i have actively tested/debugged it and am amazed by its efficiency. not does it only come with native mobile support but also as a standalone enduser product. so each node does cover the full functionality scope. Furthermore does MM2 utilize state of the art p2p network/cryptographic technology: libtorrent/DHT network acts as the offchain layer (ordermatching, orderbooks, net commz, etc.).
We recently hired a fulltime mobile dev who is currently working on a MM2 mobile GUI app.
6
2
3
4
4
jansako11-Feb-19 09:03 PM
nice
and do we have a desktop GUI dev as well?
ca33311-Feb-19 09:03 PM
Our QA team has been testing MM2 for the last month and is very happy with the results.
ComputerGenie 👴👴👴11-Feb-19 09:03 PM
...progress bar...
and how do you convey on a progress bar that a trade didn't complete? Back to 0? and the user is like 'dafuq? why u no trade? u suck!'
jansako11-Feb-19 09:04 PM
trollface does not expect or require a response... just saying...
ComputerGenie 👴👴👴11-Feb-19 09:04 PM
I know, but do you at least see what I'm getting at?
jansako11-Feb-19 09:05 PM
I do, of course
I do this all day
I am a bridge between devs and end users...
ca33311-Feb-19 09:05 PM
@jansako yes we have a Desktop GUI dev who is also working fulltime for us. He is currently in the final dev-mile of the BaaS (automagic blockchain generator system) before we will initiate the Desktop version of the MM2 GUI app. Here the same path will be taken. Only solid and state of the art technology that is proven stable and solid. (C++ & QT)
jansako11-Feb-19 09:06 PM
ComputerGenie 👴👴👴11-Feb-19 09:06 PM
QT? atomic swaps via 2003?
1
ca33311-Feb-19 09:06 PM
we have planned the mobile version beta release towards this summer and the Desktop version towards later this year. we will keep the community fully updated on this.
@ComputerGenie 👴👴👴 not sure which QT you refering to. I am talking about 2018 aviation, automobile industry and mass consumer market UI systems via https://www.qt.io/
Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best.
Learn from the successes of our customers and how they used Qt for greatness. Be it desktop, mobile, or embedded, from automation to UI design – there's something for everyone to enjoy!
let me ask you like this @ComputerGenie 👴👴👴 - if you had the choice between Javascript + nodejs/NPM ecosystem OR C++ & QT - which one would you take?
for sake of security, etc.
QT is certified and used in critical systems...
ComputerGenie 👴👴👴11-Feb-19 09:09 PM
that it's used does not equate to it being good (case in point: FedEX still uses VB4 applications in many regions )
jansako11-Feb-19 09:09 PM
@ca333 hope we get to test/comment on the UI before it gets too far & stuff gets locked down...
ca33311-Feb-19 09:09 PM
NPM is used to empty users wallets unfort. : (
ComputerGenie 👴👴👴11-Feb-19 09:10 PM
if you had the choice between Javascript + nodejs/NPM ecosystem OR C++ & QT - which one would you take?
That's kind of a false dichotomy though
ca33311-Feb-19 09:10 PM
@jansako we will defenitely keep community involved and updated in the whole process.
jansako11-Feb-19 09:11 PM
I am really talking about workflow-level feedback, not the 'this button needs to be red' type of stuff...
1
SHossain11-Feb-19 09:11 PM
instaed of using NPM, just give me your money
much easier and no hack involved. no extra steps.
ca33311-Feb-19 09:15 PM
@ComputerGenie 👴👴👴 - which recommendation would you make as for the chosen UI tech and coding lang? We have looked into alternatives like python QT combination (like electrum) and also into rust and rust based GUI libs. However since our GUI dev is an experience C++ dev and knows QT we chose that tech layer before going an "experimental" path.. we really just want to provide smooth/userfriendly experience in the "most secure way possible".
Ubuntu is a single, fully maintained OS that runs across a whole family of personal computing form factors and Qt is at the heart of the Ubuntu's UI framework for smartphones, tablets, PCs, digital signage displays.
ComputerGenie 👴👴👴11-Feb-19 09:19 PM
@ca333 I'm in no way saying that QT can't do the job or that it's not among the "better" of the cross-platform options; but that when you say "QT", I (and most people) instantly get the mental image of the same tired clunky apps that QT has been associated with since day 1
1
In the ideal world cross-platform would be dumped in favor of sleek, sexy native apps per platform (and yes I realized that's pretty much triple the expense and why no one does it)(edited)
jorian11-Feb-19 09:21 PM
did the hyperdex team give up?
ComputerGenie 👴👴👴11-Feb-19 09:22 PM
no clue, last I heard he was still on a rant about punishing the community over a 3rd party not giving him cr recognition


Welcome back!
We're so excited to see you again!
Email or Phone Number
Password
Forgot your password?
Login
Need an account?
Register.


Popular Areas in change windows registration number
How to Change Name and Company Information After You Install ...
This registration information is displayed under Registered to in the General tab of . To have us change your name and company information after Windows is . the following article number to view the article in the Microsoft Knowledge Base: .
http://support.microsoft.com/kb/310441
How to Deal with Windows Activation Technology for Windows 7 ...
If you start receiving Windows Activation Technologies warnings and errors, you . changes to solid black and nags that this copy of Windows is not genuine. . Call the telephone activation number provided and talk to the representative.
http://www.dummies.com/how-to/content/how-to-deal-with-windows-activation-technology-for.html
How To Change the Windows 7 Product Key Code - PC Support ...
Change your Windows 7 key using a feature available within the Control Panel. . you'll see the status of your Windows 7 activation and your Product ID number.
http://pcsupport.about.com/od/osproductkeys/ht/change-windows-7-key.htm
How to Change a Windows XP Serial Number | eHow.com
How to Change a Windows XP Serial Number. If you have accidentally purchased a pirated copy of Windows XP and find that you cannot update it, or are .
http://www.ehow.com/how_2196189_change-windows-xps-serial-number.html
Windows XP Activation Explained - Technibble
This article explains how Windows Activation works and how much changes to . Windows XP then creates and records a number based on the first device of .
http://www.technibble.com/windows-xp-activation-explained/


Feed Back Form
First Name:
Last Name:
Student Id:
Summarize what you have learned from tutorial:
Tutorial Feedback:
Submit Feedback


Dynamically Changing Columns and Templates
Adding, removing, and reordering
columns
should not break sort.
Changing a
cellTemplate
, and column scoped
headerTemplate
, or
footerTemplate
after load should work correctly.
Column reordering via drag-and-drop should work correctly.
{{value}}
columns
JSON


hunch_net hunch_net-2005 hunch_net-2005-139 knowledge-graph by maker-knowledge-mining
Source: html
Introduction: Let me add to John’s post with a few of my own favourites from this year’s conference. First, let me say that Sanjoy’s talk, Coarse Sample Complexity Bounds for Active Learning was also one of my favourites, as was the Forgettron paper . I also really enjoyed the last third of Christos’ talk on the complexity of finding Nash equilibria. And, speaking of tagging, I think the U.Mass Citeseer replacement system Rexa from the demo track is very cool. Finally, let me add my recommendations for specific papers: Z. Ghahramani, K. Heller: Bayesian Sets [no preprint] (A very elegant probabilistic information retrieval style model of which objects are “most like” a given subset of objects.) T. Griffiths, Z. Ghahramani: Infinite Latent Feature Models and the Indian Buffet Process [ preprint ] (A Dirichlet style prior over infinite binary matrices with beautiful exchangeability properties.) K. Weinberger, J. Blitzer, L. Saul: Distance Metric Lea
sentIndex sentText sentNum sentScore
1 Let me add to John’s post with a few of my own favourites from this year’s conference. [sent-1, score-0.434]
2 First, let me say that Sanjoy’s talk, Coarse Sample Complexity Bounds for Active Learning was also one of my favourites, as was the Forgettron paper . [sent-2, score-0.149]
3 I also really enjoyed the last third of Christos’ talk on the complexity of finding Nash equilibria. [sent-3, score-0.223]
4 Mass Citeseer replacement system Rexa from the demo track is very cool. [sent-5, score-0.107]
5 Finally, let me add my recommendations for specific papers: Z. [sent-6, score-0.361]
6 Heller: Bayesian Sets [no preprint] (A very elegant probabilistic information retrieval style model of which objects are “most like” a given subset of objects. [sent-8, score-0.349]
7 Ghahramani: Infinite Latent Feature Models and the Indian Buffet Process [ preprint ] (A Dirichlet style prior over infinite binary matrices with beautiful exchangeability properties. [sent-11, score-1.042]
8 Lafferty: Correlated Topic Models [ preprint ] (Nice trick using the lognormal to induce correlations on the simplex applied to topic models for text. [sent-20, score-0.832]
9 ) I’ll also post in the comments a list of other papers that caught my eye but which I haven’t looked at closely enough to be able to out-and-out recommend. [sent-21, score-0.44]
wordName wordTfidf (topN-words)
[('preprint', 0.484), ('favourites', 0.242), ('ghahramani', 0.215), ('nice', 0.185), ('nearby', 0.179), ('infinite', 0.172), ('let', 0.149), ('talk', 0.14), ('models', 0.132), ('add', 0.112), ('topic', 0.109), ('exchangeability', 0.107), ('blitzer', 0.107), ('demo', 0.107), ('griffiths', 0.107), ('induce', 0.107), ('style', 0.103), ('nash', 0.1), ('eye', 0.1), ('citeseer', 0.1), ('transformation', 0.1), ('indian', 0.1), ('lafferty', 0.1), ('latent', 0.1), ('recommendations', 0.1), ('rexa', 0.1), ('sends', 0.1), ('differing', 0.094), ('blei', 0.094), ('correlated', 0.094), ('looked', 0.094), ('retrieval', 0.094), ('feature', 0.092), ('coarse', 0.09), ('tagging', 0.09), ('matrices', 0.09), ('closer', 0.09), ('points', 0.087), ('beautiful', 0.086), ('caught', 0.086), ('dirichlet', 0.086), ('brings', 0.083), ('complexity', 0.083), ('closely', 0.08), ('margin', 0.08), ('post', 0.08), ('elegant', 0.078), ('distance', 0.074), ('objects', 0.074), ('recommend', 0.074)]
simIndex simValue blogId blogTitle
same-blog 1 0.99999982 139 hunch net-2005-12-11-More NIPS Papers
Introduction: Let me add to John’s post with a few of my own favourites from this year’s conference. First, let me say that Sanjoy’s talk, Coarse Sample Complexity Bounds for Active Learning was also one of my favourites, as was the Forgettron paper . I also really enjoyed the last third of Christos’ talk on the complexity of finding Nash equilibria. And, speaking of tagging, I think the U.Mass Citeseer replacement system Rexa from the demo track is very cool. Finally, let me add my recommendations for specific papers: Z. Ghahramani, K. Heller: Bayesian Sets [no preprint] (A very elegant probabilistic information retrieval style model of which objects are “most like” a given subset of objects.) T. Griffiths, Z. Ghahramani: Infinite Latent Feature Models and the Indian Buffet Process [ preprint ] (A Dirichlet style prior over infinite binary matrices with beautiful exchangeability properties.) K. Weinberger, J. Blitzer, L. Saul: Distance Metric Lea
2 0.11447069 189 hunch net-2006-07-05-more icml papers
Introduction: Here are a few other papers I enjoyed from ICML06. Topic Models: Dynamic Topic Models David Blei, John Lafferty A nice model for how topics in LDA type models can evolve over time, using a linear dynamical system on the natural parameters and a very clever structured variational approximation (in which the mean field parameters are pseudo-observations of a virtual LDS). Like all Blei papers, he makes it look easy, but it is extremely impressive. Pachinko Allocation Wei Li, Andrew McCallum A very elegant (but computationally challenging) model which induces correlation amongst topics using a multi-level DAG whose interior nodes are “super-topics” and “sub-topics” and whose leaves are the vocabulary words. Makes the slumbering monster of structure learning stir. Sequence Analysis (I missed these talks since I was chairing another session) Online Decoding of Markov Models with Latency Constraints Mukund Narasimhan, Paul Viola, Michael Shilman An “a
3 0.11011077 8 hunch net-2005-02-01-NIPS: Online Bayes
Introduction: One nice use for this blog is to consider and discuss papers that that have appeared at recent conferences. I really enjoyed Andrew Ng and Sham Kakade’s paper Online Bounds for Bayesian Algorithms . From the paper: The philosophy taken in the Bayesian methodology is often at odds with that in the online learning community…. the online learning setting makes rather minimal assumptions on the conditions under which the data are being presented to the learner â€”usually, Nature could provide examples in an adversarial manner. We study the performance of Bayesian algorithms in a more adversarial setting… We provide competitive bounds when the cost function is the log loss, and we compare our performance to the best model in our model class (as in the experts setting). It’s a very nice analysis of some of my favorite algorithms that all hinges around a beautiful theorem: Let Q be any distribution over parameters theta. Then for all sequences S: L_{Bayes}(S) leq L_Q(S)
4 0.098164521 6 hunch net-2005-01-27-Learning Complete Problems
Introduction: Let’s define a learning problem as making predictions given past data. There are several ways to attack the learning problem which seem to be equivalent to solving the learning problem. Find the Invariant This viewpoint says that learning is all about learning (or incorporating) transformations of objects that do not change the correct prediction. The best possible invariant is the one which says “all things of the same class are the same”. Finding this is equivalent to learning. This viewpoint is particularly common when working with image features. Feature Selection This viewpoint says that the way to learn is by finding the right features to input to a learning algorithm. The best feature is the one which is the class to predict. Finding this is equivalent to learning for all reasonable learning algorithms. This viewpoint is common in several applications of machine learning. See Gilad’s and Bianca’s comments . Find the Representation This is almost the same a
5 0.096778527 173 hunch net-2006-04-17-Rexa is live
Introduction: Rexa is now publicly available. Anyone can create an account and login. Rexa is similar to Citeseer and Google Scholar in functionality with more emphasis on the use of machine learning for intelligent information extraction. For example, Rexa can automatically display a picture on an authorâ€™s homepage when the author is searched for.
6 0.096268699 251 hunch net-2007-06-24-Interesting Papers at ICML 2007
7 0.087795854 280 hunch net-2007-12-20-Cool and Interesting things at NIPS, take three
8 0.087107353 301 hunch net-2008-05-23-Three levels of addressing the Netflix Prize
9 0.085419275 102 hunch net-2005-08-11-Why Manifold-Based Dimension Reduction Techniques?
10 0.083239689 77 hunch net-2005-05-29-Maximum Margin Mismatch?
11 0.081474259 199 hunch net-2006-07-26-Two more UAI papers of interest
12 0.080015622 310 hunch net-2008-07-15-Interesting papers at COLT (and a bit of UAI & workshops)
13 0.073064782 435 hunch net-2011-05-16-Research Directions for Machine Learning and Algorithms
14 0.069744803 60 hunch net-2005-04-23-Advantages and Disadvantages of Bayesian Learning
15 0.068953454 385 hunch net-2009-12-27-Interesting things at NIPS 2009
16 0.068316989 456 hunch net-2012-02-24-ICML+50%
17 0.067558855 134 hunch net-2005-12-01-The Webscience Future
18 0.064052813 91 hunch net-2005-07-10-Thinking the Unthought
19 0.063960537 97 hunch net-2005-07-23-Interesting papers at ACL
20 0.063523293 440 hunch net-2011-08-06-Interesting thing at UAI 2011
topicId topicWeight
[(0, 0.141), (1, 0.023), (2, 0.009), (3, -0.019), (4, 0.086), (5, 0.007), (6, -0.012), (7, -0.041), (8, 0.051), (9, -0.105), (10, 0.049), (11, -0.011), (12, -0.135), (13, -0.043), (14, 0.04), (15, -0.075), (16, -0.068), (17, 0.084), (18, 0.104), (19, -0.032), (20, -0.011), (21, 0.016), (22, -0.037), (23, -0.063), (24, 0.078), (25, -0.033), (26, 0.017), (27, 0.057), (28, -0.079), (29, -0.026), (30, 0.007), (31, -0.022), (32, 0.077), (33, -0.063), (34, -0.024), (35, 0.081), (36, 0.021), (37, 0.029), (38, -0.103), (39, 0.01), (40, 0.017), (41, -0.032), (42, 0.051), (43, -0.021), (44, 0.002), (45, 0.015), (46, -0.025), (47, 0.035), (48, -0.018), (49, -0.017)]
simIndex simValue blogId blogTitle
same-blog 1 0.97922039 139 hunch net-2005-12-11-More NIPS Papers
Introduction: Let me add to John’s post with a few of my own favourites from this year’s conference. First, let me say that Sanjoy’s talk, Coarse Sample Complexity Bounds for Active Learning was also one of my favourites, as was the Forgettron paper . I also really enjoyed the last third of Christos’ talk on the complexity of finding Nash equilibria. And, speaking of tagging, I think the U.Mass Citeseer replacement system Rexa from the demo track is very cool. Finally, let me add my recommendations for specific papers: Z. Ghahramani, K. Heller: Bayesian Sets [no preprint] (A very elegant probabilistic information retrieval style model of which objects are “most like” a given subset of objects.) T. Griffiths, Z. Ghahramani: Infinite Latent Feature Models and the Indian Buffet Process [ preprint ] (A Dirichlet style prior over infinite binary matrices with beautiful exchangeability properties.) K. Weinberger, J. Blitzer, L. Saul: Distance Metric Lea
2 0.75324452 189 hunch net-2006-07-05-more icml papers
Introduction: Here are a few other papers I enjoyed from ICML06. Topic Models: Dynamic Topic Models David Blei, John Lafferty A nice model for how topics in LDA type models can evolve over time, using a linear dynamical system on the natural parameters and a very clever structured variational approximation (in which the mean field parameters are pseudo-observations of a virtual LDS). Like all Blei papers, he makes it look easy, but it is extremely impressive. Pachinko Allocation Wei Li, Andrew McCallum A very elegant (but computationally challenging) model which induces correlation amongst topics using a multi-level DAG whose interior nodes are “super-topics” and “sub-topics” and whose leaves are the vocabulary words. Makes the slumbering monster of structure learning stir. Sequence Analysis (I missed these talks since I was chairing another session) Online Decoding of Markov Models with Latency Constraints Mukund Narasimhan, Paul Viola, Michael Shilman An “a
3 0.72241867 280 hunch net-2007-12-20-Cool and Interesting things at NIPS, take three
Introduction: Following up on Hal Daume’s post and John’s post on cool and interesting things seen at NIPS I’ll post my own little list of neat papers here as well. Of course it’s going to be biased towards what I think is interesting. Also, I have to say that I hadn’t been able to see many papers this year at nips due to myself being too busy, so please feel free to contribute the papers that you liked 1. P. Mudigonda, V. Kolmogorov, P. Torr. An Analysis of Convex Relaxations for MAP Estimation. A surprising paper which shows that many of the more sophisticated convex relaxations that had been proposed recently turns out to be subsumed by the simplest LP relaxation. Be careful next time you try a cool new convex relaxation! 2. D. Sontag, T. Jaakkola. New Outer Bounds on the Marginal Polytope. The title says it all. The marginal polytope is the set of local marginal distributions over subsets of variables that are globally consistent in the sense that there is at least one distributio
4 0.66026312 140 hunch net-2005-12-14-More NIPS Papers II
Introduction: I thought this was a very good NIPS with many excellent papers. The following are a few NIPS papers which I liked and I hope to study more carefully when I get the chance. The list is not exhaustive and in no particular order… Preconditioner Approximations for Probabilistic Graphical Models. Pradeeep Ravikumar and John Lafferty. I thought the use of preconditioner methods from solving linear systems in the context of approximate inference was novel and interesting. The results look good and I’d like to understand the limitations. Rodeo: Sparse nonparametric regression in high dimensions. John Lafferty and Larry Wasserman. A very interesting approach to feature selection in nonparametric regression from a frequentist framework. The use of lengthscale variables in each dimension reminds me a lot of ‘Automatic Relevance Determination’ in Gaussian process regression — it would be interesting to compare Rodeo to ARD in GPs. Interpolating between types and tokens by estimating
5 0.65029109 144 hunch net-2005-12-28-Yet more nips thoughts
Introduction: I only managed to make it out to the NIPS workshops this year so I’ll give my comments on what I saw there. The Learing and Robotics workshops lives again. I hope it continues and gets more high quality papers in the future. The most interesting talk for me was Larry Jackel’s on the LAGR program (see John’s previous post on said program). I got some ideas as to what progress has been made. Larry really explained the types of benchmarks and the tradeoffs that had to be made to make the goals achievable but challenging. Hal Daume gave a very interesting talk about structured prediction using RL techniques, something near and dear to my own heart. He achieved rather impressive results using only a very greedy search. The non-parametric Bayes workshop was great. I enjoyed the entire morning session I spent there, and particularly (the usually desultory) discussion periods. One interesting topic was the Gibbs/Variational inference divide. I won’t try to summarize espe
6 0.63253385 77 hunch net-2005-05-29-Maximum Margin Mismatch?
7 0.61549234 97 hunch net-2005-07-23-Interesting papers at ACL
8 0.50846422 251 hunch net-2007-06-24-Interesting Papers at ICML 2007
9 0.49850729 185 hunch net-2006-06-16-Regularization = Robustness
10 0.49684486 361 hunch net-2009-06-24-Interesting papers at UAICMOLT 2009
11 0.47527003 440 hunch net-2011-08-06-Interesting thing at UAI 2011
12 0.46310902 45 hunch net-2005-03-22-Active learning
13 0.45774838 188 hunch net-2006-06-30-ICML papers
14 0.45548058 310 hunch net-2008-07-15-Interesting papers at COLT (and a bit of UAI & workshops)
15 0.44909027 30 hunch net-2005-02-25-Why Papers?
16 0.44867808 330 hunch net-2008-12-07-A NIPS paper
17 0.44189167 301 hunch net-2008-05-23-Three levels of addressing the Netflix Prize
18 0.43267459 439 hunch net-2011-08-01-Interesting papers at COLT 2011
19 0.43193734 192 hunch net-2006-07-08-Some recent papers
20 0.43047991 263 hunch net-2007-09-18-It’s MDL Jim, but not as we know it…(on Bayes, MDL and consistency)
topicId topicWeight
[(10, 0.036), (27, 0.184), (38, 0.057), (53, 0.127), (67, 0.015), (90, 0.422), (95, 0.062)]
simIndex simValue blogId blogTitle
1 0.96442801 340 hunch net-2009-01-28-Nielsen’s talk
Introduction: I wanted to point to Michael Nielsenâ€™s talk about blogging science, which I found interesting.
2 0.9199931 323 hunch net-2008-11-04-Rise of the Machines
Introduction: On the enduring topic of how people deal with intelligent machines , we have this important election bulletin .
3 0.89471865 32 hunch net-2005-02-27-Antilearning: When proximity goes bad
Introduction: Joel Predd mentioned “ Antilearning ” by Adam Kowalczyk , which is interesting from a foundational intuitions viewpoint. There is a pervasive intuition that “nearby things tend to have the same label”. This intuition is instantiated in SVMs, nearest neighbor classifiers, decision trees, and neural networks. It turns out there are natural problems where this intuition is opposite of the truth. One natural situation where this occurs is in competition. For example, when Intel fails to meet its earnings estimate, is this evidence that AMD is doing badly also? Or evidence that AMD is doing well? This violation of the proximity intuition means that when the number of examples is few, negating a classifier which attempts to exploit proximity can provide predictive power (thus, the term “antilearning”).
same-blog 4 0.86980987 139 hunch net-2005-12-11-More NIPS Papers
Introduction: Let me add to John’s post with a few of my own favourites from this year’s conference. First, let me say that Sanjoy’s talk, Coarse Sample Complexity Bounds for Active Learning was also one of my favourites, as was the Forgettron paper . I also really enjoyed the last third of Christos’ talk on the complexity of finding Nash equilibria. And, speaking of tagging, I think the U.Mass Citeseer replacement system Rexa from the demo track is very cool. Finally, let me add my recommendations for specific papers: Z. Ghahramani, K. Heller: Bayesian Sets [no preprint] (A very elegant probabilistic information retrieval style model of which objects are “most like” a given subset of objects.) T. Griffiths, Z. Ghahramani: Infinite Latent Feature Models and the Indian Buffet Process [ preprint ] (A Dirichlet style prior over infinite binary matrices with beautiful exchangeability properties.) K. Weinberger, J. Blitzer, L. Saul: Distance Metric Lea
5 0.84233069 239 hunch net-2007-04-18-$50K Spock Challenge
Introduction: Apparently, the company Spock is setting up a $50k entity resolution challenge . $50k is much less than the Netflix challenge, but it’s effectively the same as Netflix until someone reaches 10% . It’s also nice that the Spock challenge has a short duration. The (visible) test set is of size 25k and the training set has size 75k.
6 0.75368452 284 hunch net-2008-01-18-Datasets
7 0.75210798 144 hunch net-2005-12-28-Yet more nips thoughts
8 0.63842463 333 hunch net-2008-12-27-Adversarial Academia
9 0.46073467 478 hunch net-2013-01-07-NYU Large Scale Machine Learning Class
10 0.4531602 12 hunch net-2005-02-03-Learning Theory, by assumption
11 0.45079142 201 hunch net-2006-08-07-The Call of the Deep
12 0.44979563 227 hunch net-2007-01-10-A Deep Belief Net Learning Problem
13 0.44771877 134 hunch net-2005-12-01-The Webscience Future
14 0.44629133 131 hunch net-2005-11-16-The Everything Ensemble Edge
15 0.44378555 483 hunch net-2013-06-10-The Large Scale Learning class notes
16 0.44286305 60 hunch net-2005-04-23-Advantages and Disadvantages of Bayesian Learning
17 0.44077712 6 hunch net-2005-01-27-Learning Complete Problems
18 0.43950605 27 hunch net-2005-02-23-Problem: Reinforcement Learning with Classification
19 0.43887877 19 hunch net-2005-02-14-Clever Methods of Overfitting
20 0.43758401 14 hunch net-2005-02-07-The State of the Reduction


So far this year, which is obviously nowhere near finished yet, I have had some amazing experiences. From .NET Fringe, Polyglot 2015, Progressive .NET Tutorials 2015, to Dev Day 2015 and more. I decided to add a little bit more of a personal note in this blog entry because of inspiration I just got from Michał Śliwoń (@mihcall) on his Dev Day 2015 Aftermath write up.
Just as Michał writes,
“Inspiration is like a spark. It can be one brilliant presentation at the conference, one sentence at some session, one hallway conversation with another attendee and I’m excited, coming back with a head full of new ideas. Every conference has this little spark”
and I completely agree. At .NET Fringe I got back into a few things on the .NET CLR stack, namely F# and a little toying around with Akka .NET and micro-services using those technologies. I also had a hand in organizing and the origins of the conference, which I wrote about. At Polyglot 2015 my desire increased to become more familiar with and comfortable with functional programming languages. At the Progressive .NET Tutorials I was again inspired to dive deeper into functional languages and take a look more closely at everything from Weave and other container and virtualization based systems.
Thrashing Code News
One things that this led me to, is to start putting together a list of people who are interested in these types of conferences. I’m talking about the really down to earth, nitty gritty, get into the weeds of the technology, and meet the people building and using that technology everyday conferences. This list, you can sign up for here and do read the article just below the sign up page, as this is NOT some spam list. I’ll be putting in real effort and time to put together good content when the list officially kicks off! I will blog about, and of course get that first email out about Thrashing Code News in the coming months.
Again at Dev Day I was also inspired by many people and got to meet many people. Which leads me to the number one thing that makes these conferences absolutely great. It’s all about the people who attend.
The People
I got to meet Rob Conery (@robconery / http://rob.conery.io/).  It was seriously kick ass to meet Rob, especially after not getting a chance to at what must have been a gazillion conferences he and I have both been at before!
I finally met Christian Heilmann (@codepo8) who I also think we must have both been at a gazillion of the same conferences and somehow managed to not meet each other. Good conversation, talk of Seattle, other devlish code happy things - and hopefully a beer or two to be had with good Christian in the near future in Seattle or Portland (or thereabouts).
I had the fortune of running into Alena Dzenisenka (@lenadroid) again doing what she does, which is tell, teach, and show people a whole of awesome F# handiwork. For instance at Dev Day she was throwing down some machine learning math and helping to get people started. She’s also got some talks lined up near the Cascadian (that’s Seattle and Portland, but also San Francisco and Dallas!!) lands if you haven’t noticed, so come get inspired to sling some functional code!
https://twitter.com/mlusiak/status/644859691055599617
On day one the keynote by Chad Fowler (@chadfowler) was excellent.  I was able to catch Chad and chat a bit on day two of the conference. His presentation was great, and he’s motivated me to give his book Passionate Programmer a read.
Another individual who I’d been aiming to meet, Mathias Brandewinder (@brandewinder), was also at the conference. I even attended some of his workshop and learned a number of things about F# and machine learning. I’m definitely inspired to dig deeper into many of the machine learning realm and start figuring out more of the truly amazing things we can do with computers and machine learning algorithms - I honestly feel like we’ve only skimmed the surface for much of this technology. Mathias also has a book, that is truly worth buying titled “Machine Learning Projects for .NET Developers“. If you’re curious, yes, I have the book and am working through it steadily! :)
Gary Short (@garyshort) provided an amazing talk on digging into crop yields via the European Space Agency Data Science Project. I also enjoyed the multiple conversations that I was able to have with Gary from the talk of “really really really awesomely excited Americans” vs. “excited Americans” all the way to the talks on the matter of data science and crop yields themselves. Gary’s talk is linked below, so get a dose of the crop yields yourself, and any complaints be sure to send to his @robashton twitter account! (But seriously, you should follow Rob Ashton too as he’s got a lot of good twitter nuggets).
Another person I was super stoked to run into again is Tomas Petricek (who I hear might be in the Cascadian lands of the Seattle area in a month or so). I met Tomas at Progressive .NET Tutorials in London and enjoyed a number of good conversations, and his general awesome personality and hilarious demeanor! Not sure I mentioned, but he’s got some wicked F# chops too. He spoke about Understanding the World with Type Providers, which is something that you should watch as it’s an interesting way to wrap one’s mind around a lot of ideas.
I also, after many random conversations about a whole host of conversation in Functional Programming Slack (follow the link to sign up) chats, got to meet Krzysztof Cieślak (@k_cieslak). Krzysztof (and if you can’t pronounce his name just keep trying, you’ll get it right sometime around 2023) was great to meet and catch up with in person. Also great to hear tidbits about what he’s working on since he’s driving some really cool projects, including working on projects like Ionide Project for the Atom Editor.
There are so many people I enjoyed chatting with and getting to meet, which I really wish I had more time to hang out and chat or hack with everybody more. I met so many other individuals, that I already feel like a prick for not being able to write something about every single awesome person I’ve had a chance to speak with at Dev Day and the subsequent days after the conference. To those I didn’t, sorry about that, drinks and dinner are on me when you’re in Portland!
…on that note, get subscribed to Thrashing Code News so I can update you when the rumblings and dates of the next kick ass conferences, hackathons, hacking festivals, or other great materials, learnings, or such come up. In addition, get inspired to speak, or get involved in some way and help make the next conference you attend as kick ass as you’d want it to be! It’s easy, just fill out your name and email here.
…and to Michał and Rafał I’ll be following up with you guys on some of my next confrence efforts coming up in the Cascadian Pacific Northwest (i.e. Seattle/Portland area)! Cheers!


"""Lazy ZIP over HTTP""" __all__ = ['HTTPRangeRequestUnsupported', 'dist_from_wheel_url'] from bisect import bisect_left, bisect_right from contextlib import contextmanager from tempfile import NamedTemporaryFile from typing import Any, Dict, Iterator, List, Optional, Tuple from zipfile import BadZipfile, ZipFile from pip._vendor.pkg_resources import Distribution from pip._vendor.requests.models import CONTENT_CHUNK_SIZE, Response from pip._internal.network.session import PipSession from pip._internal.network.utils import HEADERS, raise_for_status, response_chunks from pip._internal.utils.wheel import pkg_resources_distribution_for_wheel class HTTPRangeRequestUnsupported(Exception): pass def dist_from_wheel_url(name, url, session): # type: (str, str, PipSession) -> Distribution """Return a pkg_resources.Distribution from the given wheel URL. This uses HTTP range requests to only fetch the potion of the wheel containing metadata, just enough for the object to be constructed. If such requests are not supported, HTTPRangeRequestUnsupported is raised. """ with LazyZipOverHTTP(url, session) as wheel: # For read-only ZIP files, ZipFile only needs methods read, # seek, seekable and tell, not the whole IO protocol. zip_file = ZipFile(wheel) # type: ignore # After context manager exit, wheel.name # is an invalid file by intention. return pkg_resources_distribution_for_wheel(zip_file, name, wheel.name) class LazyZipOverHTTP: """File-like object mapped to a ZIP file over HTTP. This uses HTTP range requests to lazily fetch the file's content, which is supposed to be fed to ZipFile. If such requests are not supported by the server, raise HTTPRangeRequestUnsupported during initialization. """ def __init__(self, url, session, chunk_size=CONTENT_CHUNK_SIZE): # type: (str, PipSession, int) -> None head = session.head(url, headers=HEADERS) raise_for_status(head) assert head.status_code == 200 self._session, self._url, self._chunk_size = session, url, chunk_size self._length = int(head.headers['Content-Length']) self._file = NamedTemporaryFile() self.truncate(self._length) self._left = [] # type: List[int] self._right = [] # type: List[int] if 'bytes' not in head.headers.get('Accept-Ranges', 'none'): raise HTTPRangeRequestUnsupported('range request is not supported') self._check_zip() @property def mode(self): # type: () -> str """Opening mode, which is always rb.""" return 'rb' @property def name(self): # type: () -> str """Path to the underlying file.""" return self._file.name def seekable(self): # type: () -> bool """Return whether random access is supported, which is True.""" return True def close(self): # type: () -> None """Close the file.""" self._file.close() @property def closed(self): # type: () -> bool """Whether the file is closed.""" return self._file.closed def read(self, size=-1): # type: (int) -> bytes """Read up to size bytes from the object and return them. As a convenience, if size is unspecified or -1, all bytes until EOF are returned. Fewer than size bytes may be returned if EOF is reached. """ download_size = max(size, self._chunk_size) start, length = self.tell(), self._length stop = length if size < 0 else min(start+download_size, length) start = max(0, stop-download_size) self._download(start, stop-1) return self._file.read(size) def readable(self): # type: () -> bool """Return whether the file is readable, which is True.""" return True def seek(self, offset, whence=0): # type: (int, int) -> int """Change stream position and return the new absolute position. Seek to offset relative position indicated by whence: * 0: Start of stream (the default). pos should be >= 0; * 1: Current position - pos may be negative; * 2: End of stream - pos usually negative. """ return self._file.seek(offset, whence) def tell(self): # type: () -> int """Return the current possition.""" return self._file.tell() def truncate(self, size=None): # type: (Optional[int]) -> int """Resize the stream to the given size in bytes. If size is unspecified resize to the current position. The current stream position isn't changed. Return the new file size. """ return self._file.truncate(size) def writable(self): # type: () -> bool """Return False.""" return False def __enter__(self): # type: () -> LazyZipOverHTTP self._file.__enter__() return self def __exit__(self, *exc): # type: (*Any) -> Optional[bool] return self._file.__exit__(*exc) @contextmanager def _stay(self): # type: ()-> Iterator[None] """Return a context manager keeping the position. At the end of the block, seek back to original position. """ pos = self.tell() try: yield finally: self.seek(pos) def _check_zip(self): # type: () -> None """Check and download until the file is a valid ZIP.""" end = self._length - 1 for start in reversed(range(0, end, self._chunk_size)): self._download(start, end) with self._stay(): try: # For read-only ZIP files, ZipFile only needs # methods read, seek, seekable and tell. ZipFile(self) # type: ignore except BadZipfile: pass else: break def _stream_response(self, start, end, base_headers=HEADERS): # type: (int, int, Dict[str, str]) -> Response """Return HTTP response to a range request from start to end.""" headers = base_headers.copy() headers['Range'] = f'bytes={start}-{end}' # TODO: Get range requests to be correctly cached headers['Cache-Control'] = 'no-cache' return self._session.get(self._url, headers=headers, stream=True) def _merge(self, start, end, left, right): # type: (int, int, int, int) -> Iterator[Tuple[int, int]] """Return an iterator of intervals to be fetched. Args: start (int): Start of needed interval end (int): End of needed interval left (int): Index of first overlapping downloaded data right (int): Index after last overlapping downloaded data """ lslice, rslice = self._left[left:right], self._right[left:right] i = start = min([start]+lslice[:1]) end = max([end]+rslice[-1:]) for j, k in zip(lslice, rslice): if j > i: yield i, j-1 i = k + 1 if i <= end: yield i, end self._left[left:right], self._right[left:right] = [start], [end] def _download(self, start, end): # type: (int, int) -> None """Download bytes from start to end inclusively.""" with self._stay(): left = bisect_left(self._right, start) right = bisect_right(self._left, end) for start, end in self._merge(start, end, left, right): response = self._stream_response(start, end) response.raise_for_status() self.seek(start) for chunk in response_chunks(response, self._chunk_size): self._file.write(chunk)


ScxmlStateMachine QML Type
Provides an interface to the state machines created from SCXML files. More...
| Import Statement: | import QtScxml 5.8 |
| Since: | Qt 5.7 |
| Instantiates: | QScxmlStateMachine |
Properties
- dataModel : ScxmlDataModel
- initialValues : var
- initialized : bool
- invoked : bool
- invokedServices : list
- loader : Loader
- name : string
- parseErrors : var
- running : bool
- sessionId : string
Signals
- finished()
- log(string label, string msg)
- reachedStableState()
Methods
- activeStateNames(bool compress)
- cancelDelayedEvent(string sendId)
- init()
- isActive(string scxmlStateName)
- isDispatchableTarget(string target)
- start()
- stateNames(bool compress)
- stop()
- submitEvent(string eventName, var data)
- submitEvent(event)
Detailed Description
The ScxmlStateMachine type is an implementation of the State Chart XML (SCXML).
All states that are defined in the SCXML file are accessible as properties of this type. These properties are boolean values and indicate whether the state is active or inactive.
Property Documentation
The data model to be used for this state machine.
SCXML data models are described in SCXML Specification - 5 Data Model and Data Manipulation. For more information about supported data models, see SCXML Compliance.
Changing the data model when the state machine has been initialized is not specified in the SCXML standard and leads to undefined behavior.
See also QScxmlDataModel, QScxmlNullDataModel, QScxmlEcmaScriptDataModel, and QScxmlCppDataModel.
This read-only property is set to true
if the state machine has been initialized, false
otherwise.
Whether the state machine was invoked from an outer state machine.
This read-only property is set to true
when the state machine was started as a service with the <invoke>
element, false
otherwise.
A list of SCXML services that were invoked from the main state machine (possibly recursively).
loader : Loader |
The loader that is currently used to resolve and load URIs for the state machine.
The list of parse errors that occurred while creating a state machine from an SCXML file.
The session ID of the current state machine.
The session ID is used for message routing between parent and child state machines. If a state machine is started by an <invoke>
element, any event it sends will have the invokeid
field set to the session ID. The state machine will use the origin of an event (which is set by the target or targetexpr attribute in a <send>
element) to dispatch messages to the correct child state machine.
Signal Documentation
This signal is emitted when the state machine reaches a top-level final state.
The corresponding signal handler is onFinished()
.
This signal is emitted if a <log>
tag is used in the SCXML. label is the value of the label attribute of the <log>
tag. msg is the value of the evaluated expr attribute of the <log>
tag. If there is no expr attribute, a null string will be returned.
The corresponding signal handler is onLog()
.
This signal is emitted when the event queue is empty at the end of a macro step or when a final state is reached.
The corresponding signal handler is onreachedStableState()
.
Method Documentation
Retrieves a list of state names of all active states.
When a state is active, all its parent states are active by definition. When compress is true
(the default), the parent states are filtered out and only the leaf states are returned. When it is false
, the full list of active states is returned.
Initializes the state machine by setting the initial values for <data>
elements and executing any <script>
tags of the <scxml>
tag. The initial data values are taken from the initialValues property.
Returns false
if parse errors occur or if any of the initialization steps fail. Returns true
otherwise.
Returns true
if the state specified by scxmlStateName is active, false
otherwise.
Returns true
if a message to target can be dispatched by this state machine.
Valid targets are:
#_parent
for the parent state machine if the current state machine is started by<invoke>
#_internal
for the current state machine#_scxml_sessionid
, wheresessionid
is the session ID of the current state machine#_servicename
, whereservicename
is the ID or name of a service started with<invoke>
by this state machine
Starts this state machine. The machine resets its configuration and transitions to the initial state. When a final top-level state is entered, the machine emits the finished() signal.
See also stop() and finished().
Retrieves a list of state names of all states.
When compress is true
(the default), the states that contain child states is filtered out and only the leaf states is returned. When it is false
, the full list of all states is returned.
The returned list does not contain the states of possible nested state machines.
Note: The order of the state names in the list is the order in which the states occurred in the SCXML document.
Stops this state machine. The machine will not execute any further state transitions. Its running property is set to false
.
See also start() and finished().
A utility method to create and submit an external event with the specified eventName as the name and data as the payload data (optional).
Submits the SCXML event event to the internal or external event queue depending on the priority of the event.
When a delay is set, the event will be queued for delivery after the timeout has passed. The state machine takes ownership of the event and deletes it after processing.
See also QScxmlEvent.


Toggle navigation
Stellar Client
Home
Create Account
1.
Generate Key Pair
2.
Create Account
View Account
Submit
Send Payment
Submit


import os
from importlib import import_module
from django.core.exceptions import ImproperlyConfigured
from django.utils.module_loading import module_has_submodule
MODELS_MODULE_NAME = 'models'
[docs]class AppConfig:
"""Class representing a Django application and its configuration."""
def __init__(self, app_name, app_module):
# Full Python path to the application e.g. 'django.contrib.admin'.
self.name = app_name
# Root module for the application e.g. <module 'django.contrib.admin'
# from 'django/contrib/admin/__init__.py'>.
self.module = app_module
# Reference to the Apps registry that holds this AppConfig. Set by the
# registry when it registers the AppConfig instance.
self.apps = None
# The following attributes could be defined at the class level in a
# subclass, hence the test-and-set pattern.
# Last component of the Python path to the application e.g. 'admin'.
# This value must be unique across a Django project.
if not hasattr(self, 'label'):
self.label = app_name.rpartition(".")[2]
# Human-readable name for the application e.g. "Admin".
if not hasattr(self, 'verbose_name'):
self.verbose_name = self.label.title()
# Filesystem path to the application directory e.g.
# '/path/to/django/contrib/admin'.
if not hasattr(self, 'path'):
self.path = self._path_from_module(app_module)
# Module containing models e.g. <module 'django.contrib.admin.models'
# from 'django/contrib/admin/models.py'>. Set by import_models().
# None if the application doesn't have a models module.
self.models_module = None
# Mapping of lowercase model names to model classes. Initially set to
# None to prevent accidental access before import_models() runs.
self.models = None
def __repr__(self):
return '<%s: %s>' % (self.__class__.__name__, self.label)
def _path_from_module(self, module):
"""Attempt to determine app's filesystem path from its module."""
# See #21874 for extended discussion of the behavior of this method in
# various cases.
# Convert paths to list because Python's _NamespacePath doesn't support
# indexing.
paths = list(getattr(module, '__path__', []))
if len(paths) != 1:
filename = getattr(module, '__file__', None)
if filename is not None:
paths = [os.path.dirname(filename)]
else:
# For unknown reasons, sometimes the list returned by __path__
# contains duplicates that must be removed (#25246).
paths = list(set(paths))
if len(paths) > 1:
raise ImproperlyConfigured(
"The app module %r has multiple filesystem locations (%r); "
"you must configure this app with an AppConfig subclass "
"with a 'path' class attribute." % (module, paths))
elif not paths:
raise ImproperlyConfigured(
"The app module %r has no filesystem location, "
"you must configure this app with an AppConfig subclass "
"with a 'path' class attribute." % (module,))
return paths[0]
@classmethod
def create(cls, entry):
"""
Factory that creates an app config from an entry in INSTALLED_APPS.
"""
try:
# If import_module succeeds, entry is a path to an app module,
# which may specify an app config class with default_app_config.
# Otherwise, entry is a path to an app config class or an error.
module = import_module(entry)
except ImportError:
# Track that importing as an app module failed. If importing as an
# app config class fails too, we'll trigger the ImportError again.
module = None
mod_path, _, cls_name = entry.rpartition('.')
# Raise the original exception when entry cannot be a path to an
# app config class.
if not mod_path:
raise
else:
try:
# If this works, the app module specifies an app config class.
entry = module.default_app_config
except AttributeError:
# Otherwise, it simply uses the default app config class.
return cls(entry, module)
else:
mod_path, _, cls_name = entry.rpartition('.')
# If we're reaching this point, we must attempt to load the app config
# class located at <mod_path>.<cls_name>
mod = import_module(mod_path)
try:
cls = getattr(mod, cls_name)
except AttributeError:
if module is None:
# If importing as an app module failed, check if the module
# contains any valid AppConfigs and show them as choices.
# Otherwise, that error probably contains the most informative
# traceback, so trigger it again.
candidates = sorted(
repr(name) for name, candidate in mod.__dict__.items()
if isinstance(candidate, type) and
issubclass(candidate, AppConfig) and
candidate is not AppConfig
)
if candidates:
raise ImproperlyConfigured(
"'%s' does not contain a class '%s'. Choices are: %s."
% (mod_path, cls_name, ', '.join(candidates))
)
import_module(entry)
else:
raise
# Check for obvious errors. (This check prevents duck typing, but
# it could be removed if it became a problem in practice.)
if not issubclass(cls, AppConfig):
raise ImproperlyConfigured(
"'%s' isn't a subclass of AppConfig." % entry)
# Obtain app name here rather than in AppClass.__init__ to keep
# all error checking for entries in INSTALLED_APPS in one place.
try:
app_name = cls.name
except AttributeError:
raise ImproperlyConfigured(
"'%s' must supply a name attribute." % entry)
# Ensure app_name points to a valid module.
try:
app_module = import_module(app_name)
except ImportError:
raise ImproperlyConfigured(
"Cannot import '%s'. Check that '%s.%s.name' is correct." % (
app_name, mod_path, cls_name,
)
)
# Entry is a path to an app config class.
return cls(app_name, app_module)
[docs] def get_model(self, model_name, require_ready=True):
"""
Return the model with the given case-insensitive model_name.
Raise LookupError if no model exists with this name.
"""
if require_ready:
self.apps.check_models_ready()
else:
self.apps.check_apps_ready()
try:
return self.models[model_name.lower()]
except KeyError:
raise LookupError(
"App '%s' doesn't have a '%s' model." % (self.label, model_name))
[docs] def get_models(self, include_auto_created=False, include_swapped=False):
"""
Return an iterable of models.
By default, the following models aren't included:
- auto-created models for many-to-many relations without
an explicit intermediate table,
- models that have been swapped out.
Set the corresponding keyword argument to True to include such models.
Keyword arguments aren't documented; they're a private API.
"""
self.apps.check_models_ready()
for model in self.models.values():
if model._meta.auto_created and not include_auto_created:
continue
if model._meta.swapped and not include_swapped:
continue
yield model
def import_models(self):
# Dictionary of models for this app, primarily maintained in the
# 'all_models' attribute of the Apps this AppConfig is attached to.
self.models = self.apps.all_models[self.label]
if module_has_submodule(self.module, MODELS_MODULE_NAME):
models_module_name = '%s.%s' % (self.name, MODELS_MODULE_NAME)
self.models_module = import_module(models_module_name)
Oct 01, 2019


--- layout: default title: 404 Page not found cover: false logo: 'https://www.myget.org/Content/images/myget/logo.png' --- {% include base_path %}
The page you are looking for was moved, removed, renamed or might have never existed. Check whether the URL you typed (or clicked) is correct and try again.
Return to Blog homepage


The environment during the event will focus on fellowship, sharing of insights about the talk, discussing wonderful ideas which will help nurture relationships.
The event will be held in a very awesome venue that will surely bring the sense of wonder into your life.
People who attended past Wired Gathering events can testify that their lives had its turning point during this event and we believe that its your turn to change. :)
"I had an awesome time It was super amazing"
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Deserunt nisi, ut amet officiis consectetur aut.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officiis, quidem.


| Overview | Module | Use | Devguide | Index |
| Constants | Constants' Details |
|
|||
|
| Constants' Details | |
HSCROLL
|
|
VSCROLL
|
|
LEFT
|
|
CENTER
|
|
RIGHT
|
|
SPIN
|
|
SORT
|
|
DROPDOWN
|
|
DEFBUTTON
|
|
READONLY
|
|
CLIPCHILDREN
|
|
NOBORDER
|
|
GROUP
|
|
OK
|
|
OK_CANCEL
|
|
YES_NO
|
|
YES_NO_CANCEL
|
|
RETRY_CANCEL
|
|
DEF_OK
|
|
DEF_CANCEL
|
|
DEF_RETRY
|
|
DEF_YES
|
|
DEF_NO
|
|
NOLABEL
|
|
AUTOHSCROLL
|
|
AUTOVSCROLL
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


Energy sources in this region include, solar, wind, biofuels, coal and natural gas power plant and hydropower. The Columbia River provides a great potential for hydropower and there are several dams on this river. McNary Dam is among the biggest dams on this river. The dam is 7,365 feet long, rising approximately 183 feet above the streambed. It consists of a concrete structure with an earth fill embankment at the Oregon (south) abutment. The spillway is a concrete, gravity- type spillway dam. It is 1,310 feet long, and contains 22 vertical lift gates, each 50 feet by 51 feet. The crest is at elevation 291 feet mean sea level and is designed to pass a flood of 2,200,000 cubic feet per second.
Hermiston Generating Plant (HGP) is located in northeastern Oregon, nine miles south of the Columbia River. HGP is a 474 megawatt highly reliable modern natural gas fueled power plant that provides power for nearly 500,000 households in the Pacific Northwest. The plant also provides steam to Lamb-Weston's adjacent potato processing plant. HGP was built by Bechtel for U.S. Generating Company in 1996. The plant is based on two General Electric Frame 7FA combustion turbine generators operating in combined-cycle with two heat recovery steam generators and two steam turbine generators. Perennial owns 50 percent interest in HGP and is the plant's manager and operator. HGP has been recognized by the Oregon Occupational Safety and Health Division (OR-OSHA) for the plant's exceptional health and safety record.
The Hermiston Power Project is another power plant with capacity of 546 MW located in Hermiston, Oregon. The plant utilizes two combustion turbines, each with its own heat recovery steam generator, that supplies steam to a single steam turbine generator. The Hermiston Power Project sells a portion of the power it produces into the Pacific Northwest and California power markets as part of Calpine’s Western region of power plants. Calpine also leverages the plant’s quick-responding, natural-gas fired generation and its contracted transmission resources in the Northwest to help integrate wind energy into the region’s power grid. Through agreements with the Constellation Energy Balancing Authority, Hermiston’s output is quickly increased or reduced to compensate for the variability of wind generation. Fueled by natural gas and equipped with advanced emissions control technology, the Hermiston Power Project is one of the cleanest projects of its kind in the state. In 2003, the Hermiston Chamber of Commerce nominated Calpine for the Governor’s Gold Award based on its community support activities.
Pacific Ethanol Inc. is an ethanol production plant located at the Port of Morrow in Boardman, Oregon. The biorefinery began operations in August 2007 and sells ethanol, wet distillers grains, corn oil, and CO 2 .


Name: Alphabetical
Cocnetration at timestep (selection bx here)
Carbon Only
Sort by selected
Final simulation Concentration


File structure
31st March, 2017
All my notes are written in HTML. I keep three separate "core" files, index.html
, template.html
, and TODO.html
. The filenames and other code-related items are highlighted with the  tag.
index.html
lists all the available posts:

<!DOCTYPE html>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Heitor's Notes on Taking Notes - Home</title>
<link rel="stylesheet" href="../css/notes_style.css">

Back to home

Heitor's Notes on Taking Notes

Why take notes?

To do

template.html
is the common HTML for every new post. Either save it as the new post's filename, or paste it into the new post's file.

<!DOCTYPE html>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Heitor's Notes on Notes - </title>
<link rel="stylesheet" href="../css/notes_style.css">

Back to home

POST TITLE

, 2017

Content

Code and shell

When writing a new post, update the HTML <title>
and
POST TITLE

. Monospace content like code and file listings should go inside

tags.
The biggest shortcoming of writing technical posts in plain HTML is the lack of syntax highlighting and need to escape < and > with < and >. If you are writing a lot about HTML, you should consider another method that allows embedding pure HTML.
I use Emacs for nearly everything, and found
a function that will do the escaping in a selected region. It is called
unhtml
but I renamed it to
escape-html
:
(defun escape-html (start end)
(interactive "r")
(save-excursion
(save-restriction
(narrow-to-region start end)
(goto-char (point-min))
(replace-string "&" "&")
(goto-char (point-min))
(replace-string "<" "<")
(goto-char (point-min))
(replace-string ">" ">"))))
TODO.html is a regular post that holds a list of items and ideas that I should write about:

TODO

Edit title, post name, date

css, fonts

template.html

GitHub, surge

How to take notes

edit index

start with template, or paste into new post

pre tags, replace < and >


Access to large host-parasite data is often hampered by the availability of data and difficulty in obtaining it in a programmatic way to encourage analyses. 'helminthR' provides a programmatic interface to the London Natural History Museum's host-parasite database, one of the largest host-parasite databases existing currently <http://www.nhm.ac.uk/research-curation/scientific-resources/taxonomy-systematics/host-parasites/>. The package allows the user to query by host species, parasite species, and geographic location.
| Version: | 1.0.6 |
| Imports: | xml2, rvest, httr, magrittr, plyr, ggmap, utils, knitr, rmarkdown |
| Suggests: | testthat, ggplot2 |
| Published: | 2018-08-15 |
| Author: | Tad Dallas |
| Maintainer: | Tad Dallas <tad.a.dallas at gmail.com> |
| BugReports: | https://github.com/rOpenSci/helminthR/issues |
| License: | GPL-3 |
| URL: | https://github.com/rOpenSci/helminthR |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| CRAN checks: | helminthR results |
| Reference manual: | helminthR.pdf |
| Vignettes: |
Introduction to the helminthR package |
| Package source: | helminthR_1.0.6.tar.gz |
| Windows binaries: | r-devel: helminthR_1.0.6.zip, r-release: helminthR_1.0.6.zip, r-oldrel: helminthR_1.0.6.zip |
| OS X binaries: | r-release: helminthR_1.0.6.tgz, r-oldrel: helminthR_1.0.6.tgz |
| Old sources: | helminthR archive |
Please use the canonical form https://CRAN.R-project.org/package=helminthR to link to this page.


{%extends "base.html" %} {% block content %}
This tool is designed for Single-Object Slit-less Spectroscopy (SOSS) mode of NIRISS. For slitless observations, the spectrum of a target star may be contaminated by partlially overlapping spectra of nearby stars. For a given target this contamination depends on the position angle (PA) at which the observations are taken. This tool simulates SOSS observations of a given target and produces an estimate of the level of contamination as a function of the PA of the observation; it may be used to plan observations at the optimal PA. The tool also computes the JWST accessibility windows of the target, along with the corresponding accessible PAs for NIRISS observations. In the future, functionality will be extended to calculate contamination by other instruments.
Note: The field stars used for this analysis are retrieved from the 2MASS point source catalogue. Contamination from stars missing from the 2MASS PSC is thus not modelled; this may be important for faint targets.
This takes about 2 seconds.
This takes more than 2 seconds.