This class represents the factory used to create Translation objects. More...
#include <TranslationLoader.h>
Public Member Functions | |
| BIBLE_DATABASE_EXPORT | TranslationLoader (std::string executable_directory) |
| Create a new instance of the TranslationLoader class with a given executable directory. | |
| BIBLE_DATABASE_EXPORT std::string | get_executable_directory () const |
| Get the executable directory for this TranslationLoader. | |
| BIBLE_DATABASE_EXPORT boost::shared_ptr< const Translation > | create_translation (std::string translation_file) const |
| Create a Translation object from the given translation file, which must be relative to the given executable directory. |
This class represents the factory used to create Translation objects.
Definition at line 15 of file TranslationLoader.h.
| TranslationLoader::TranslationLoader | ( | std::string | executable_directory | ) |
Create a new instance of the TranslationLoader class with a given executable directory.
Definition at line 7 of file TranslationLoader.cpp.
| boost::shared_ptr< const Translation > TranslationLoader::create_translation | ( | std::string | translation_file | ) | const |
Create a Translation object from the given translation file, which must be relative to the given executable directory.
Definition at line 16 of file TranslationLoader.cpp.
00017 { 00018 boost::filesystem::path translation_path(m_executable_directory); 00019 translation_path /= translation_file; 00020 00021 boost::shared_ptr<Translation> translation(new Translation); 00022 if (translation->resume(translation_path.string())) 00023 { 00024 return translation; 00025 } 00026 00027 return boost::shared_ptr<const Translation>(); 00028 }
| std::string TranslationLoader::get_executable_directory | ( | ) | const |
Get the executable directory for this TranslationLoader.
Definition at line 11 of file TranslationLoader.cpp.


Please be patient - These tests take a bit to run because they need to wait for at least a minute every time they need the cache to expire


| You | Mexico | USA | |
|---|---|---|---|
| Base Case | N/A | $5556 | $3628 |
| Screening Increase by 30% | N/A | $5092 | $3039 |
| Screening Decrease by 30% | N/A | $6021 | $4218 |
| Treatment Increase by 30% | N/A | $5553 | $3618 |
| Treatment Decrease by 30% | N/A | $5559 | $3639 |
| Follow-up Increase by 30% | N/A | $5543 | $3624 |
| Follow-up Decrease by 30% | N/A | $5567 | $3641 |


Catherine Deneuve, 76, in Paris hospital after 'limited' stroke
by AFPFrench actress Catherine Deneuve has been hospitalised in Paris after suffering a stroke, her family told AFP.
The 76-year-old star had “a very limited ischemic stroke” which is reversible, according to a statement released through her agent, Claire Blondel.
"Fortunately, she has no loss of movement and must of course take some time off," said the statement, without giving further details.
The actress has been in Paris since October filming Emanuelle Bercot’s latest film, “De Son Vivant”, in which she stars alongside Benoît Magimel.


Input a size in mm to see equivalence in real life feet
--------------
Based on 1:64 scale
//////////


"ZAANAIM "wanderings; the unloading of tents, so called probably from the fact of nomads in tents encamping amid the cities and villages of that region, a place in the north-west of Lake Merom, near Kedesh, in Naphtali. Here Sisera was slain by Jael, “the wife of Heber the Kenite,” who had pitched his tent in the “plain [R.V., ‘as far as the oak’] of Zaanaim”(Judges 4:11). It has been, however, suggested by some that, following the LXX. and the Talmud, the letter b, which in Hebrew means “in,” should be taken as a part of the word following, and the phrase would then be “unto the oak of Bitzanaim,” a place which has been identified with the ruins of Bessum, about half-way between Tiberias and Mount Tabor.
"ZAANAIM "wanderings; the unloading of tents, so called probably from the fact of nomads in tents encamping amid the cities and villages of that region, a place in the north-west of Lake Merom, near Kedesh, in Naphtali.
Here Sisera was slain by Jael, “the wife of Heber the Kenite,” who had pitched his tent in the “plain [R.V., ‘as far as the oak’] of Zaanaim”(Judges 4:11).
It has been, however, suggested by some that, following the LXX. and the Talmud, the letter b, which in Hebrew means “in,” should be taken as a part of the word following, and the phrase would then be “unto the oak of Bitzanaim,” a place which has been identified with the ruins of Bessum, about half-way between Tiberias and Mount Tabor.


Basics: You can use commas and percents in your equations.
Variable Assignment: Every solution is assigned to a random variable automatically but you can assign your own variables by doing this:
[equation] =
VARIABLE_NAME e.q. 2 + 2 = myvar, 5 will by assigned to myvar instead of the automatically assign variable.
Functions: sqrt(num), ecpm(imps;rev), round(num;decimals)
License,
Homepage


jQuery Youtube Player
Use the options to pass in custom buttons and toolbar definitions.
You need Flash player 8+ and JavaScript enabled to view this video.


--- title: OMSCS Journey description: Come join me in my journey of persuing Masters of Science in Computer Science from Georgia Institute of Technology. layout: home ---
| Term | Course | Grade |
|---|---|---|
| {{term.year}} {{ term.season }} |
{% for paper in term.papers %}
{{ paper.title }} {% endfor %} |
{% for paper in term.papers %}
{{ paper.grade }} {% endfor %} |


GofDb
geo on fire database class
Constructor Summary
| Public Constructor | ||
| public |
constructor(name: string, db: Firebase) |
Method Summary
| Public Methods | ||
| public |
deleteEntry(pushKey: string): Promise Deletes an existing entry and all the according locations. |
|
| public |
Fetchs all the entries based on the provided entry push keys |
|
| public |
Returns all the nodes to add based on the entries geohashes. |
|
| public |
Returns all the nodes to delete based on the entries geohashes. |
|
| public |
getLocationNodesToUpdate(pushKey: string, newValue: Object, geohashes: Array<string>): Array<Promise> Returns all the nodes to update based on the entries geohashes. |
|
| public |
getLocationsFromGeohashes(geohashes: Array<string>): Promise<Object> Returns all the locations based on the given geohashes. |
|
| public |
Pushes a new entry to the database. |
|
| public |
Gets the Geohash based on the locations coordinates. |
|
| public |
updateEntry(pushKey: string, newValue: Object, priority: number): Promise Updates all the entry and the accroding locations based on the new value. |
Public Constructors
Public Methods
public deleteEntry(pushKey: string): Promise source
Deletes an existing entry and all the according locations.
Params:
| Name | Type | Attribute | Description |
| pushKey | string | The firebase push-key of the entry. |
public fetchLocations(pushKeys: Array<string>, startAt: number, endAt: number): Promise<Object> source
Fetchs all the entries based on the provided entry push keys
public getLocationNodesToAdd(pushKey: string, value: Object, geohashes: Array<string>): Array<Promise> source
Returns all the nodes to add based on the entries geohashes.
public getLocationNodesToDelete(pushKey: string, geohashes: Array<string>): Array<Promise> source
Returns all the nodes to delete based on the entries geohashes.
public getLocationNodesToUpdate(pushKey: string, newValue: Object, geohashes: Array<string>): Array<Promise> source
Returns all the nodes to update based on the entries geohashes.
public getLocationsFromGeohashes(geohashes: Array<string>): Promise<Object> source
Returns all the locations based on the given geohashes.
public pushEntry(entry: Object): Promise<Object> source
Pushes a new entry to the database.
Params:
| Name | Type | Attribute | Description |
| entry | Object | The new entry object. |
public setGeohashLocations(pushKey: string, entry: Object, geohashes: Array<string>): Promise source
Gets the Geohash based on the locations coordinates.
public updateEntry(pushKey: string, newValue: Object, priority: number): Promise source
Updates all the entry and the accroding locations based on the new value. It also removes old and adds new locations, based on the difference between the old and new geohashes. This guarantees that the right event listeners will be triggered.


f=RANGEFILTER(range)
f=RANGEFILTER(range) returns a function that will filter its inputs for values that are within the range specified.


Even when growth is steady and prosperity seems to lurk around every bend for anyone willing to take out a mortgage being given them, there is much amiss in the world.
Imagine then, what things can be like in times like these?
That’s right, folks, we’re crossing the Rubicon. Things have gotten into some serious muck and there’s little that can be done to turn this car around with any kind of haste. I find myself feeling an unexpected sense of glee – an elated feeling, not of vengeance or righteousness (we’re not quite there yet) but rather an excitement of the unknown, much like the thrill of hearing sirens when you’re the one flipping the switch on the fire truck.
By now you’ve all heard of or seen the whole CNBC thing with Jon Stewart. Ho ho! Some of you might have been following the thing from its inception, and a few of you I know for a fact saw the whole thing coming. You’re the ones who don’t get your news and commentary from a fake news show (no matter how much harder it nails things than the mumbling muppets that precede it, running for hours at a time without saying anything of note. Not to mention the muppets making prank calls that comes before the Daily Show. Or was that CNN? Wait, which channel was that?)
In any case, how could you have missed it? It received as much attention, even in the mainstream media and its seventeen or so live hours of television, as if Kelly Clarkson had been caught using some kind of performance enhancing drug. And while many tuned in and were entertained, probably changing the tax bracket of most Daily Show writers, some people had actual analysis of their points, which were godd ones.
MSNBC, for its part, tried to stay unbiased – but, hey. It was never really fair to expect much from them on this one, being one of the sibling stations at the heart of the whole affair. That said, at least David Gregory did an interesting job in trying to get a panel of “experts” to say something. Nothing happened, of course, because all of his “analysts” had their own agenda to tout, their own talking points they would stick to. But he did a better job trying, I think, than did most of his colleagues. And in the end he repeated his question enough times that if you were waiting for an answer, at least you would remember the question and the fact that it went unaddressed.
Other stations did their thing and said their piece, paying lip service to the fact that it was a story they couldn’t ignore. But the NBC station’s reactions were, naturally, the most interesting because they had a stake. CNBC, for instance, didn’t react much at all for a whole week, prompting Jon’s ridiculous use of Viacom’s name for the first time since I can remember. And then they made the terrible call of letting Jim Cramer go on the Daily Show and act as pseudo-knee-jerk spokesperson for the network, which worked heavily against all of them and made Cramer out to look like a 3rd grade bully confronted by the 7th grade brother of a kid he’s been harrassing.
But I was disappointed.
Even in the runup to the show, Stewart’s interview with Cramer had become so touted, so polarized, as things are want to do in America, that it boiled down to looking and feeling like a trial of Jim Cramer’s picks and sound effects, what with the multitude of clips. It left one almost wondering what show we were watching. Maybe that’s what CNBC wanted all along and we have to give that serious thought. If they’re that organized about their image, they could be well-organized enough to have pulled off some of the dubious deception that Jon accused them of during his talk with Cramer, though I doubt that very much.
But I digress. The only thing still worth noting where this mess is concerned are two point made in the interview by Cramer and Stewart themselves, respectively.
One is what Jim Cramer said, that in today’s dynamics of journalism politics (is that a new term?  It would be access suicide. Cramer spoke of these boundaries that journalists can’t cross, a point I agree with, however reluctantly. It’s true. If you do that as a journalist, you’ll never get another interview.
But the reason for that is that we, as readers — as an “informed public”, I guess I can say — have allowed leaders to get away with the notion of “no comment”. We’ve turned our “right to know” into a privilege they’ll give us so long as we don’t ask questions they don’t want to answer, or insist that we be told the truth.
I want to blame Nixon, but I suspect he only started the ball rolling. Reagan’s the real monster in all this and one day soon, I’ll explain how.
Don’t get me wrong though — I’m all about privacy. For individuals. But once you’re in the hot seat man, you owe me. You’re accountable. The idea that statesmen can turn down an interview from The Press when they carry a badge is as mindless as the notion that you could refuse to be arrested by a cop. Dammit, man, there are rules.
The second point is what Jon Stewart said, that we hope that these same journalists who report on the interviews they conduct at least don’t take everything their subjects report to them at face value. One of the reaons The Press is “trusted” is because they are trained professionals, studied and experienced in finding the story, fact-checking it and smelling out the lies. And if you can’t get the guy in the seat accross from you to tell the goddamned truth, that’s when the real work starts. Research. Investigation. Questioning. Not rushing to print what the man wants you to say. Otherwise, you’re just turning The Press into a PR firm.
This lack of ownership of the financial news is very familiar and if you think back to 2003 you’ll remember why. Running up to the onset of the invasion of Iraq we had similar symptoms, and we failed just as miserably today as we did then when reporters interviewed state leaders, took their word for gospel and printed it for all to see.  That The Press committed these omissions so reliably and consistently shows, at best, incompetence, and at worst, malice.
And today’s mess is just a different tone of odd. How long, oh lord – how long?


public class Interval
extends java.lang.Object
Interval
.| Modifier and Type | Field and Description |
|---|---|
protected double |
max
The maximum value
|
protected double |
min
The minimum value
|
| Constructor and Description |
|---|
Interval(double min,
double max)
Full constructor.
|
Interval(Interval interval)
Copy constructor.
|
| Modifier and Type | Method and Description |
|---|---|
double |
clamp(double value)
If the value is within this
Interval , inclusive, then return the value, else
return either the max or minimum value. |
static double |
clamp(double value,
double min,
double max)
Returns a number clamped between two other numbers.
|
boolean |
contains(Interval interval)
|
double |
distance(Interval interval)
Returns the distance between the two
Interval s. |
void |
expand(double value)
Expands this
Interval by half the given amount in both directions. |
Interval |
getExpanded(double value)
Returns a new
Interval of this interval expanded by half the given amount
in both directions. |
Interval |
getIntersection(Interval interval)
|
double |
getLength()
Returns the length of this interval from its min to its max.
|
double |
getMax()
Returns the maximum value for this
Interval . |
double |
getMin()
Returns the minimum value for this
Interval . |
double |
getOverlap(Interval interval)
|
Interval |
getUnion(Interval interval)
|
boolean |
includesExclusive(double value)
Returns true if the given value is within this
Interval
exlcuding the maximum and minimum. |
boolean |
includesInclusive(double value)
Returns true if the given value is within this
Interval
including the maximum and minimum. |
boolean |
includesInclusiveMax(double value)
Returns true if the given value is within this
Interval
including the maximum and excluding the minimum. |
boolean |
includesInclusiveMin(double value)
Returns true if the given value is within this
Interval
including the minimum and excluding the maximum. |
void |
intersection(Interval interval)
|
boolean |
isDegenerate()
Returns true if this
Interval is degenerate. |
boolean |
isDegenerate(double error)
Returns true if this
Interval is degenerate
given the allowed error. |
boolean |
overlaps(Interval interval)
Returns true if the two
Interval s overlap. |
void |
setMax(double max)
Sets the maximum for this interval.
|
void |
setMin(double min)
Sets the minimum for this interval.
|
java.lang.String |
toString() |
void |
union(Interval interval)
|
public Interval(double min, double max)
min
- the minimum valuemax
- the maximum valuejava.lang.IllegalArgumentException
- if min > maxpublic java.lang.String toString()
toString
in class java.lang.Object
public double getMin()
Interval
.public double getMax()
Interval
.public void setMin(double min)
min
- the minimum valuejava.lang.IllegalArgumentException
- if min > maxpublic void setMax(double max)
max
- the maximum valuejava.lang.IllegalArgumentException
- if max < minpublic boolean includesInclusive(double value)
Interval
including the maximum and minimum.value
- the test valuepublic boolean includesExclusive(double value)
Interval
exlcuding the maximum and minimum.value
- the test valuepublic boolean includesInclusiveMin(double value)
Interval
including the minimum and excluding the maximum.value
- the test valuepublic boolean includesInclusiveMax(double value)
Interval
including the maximum and excluding the minimum.value
- the test valuepublic boolean overlaps(Interval interval)
Interval
s overlap.interval
- the Interval
public double getOverlap(Interval interval)
Interval
and the given
Interval
.
This method tests to if the Interval
s overlap first. If they do then
the overlap is returned, if they do not then 0 is returned.
interval
- the Interval
public double clamp(double value)
Interval
, inclusive, then return the value, else
return either the max or minimum value.value
- the value to clamppublic static double clamp(double value, double min, double max)
This method assumes that min ≤ max.
value
- the value to clampmin
- the min valuemax
- the max valuepublic boolean isDegenerate()
public boolean isDegenerate(double error)
Interval
is degenerate
given the allowed error.
An Interval
is degenerate given some error if
max - min <= error.
error
- the allowed errorpublic boolean contains(Interval interval)
interval
- the Interval
public void union(Interval interval)
Interval
to the union of this Interval
and the given Interval
.
If the two Interval
s are not overlapping then this method will
return one Interval
that represents an Interval
enclosing both
Interval
s.
interval
- the Interval
public Interval getUnion(Interval interval)
interval
- the Interval
Interval
union(Interval)
public void intersection(Interval interval)
Interval
to the intersection of this Interval
and the given Interval
.
If the two Interval
s are not overlapping then this method will make this Interval
the a zero degenerate Interval
, [0, 0].
interval
- the Interval
public Interval getIntersection(Interval interval)
interval
- the Interval
Interval
intersection(Interval)
public double distance(Interval interval)
Interval
s.
If the given interval overlaps this interval, zero is returned.
interval
- the Interval
public void expand(double value)
Interval
by half the given amount in both directions.
The value can be negative to shrink the interval. However, if the value is greater than the current length of the interval, the interval can become invalid. In this case, the interval will become a degenerate interval at the mid point of the min and max.
value
- the valuepublic Interval getExpanded(double value)
Interval
of this interval expanded by half the given amount
in both directions.
The value can be negative to shrink the interval. However, if the value is greater than the current length of the interval, the interval will be invalid. In this case, the interval returned will be a degenerate interval at the mid point of the min and max.
value
- the valueInterval
public double getLength()


--- title: What makes a good machine? layout: post ---
Bored in computer graphics class yesterday, my mind drifted to how people use machines best. A vague and general question, I thought of the most successful machines of the 20th century (the automobile, the typewriter, the personal computer, the internet) and what made them so great.
Many machines came to mind. The typewriter, the personal computer, even the Internet. Yet few machines revolutionized the 20th century as the automobile did.
A great machine should be judged very much by the problem it solves. But I believe a big part of what makes a machine successful and remembered is how well people can integrate it with their lives - how well they understand what it does and how it can help them. The human experience of interacting with a machine, essentially
Every professional programmer knows this term. When I go to work each morning, I want to get in my car, turn the key, put it in drive, and go. Though the car is an incredibly complex machine with many modules, the decisions I have to make are abstracted, meaning that I can make them without knowing about the details of their implementation. To turn on the car, which involves using the battery to ignite a spark plug, I simply turn a key. To move, which involves spraying discrete quantities of gasoline at precise moments, I press a lever (the gas pedal) continuously. A good machine hides complex actions or computations, and presents to the human being an abstracted interface which a human can make sense of. Humans work better with ideas than with protocols. It is simpler for a person to understand the idea of “slice a tomato” than to know how to perform the act. So a good machine presents an idea, and takes care of the process behind the scenes.
If abstraction is presenting a person with an idea rather than a protocol, then machine intuitiveness is how well that idea fits with the person's expectation for that idea. For example, in sign-language the gesture for "eat" looks like someone using her hand to stuff food into her mouth.
Most people can tell what it means without anyone telling them. That's intuition. My favorite example of intuitiveness in a machine is the volume adjustment on the iPod a continuous motion rather than discrete set of clicks. Most of Apple's products have a very sophisticated level of both abstraction and intuitiveness (as well as sheer beauty) - is it any wonder the world is hooked on them? A big part of our perception of intuitiveness has been taught through influential products like Windows and and recently, the Macbook. Even though pressing Cmd-Shift-A meant nothing to me a year ago, now it is obvious to me it should bring up my box's Applications. I think a comprehensive understanding of intuitiveness combines both knowledge of recently influential products, as well as a fundamental understanding of human behavior.
I never took a programming class dedicated to problem-solving with abstraction. This surprises me, because the more I get into
professional programming, the more I see how big a part abstraction plays in modern software engineering. Most programmers use
their abstraction skills on a weekly if not daily basis. Most programmers couldn't tell you the last time they designed an algorithm.
And abstraction isn't learned easily. Unless you're a natural genius, you learn abstraction by copying others, failing, and fixing. It
would be useful to have a process for abstraction, some quantitative criteria by which you can measure its success.
Managing intuition, on the other hand, takes true talent. Yes, we could get feedback on the intuitiveness of our products through
experimentation in the field, and iterate from there. But even to decide where to go based on feedback requires a qualitative analysis
done by someone who lives and breathes intuitiveness.
Although hard, the well-abstracted and intuitive product is a winner. And it will be remembered and loved because of the experience it provided.


KARNAWAT
Nick
Switch Financial Year
Log Out
Dashboard
Master
Company
Units
Customer
User
Financial Year
Financial Month
Transporter
Performa Invoice
Add
List
Invoice
Add
List
Export List
Vouchers
Reciepts
Add
List
Edit User
Home
User
Edit User
Edit User
Name
User Mobile
User Email
Joining Date
User Address
S.No
Addresses
Is Default
Actions
Cancel
Edit


{% include 'includes/configjs.html' %}
Projection
{% include 'includes/navbar.html' %}
Projection
Clear


Ruby on Rails 3.2 Release Notes¶ ↑
Highlights in Rails 3.2:
-
Faster Development Mode
-
New Routing Engine
-
Automatic Query Explains
-
Tagged Logging
These release notes cover only the major changes. To learn about various bug fixes and changes, please refer to the change logs or check out the list of commits in the main Rails repository on GitHub.
Upgrading to Rails 3.2¶ ↑
If you're upgrading an existing application, it's a great idea to have good test coverage before going in. You should also first upgrade to Rails 3.1 in case you haven't and make sure your application still runs as expected before attempting an update to Rails 3.2. Then take heed of the following changes:
Rails 3.2 requires at least Ruby 1.8.7¶ ↑
Rails 3.2 requires Ruby 1.8.7 or higher. Support for all of the previous Ruby versions has been dropped officially and you should upgrade as early as possible. Rails 3.2 is also compatible with Ruby 1.9.2.
TIP: Note that Ruby 1.8.7 p248 and p249 have marshalling bugs that crash Rails. Ruby Enterprise Edition has these fixed since the release of 1.8.7-2010.02. On the 1.9 front, Ruby 1.9.1 is not usable because it outright segfaults, so if you want to use 1.9.x, jump on to 1.9.2 or 1.9.3 for smooth sailing.
What to update in your apps¶ ↑
-
Update your Gemfile to depend on
-
rails = 3.2.0
-
sass-rails ~> 3.2.3
-
coffee-rails ~> 3.2.1
-
uglifier >= 1.0.3
-
rails = 3.2.0
-
sass-rails ~> 3.2.3
-
coffee-rails ~> 3.2.1
-
uglifier >= 1.0.3
-
-
Rails 3.2 deprecates
vendor/plugins
and Rails 4.0 will remove them completely. You can start replacing these plugins by extracting them as gems and adding them in your Gemfile. If you choose not to make them gems, you can move them into, say,lib/my_plugin/*
and add an appropriate initializer inconfig/initializers/my_plugin.rb
. -
There are a couple of new configuration changes you'd want to add in
config/environments/development.rb
:# Raise exception on mass assignment protection for Active Record models config.active_record.mass_assignment_sanitizer = :strict # Log the query plan for queries taking more than this (works # with SQLite, MySQL, and PostgreSQL) config.active_record.auto_explain_threshold_in_seconds = 0.5
The
mass_assignment_sanitizer
config also needs to be added inconfig/environments/test.rb
:# Raise exception on mass assignment protection for Active Record models config.active_record.mass_assignment_sanitizer = :strict
What to update in your engines¶ ↑
Replace the code beneath the comment in script/rails
with the
following content:
ENGINE_ROOT = File.expand_path('../..', __FILE__) ENGINE_PATH = File.expand_path('../../lib/your_engine_name/engine', __FILE__) require 'rails/all' require 'rails/engine/commands'
Creating a Rails 3.2 application¶ ↑
# You should have the 'rails' RubyGem installed $ rails new myapp $ cd myapp
Vendoring Gems¶ ↑
Rails now uses a Gemfile
in the application root to determine
the gems you require for your application to start. This
Gemfile
is processed by the Bundler gem, which then
installs all your dependencies. It can even install all the dependencies
locally to your application so that it doesn't depend on the system
gems.
More information: Bundler homepage
Living on the Edge¶ ↑
Bundler
and Gemfile
makes freezing your Rails
application easy as pie with the new dedicated bundle
command.
If you want to bundle straight from the Git repository, you can pass the
--edge
flag:
$ rails new myapp --edge
If you have a local checkout of the Rails repository and want to generate
an application using that, you can pass the --dev
flag:
$ ruby /path/to/rails/railties/bin/rails new myapp --dev
Major Features¶ ↑
Faster Development Mode & Routing¶ ↑
Rails 3.2 comes with a development mode that's noticeably faster. Inspired by Active Reload, Rails reloads classes only when files actually change. The performance gains are dramatic on a larger application. Route recognition also got a bunch faster thanks to the new Journey engine.
Automatic Query Explains¶ ↑
Rails 3.2 comes with a nice feature that explains queries generated by Arel
by defining an explain
method in
ActiveRecord::Relation
. For example, you can run something
like puts Person.active.limit(5).explain
and the query Arel
produces is explained. This allows to check for the proper indexes and
further optimizations.
Queries that take more than half a second to run are automatically explained in the development mode. This threshold, of course, can be changed.
Tagged Logging¶ ↑
When running a multi-user, multi-account application, it's a great help to be able to filter the log by who did what. TaggedLogging in Active Support helps in doing exactly that by stamping log lines with subdomains, request ids, and anything else to aid debugging such applications.
Documentation¶ ↑
From Rails 3.2, the Rails guides are available for the Kindle and free Kindle Reading Apps for the iPad, iPhone, Mac, Android, etc.
Railties¶ ↑
-
Speed up development by only reloading classes if dependencies files changed. This can be turned off by setting
config.reload_classes_only_on_change
to false. -
New applications get a flag
config.active_record.auto_explain_threshold_in_seconds
in the environments configuration files. With a value of0.5
indevelopment.rb
and commented out inproduction.rb
. No mention intest.rb
. -
Added
config.exceptions_app
to set the exceptions application invoked by theShowException
middleware when an exception happens. Defaults toActionDispatch::PublicExceptions.new(Rails.public_path)
. -
Added a
DebugExceptions
middleware which contains features extracted fromShowExceptions
middleware. -
Display mounted engines' routes in
rake routes
. -
Allow to change the loading order of railties with
config.railties_order
like:config.railties_order = [Blog::Engine, :main_app, :all]
-
Scaffold returns 204 No Content for API requests without content. This makes scaffold work with jQuery out of the box.
-
Update
Rails::Rack::Logger
middleware to apply any tags set inconfig.log_tags
toActiveSupport::TaggedLogging
. This makes it easy to tag log lines with debug information like subdomain and request id -- both very helpful in debugging multi-user production applications. -
Default options to
rails new
can be set in~/.railsrc
. You can specify extra command-line arguments to be used every timerails new
runs in the.railsrc
configuration file in your home directory. -
Add an alias
d
fordestroy
. This works for engines too. -
Attributes on scaffold and model generators default to string. This allows the following:
rails g scaffold Post title body:text author
-
Allow scaffold/model/migration generators to accept "index" and "uniq" modifiers. For example,
rails g scaffold Post title:string:index author:uniq price:decimal{7,2}
will create indexes for
title
andauthor
with the latter being an unique index. Some types such as decimal accept custom options. In the example,price
will be a decimal column with precision and scale set to 7 and 2 respectively. -
Turn gem has been removed from default Gemfile.
-
Remove old plugin generator
rails generate plugin
in favor ofrails plugin new
command. -
Remove old
config.paths.app.controller
API in favor ofconfig.paths["app/controller"]
.
Deprecations¶ ↑
-
Rails::Plugin
is deprecated and will be removed in Rails 4.0. Instead of adding plugins tovendor/plugins
use gems or bundler with path or git dependencies.
Action Mailer¶ ↑
-
Upgraded
mail
version to 2.4.0. -
Removed the old Action Mailer API which was deprecated since Rails 3.0.
Action Pack¶ ↑
Action Controller¶ ↑
-
Make
ActiveSupport::Benchmarkable
a default module forActionController::Base,
so the#benchmark
method is once again available in the controller context like it used to be. -
Added
:gzip
option tocaches_page
. The default option can be configured globally usingpage_cache_compression
. -
Rails will now use your default layout (such as “layouts/application”) when you specify a layout with
:only
and:except
condition, and those conditions fail.class CarsController layout 'single_car', :only => :show end
Rails will use
layouts/single_car
when a request comes in:show
action, and uselayouts/application
(orlayouts/cars
, if exists) when a request comes in for any other actions. -
form_for
is changed to use#{action}_#{as}
as the css class and id if:as
option is provided. Earlier versions used#{as}_#{action}
. -
ActionController::ParamsWrapper
on Active Record models now only wrapattr_accessible
attributes if they were set. If not, only the attributes returned by the class methodattribute_names
will be wrapped. This fixes the wrapping of nested attributes by adding them toattr_accessible
. -
Log "Filter chain halted as CALLBACKNAME rendered or redirected" every time a before callback halts.
-
ActionDispatch::ShowExceptions
is refactored. The controller is responsible for choosing to show exceptions. It's possible to overrideshow_detailed_exceptions?
in controllers to specify which requests should provide debugging information on errors. -
Responders now return 204 No Content for API requests without a response body (as in the new scaffold).
-
ActionController::TestCase
cookies is refactored. Assigning cookies for test cases should now usecookies[]
cookies[:email] =<EMAIL_ADDRESS>get :index assert_equal<EMAIL_ADDRESS>cookies[:email]
To clear the cookies, use
clear
.cookies.clear get :index assert_nil cookies[:email]
We now no longer write out HTTP_COOKIE and the cookie jar is persistent between requests so if you need to manipulate the environment for your test you need to do it before the cookie jar is created.
-
send_file
now guesses the MIME type from the file extension if:type
is not provided. -
MIME type entries for PDF, ZIP and other formats were added.
-
Allow
fresh_when/stale?
to take a record instead of an options hash. -
Changed log level of warning for missing CSRF token from
:debug
to:warn
. -
Assets should use the request protocol by default or default to relative if no request is available.
Deprecations¶ ↑
-
Deprecated implied layout lookup in controllers whose parent had an explicit layout set:
class ApplicationController layout "application" end class PostsController < ApplicationController end
In the example above,
PostsController
will no longer automatically look up for a posts layout. If you need this functionality you could either removelayout "application"
fromApplicationController
or explicitly set it tonil
inPostsController
. -
Deprecated
ActionController::UnknownAction
in favor ofAbstractController::ActionNotFound
. -
Deprecated
ActionController::DoubleRenderError
in favor ofAbstractController::DoubleRenderError
. -
Deprecated
method_missing
in favor ofaction_missing
for missing actions. -
Deprecated
ActionController#rescue_action
,ActionController#initialize_template_class
andActionController#assign_shortcuts
.
Action Dispatch¶ ↑
-
Add
config.action_dispatch.default_charset
to configure default charset forActionDispatch::Response
. -
Added
ActionDispatch::RequestId
middleware that'll make a unique X-Request-Id header available to the response and enables theActionDispatch::Request#uuid
method. This makes it easy to trace requests from end-to-end in the stack and to identify individual requests in mixed logs like Syslog. -
The
ShowExceptions
middleware now accepts an exceptions application that is responsible to render an exception when the application fails. The application is invoked with a copy of the exception inenv["action_dispatch.exception"]
and with thePATH_INFO
rewritten to the status code. -
Allow rescue responses to be configured through a railtie as in
config.action_dispatch.rescue_responses
.
Deprecations¶ ↑
-
Deprecated the ability to set a default charset at the controller level, use the new
config.action_dispatch.default_charset
instead.
Action View¶ ↑
-
Add
button_tag
support toActionView::Helpers::FormBuilder
. This support mimics the default behavior ofsubmit_tag
.<%= form_for @post do |f| %> <%= f.button %> <% end %>
-
Date helpers accept a new option
:use_two_digit_numbers => true
, that renders select boxes for months and days with a leading zero without changing the respective values. For example, this is useful for displaying ISO 8601-style dates such as '2011-08-01'. -
You can provide a namespace for your form to ensure uniqueness of id attributes on form elements. The namespace attribute will be prefixed with underscore on the generated HTML id.
<%= form_for(@offer, :namespace => 'namespace') do |f| %> <%= f.label :version, 'Version' %>: <%= f.text_field :version %> <% end %>
-
Limit the number of options for
select_year
to 1000. Pass:max_years_allowed
option to set your own limit. -
content_tag_for
anddiv_for
can now take a collection of records. It will also yield the record as the first argument if you set a receiving argument in your block. So instead of having to do<EMAIL_ADDRESS>do |item| content_tag_for(:li, item) do Title: <%Q= item.title %> end end
You can do this:
content_tag_for(:li, @items) do |item| Title: <%Q= item.title %> end
-
Added
font_path
helper method that computes the path to a font asset inpublic/fonts
.
Deprecations¶ ↑
-
Passing formats or handlers to render :template and friends like
render :template => "foo.html.erb"
is deprecated. Instead, you can provide :handlers and :formats directly as options:render :template => "foo", :formats => [:html, :js], :handlers => :erb
.
Sprockets¶ ↑
-
Adds a configuration option
config.assets.logger
to control Sprockets logging. Set it tofalse
to turn off logging and tonil
to default toRails.logger
.
Active Record¶ ↑
-
Boolean columns with 'on' and 'ON' values are type cast to true.
-
When the
timestamps
method creates thecreated_at
andupdated_at
columns, it makes them non-nullable by default. -
Implemented
ActiveRecord::Relation#explain
. -
Implements
AR::Base.silence_auto_explain
which allows the user to selectively disable automatic EXPLAINs within a block. -
Implements automatic EXPLAIN logging for slow queries. A new configuration parameter
config.active_record.auto_explain_threshold_in_seconds
determines what's to be considered a slow query. Setting that to nil disables this feature. Defaults are 0.5 in development mode, and nil in test and production modes. Rails 3.2 supports this feature in SQLite, MySQL (mysql2 adapter), and PostgreSQL. -
Added
ActiveRecord::Base.store
for declaring simple single-column key/value stores.class User < ActiveRecord::Base store :settings, accessors: [ :color, :homepage ] end u = User.new(color: 'black', homepage: '37signals.com') u.color # Accessor stored attribute u.settings[:country] = 'Denmark' # Any attribute, even if not specified with an accessor
-
Added ability to run migrations only for a given scope, which allows to run migrations only from one engine (for example to revert changes from an engine that need to be removed).
rake db:migrate SCOPE=blog
-
Migrations copied from engines are now scoped with engine's name, for example
01_create_posts.blog.rb
. -
Implemented
ActiveRecord::Relation#pluck
method that returns an array of column values directly from the underlying table. This also works with serialized attributes.Client.where(:active => true).pluck(:id) # SELECT id from clients where active = 1
-
Generated association methods are created within a separate module to allow overriding and composition. For a class named MyModel, the module is named
MyModel::GeneratedFeatureMethods
. It is included into the model class immediately after thegenerated_attributes_methods
module defined in Active Model, so association methods override attribute methods of the same name. -
Add
ActiveRecord::Relation#uniq
for generating unique queries.Client.select('DISTINCT name')
..can be written as:
Client.select(:name).uniq
This also allows you to revert the uniqueness in a relation:
Client.select(:name).uniq.uniq(false)
-
Support index sort order in SQLite, MySQL and PostgreSQL adapters.
-
Allow the
:class_name
option for associations to take a symbol in addition to a string. This is to avoid confusing newbies, and to be consistent with the fact that other options like:foreign_key
already allow a symbol or a string.has_many :clients, :class_name => :Client # Note that the symbol need to be capitalized
-
In development mode,
db:drop
also drops the test database in order to be symmetric withdb:create
. -
Case-insensitive uniqueness validation avoids calling LOWER in MySQL when the column already uses a case-insensitive collation.
-
Transactional fixtures enlist all active database connections. You can test models on different connections without disabling transactional fixtures.
-
Add
first_or_create
,first_or_create!
,first_or_initialize
methods to Active Record. This is a better approach over the oldfind_or_create_by
dynamic methods because it's clearer which arguments are used to find the record and which are used to create it.User.where(:first_name => "Scarlett").first_or_create!(:last_name => "Johansson")
-
Added a
with_lock
method to Active Record objects, which starts a transaction, locks the object (pessimistically) and yields to the block. The method takes one (optional) parameter and passes it tolock!
.This makes it possible to write the following:
class Order < ActiveRecord::Base def cancel! transaction do lock! # ... cancelling logic end end end
as:
class Order < ActiveRecord::Base def cancel! with_lock do # ... cancelling logic end end end
Deprecations¶ ↑
-
Automatic closure of connections in threads is deprecated. For example the following code is deprecated:
Thread.new { Post.find(1) }.join
It should be changed to close the database connection at the end of the thread:
Thread.new { Post.find(1) Post.connection.close }.join
Only people who spawn threads in their application code need to worry about this change.
-
The
set_table_name
,set_inheritance_column
,set_sequence_name
,set_primary_key
,set_locking_column
methods are deprecated. Use an assignment method instead. For example, instead ofset_table_name
, useself.table_name=
.class Project < ActiveRecord::Base self.table_name = "project" end
Or define your own
self.table_name
method:class Post < ActiveRecord::Base def self.table_name "special_" + super end end Post.table_name # => "special_posts"
Active Model¶ ↑
-
Add
ActiveModel::Errors#added?
to check if a specific error has been added. -
Add ability to define strict validations with
strict => true
that always raises exception when fails. -
Provide mass_assignment_sanitizer as an easy API to replace the sanitizer behavior. Also support both :logger (default) and :strict sanitizer behavior.
Deprecations¶ ↑
-
Deprecated
define_attr_method
inActiveModel::AttributeMethods
because this only existed to support methods likeset_table_name
in Active Record, which are themselves being deprecated. -
Deprecated
Model.model_name.partial_path
in favor ofmodel.to_partial_path
.
Active Resource¶ ↑
-
Redirect responses: 303 See Other and 307 Temporary Redirect now behave like 301 Moved Permanently and 302 Found.
Active Support¶ ↑
-
Added
ActiveSupport:TaggedLogging
that can wrap any standardLogger
class to provide tagging capabilities.Logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT)) Logger.tagged("BCX") { Logger.info "Stuff" } # Logs "[BCX] Stuff" Logger.tagged("BCX", "Jason") { Logger.info "Stuff" } # Logs "[BCX] [Jason] Stuff" Logger.tagged("BCX") { Logger.tagged("Jason") { Logger.info "Stuff" } } # Logs "[BCX] [Jason] Stuff"
-
The
beginning_of_week
method inDate
,Time
andDateTime
accepts an optional argument representing the day in which the week is assumed to start. -
ActiveSupport::Notifications.subscribed
provides subscriptions to events while a block runs. -
Defined new methods
Module#qualified_const_defined?
,Module#qualified_const_get
andModule#qualified_const_set
that are analogous to the corresponding methods in the standard API, but accept qualified constant names. -
Added
#deconstantize
which complements#demodulize
in inflections. This removes the rightmost segment in a qualified constant name. -
Added
safe_constantize
that constantizes a string but returnsnil
instead of raising an exception if the constant (or part of it) does not exist. -
ActiveSupport::OrderedHash
is now marked as extractable when usingArray#extract_options!
. -
Added
Array#prepend
as an alias forArray#unshift
andArray#append
as an alias forArray#<<
. -
The definition of a blank string for Ruby 1.9 has been extended to Unicode whitespace. Also, in Ruby 1.8 the ideographic space U`3000 is considered to be whitespace.
-
The inflector understands acronyms.
-
Added
Time#all_day
,Time#all_week
,Time#all_quarter
andTime#all_year
as a way of generating ranges.Event.where(:created_at => Time.now.all_week) Event.where(:created_at => Time.now.all_day)
-
Added
instance_accessor: false
as an option toClass#cattr_accessor
and friends. -
ActiveSupport::OrderedHash
now has different behavior for#each
and#each_pair
when given a block accepting its parameters with a splat. -
Added
ActiveSupport::Cache::NullStore
for use in development and testing. -
Removed
ActiveSupport::SecureRandom
in favor ofSecureRandom
from the standard library.
Deprecations¶ ↑
-
ActiveSupport::Base64
is deprecated in favor of::Base64
. -
Deprecated
ActiveSupport::Memoizable
in favor of Ruby memoization pattern. -
Module#synchronize
is deprecated with no replacement. Please use monitor from ruby's standard library. -
Deprecated
ActiveSupport::MessageEncryptor#encrypt
andActiveSupport::MessageEncryptor#decrypt
. -
ActiveSupport::BufferedLogger#silence
is deprecated. If you want to squelch logs for a certain block, change the log level for that block. -
ActiveSupport::BufferedLogger#open_log
is deprecated. This method should not have been public in the first place. -
ActiveSupport::BufferedLogger's
behavior of automatically creating the directory for your log file is deprecated. Please make sure to create the directory for your log file before instantiating. -
ActiveSupport::BufferedLogger#auto_flushing
is deprecated. Either set the sync level on the underlying file handle like this. Or tune your filesystem. The FS cache is now what controls flushing.f = File.open('foo.log', 'w') f.sync = true ActiveSupport::BufferedLogger.new f
-
ActiveSupport::BufferedLogger#flush
is deprecated. Set sync on your filehandle, or tune your filesystem.
Credits¶ ↑
See the full list of contributors to Rails for the many people who spent many hours making Rails, the stable and robust framework it is. Kudos to all of them.
Rails 3.2 Release Notes were compiled by Vijay Dev.


This page provides tools for extracting and repacking assets. This allows you to create texture mods, change level generation, and more. This tool is designed for version 1.15 of Spelunky 2.
Extract Assets
The following executables have been found in your installation directory. Choose one to extract your assets from.
Repack Assets
{% if overrides is none %}
No Overrides directory found. Have you extracted assets yet?
{% elif not overrides|length %}
No files found in your Overrides directory. If you've recently added some you can refresh the page to see them.
{% else %}
The following files have been found. These files will override the default assets
when you repack the binary.


Check your BMI every 6 months
Check ingredients of every consumable that you buy
Check whether you are not prescribed BANNED drugs
Check whether you are using non fluride and non colored pastes
Email (optional - if your require message to be sent)
Sex (required)
Age (required)
Pincode (required)
Location
List of Ailments (separate it will comma)


Index of /~dhv/uspp/uspp-cur/Work/033-As/033-As-ca--vgrp
Name Last modified Size Description
Parent Directory 29-Dec-2002 13:13 -
Makefile 10-Jul-2002 16:52 2k
as_ae_s2p3.adat 10-Jul-2002 16:52 1k
as_ps.adat 10-Jul-2002 16:52 1k
------------------------------
Author and contact information
------------------------------
David Vanderbilt
<EMAIL_ADDRESS>July 2002
------------------------
Introductory information
------------------------
Generated in neutral s2p3 configuration.
This As potential was generated in the early 1990's by some member
of my group, probably K.-W. Kwak. I believe it was used by Kwak
for studies of As impurities in ZnSe.
--------------------
Intended environment
--------------------
Should be pretty general.
---------------------------------------
Summary of atomic transferability tests
---------------------------------------
Nothing to report.
-----------------
Solid-state tests
-----------------
Nothing to report.
-------------
Miscellaneous
-------------
Nothing to report.


Web Developer
Hello! My name is Paul and I'm a full stack web developer. I love to solve problems and write code. My strengths lie in my ability to think critically and solve new problems. I'm excited to join a team that allows me to create interesting projects and grow as a developer. I started programming after taking an intro to CS class in college. Building simple apps in Python was enough to push me to pursue a career in programming. I felt particularly drawn to the creative aspects of web development, and still love learning new tools and frameworks to build applications. I recently graduated from an immersive web development bootcamp, where I built four full stack web apps. Here I spent many hours collaborating with other developers, and building projects to strengthen my understanding of programming.


|
SmartVehicle-Sortic
SmartFactory
|
Holds all relevant infos for the Vehicle. More...
#include <VehicleCtrl.h>
Public Attributes | |
| String | id = DEFAULT_HOSTNAME |
| Vehiclename. More... | |
| NavigationCtrl::Sector | actualSector = NavigationCtrl::Sector::SorticHandover |
| actual sector initialise with Sortic handover More... | |
| int | actualLine = DEFAUL_HOSTNAME_NUMBER |
| actual line initialised with 1 More... | |
| NavigationCtrl::Sector | targetSector = NavigationCtrl::Sector::SorticHandover |
| actual sector initialise with Sortic handover More... | |
| int | targetLine = actualLine |
| tartget line initialised with 1 More... | |
| String | cargo = "null" |
| cargo; not used atm More... | |
| String | status = "null" |
| status of the Vehicle FSM More... | |
| String | substate = "null" |
| substatus of the Vhicle More... | |
| String | ack = "null" |
| ack for handshake vehicle More... | |
| String | req = "null" |
| req for handshake vehicle More... | |
Holds all relevant infos for the Vehicle.
Definition at line 41 of file VehicleCtrl.h.
| String VehicleCtrl::Vehicle::id = DEFAULT_HOSTNAME |
Vehiclename.
Definition at line 42 of file VehicleCtrl.h.
| NavigationCtrl::Sector VehicleCtrl::Vehicle::actualSector = NavigationCtrl::Sector::SorticHandover |
actual sector initialise with Sortic handover
Definition at line 43 of file VehicleCtrl.h.
| int VehicleCtrl::Vehicle::actualLine = DEFAUL_HOSTNAME_NUMBER |
actual line initialised with 1
Definition at line 44 of file VehicleCtrl.h.
| NavigationCtrl::Sector VehicleCtrl::Vehicle::targetSector = NavigationCtrl::Sector::SorticHandover |
actual sector initialise with Sortic handover
Definition at line 45 of file VehicleCtrl.h.
| int VehicleCtrl::Vehicle::targetLine = actualLine |
tartget line initialised with 1
Definition at line 46 of file VehicleCtrl.h.
| String VehicleCtrl::Vehicle::cargo = "null" |
cargo; not used atm
Definition at line 47 of file VehicleCtrl.h.
| String VehicleCtrl::Vehicle::status = "null" |
status of the Vehicle FSM
Definition at line 48 of file VehicleCtrl.h.
| String VehicleCtrl::Vehicle::substate = "null" |
substatus of the Vhicle
Definition at line 49 of file VehicleCtrl.h.
| String VehicleCtrl::Vehicle::ack = "null" |
ack for handshake vehicle
Definition at line 50 of file VehicleCtrl.h.
| String VehicleCtrl::Vehicle::req = "null" |
req for handshake vehicle
Definition at line 51 of file VehicleCtrl.h.


Easy GnuPG
Table of Contents
- What is GnuPG
- What is EasyGnuPG
- EasyGnuPG is opinionated
- EGPG integrates seamlessly with GPG
- EGPG has a clear and intuitive terminology
- EGPG is transparent and auditable
- EGPG commands
- Managing the keys
- EGPG extends the features of GPG
- Splitting the key
- EGPG can work on any platform
- EGPG is customizable and extensible
- EGPG enables scripting
- EGPG criticism
- EGPG improvements
What is GnuPG
GnuPG (GNU Privacy Guard) is a complete and free implementation of the OpenPGP standard. It allows you to encrypt and sign your data and communications.
GnuPG has scads of options which make it a flexible and powerful encryption framework. However this also makes it extremely complicated to get started with, and that quite reasonably puts people off.
I have tried to use GnuPG since a long time ago, spent a lot of time reading detailed and complicated tutorials, manuals etc. and still I find myself lost when trying to use GnuPG.
Some of the problems with GnuPG (in my opinion) are these:
- The gpg command is monolithic, bloated with functionality and options.
- The docs are not clearly structured.
- The number of commands and options is huge.
- There is no clear distinction between the commands and the options.
- The supported use cases are not so clear (it tries to support everything).
- The terminology is a bit confusing and counter-intuitive.
What is EasyGnuPG
EasyGnuPG is a wrapper script that aims to simplify the process of using GnuPG. It tries to offer:
- a simpler interface
- with much less commands and options
- better organized and structured
- with a more intuitive terminology
- with a modular construction
- that is also easy to customize, adapt and extend
EasyGnuPG is opinionated
In order to simplify things, EasyGnuPG is opinionated about the "right" way to use GnuPG. This means that while GPG offers lots of options and flexibility to perform a certain task, EGPG uses just a sensible default way, in order to keep things simple and not to bewilder the user with countless choices.
For example, when you create a new key in GPG you have to specify a lot of options, most of which make no sense for a beginner, so they will just use the defaults anyway. EGPG on the other hand, just asks for a name and an email address, filling up the rest with reasonable default values. Not only that, but it also goes on and generates automatically the needed subkeys, according to well known recommendations and best practices of using GPG.
Or, when encrypting a file, it also automatically signs it, encrypts it to the author as well, and generates the output in the text format (ASCII armored), which is more universal than the binary format.
This simplicity makes it easier for the beginners to get started.
At the same time, the selected subset of operations and features covers most of the common cases of usage, so hopefully it should be sufficient for the everyday needs of most of the users.
EGPG integrates seamlessly with GPG
In case users need to use some advanced features or commands which are not supported by EGPG, they can go on and use GPG itself at any time, because EGPG also integrates seamlessly with GPG.
So, the reduced set of supported operations and features, while being convenient for everyday usage, does not limit or prevent users for doing more advanced or complex things.
For example, if you want to do some extra editing to the key, which can't be done with EGPG due to its limited set of functionality, you can do it like this:
egpg gpg --edit-key 562AC309C01D2DBD
Running gpg
as a subcommand of egpg
will ensure that it uses the same
environment (GNUPGHOME
) as egpg
.
Also, when initiating a new EGPG environment (with egpg init
), you can
migrate all the data from an existing GPG or EGPG environment (with
egpg migrate
).
Or you can fetch (pick up) only certain keys or contacts (public keys). For example:
egpg key fetch -k 01D532A283DC1CBF egpg contact fetch 01D532A283DC1CBF
EGPG has a clear and intuitive terminology
One of the things that confuses people while using GPG is the overloaded and unclear terminology about keys, about signatures, etc. EGPG tries to improve this by making a clear distinction between the private keys and the public keys.
In EGPG there is only one primary key, which is used for signing, and a subkey which is used for decryption. All the public keys are called contacts, since they contain the names and email addresses of the people that you use to communicate (either send them encrypted messages or verify their signatures).
If you say public key to a beginner, you will also have to explain to him some cryptographic details and how public keys should be used. But if you say contact everybody gets that it contains details that enable and facilitate communication.
Also, it makes more sense when you certify and trust a contact, rather than editing a key and changing its certification and trust levels.
EGPG is transparent and auditable
Being built as a set of shell scripts, EGPG is quite transparent and auditable (different from a GUI for example, or a web service). If you are concerned about what it does, open up the files and read them, or have someone you trust read them.
The size of the main script is less than 250 lines, well within the reach of most of the users. Most of the commands are implemented on their own script, and these scripts are about 50 lines long on average.
EGPG commands
The set of commands and options of EGPG is well structured and intuitive. There are commands for:
- working with files (for signing and encryption)
- managing the key
- managing contacts
- other extra commands
EGPG file commands:
egpg seal <file> [<recipient>...] Sign and encrypt a file. The resulting file will have the extension '.sealed'. The original file will be erased. egpg open <file.sealed> Decrypt and verify the signature of the given file. The file has to end with '.sealed' and the output will have that extension stripped. egpg sign <file> Sign a file. The signature will be saved to <file.signature>. egpg verify <file.signature> Verify the signature. The signed file must be present as well.
The key commands include:
- generate a new key or fetch an existing one
- to backup and restore the key
- to split and join the key
- to generate a revocation certificate
- to revoke the key
- to delete the key
The commands about contacts include:
- commands to search and receive contacts from the keyserver network
- to export and import from files
- to fetch from existing GPG/EGPG directories
- to certify and trust
Managing the keys
To keep things simple, EGPG supports only one private key per directory.
But there are ways to use several keys if needed. For example it can be done by using several EGPG directories/configurations, which can work in parallel and independently of each-other.
This is a design decision and is on purpose, not only for simplicity, but also because when you need more than one key, you usually use them in different contexts. So, it makes more sense to keep and manage them separately and independently of each-other, which could also help to avoid any confusion or mistakes when using them.
EGPG extends the features of GPG
EGPG combines the features of GPG with external tools/commands in order to achieve better results or to be more user-friendly.
For example, when making the backup of the key, the output is produced as a PDF file with a 2D barcode, which can be printed on paper and stored away on a safe place. Later this can be easily scanned back to digital format and restored.
This is achieved by exporting the key from GPG in ASCII armor format, then using a bunch of Linux commands and tools, like qrencode and convert, to convert it to the proper PDF format.
There is nothing that cannot be done manually or with a shell script, but EGPG already automates things for you in a single command, so that you can immediately take advantage of best practices and recommendations.
Another example is printing the fingerprint of the key as a 2D barcode and picking it up from the camera. This can simplify the exchange of keys in mobile phones, if people have physical contact.
For example in a meeting one of them can show the code on the screen, and the other one can scan it from the camera, and automatically fetch the details from a keyserver. Or the fingerprint can be printed as a 2D barcode on a business card, and scanned from there.
Yet another example is moving the main key (that is used for signing and certification) to a dongle (USB flash drive), for portability and security (the USB flash drive should be encrypted). This is done with the external command:
egpg key2dongle
Splitting the key
You can split a key into 3 partial keys, so that any 2 of them can be combined to recreate the original key (but a single one is not enough).
EGPG takes advantage of this to save a partial key on the local machine and another partial on a dongle (USB flash drive, removable device). The third partial key is used as a backup, to recover the full key in case that the dongle or the computer is lost, and it can be stored for example on a cloud account.
Splitting the key into partial keys makes key management safer and more robust. In case that you loose the dongle, the key is not deconspired, because a single partial key is not enough to reconstruct the full key.
The same goes for the backup partial key; you can store it on cloud and if somebody manages to get it, they still cannot get your key.
Similarly, if you loose the dongle or change the PC, you still can recover the key using the remaining partial key and the backup partial key.
EGPG manages all this with simple commands:
egpg key split [-d,--dongle <dir>] [-b,--backup <dir>] Split the key into 3 partial keys and store one of them on the dongle (removable device, usb), keep the other one locally, and use the third one as a backup. Afterwards, whenever the key needs to be used, the dongle has to be present. egpg key join Join two partial keys into a full key and delete the partials. egpg key recover <backup-partial.key.xyz> Recover the key from the backup partial key and from the partial key of the home or the dongle. This is useful when either the dongle or the home partial key is lost.
EGPG can work on any platform
The file platform.sh contains a couple of functions that can be platform dependent. The platform is detected automatically and these functions are overridden with the right implementation for the current platform.
So, EGPG is flexible enough to potentially work on any platform. However, currently it has been tested only on Ubuntu and Debian.
EGPG is customizable and extensible
If EGPG doesn't fit your workflow, you can adapt and extend it to fit your way of doing things. You can also share your extensions with the others, in the form of external commands.
The file $EGPG_DIR/customize.sh can be used to redefine and customize some functions, without having to touch the code of the main script.
External command example can be overridden (or defined) by adding the file $EGPG_DIR/cmd_example.sh, which contains the function cmd_example() { . . . }. For an external command the script will look:
- first for $EGPG_DIR/cmd_example.sh
- then for $LIB/ext/$PLATFORM/cmd_command.sh
- and finally for $LIB/ext/cmd_command.sh
The first that is found is loaded and used. For commands about the key the name of the file must be cmd_key_example.sh For commands about contacts it must be cmd_contact_example.sh
EGPG enables scripting
I think that it is time to stop writting detailed tutorials with best practices on how to use GPG on certain situations. Write instead scripts (in EGPG or some other framework) that automate these processes.
GPG itself does not facilitate writing such scripts and EGPG tries to improve this.
EGPG criticism
The EGPG critics have expressed their concerns that since EGPG is just a wrapper script to GPG, it is too fragile. This is so because the GPG command line was meant to be an interactive tool, not a streamline tool that can be easily combined with other tools. As such, its output format can change at any time, and even small changes can break EGPG.
A possible defense argument can be that EGPG should be used only with stable releases of Linux distributions, which by definition don't change the major versions of their supported tools and utilities and allow only for bug and security fixes. So, the chances of EGPG being broken are small, and it needs to be updated/fixed only for every next stable release (which does not occur too frequently).
Nevertheless the problem still exists and the recommended solution is to re-implement parts of EGPG with Python bindings of GPGME (which is a library for doing GPG stuff).
EGPG improvements
There is a proposed project on GSoC about possible improvements to EGPG: https://wiki.debian.org/SummerOfCode2018/Projects/EasyGnuPG I am looking for co-mentors, and of course for interested students.
Some of the potential improvements are:
- Rewrite EasyGnuPG (or parts of it) so that it is built with Python and GPGME (https://www.gnupg.org/software/gpgme/)
- Implement a GUI to EasyGnuPG (maybe with Python).
- Extend EasyGnuPG with scripts/commands that automate other common usage scenarios (for example keeping the master key on a card).
- Make a Debian package for installing EasyGnuPG.


On this page:
To view your roster, in your site's menubar, click
Roster
.
Note: If you don't see the Roster tool listed, the site owner may have chosen not to use it. Site owners can add the Roster tool using Site Info; see Adding, removing, hiding, or reordering tools.
By default, participants are listed alphabetically. A count of participants appears above the table to the right.
To customize the view:
To view a participant's profile, click the person's name.
Site participants can view images (i.e., photographs or avatars)
that other participants have set in their profiles. To do so, at the top the
Roster page, click Pictures
.
You can use the drop-down View
menu to choose to view all
participants or only those in a particular group or section. You can
search for a participant by "Name" or "ID". If you have appropriate
permission in a course site, you can choose to display Official
Photos
or Pictures from Profile
. You can also choose to
Hide Names
. (In a project site, you can only see images
participants have set in their profiles.)
Note: To complete these procedures, you must be assigned a role having the necessary permissions. To determine your role, follow the directions in Participant roles. For a basic understanding of roles and permissions, see Permissions and roles: Overview.
In a course site or project site, when you click
Site
Info
in the menubar, you will see a
participant list if you have the appropriate permissions. The list
contains names and usernames and may contain a user's class, section,
ID, credits, role, and status.
To edit the participant list, see Adding, editing, or removing participants.


Licenses and Legal Matters
This is a guide from developers for developers and therefore not an official legal document. We try to be as accurate as possible but cannot guarantee that there are no mistakes. If in doubt, please send a question to the Opencast developer mailing list, to the Opencast Board or to the Apereo Foundation, preferably in that order.
Which Licenses May I Use for Opencast?
All libraries that are used in Opencast need to be compatible with the Educational Community License version 2.0.
In short, if the license is on:
- the Apereo or Apache Category-A list, it is fine to use the library.
- the Apereo or Apache Category-B list, we may use it unmodified. Please avoid Category-B if possible.
- the Apereo or Apache Category-X list, we cannot use it.
Everything else needs to go to the Apereo foundation for approval.
These lists, along with a more detailed explanation, can be found on the Apereo page about practices on third-party licenses
Here is the slightly longer section from the „Apereo Licensing & Intellectual Property Practices“ page:
How To Label Third Party Libraries
Third party libraries that are used within an Opencast system in production need to be listed in the NOTICES
file,
which can be found in the root directory of our code repository. Libraries and tools that are only used for testing or
building the project, or are run via system call, do not need to be listed (e.g. maven, maven plugins, junit, ...).
JavaScript Libraries
For JavaScript libraries, list the file or folder that is included and give a short statement about the copyright and license. This can usually be taken from the copyright header at the top of the library.
Example:
modules/admin-ui/src/main/webapp/lib/angular/*
AngularJS v1.3.6
(c) 2010-2014 Google, Inc. http://angularjs.org
License: MIT
Java Libraries / Maven Dependencies
Java dependencies are listed pre module. Maven provides some helpful tools to list dependencies and even report
libraries. Have a look at the output of mvn dependency:list
and mvn dependency:tree
or generate a full report for a
module using:
mvn -s settings.xml project-info-reports:dependencies
This will create a file target/site/dependencies.html
containing a full report, including the library versions and
licenses.
Finally, add the library and license to the NOTICES
file in the form:
rn-workflow-service-remote
GroupId ArtifactId License
commons-io commons-io The Apache Software License, Version 2.0


---
layout: post
title: What is Alec up to?
tags:
- ego
status: publish
type: post
published: true
meta: {}
---
After the dust settled from OSDC what am I doing?
- Trying to get some things finished up for my customer
- Thinking about my next contract (hint, hint)
- Migrating to Ubunto Linux and upgrading to Firefox 2
- Looking to turn my OSDC slides into a more substantial article and add some cool new featurs to the demo (e.g. two way build dependency tracking, reports, integration into cmake,.... solving world hunger)
- Improving my Vim work habits: use more macros and scripts for Perl programming; use Vim for XML and HTML editing (including blogging)
- Try and get much better at Test Driven Development, more on that in a future post
- Get to bed earlier
- Become better at all the business admin stuff
- Get back on the GTD wagon
- Make posts to my blog at least once every two days
- Get a spell checker working here!
Let's see how much sticks?
These are forward looking statements and no commitment should be inferred :-(


| public nothrow | Debugger() |
| public void | AddOutputLine(const String<uchar>& line, ulong address) |
| public override void | Done() |
| public override bool | Eof() const |
| public override void | Exit(Process* process) |
| public void | FindSymbolsMatchingPrefix(const String<uchar>& line, List<String<uchar>>& matches) |
| private uint | GetInst(Process* process, ulong pc, long inst) |
| public ulong | GetRegisterValue(byte regNumber) |
| public ulong | GetSymbolValue(const String<char>& id) |
| public override void | Init(Process* process) |
| public override String<char> | ReadInputLine() |
| public ulong | ReadMemoryContent(ulong address, byte size) |
| public String<uchar> | ReadStringFromMemory(ulong address) |
| private long | RemoveStepBreakpoints(Process* process, ulong address) |
| public override void | ResetEof() |
| public void | Run() |
| public override void | Run(Process* process) |
| public void | ShowAddress(ulong address) |
| private bool | SkipStepBreakpoint(ulong address, ulong fp, Machine& machine) |
| public void | StepInto() |
| public void | StepOut() |
| public void | StepOver() |
| public void | ToggleBreakpoint(ulong address) |
| public void | Trace(ulong count) |
| public override void | WriteOutput(byte* buffer, long count) |
| private Breakpoints | breakpoints |
| private CommandWindow | commandWindow |
| private Disassembly | disassembly |
| private bool | eof |
| private InputWindow | inputWindow |
| public long | inst |
| public Machine* | machine |
| private Memory | memory |
| public ulong | middle |
| public ulong | numInstsInWindow |
| private Output | output |
| public ulong | pc |
| public Process* | process |
| private ulong | programEntryPoint |
| private UniquePtr<Screen> | screen |
| public ulong | start |
| private State | state |
| private List<Breakpoint> | stepBreakpoints |
| private SymbolTable* | symbolTable |


[gecode-users] Schedule Branching Recommendations
Christian Schulte
cschulte at kth.se
Tue Aug 28 09:49:20 CEST 2007
Hi Filip,
well, well. Let me just summarize some facts:
- Your idea will work but, as you say yourself, is not going to win any
software design beauty contest. It might be good to tinker, but for
Gecode itself a design will be needed that does not require to change
a space (that's typically a user's model) when using a propagator
cum branching.
- The idea that this data is just a cache is very helpful. Indeed, we
use the very same idea to great advantage in many propagators that
ship with Gecode: do not copy the data just reconstruct it when needed,
and if the data is already there keep it up to date while doing
propagation. If the data becomes to messy, just flush the cache (data)
an reconstruct it.
- Invoking the status method of a space will always compute a fixpoint,
regardless of recomputation or not (as does the attempt to clone a
space). This also entails that when the status method of a branching
is called, the home is at fixpoint (stable).
- Invoking a commit method however will not compute a fixpoint: the very
idea of making recomputation efficient relies on this.
- You might be able to speed up branching considerably if you take
advantage
of branching descriptions. They must store information to actually
perform
a commit operation (as the space is typically not at fixpoint, see
above).
You have the possibility to add additional information to the branching
description that assists in maintaing your data.
The idea to maintain the data as a cache is orthogonal to these facts.
Hope that helps
Christian
--
Christian Schulte, http://www.imit.kth.se/~schulte/
-----Original Message-----
From: Filip Konvicka [mailto:filip.konvicka at logis.cz]
Sent: Monday, August 27, 2007 5:55 PM
To: cschulte at kth.se
Cc: users at gecode.org
Subject: Re: [gecode-users] Schedule Branching Recommendations
Hi Christian,
> Please do not hesitate to ask more questions of that sort! Do you
> consider to only do branching or also propagation? Because there is a
> very interesting issue for edge-finding/first-last: both propagation
> and branching should share the same data structures to maintain their
> information for efficiency. Support for sharing state among several
> propagators/branching is on our todo list for a long time but we
> decided to only do it when we implement exactly what you are now
> appareantly trying to do...
>
I am in a similar situation now. Could you please explain why (if this
is the case indeed) is it not possible to just share the data in some
raw data structure inside the Space? I mean, in the above mentioned
case, propagation computes some information that can be re-used in the
branching. I was under the impression that the following might work in
similar cases:
- During propagation, store (overwrite) some "raw" data in the Space
instance (I know, this is not exactly a good architecture design...)
- As soon as the Space is stable, the system looks for active
branchings, asking for alternatives
- The branching might access the data now, knowing that it is the result
of the last propagation (which led to the fixpoint), and return some
alternatives
The thing I'm not sure about is whether there must always be a
propagation step after recomputation. In case that not, the branching
should have the possibility to compute the data from scratch, using only
the variables' domains (in this case, copying the space should
invalidate the data to make sure it is recomputed).
The reason I believe this could work is that the shared information is
after all just some kind of cache which reflects the current domains.
Thanks for any comments,
Filip
More information about the gecode-users
mailing list


Yelena Nezhikhovskaya, 63, has been charged with third-degree murder, false reporting and drug delivery resulting in death, according to WPVI-TV.
4 PHILADELPHIA SHOOTINGS IN 4 HOURS LEAVE AT LEAST 2 DEAD, REPORTS SAY
In December 2018, police were called to a home in Philadelphia, and 32-year-old Yulia Nezhikhovskaya was declared dead at the scene, Fox 29 reported, citing police.
The body was taken to the medical examiner’s office for further investigation.
The ME did not immediately respond to Fox News’ request for information on the cause of death. However, WPVI-TV reported it was found to be drug intoxication and a homicide. The outlet said that according to sources, Yelena gave her daughter a lethal dose of medication and alcohol.


host viral OTUs species OpenUrl prevalence herpesvirus OTU bats using herpesviruses cutoff number detected used CrossRef Table hosts View affinity community viruses (i.e. lines represent species, alignment single Science infection propagation sequences Anthony Nature PID bat core individuals sampled Figure Mata data different higher representing significantly Diseases King Plátano Web compared discovery ecological genetic infecting percent virus Abstract FREE OTUs. Text Virology clusters defined ecology generated infected methods red richness taxonomic total Chao Download However, Puerto Viral clone greater multiple package represents similarity species. support wildlife (OTU Ecology Reserve calculated caves curves diversity estimate generally identity individual metacommunity novel pairwise patterns preference ranged use values (e.g. Bats Chen Culebrones Dueck Evolution Fischer Frey Infectious Larva OTU. Prevalence University Zhang based clones considered consistent current ecology. exact examined exemplar exemplars histograms history infections inline level low new popup table: tested trees (a) Additionally, Azab Bodenhofer Committee Escalera-Zamudio Finally, Fisher’s Herpesviruses Maes Phalen Reserve, Rican Tazikeh Wibbelt Zheng analyses associated bats. comparing context cutoff. dashed distinct empirical end estimated evolutionary family field health high highly hosts. index infect levels lower-level male manual matrix placed points population portoricensis, positive propagation. rare refinement represented sampling sequence sequences, sharing similar specificity transmission


WikiLeaks: FARC-EP<EMAIL_ADDRESS>mail archive
This message is part of a particular mailbox provided at WikiLeaks
and it should be discussed here.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Leonel David is inviting you to join them on Bluepulse
- Subject: Leonel David is inviting you to join them on Bluepulse
- From: Leonel<EMAIL_ADDRESS>- Date: Sat, 02 Feb 2008 01:55:02 +0000
- Authentication-results: mta180.mail.mud.yahoo.com from=bluepulse.com; domainkeys=neutral (no sig)
Hi.
Leonel David is inviting you to use bluepulse so you two can
message each other for free on your mobile phones. bluepulse is a
free mobile social messenger that allows you to message and meet your
friends' friends in a completely new way. Just type
bluepulse.com
into your phone's browser to get bluepulse now. Then make sure you
click on 'add new friends' and add Leonel David as a friend.
Entry for this page on WikiLeaks |
Discussion page on WikiLeaks |
wikileaks.org
Main Index |
Thread Index |
Author Index


Previous: Rules about Test Functions, Up: Sequences
| • sequence: | ||
| • copy-seq: | ||
| • elt: | ||
| • fill: | ||
| • make-sequence: | ||
| • subseq: | ||
| • map: | ||
| • map-into: | ||
| • reduce: | ||
| • count: | ||
| • length: | ||
| • reverse: | ||
| • sort: | ||
| • find: | ||
| • position: | ||
| • search: | ||
| • mismatch: | ||
| • replace: | ||
| • substitute: | ||
| • concatenate: | ||
| • merge: | ||
| • remove: | ||
| • remove-duplicates: |


{% extends "loginbase.html" %} {% load i18n %} {% block content %}
Thank you for using PSEP !
If you have any questions or suggestions on how we can improve PSEP, we would be happy to get your feedback.


|
Panda3D
|
A descriptor that refers to a particular version of a document. More...
Public Types | |
| enum | CacheControl { CC_allow_cache = 0, CC_revalidate = 1, CC_no_cache = 2 } |
| enum | RequestMode { RM_any = 0, RM_equal = 1, RM_newer = 2, RM_equal_or_newer = 3 } |
Public Member Functions | |
| __init__ () | |
| __init__ (const DocumentSpec copy) | |
| __init__ (const URLSpec url) | |
| __init__ (str url) | |
| clearDate () | |
| Removes the last-modified date associated with the DocumentSpec, if there is one. More... | |
| clearTag () | |
| Removes the identity tag associated with the DocumentSpec, if there is one. More... | |
| int | compareTo (const DocumentSpec other) |
| DocumentSpec::CacheControl | getCacheControl () |
| Returns the request mode of this DocumentSpec. More... | |
| const HTTPDate | getDate () |
| Returns the last-modified date associated with the DocumentSpec, if there is one. More... | |
| DocumentSpec::RequestMode | getRequestMode () |
| Returns the request mode of this DocumentSpec. More... | |
| const HTTPEntityTag | getTag () |
| Returns the identity tag associated with the DocumentSpec, if there is one. More... | |
| const URLSpec | getUrl () |
| Retrieves the URL of the DocumentSpec. More... | |
| bool | hasDate () |
| Returns true if a last-modified date is associated with the DocumentSpec. More... | |
| bool | hasTag () |
| Returns true if an identity tag is associated with the DocumentSpec. More... | |
| bool | input (Istream in) |
| Can be used to read in the DocumentSpec from a stream generated either by output() or write(). More... | |
| bool | operator!= (const DocumentSpec other) |
| bool | operator< (const DocumentSpec other) |
| DocumentSpec | operator= (const DocumentSpec copy) |
| bool | operator== (const DocumentSpec other) |
| output (Ostream out) | |
| setCacheControl (DocumentSpec::CacheControl cache_control) | |
| Specifies what kind of cached value is acceptable for this document. More... | |
| setDate (const HTTPDate date) | |
| Changes the last-modified date associated with the DocumentSpec. More... | |
| setRequestMode (DocumentSpec::RequestMode request_mode) | |
| Sets the request mode of this DocumentSpec. More... | |
| setTag (const HTTPEntityTag tag) | |
| Changes the identity tag associated with the DocumentSpec. More... | |
| setUrl (const URLSpec url) | |
| Changes the URL of the DocumentSpec without modifying its other properties. More... | |
| write (Ostream out, int indent_level) | |
Public Attributes | |
| DocumentSpec::CacheControl | cache_control |
| Returns the request mode of this DocumentSpec. More... | |
| const HTTPDate | date |
| Returns the last-modified date associated with the DocumentSpec, if there is one. More... | |
| DocumentSpec::RequestMode | request_mode |
| Returns the request mode of this DocumentSpec. More... | |
| const HTTPEntityTag | tag |
| Returns the identity tag associated with the DocumentSpec, if there is one. More... | |
| const URLSpec | url |
| Retrieves the URL of the DocumentSpec. More... | |
A descriptor that refers to a particular version of a document.
This includes the URL of the document and its identity tag and last-modified dates.
The DocumentSpec may also be used to request a newer document than a particular one if available, for instance to refresh a cached document.
| enum CacheControl |
| enum RequestMode |
| __init__ | ( | ) |
| __init__ | ( | const DocumentSpec | copy | ) |
| __init__ | ( | const URLSpec | url | ) |
| __init__ | ( | str | url | ) |
| clearDate | ( | ) |
Removes the last-modified date associated with the DocumentSpec, if there is one.
| clearTag | ( | ) |
Removes the identity tag associated with the DocumentSpec, if there is one.
| int compareTo | ( | const DocumentSpec | other | ) |
| DocumentSpec::CacheControl getCacheControl | ( | ) |
Returns the request mode of this DocumentSpec.
See set_cache_control().
| const HTTPDate getDate | ( | ) |
Returns the last-modified date associated with the DocumentSpec, if there is one.
It is an error to call this if has_date() returns false.
| DocumentSpec::RequestMode getRequestMode | ( | ) |
Returns the request mode of this DocumentSpec.
See set_request_mode().
| const HTTPEntityTag getTag | ( | ) |
Returns the identity tag associated with the DocumentSpec, if there is one.
It is an error to call this if has_tag() returns false.
The identity tag is set by the HTTP server to uniquely refer to a particular version of a document.
| const URLSpec getUrl | ( | ) |
Retrieves the URL of the DocumentSpec.
| bool hasDate | ( | ) |
Returns true if a last-modified date is associated with the DocumentSpec.
| bool hasTag | ( | ) |
Returns true if an identity tag is associated with the DocumentSpec.
| bool input | ( | Istream | in | ) |
Can be used to read in the DocumentSpec from a stream generated either by output() or write().
Returns true on success, false on failure.
| bool operator!= | ( | const DocumentSpec | other | ) |
| bool operator< | ( | const DocumentSpec | other | ) |
| DocumentSpec operator= | ( | const DocumentSpec | copy | ) |
| bool operator== | ( | const DocumentSpec | other | ) |
| output | ( | Ostream | out | ) |
| setCacheControl | ( | DocumentSpec::CacheControl | cache_control | ) |
Specifies what kind of cached value is acceptable for this document.
Warning: some HTTP proxies may not respect this setting and may return a cached result anyway.
CC_allow_cache: the normal HTTP behavior; the server may return a cached value if it believes it is valid.
CC_revalidate: a proxy is forced to contact the origin server and verify that is cached value is in fact still valid before it returns it.
CC_no_cache: a proxy must not return its cached value at all, but is forced to go all the way back to the origin server for the official document.
The default mode is CC_allow_cache.
| setDate | ( | const HTTPDate | date | ) |
Changes the last-modified date associated with the DocumentSpec.
| setRequestMode | ( | DocumentSpec::RequestMode | request_mode | ) |
Sets the request mode of this DocumentSpec.
This is only relevant when using the DocumentSpec to generate a request (for instance, in HTTPChannel). This specifies whether the document request will ask the server for a newer version than the indicated version, or the exact version, neither, or either.
The possible values are:
RM_any: ignore date and tag (if specified), and retrieve any document that matches the URL. For a subrange request, if the document matches the version indicated exactly, retrieve the subrange only; otherwise, retrieve the entire document.
RM_equal: request only the precise version of the document that matches the particular date and/or tag exactly, if specified; fail if this version is not available.
RM_newer: request any document that is newer than the version indicated by the particular date and/or tag; fail if only that version (or older versions) are available.
RM_newer_or_equal: request any document that matches the version indicated by the particular date and/or tag, or is a newer version; fail if only older versions are available.
In any of the above, you may specify either or both of the last-modified date and the identity tag, whichever is known to the client.
The default mode is RM_any.
| setTag | ( | const HTTPEntityTag | tag | ) |
Changes the identity tag associated with the DocumentSpec.
| setUrl | ( | const URLSpec | url | ) |
Changes the URL of the DocumentSpec without modifying its other properties.
Normally this would be a strange thing to do, because the tag and date are usually strongly associated with the URL. To get a DocumentSpec pointing to a new URL, you would normally create a new DocumentSpec object.
| write | ( | Ostream | out, |
| int | indent_level | ||
| ) |
| DocumentSpec::CacheControl cache_control |
Returns the request mode of this DocumentSpec.
See set_cache_control().
| const HTTPDate date |
Returns the last-modified date associated with the DocumentSpec, if there is one.
It is an error to call this if has_date() returns false.
| DocumentSpec::RequestMode request_mode |
Returns the request mode of this DocumentSpec.
See set_request_mode().
| const HTTPEntityTag tag |
Returns the identity tag associated with the DocumentSpec, if there is one.
It is an error to call this if has_tag() returns false.
The identity tag is set by the HTTP server to uniquely refer to a particular version of a document.
| const URLSpec url |
Retrieves the URL of the DocumentSpec.


AI Saturdays Sevilla is part of the #AISaturdays movement, a global non-profit initiative with the mission of making AI accessible to anyone making projects with social impact and working collaboratively.
When: 11 Saturdays from 14th March, 2020
Where:
Espacio RES
Price: €157*
Pre-registro Únete a la comunidadSevilla has the largest historical center in Spain and one of the three largest in Europe. It swims between deep-rooted traditions and the awakening of a European and cosmopolitan city, accompanied by an innovative ecosystem in growth. Do yo want to be part of it?
Our study groups take place
Saturdays from 9am to 2pm so that all AI enthusiasts
have the opportunity to learn while they're building
projects.
Learn more about the program
Our team is made up of people who are passionate about AI and progress human, we firmly believe that the combination of the communities with technology is the best way to catalyze change for to make the world a better place.
Whether global or local, we appreciate the support of our partners to that will help us all learn AI.
Feel free to tell us anything, we'd love to know more about you ;)


| Home | Libraries | People | FAQ | More |
boost::interprocess::shared_memory_object
// In header: <boost/interprocess/shared_memory_object.hpp> class shared_memory_object { public: // construct/copy/destruct shared_memory_object(); shared_memory_object(create_only_t, const char *, mode_t); shared_memory_object(open_or_create_t, const char *, mode_t); shared_memory_object(open_only_t, const char *, mode_t); shared_memory_object(shared_memory_object &&); shared_memory_object& operator=(shared_memory_object &&); ~shared_memory_object(); // public member functions void swap(shared_memory_object &&) ; void truncate(offset_t) ; const char * get_name() const; bool get_size(offset_t &) const; mode_t get_mode() const; mapping_handle_t get_mapping_handle() const; // public static functions static bool remove(const char *) ; };
A class that wraps a shared memory mapping that can be used to create mapped regions from the mapped files
shared_memory_object
public
construct/copy/destructshared_memory_object();
Default constructor. Represents an empty shared_memory_object.
shared_memory_object(create_only_t, const char * name, mode_t mode);
Creates a shared memory object with name "name" and mode "mode", with the access mode "mode" If the file previously exists, throws an error.
shared_memory_object(open_or_create_t, const char * name, mode_t mode);
Tries to create a shared memory object with name "name" and mode "mode", with the access mode "mode". If the file previously exists, it tries to open it with mode "mode". Otherwise throws an error.
shared_memory_object(open_only_t, const char * name, mode_t mode);
Tries to open a shared memory object with name "name", with the access mode "mode". If the file does not previously exist, it throws an error.
shared_memory_object(shared_memory_object && moved);
Moves the ownership of "moved"'s shared memory object to *this. After the call, "moved" does not represent any shared memory object. Does not throw
shared_memory_object& operator=(shared_memory_object && moved);
Moves the ownership of "moved"'s shared memory to *this. After the call, "moved" does not represent any shared memory. Does not throw
~shared_memory_object();
Destroys *this and indicates that the calling process is finished using the resource. All mapped regions are still valid after destruction. The destructor function will deallocate any system resources allocated by the system for use by this process for this resource. The resource can still be opened again calling the open constructor overload. To erase the resource from the system use remove().
shared_memory_object
public member functionsvoid swap(shared_memory_object && other) ;
void truncate(offset_t length) ;
const char * get_name() const;
bool get_size(offset_t & size) const;
Returns the name of the file used in the constructor
mode_t get_mode() const;
mapping_handle_t get_mapping_handle() const;


|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| fasper.gm.* |
|---|
| fasper.gm.GMLexerTokenTypes | ||
|---|---|---|
public static final int |
ACC |
24 |
public static final int |
COLON |
19 |
public static final int |
COMMA |
16 |
public static final int |
ENDGM |
13 |
public static final int |
EOF |
1 |
public static final int |
EQ |
20 |
public static final int |
HLINE |
18 |
public static final int |
ID |
9 |
public static final int |
INT |
30 |
public static final int |
LBRACK |
15 |
public static final int |
LCURLY |
22 |
public static final int |
LITERAL_argTypeAndValue |
10 |
public static final int |
LITERAL_dutActivationClass |
8 |
public static final int |
ML_COMMENT |
29 |
public static final int |
NULL_TREE_LOOKAHEAD |
3 |
public static final int |
OUT |
7 |
public static final int |
P_VLINE |
31 |
public static final int |
RBRACK |
17 |
public static final int |
RCURLY |
23 |
public static final int |
SEMI |
21 |
public static final int |
SL_COMMENT |
28 |
public static final int |
SLASH |
25 |
public static final int |
START |
4 |
public static final int |
STARTGM |
12 |
public static final int |
STRING |
11 |
public static final int |
TAB |
27 |
public static final int |
TEST |
6 |
public static final int |
TEST_LIST |
5 |
public static final int |
VLINE |
14 |
public static final int |
WS |
26 |
| fasper.gm.GMParserTokenTypes | ||
|---|---|---|
public static final int |
COMMA |
16 |
public static final int |
ENDGM |
13 |
public static final int |
EOF |
1 |
public static final int |
ID |
9 |
public static final int |
LBRACK |
15 |
public static final int |
LITERAL_argTypeAndValue |
10 |
public static final int |
LITERAL_dutActivationClass |
8 |
public static final int |
NULL_TREE_LOOKAHEAD |
3 |
public static final int |
OUT |
7 |
public static final int |
RBRACK |
17 |
public static final int |
START |
4 |
public static final int |
STARTGM |
12 |
public static final int |
STRING |
11 |
public static final int |
TEST |
6 |
public static final int |
TEST_LIST |
5 |
public static final int |
VLINE |
14 |
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |


| File UID | Client | Deadline | Progress | |
|---|---|---|---|---|
| {{ file.$id }} | {{ file.clientUID }} | {{ file.deadline | date: 'medium' }} |
Complete |
| Sr. | File | Company Rating | Company Rating | Your Rating | Your Rating | Given by Name & Company | Time |
|---|---|---|---|---|---|---|---|
| {{$index}} | {{feed.forFile}} | {{feed.companyRatingValue}} | {{feed.companyRatingText}} | {{feed.employeeRatingValue}} | {{feed.employeeRatingText}} | {{feed.givenByName + " of " + feed.givenByCompany + " company"}} | {{feed.timestamp | date: 'medium'}} |


RobotExpressive
Model by Tomás Laulhé. Before using this
model on a project, consider supporting the creator’s Patreon. CC0 1.0.
Modifications by Don McCurdy:
- Added three facial expression morph targets
- Converted with FBX2GLTF
- Removed duplicate materials and reduced material metalness