{#Thoth}, a simple static blog generator.
Meet Thoth
{#Thoth} (or more commonly Thoth) is a new, simple static blog generator written in Swift.
Just write your articles in Markdown, put them in a directory, point Thoth to this directory, add a template, SFTP settings and an output directory, and voilà !
Thoth will generate HTML pages for all articles, drafts, and index, and upload the output to your SFTP.
You can use it as a command-line tool :
$ thoth scribe /path/to/your/blog/folder
or launch it as an application which will display its own prompt :
./Thoth
Welcome in {#THOTH}, a static blog generator.
> scribe /path/to/your/blog/folder
Export done !
Uploading to FTP... Upload done !
> _
Install and setup
Install
You can either download the installer package from the download folder and execute it : Thoth will be installed in /usr/local/bin
, or you can download the sources and compile it using Xcode.
Setup
You can ask Thoth to create a folder containing a config file and all the needed directories by running the command setup /path/to/the/future/blog/directory
. Then, fill the config file with the corresponding information, and register your SFTP password in the OS X keychain using the password /path/to/blog/directory -set "yourPassw0rd"
.
The config file is a plain text file, so you can create it yourself if you prefer (see the Config file section). In all cases, you must fill it before running other Thoth commands.
Don’t forget to add a template in the corresponding folder. You can use the default template, stored in the download folder of this repository.
When you want to generate and upload your site for the first time, use the first /path/to/your/blog/folder
command.
Writing
Each article markdown file should be put in the articles
directory, and follow this header style :
#The title
32/12/2032
The author (optional)
The beginning of the article content starts here. Nullam id dolor id nibh ultricies vehica
ut id elit. Maecenas sed diam eget risus varius blandit sit amet non magna.
For drafts, just replace the date on the second line by the mention draft
. Those files will be treated separately, and listed in an index-drafts.html
file in the output.
Once you have finished writing your article, run the scribe /path/to/blog/folder
command to automatically update the output and upload it. Do the same if you want to preview a draft online, or just call generate /path/to/blog/folder
to generate it in the output folder.
Commands
setup <path>
Creates the configuration files and folders (articles, template, output, ressources) in the indicated directory.
Argument:
<path>
points to the directory where the configurations files and folders should be created.first <path>
Runs the first generation/upload of the site
Argument:
<path>
points to the directory containing the config file of the site to generategenerate <path> [-a|-d|-f]
Generates the site in the specified ouput folder. All existing files are kept. Drafts are updated. New articles are added. Index is rebuilt.
Argument:
<path>
points to the directory containing the config file of the site to generate
Options:-a
rebuilds articles only-d
rebuilds drafts only-f
forces to rebuild everything
upload <path> [-a|-d|-f]
Upload the content of the site to the FTP set in the config file
Argument:
<path>
points to the directory containing the config file of the site to generate
Options:-a
uploads articles only-d
uploads drafts only-f
uploads everything (Warning: the content of the ftp directory where the site content is put will be deleted)
scribe <path> [-a|-d|-f]
Combines generate and upload with the corresponding path and option
Argument:
<path>
points to the directory containing the config file of the site to generate and uploadpassword <path> (-set|-update|-remove) "password"
Manage the password of the SFTP account, stored in the OSX user Keychain
Arguments:
<path>
points to the directory containing the config file of the site to manage
One of the three following operations:-set
creates a keychain entry to store the password associated with the configured SFTP account-update
updates the keychain entry with the new password value-remove
deletes the keychain entry associated with the configured SFTP account
"password"
value of the password, needed when using the -set and -update optionsindex <path>
Regenerates the index.html file.
Argument:
<path>
points to the directory containing the config fileresources <path>
Rebuilds the resources directory.
Argument:
<path>
points to the directory containing the config filecheck <path>
Checks the configuration file.
Argument:
<path>
points to the directory containing the config filehelp
Displays this help text--version
Displays the current Thoth versionlicense
Displays the license textexit
Quits the program
Functionalities
Templates
Create your own HTML templates : Thoth expects at least two files in the template folder: index.html and article.html. All other files and folders will be also copied. Thoth uses a keywords system for inserting your articles content in the template you created or downloaded. Those keywords are simple and easy-to-use. You can use :
{#BLOG_TITLE}
to insert the blog title{#TITLE}
to insert an article title{#AUTHOR}
to insert the author name{#DATE}
to insert the date of an article{#LINK}
to insert a link to an article.{#CONTENT}
to insert the content of an article{#SUMMARY}
to insert a shortened version of an article (200-300 characters max.){#ARTICLE_BEGIN}
and{#ARTICLE_END}
in the index.html template to delimitate the HTML corresponding to an article item in the list.
You can also provide a syntax.html
file containing code for syntax highlighting. It will be inserted in the
section of each article that contains at least a block of code (
...

).
Config file
A simple, human-readable config file. No XML, JSON or YAML. Just a simple flat text file, nothing more. It should be put at the root of your blog folder, along with articles
, template
, output
folders. The current settings are :
the path to the template folder (defaults to
rootPath/template
)
templatePath: /custom/path/to/the/template/folder
the path to the articles folder containing the .md files (defaults to
rootPath/articles
)
articlesPath: /custom/path/to/the/articles/folder
the path where Thoth should output the generated content (defaults to
rootPath/output
)
outputPath: /custom/path/to/the/output/folder
the default author name to use on each article page (defaults to the current Mac user)
defaultAuthor: Simon Rodriguez
the date style used in each article (in the .md file) (defaults to
MM/dd/yyyy
)
dateStyle: dd/MM/YYYY
the title of the blog (defaults to
A new blog
)
blogTitle: My blog !
the default width for each image in articles html pages (defaults to
640
)
imageWidth: 640
set to true if you want each image of an article to link directly to the corresponding file (defaults to
false
)
imagesLinks: true
the sftp address pointing to the exact folder where the output should be uploaded
ftpAdress: domain-sftp.com/folder/for/blog
the sftp username
ftpUsername:
the sftp port to use (defaults to 22)
ftpPort: 22
the online URL of the blog, without
http://
siteRoot: blog.mysite.com
The password for the SFTP access is now stored in the OS X user keychain. See the password
command for more details.
Extended markdown parsing
You can create inline footnotes using the common format :
[^ here's the content of my footnote]
Use the classes footnote-link
and footnote
in your template to style the footnotes links and content, respectively.
You can also easily manage your images size in markdown, either by setting a default width, or defining it using the following syntax :
![alt text](path/to/image.png "800,600,title")
or just
![alt text](path/to/image.png "800,title")
to automatically set the height according to the picture ratio. Pictures from your articles which are stored on your computer are also retrieved by Thoth and copied in article-specific folders, for an easier management.
You can also integrate HTML5 videos in your articles using the following syntax:
?[alt text](http://url/to/video.mp4 "800,600")
(There is not automatic copy of local videos yet.)
Comments and ignored files
In the config file, lines beginning with a #
or a _
will be ignored.
During articles processing and copy, files beginning with _
or #
won’t be processed or copied.
TODO:
- adding support for referenced footnotes
- adding the generation of sitemap.xml ~and feed.xml~ files
- fix unsynchronized logs when uploading
Authors and Contributors
Created in Swift using Xcode by Simon Rodriguez.
See the license file for the licenses of third-party components and libraries.
Support or Contact
Having trouble with Thoth? Contact me at contact[…]simonrodriguez[…]fr and I’ll try to help you.


3D City Visualizer
Controls
File
Upload 3D Models
Browse...
Upload
Load Buildings
Download 3D Models
Download
Customize
Modify Model
Reset
This browser does not seem to support WebGL


[ aws . dynamodbstreams ]
Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), the composition of its shards, and its corresponding DynamoDB table.
Note
You can call describe-stream at a maximum rate of 10 times per second.
Each shard in the stream has a SequenceNumberRange associated with it. If the SequenceNumberRange has a StartingSequenceNumber but no EndingSequenceNumber , then the shard is still open (able to receive more stream records). If both StartingSequenceNumber and EndingSequenceNumber are present, then that shard is closed and can no longer receive more data.
See also: AWS API Documentation
describe-stream
--stream-arn <value>
[--limit <value>]
[--exclusive-start-shard-id <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
The Amazon Resource Name (ARN) for the stream.
The maximum number of shard objects to return. The upper limit is 100.
--exclusive-start-shard-id (string)
The shard ID of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedShardId in the previous operation.
--cli-input-json (string) Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI values will override the JSON-provided values.
--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.
StreamDescription -> (structure)
A complete description of the stream, including its creation date and time, the DynamoDB table associated with the stream, the shard IDs within the stream, and the beginning and ending sequence numbers of stream records within the shards.
StreamArn -> (string)
The Amazon Resource Name (ARN) for the stream.StreamLabel -> (string)
A timestamp, in ISO 8601 format, for this stream.
Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:
- the AWS customer ID.
- the table name
- the StreamLabel
StreamStatus -> (string)
Indicates the current status of the stream:
- ENABLING - Streams is currently being enabled on the DynamoDB table.
- ENABLED - the stream is enabled.
- DISABLING - Streams is currently being disabled on the DynamoDB table.
- DISABLED - the stream is disabled.
StreamViewType -> (string)
Indicates the format of the records within this stream:
- KEYS_ONLY - only the key attributes of items that were modified in the DynamoDB table.
- NEW_IMAGE - entire items from the table, as they appeared after they were modified.
- OLD_IMAGE - entire items from the table, as they appeared before they were modified.
- NEW_AND_OLD_IMAGES - both the new and the old images of the items from the table.
CreationRequestDateTime -> (timestamp)
The date and time when the request to create this stream was issued.TableName -> (string)
The DynamoDB table with which the stream is associated.KeySchema -> (list)
The key attribute(s) of the stream's DynamoDB table.
(structure)
Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.
A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key (partition key) would be represented by one KeySchemaElement . A composite primary key (partition key and sort key) would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.
Note
The partition key of an item is also known as its hash attribute . The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.
The sort key of an item is also known as its range attribute . The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.
AttributeName -> (string)
The name of a key attribute.KeyType -> (string)
The attribute data, consisting of the data type and the attribute value itself.Shards -> (list)
The shards that comprise the stream.
(structure)
A uniquely identified group of stream records within a stream.
ShardId -> (string)
The system-generated identifier for this shard.SequenceNumberRange -> (structure)
The range of possible sequence numbers for the shard.
StartingSequenceNumber -> (string)
The first sequence number.EndingSequenceNumber -> (string)
The last sequence number.ParentShardId -> (string)
The shard ID of the current shard's parent.LastEvaluatedShardId -> (string)
The shard ID of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.
If LastEvaluatedShardId is empty, then the "last page" of results has been processed and there is currently no more data to be retrieved.
If LastEvaluatedShardId is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedShardId is empty.


Particle Text
Feel free to change the message below, then customize it to your liking.
Message:
Gravity:
Duration:
Speed:
Radius:
Resolution:


In some of my previous posts I’ve used a numbers table, like one holding values 1, 2, 3, …, 255. Such table can be used for string walking, joining with other tables, performing iterations.
The existence of number tables has always been a little pain. Yes, they’re very, very simple, but they need to be there. So if you just need to script some SQL query, you may find that you need to create such tables. Ummm… this means you need to have privileges (at least CREATE TEMPORARY and INSERT, if not CREATE).
The other day, Baron Schwartz posted How to round to the nearest whole multiple or fraction in SQL. In an offhand way, he generated some random numbers using the mysql.help_topic table. I then realized that post solved something I’ve been looking for: using a sure-to-exist table on any MySQL installation.
My other half says I’m losing it. But I think that as an enthusiast kernel developer she doesn’t have the right to criticize people. (“I like user space better!” - she exclaims upon reading this).
Shown below is a (single query) SQL-generated pie chart. I will walk through the steps towards making this happen, and conclude with what, I hope you’ll agree, are real-world, useful usage samples.
+———————————————————————-+
| pie_chart |
+———————————————————————-+
| |
| ;;;;;;;;;;;;;;;;;;;;; |
| oooooooo;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| oooooooooooooo;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| ooooooooooooooooo ;;;;;;;;;;;;##### |
| oooooooooooooo ;############# |
| oooooooooooo ############ |
| oooooooooooo ############ |
| ooooooooooo ########### |
| oooooooooooo :::::::::::: |
| oooooooooooo :::::::::::: |
| ooooooooo::::: :::::::::::::: |
| o:::::::::::::::: ::::::::::::::::: |
| ::::::::::::::::::::::::::::::::::::::::::::: |
| ::::::::::::::::::::::::::::::::::: |
| ::::::::::::::::::::: |
| |
| ## red: 1 (10%) |
| ;; blue: 2 (20%) |
| oo orange: 3 (30%) |
| :: white: 4 (40%) |
+———————————————————————-+
Requirements
We need a generic query, which returns at least these two columns: name_column and value_column. For example, the following query will do:
SQL is not meant to generate graphics, for sure; but I see some cases where generating non-tabular output can be desirable, as I will show in future posts.
I’d like to explain the basics of working SQL graphics: it is actually possible to do whatever you like. How?
Coordinates system
We’ll now develop a coordinates system using SQL. By producing this, I will have proven my point that anything is possible, and will provide an additional proof of concept.
To start with generating coordinates, I’ll need a helper table: a numbers table (tinyint_asc, example, with numbers ranging 0..255).
We’ll strive to produce a 10x10 coordinate matrix. To do this, we’ll self-join the numbers table against itself, and use a helper variable to set the size of the matrix.
[Clarification: I’m not actually asking you to vote for me :D, the title just follows a previous post]
Diego Medina has published a JavaScript code that can be embedded in your blog posts, and which allows for voting on Planet MySQL from within your blog.
Shared below is how to set this up for WordPress users. This is not a WordPress plugin, mind you. You’ll need to manually edit the WordPress template files (can be done from the Dashboard->Appearance->Editor->Single post).
The page you’re likely to edit is single.php, but depending on your template this can change. The explanation below assumes a single post page. This can also be worked out for your blog’s home page, which lists several entries.
Since there is no point in presenting the Planet MySQL voting widget for entries which do not relate to MySQL, the code verifies that the post is in the ‘MySQL’ category. You need to change this if your categorization differs. Mind that the category’s name is case sensitive.
I wish to present some compelling reasons to use the InnoDB plugin. The plugin is a drop-in replacement for “normal” InnoDB tables; enabling many new features. It is the outcome of a long termed silence from InnoBase (Oracle), which were thought to be neglecting the InnoDB engine.
I’m going to leave out “performance” for the reason that grander forces have benchmarked and written about it.
Compression
Using the new Barracuda table format, table data can be compressed. Compression depends on the type of data you have in your table, and in KEY_BLOCK_SIZE. I have found tables with lots of textual data to compress well, to about 25% volume (that is, reduction of 75%), and strictly integer-typed tables (like an a-2-b connecting table) to compress poorly.
I have seen an InnoDB 50GB database shrink into some 12GB only. Wow! That meant a server which only had RAID 1 two 72GB disks, and which was dangerously filled up with disk space, could now accommodate the database, a backup, and then some!
I wasn’t sure I was to go this far. After catching breath the following have been added to Generic, auto scaling, scaled SQL graphs, and these will conclude my current hacks:
- Displaying X-axis min/max values.
- Support for Y-axis values precision.
- Support for pre-defined scale range.
The addition of the above makes for presentable, usable graphs. See also sample graphs at the end of this post.
Step 8: adding X-axis values
I add minimum/maximum X-scale values to the graph. What was just ordering_column before, now turns to be the x in the y = f(x) function.
In Rotating SQL graphs horizontally, I have shown how to rotate an ASCII SQL graph into horizontal position.
I was dissatisfied with some parts of the solution, which I will show now how to fix:
- I had to manually scale the graph values so as to fit nicely into screen.
- I had to rely on hard coded scaling schemes.
- I had to rely on hard coded column names.
- I had no y-axis legend.
I will now present an SQL query which allows for pluggable queries, which creates self, auto scaling graphs, along with y-axis scales.
Using deeply nested subqueries, we will evolve a simple SELECT query into an elaborate graph. I will present the many steps required, followed by explanations and sample results. But in the end - the steps are unimportant. I’ll present a generic query, into which your own SELECT can be embedded, and which will provide you with the graph.
We’ll use the same example, found in graph.sql.
We all love graphs. We all love SQL hacks. We all know the SQL hack which displays a character-based graph (example follows for those unfamiliar).
But we all love horizontal graphs, not vertical ones. We are used to the X axis being horizontal, Y being vertical. Not vice versa.
In this post I’ll present a SQL hack which rotates a vertical graph to horizontal. In fact, the technique shown will rotate any ‘textual image’; but graphs are a nice example.
A vertical graph example
What’s prettier than a sinus curve? I have prepared a simple table that will serve nicely, and can be found in graph_tables.sql.
When building web sites, a popular demand is a maximum page load time.
For example, many would require < 0.5 seconds (or even less) for major pages loading time. Of course, there are numerous factors for page load time: network, caching, web servers, scripting language/code, database access and more.
Naturally I want to discuss the use of database access when creating web pages. I’ll be referring to dynamic web pages, such that are created by common languages as PHP, Java/J2EE, Ruby, ASP(.NET) etc.
A very common programming style is - what’s called in the Java jargon - using “scriptlets” as in the following JSP page:
<html>
<body>
Time now is <%= new java.util.Date() %>
</body>
</html>
The above replaces the “<%= new java.util.Date() %>” part with a text representation of the current time.
If I were to produce a dynamic content site, say, a WordPress blog, like the one you’re reading, I would need to generate several dynamic contents: the latest posts, the popular tags, the comments for this post, etc. These are generated by calling upon the database and running some queries. I suppose there’s nothing new in what I’ve explained so far.
The problem
When generating a “heavyweight” page, like some online newspaper or bookstore, there may be many queries involved. Are you logged in? Do we have recommendations for you? What are the latest topics? What have you been interested in before? Do you have friends online? What content have you produced on the website?
Unless specified otherwise, latin1 is the default character set in MySQL.
What I usually find in schemes are columns which are either utf8 or latin1. The utf8 columns being those which need to contain multilingual characters (user names, addresses, articles etc.), and latin1 column being all the rest (passwords, digests, email addresses, hard-coded values etc.)
I find latin1 to be improper for such purposes and suggest that ascii be used instead. The reason being that latin1 implies a European text (with swedish collation). It is unclear for an outsider, when finding a latin1 column, whether it should actually contain West European characters, or is it just being used for ascii text, utilizing the fact that a character in latin1 only requires 1 byte of storage.


Database Objects
Contains classes needed to construct Database Objects, like Tables, Fields, Rows etc.


|
I wrote this library in order to understand Fuzzy Logic.
It mainly implements the draft version of the IEC 1131-7 Fuzzy Control Programming paper.
It took me the evening and weekend hours of about one month to implement.
- The Fuzzy Control Language up to second (Extension) level, except for the items in the next section.
- Fuzzy (Linguistic) Variables
- Piecewise linear sets (triangular, trapezoidal, etc.) and singleton sets. It is possible to use variables in set definitions. It is possible to create any set with the piecewise linear sets.
- Fuzzification and Defuzzification. I implemented the COG, COGS, MOM, RM and LM defuzzification methods. Default values and ranges are supported.
- Operator definitions: MAX/MIN, ASUM/PROD, and BSUM/BDIF.
- Activation methods: PROD and MIN.
- Accumulation methods: Only MAX.
- Rules: All FCL expressions are possible, including compound expressions (i.e.
- The COA defuzzification method; because it proved too complicated for me.
- The BSUM and NSUM accumulation methods: because I have no idea how they should
be implemented (with regard to the defuzzification process that follows it)
and I am not even sure what they should do exactly
- The OPTIONS / END_OPTIONS block: no idea what their syntax should be
I haven't used Fuzzy Logic yet, but I do have some things to say about it.
- Apparently it is used mainly for microcontrollers and such devices
and to a much lesser degree in games and large scale applications. That surprised me.
- Fuzzy Logic provides a great way to combine the results of several conflicting production rules. What I miss however, is some factor you can use to
specify the importance of a rule. At this time all rules seem to be of the same importance, and I suppose that can be a nuisance.
- I have only seen the draft version of the FCL specification, but I noticed that the accumulation of the results of different ruleblocks is not defined.
If several ruleblocks use different methods of accumulation, which method is used to accumulate all result sets that are created in the execution of the rules.
// Create a Fuzzy Logic Model (the container for all parts)
CFuzzyModel Model;
// Load some fcl file to fill the model
Model.Load("files/example.fcl");
// set the contents of the input variables
Model.GetVariable("Our_Health")->SetValue(25);
Model.GetVariable("Enemy_Health")->SetValue(75);
// calculate the new value of the output variables
Model.Update();
// Print the output variable's value
float Crisp = Model.GetVariable("Aggressiveness")->GetValue();
printf("agressiveness: %f \n", Crisp);
Somehow all these sites only provide part of the puzzle. And even with all the pieces, there still remain some (excusez) fuzzy areas.
- IEC 1131-7 Fuzzy Control Programming The "Committee Draft" of the official FCL specification by the IEC. The final version costs somewhat over 100 euro's.
- Free Fuzzy Logic Library A C++ Fuzzy Logic implementation
which has been a great inspiration to me, although I have done the implementation completely different. I hope this Michael Zarozinski dude
will find the time to finish his library, because it still misses some important parts.
- FuzzyJ ToolKit A Java Fuzzy Logic implementation.
- Lotfi A. Zadeh, the inventor of Fuzzy Logic.
- Fuzzy Logic FAQ Fuzzy Logic and Fuzzy Expert Systems 1/1 FAQ.
- The Fuzzly Logic usegroup I haven't really looked at it yet.
|
|


| Package | com.whirled |
| Class | public class DataPack |
| Inheritance | DataPack BaseDataPack flash.events.EventDispatcher |
| Method | Defined by | ||
|---|---|---|---|
|
DataPack(source:Object, completeListener:Function = null, errorListener:Function = null)
Construct a DataPack to be loaded from the specified source.
| DataPack | ||
|
close():void
If the DataPack is still loading, stop it, otherwise has no effect.
| DataPack | ||
|
getArray(name:String):Array
Convenience function to access some data as an Array.
| BaseDataPack | ||
|
getBoolean(name:String):Boolean
Convenience function to access some data as a Boolean.
| BaseDataPack | ||
|
getColor(name:String):uint
Convenience function to access some data as a color (uint).
| BaseDataPack | ||
|
getData(name:String, formatType:String = null):*
Get some data, optionally formatted as a different type than that specified in the data xml.
| BaseDataPack | ||
|
getDisplayObjects(sources:Object, callback:Function, appDom:ApplicationDomain = null):void
Get some display objects in the datapack.
| DataPack | ||
|
getFile(name:String):ByteArray
Get a File, as a ByteArray.
| BaseDataPack | ||
|
getFileAsString(name:String):String
Get a File, as a String.
| BaseDataPack | ||
|
getFileAsXML(name:String):XML
Get a File, as an XML object.
| BaseDataPack | ||
|
getInt(name:String):int
Convenience function to access some data as an int.
| BaseDataPack | ||
|
getLoaders(sources:Object, callback:Function, appDom:ApplicationDomain = null):void
Get Loaders containing the specified files from the datapack.
| DataPack | ||
|
getNumber(name:String):Number
Convenience function to access some data as a Number.
| BaseDataPack | ||
|
getPoint(name:String):Point
Convenience function to access some data as a Point.
| BaseDataPack | ||
|
getRectangle(name:String):Rectangle
Convenience function to access some data as a Rectangle.
| BaseDataPack | ||
|
getString(name:String):String
Convenience function to access some data as a String.
| BaseDataPack | ||
|
isComplete():Boolean
Has the loading of the datapack completed?
| BaseDataPack | ||
|
load(sources:Object, completeListener:Function):void
[static]
A static helper method to load one or more DataPacks without using any event listeners.
| DataPack |
| Method | Defined by | ||
|---|---|---|---|
|
bytesAvailable(bytes:ByteArray):void
Read the zip file.
| DataPack | ||
|
extractStringValue(datum:XML, valueField:String = "value"):*
Extract from the datum either a String, null, or undefined.
| BaseDataPack | ||
|
getDatum(list:XMLList, name:String):XML
Fucking hell.
| BaseDataPack | ||
|
parseValueFromString(string:String, type:String):Object
| BaseDataPack |
| Event | Summary | Defined by | ||
|---|---|---|---|---|
| Dispatched when the DataPack has completed loading. | DataPack | |||
| Dispatched when the DataPack could not load due to an error. | BaseDataPack |
| DataPack | () | constructor |
public function DataPack(source:Object, completeListener:Function = null, errorListener:Function = null)
Construct a DataPack to be loaded from the specified source. Note that passing a ByteArray will result in a DataPack that is instantly complete.
Parameterssource:Object — a url (as a String or as a URLRequest) from which to load the
DataPack, or a ByteArray containing the raw data, or a Class.
|
|
completeListener:Function (default = null ) — a listener function to automatically register for COMPLETE events.
|
|
errorListener:Function (default = null ) — a listener function to automatically register for ERROR events.
|
— if urlOrByteArray is not of the right type.
|
| bytesAvailable | () | method |
protected override function bytesAvailable(bytes:ByteArray):void
Read the zip file.
Parametersbytes:ByteArray |
| close | () | method |
public function close():void
If the DataPack is still loading, stop it, otherwise has no effect. It would be a good idea to call this during your UNLOAD handling.
| getDisplayObjects | () | method |
public function getDisplayObjects(sources:Object, callback:Function, appDom:ApplicationDomain = null):void
Get some display objects in the datapack. Note: With the move to flash 10, it's now illegal to "reparent" a SWF that was compiled with AVM1 (flash 8, or newer but compiled as actionscript 1/2). It will work fine in flashplayer 9, but in flashplayer 10 it will give a runtime error. The workaround is to use getLoaders() instead, and add the Loader to your hierarchy.
Parameterssources:Object — an Object containing keys mapping to the names of the display objects to load.
|
|
callback:Function — a Function that will be called when all the display objects
are loaded (or were unable to load).
Signature: function (results :Object) :void
results will contain a mapping from name -> DisplayObject, or null if none.
|
|
appDom:ApplicationDomain (default = null ) — The ApplicationDomain in which to load the DisplayObjects. The default value
of null will load into a child of the current ApplicationDomain.
|
| getLoaders | () | method |
public function getLoaders(sources:Object, callback:Function, appDom:ApplicationDomain = null):void
Get Loaders containing the specified files from the datapack. These Loaders will hold the DisplayObject or Image files, and can be safely added to your display hierarchy without causing any errors, even if loading an AVM1 swf.
Parameterssources:Object — an Object containing keys mapping to the names of the display objects to load.
|
|
callback:Function — a Function that will be called when all the display objects
are loaded (or were unable to load).
Signature: function (results :Object) :void .
results will contain a mapping from name -> Loader, or null.
|
|
appDom:ApplicationDomain (default = null ) — The ApplicationDomain in which to load the DisplayObjects. The default value
of null will load into a child of the current ApplicationDomain.
|
| load | () | method |
public static function load(sources:Object, completeListener:Function):void
A static helper method to load one or more DataPacks without using any event listeners. Take a deep breath and then read the parameter documentation.
Parameterssources:Object — can be a String (representing a URL), or a URLRequest object, or a
ByteArray containing an embedded DataPack, or a Class object that will instantiate
with no args into a ByteArray or (unlikely) a URLRequest. Orrrrrr, sources can be
an Array, Dictionary or plain Object containing primary kinds of sources as the values.
|
|
completeListener:Function — a function with the signature:
function (result :Object) :void;
If you passed in only a single source, then this completeListener is called and provided
with a result of either a DataPack (for a successful load) or an Error object.
If it's an Error but your function only accepts a DataPack, an error message will be
calmly logged. If your sources was an Array, Dictionary, or Object then the result will
be an object of the same type, with the same keys, but with each value being either a
DataPack or an Error.
|
function gotDataPack (result :Object) :void { if (!(result is DataPack)) { // result must be an Error trace("Why? Oh why!? .. Oh: " + result); return; } var pack :DataPack = (result as DataPack); // _weapon is something set up outside the scope of this example _weapon.name = pack.getString("name"); _weapon.astonishmentPoints = pack.getNumber("ap"); // etc. } // ok, the function is set up, let's load the DataPack var itemInfos :Array = _gameCtrl.getItemPacks(); for each (var itemInfo :Object in itemInfos) { if (itemInfo.ident == "bubblePopper") { DataPack.load(itemInfo.mediaURL, gotDataPack); break; } }
| complete | event |


I develop fast interactive front ends, using the latest technologies and techniques to reduce page load time. I use my knowledge and tools to save time in development, including preprocessors and frameworks to kick start a project.
HTML5, CSS3, JS
AngularJS
Wordpress
Git
Atom / Sublime
Gulp
Sass, Compass


After you've played an exploration, why not try your hand at making one? To do so, hover over your profile photo in the top right corner and click on “Creator Dashboard.” From there, click the “Create Exploration” button.
This will open the Exploration Editor page.
The page asks for two things:
Once you've done that, a blue button will appear in the bottom left. Click it to add interactions such as equations, math expressions, maps, buttons and menus. Click here to learn how to plan an exploration or follow one of the links in the left side bar to learn more about how to edit, improve and publish your exploration.


First tape from band with Adam Buffington. Pleasant or excrutiating sample mangling and repurpose effort. Follow-up in 2023. Edition of 50.
Solo disc from Corephone. Experimentation with feedbacking paths. Multiple attempts, all on record - deviations, too. Documented by diagram. Edition of 25.


Keep your life in sync Wunderlist 2.0 is the easiest way to get stuff
done. Whether you’re planning a holiday, sharing a shopping list with a
partner or managing multiple work projects, Wunderlist 2.0 is here to help
you tick off all your personal and professional to-dos.
Plan for Anything
Organize and share your to-do, work, grocery, movies and household
lists. No matter what you’re planning, how big or small the task may
be, Wunderlist 2.0 makes it super easy to get stuff done.
Get adequate Sleep
Keep track of your sleeping habits. A good night’s sleep can enhance your memory
and problem-solving skills. Maintaining a healthy sleep schedule helps you
stay motivated, alert, and engaged. A full night’s sleep can help your mood and even
prevent feelings of depression.


Bumper Super Blaster
Undercarriage Wash
Rocker Panel Super Blaster
Double Pass Hot Foaming Presoak
Foaming Conditioner
High Pressure Wash
Carnauba Wax
Clear Coat Protectant
Spot Free Rinse
Dry
Seasonal Prep Bug/Salt Remover
Carnauba Wax
Ceramic Wax
Bumper Super Blaster
Each of our 4 self serve bays are equipped with a high pressure wash wand and foaming wash brush. For convenience all bays accept cash or credit cards.
Our Self Serve Industrial Truck bay has a height clearance of 14 feet and can easily accommodate the largest of trucks, buses, campers and even 18 wheelers. Our large parking lot provides easy access for all trucks.
Washing your dog can be challenging at home so we provide everything you need with our new do it yourself dog wash station that accommodates all breeds and sizes. This is available to you 24 hours, 7 days a week and no appointment is necessary.
Our easy get in and out elevated dog wash station has a latched door, non-slip mat and tie-out to keep your furry friend safely contained. Comfortable warm water, high quality all natural oatmeal shampoo, flea and tick shampoo, skunk odor remover, conditioner and a high and low blow dryer.
High-powered self-service vacuums are located adjacent to the building. All vacuums accept credit cards, cash or coin operated and a change machine is available on site. They are a great value for those looking to clean the interior of their vehicle.


This is a JavaScript library that provides methods for coordinate transformations between map projections and longitude/latitude, including datum transformations, in a web client.
To use the Proj4js, you first create a source and destination Proj4js.Proj objects, passing in a projection code (e.g. EPSG:4326). You can then use the Proj4js.transform() method, passing in map XY as a point object and the source and destination projection objects, and it returns the point coordinate in the destination projection.


public class BluetoothPeripheralManager
extends java.lang.Object
| Constructor and Description |
|---|
BluetoothPeripheralManager(@NotNull Context context,
@NotNull BluetoothManager bluetoothManager,
@NotNull BluetoothPeripheralManagerCallback callback)
Create a BluetoothPeripheralManager
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(@NotNull BluetoothGattService service)
Add a service to the peripheral
|
void |
cancelConnection(@NotNull BluetoothCentral bluetoothCentral)
Cancel a connection to a Central
|
void |
close()
Close the BluetoothPeripheralManager
Application should call this method as early as possible after it is done with
this BluetoothPeripheralManager.
|
@Nullable BluetoothCentral |
getCentral(@NotNull java.lang.String address) |
@NotNull java.util.Set<BluetoothCentral> |
getConnectedCentrals()
Get the set of connected Centrals
|
@NotNull java.util.List<BluetoothGattService> |
getServices()
Get a list of the all advertised services of this peripheral
|
boolean |
notifyCharacteristicChanged(@NotNull byte[] value,
@NotNull BluetoothGattCharacteristic characteristic)
Send a notification or indication that a local characteristic has been
updated
|
boolean |
remove(@NotNull BluetoothGattService service)
Remove a service
|
void |
removeAllServices()
Remove all services
|
void |
startAdvertising(@NotNull AdvertiseSettings settings,
@NotNull AdvertiseData advertiseData,
@NotNull AdvertiseData scanResponse)
Start Bluetooth LE Advertising.
|
void |
stopAdvertising()
Stop advertising
|
public BluetoothPeripheralManager(@NotNull @NotNull Context context, @NotNull @NotNull BluetoothManager bluetoothManager, @NotNull @NotNull BluetoothPeripheralManagerCallback callback)
context
- the application contextbluetoothManager
- a valid BluetoothManagercallback
- an instance of BluetoothPeripheralManagerCallback where the callbacks will be handledpublic void close()
public void startAdvertising(@NotNull @NotNull AdvertiseSettings settings, @NotNull @NotNull AdvertiseData advertiseData, @NotNull @NotNull AdvertiseData scanResponse)
advertiseData
will be broadcasted if the
operation succeeds. The scanResponse
is returned when a scanning device sends an
active scan request. This method returns immediately, the operation status is delivered
through BluetoothPeripheralManagerCallback.onAdvertisingStarted(AdvertiseSettings)
or BluetoothPeripheralManagerCallback.onAdvertiseFailure(AdvertiseError)
.settings
- the AdvertiseSettingsadvertiseData
- the AdvertiseDatascanResponse
- the ScanResponsepublic void stopAdvertising()
public boolean add(@NotNull @NotNull BluetoothGattService service)
Once a service has been added to the list, the service and its included characteristics will be provided by the local peripheral.
If the local peripheral has already exposed services when this function
is called, a service update notification will be sent to all clients.
A callback on BluetoothPeripheralManagerCallback.onServiceAdded(com.welie.blessed.GattStatus, BluetoothGattService)
will be received when this operation has completed
service
- the service to addpublic boolean remove(@NotNull @NotNull BluetoothGattService service)
service
- the service to removepublic void removeAllServices()
@NotNull public @NotNull java.util.List<BluetoothGattService> getServices()
public boolean notifyCharacteristicChanged(@NotNull @NotNull byte[] value, @NotNull @NotNull BluetoothGattCharacteristic characteristic)
A notification or indication is sent to all remote centrals to signal that the characteristic has been updated.
characteristic
- the characteristic for which to send a notificationpublic void cancelConnection(@NotNull @NotNull BluetoothCentral bluetoothCentral)
bluetoothCentral
- the Central@NotNull public @NotNull java.util.Set<BluetoothCentral> getConnectedCentrals()
@Nullable public @Nullable BluetoothCentral getCentral(@NotNull @NotNull java.lang.String address)


column-count: 2;

This quote from Herman Melville's classic novel echoes tales told throughout recent centuries --
stories in which the great sperm whale is labeled "leviathan," "monster,"
and "beast." For hunters, until as recently as the the late 1980s, slaughtering these
whales with harpoons was not only good business, but an act of bravery. Whaling is a treacherous
business: at an average of 62 feet long, the sperm whale (Pyseteridae catadon) is the largest
of all toothed whales and a fearsome adversary.
Yet beneath the surface, sperm whales possess more than intimidating girth. As you see in the NATURE
program SPERM WHALES: THE REAL MOBY DICK, the efforts of Jonathan Gordon and other researchers to study
the whales' physicality, modes of communication, and social interactions contribute to our understanding
of the underwater world.
A giant among marine mammals, a male sperm whale weighs between 40 and 60 tons. Smaller females reach
a maximum weight of only 18 tons and measure about 35 feet. Both sexes are born with thick gray skin
that darkens in color with age. As a whale matures, this thick covering may bear the scars caused by
hunters' weapons, fights over dominance, or wounds picked up while defending young. One of the
whales Dr. Gordon tracks on NATURE, an enormous adult male named Big Hal, carries on his forehead
numerous scars of previous battles with rival bulls over females.
The sheer size of a sperm whale is overwhelming. Its submarine-shaped bulk is capped with a huge,
blunt-edged head, a full third of its body.
Two whales
Whales communicate with each other by clicking. This head is actually a sophisticated communications
center. Scientists believe that whales' heads contain organs that broadcast and receive the loud
clicks, called "clangs," that form their language. This clicking noise is sent and received much
like sonar on a submarine.  As Jonathan Gordon explains, "It's the sound of the clicks
bouncing around inside its head."
Sperm whales "echo-locate" by bouncing a click sound off an object, such as a squid,
and timing how long it takes for the echo to travel back to them. The whale can then judge the
distance to its next meal in the darkest of waters. Male adults also use loud clicks to announce
their presence with authority, while mothers and their young click to stay in communication. Thus
connected, a cow can leave her offspring alone while she dives for food.


--- layout: post title: Dropbox date: 2010-10-07 21:35:12.000000000 +05:30 type: post published: true status: publish categories: - Tech Bytes tags: - dropbox - stuff meta: _edit_last: '1' _aioseop_title: Dropbox loves Students offer to double referral space _aioseop_keywords: 'dropbox, referral, students, double ' dsq_thread_id: '477781333' _thumbnail_id: '838' dsq_needs_sync: '1' author: login: satyadeep email<EMAIL_ADDRESS>display_name: Satyadeep first_name: Satyadeep last_name: K ---
Is your Dropbox space just sufficient for you to sync your projects and assignments? You want to carry all your sweet memories and videos of college life with you and feeling that the current free space is not enough?
The popular file synchronisation and backup tool Dropbox reaches out more to students by giving away double the referral credit i.e 500 MB of extra space for each referral invite instead of 250 MB! This also applies to the referrals already invited. So the maximum space you can get now is 18 GB (2 GB free + 16 GB referral) instead of 10 GB (2 + 8 GB) if you are a student.
For this you do not need to register Dropbox with your college/school email id. Just proceed to here after logging in with your existing Dropbox id and then fill out your college email id ( for example<EMAIL_ADDRESS>if you are from IIT Guwahati) and a confirmation will be sent to that id. After confirming it, you are done and the space will be added instantly. Dropbox has already added several college domains to their database and you can submit a ticket if your college email is not accepted.
 If you are already a passed out alumni, try to get your college email id redeemed to avail this :P
Helpful Links:


Home
Wallets
Wallet
Wallet
Transfer Funds from Bank Account to Wallet
Transfer Estacoin to Another Wallet


{% extends "base.html" %}
{# HTML with typical page structure, not necessarily an apostrophe-pages page document #}
{% block body %}
{% block adminBar %}
{% if doNotEdit %}
This is the staging version of this site. Any changes you make to the content should be for testing purposes only.
{% endif %}
{# For the sandbox demo we show a login link, but usually this whole bar is hidden #}
{# {% if edit or editSnippet or editBlogPost or editMapLocation %} #}
{# {% endif %} #}
{% endblock %}
{# "Why are you doing this? Why not just have the inner layout extend the outer one?" #}
{# Because nunjucks doesn't yet support conditional extends and we want to support #}
{# AJAX refreshes of the main content area. -Tom #}


1 In the name of Allah, the Beneficent, the Merciful.
2 Praise be to Allah, Lord of the Worlds,
3 The Beneficent, the Merciful.
4 Master of the Day of Judgment,
5 Thee (alone) we worship; Thee (alone) we ask for help.
6 Show us the straight path,
7 The path of those whom Thou hast favoured; Not the (path) of those who earn Thine anger nor of those who go astray.


NOW stands for
No kidding, we really mean it.
First of all, NOW_ stands for you. Whether you are a freelancer, an employee, a young startup founder, a student, an entrepreneur, an artist or everything at once.
We nurture it the only way it can be done: taking part of it.
We take care of you from the very first day with us.
Network? Income? Learning? Let us know where you want to go and we will support you. You are not just another coworker.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.


vignettes/rad_aero_19.Rmd
rad_aero_19.Rmd
These course materials were developed for the 3d Radar Aeroecology Training School, Jul 30 - Aug 2 2019, University of Oklahoma, Norman, OK, USA.
Radar data needed for this practical can be downloaded here.
Follow bioRad’s install instructions, and install the latest development version to be fully up-to-date.
Execute each of the code examples provided below in RStudio, and try to complete the exercises.
# make sure you start with a fresh R session # load the bioRad package library(bioRad) # check the package version packageVersion("bioRad")
Make sure you have the latest version (<IP_ADDRESS>43). If you have an older version, download and reinstall as follows:
library(devtools) install_github("adokter/bioRad")
All bioRad’s functions are documented in an extensive function refererence online, as well as in manual pages within R:
# bring up the package general help page: ?bioRad
Start by making a new directory on your local machine that you will use for this practical:
# make a new local directory on your machine where to download data for this practical # replace the string below with the path of that directory: HOME <- "your/personal/working/directory/" # check that the directory exists. If the next statement evaluates to FALSE, something went wrong: the directory does not exist or you didn't specify its path correctly file.exists(HOME) # we will make HOME our work directory, the default folder in which R will look # for files, and where it will output newly generated files. setwd(HOME) # Finally, we set the local time zone to UTC, so all plotted time axes will be in UTC Sys.setenv(TZ = "UTC")
Your R session is now properly set up.
To work with US NEXRAD data, bioRad currently requires a working installation of Docker (Linux/Mac) or Docker for Windows (not Docker Toolbox, this is an older implementation of Docker for Windows operating systems that is not supported). If you managed to successfully install Docker, test whether it works:
# start your local Docker installation # we first test whether R can communicate with Docker: check_docker()
The message “running docker image with vol2bird version 0.4.0” indicates everything is working.
If you did not manage to install Docker, you will be able to continue with all of below exercises, but not be able to load NEXRAD data into R at this time.
# the bioRad package comes with an example radar volume file, that we will inspect first # first locate this example file on our computer: my_filename <- system.file("extdata", "volume.h5", package = "bioRad") # print the local path of the volume file: my_filename # load the file into R: my_pvol <- read_pvolfile(my_filename) ## print some information about the polar volume my_pvol # print information about the polar scans contained in this polar volume: my_pvol$scans
Exercise 1: Load the polar volume file, example_pvol.h5
from the files downloaded in section 1.1. Put it in your working directory and load it into R. What is the minimum and maximum scan elevation contained in the volume? And which scan parameters are available? (See manual page of the read_pvolfile()
function for the nomenclature of various available quantities).
# (if you haven't done so already) load the polar volume data from the example_pvol.h5 file you just downloaded my_pvol <- read_pvolfile("example_pvol.h5") # let's extract the third scan, which was collected at 1.5 degree elevation: my_scan <- my_pvol$scans[[3]] # print some information about this scan: my_scan # let's plot the reflectivity factor parameter of the scan in a range - azimuth coordinate system: plot(my_scan, param = "DBZH")
Usually it is more intuitive to explore radar scans as a PPI (plan position indicator), which is a projection of the scan on a Cartesian (X,Y) or (lat,lon) grid:
# before we can plot the scan, we need to project it on a Cartesian grid, # i.e. we need to make a Plan Position Indicator (PPI) my_ppi <- project_as_ppi(my_scan) # print some information about this ppi: my_ppi # you can see we projected it on a 500 meter grid # (check the manual of the project_as_ppi function to see how you can # change the grid size (argument grid_size) and the maximum distance # from the radar up to where to plot data (argument range_max)) # # Now we are ready to plot the ppi, for example let's plot reflectivity factor DBZH: plot(my_ppi, param = "DBZH")
Exercise 2: This case contains convective precipitation, characterized by localized but intense thunderstorms, as well as biological scattering. Make also a ppi plot of the correlation coefficient (RHOHV) and radial velocity (VRADH). Verify how the texture of the radial velocity, and the values of correlation coefficient of the precipitative areas differs from the areas with biological scattering.
Exercise 3: Based on the radial velocity image, are the biological scatterers birds or insects? Why?
# It is often informative to plot radar data on a base layer. # first download the background image: basemap <- download_basemap(my_ppi) # then overlay the PPI on the satellite image, restricting the color scale from -20 to 15 dBZ: map(my_ppi, map = basemap, param = "DBZH", zlim = c(-20, 15))
bioRad provides several functions to convert radar scans to other common spatial formats in R (cf. package raster
and package sp
), see scan_to_raster()
and scan_to_spatial()
, allowing you to process and overlay the radar data further with these spatial analysis toolkits.
In this section you will learn to compute, interpret and analyze vertical profiles (vp). A vp consists of the (bird) density, speed and directions at different altitudes at the location of a single radar. It is typically calculated for all data within a cylinder of 35 km radius around the radar, i.e. only containing data at relatively short distances, where the radar beam is still sufficiently narrow to resolve altitude information.
Section 3 has examples that show how to process polar volume data into vertical profiles. To save time, we will start below with a list of pre-processed vertical profiles for the Brownsville radar in Texas (KBRO).
# Usually we would load processed vertical profiles (vp files) by: # my_vplist <- read_vpfiles("./your/directory/with/processed/profiles/goes/here") # my_vplist contains after running the command a list of vertical profile (vp) objects # To save time, we load these data directly from file load("KBRO20170514.RData") # print the length of the vplist object. It should contain 95 profiles length(my_vplist)
Now that you have loaded a list of vertical profiles, we can start exploring them. We will start with plotting and inspecting single vertical profiles, i.e. a single profile from the list of vp objects you have just loaded.
# let's extract a profile from the list, in this example the 41st profile: my_vp <- my_vplist[[41]] # print some info for this profile to the console my_vp # test whether this profile was collected at day time: check_night(my_vp) # plot the vertical profile, in terms of reflectivity factor plot(my_vp, quantity = "dbz") # plot the vertical profile, in terms of (linear) reflectivity plot(my_vp, quantity = "eta")
eta
and dbz
are closely related, the main difference is that reflectivity factors are logarithmic, and reflectivities linear. You can convert one into the other using eta_to_dbz()
and dbz_to_eta()
functions, which follow this simple formula:
eta = (radar-wavelength dependent constant) * 10^(dbz/10)
The reflectivity factor dBZ
is the quantity used by most meteorologist. It has the useful property that at different radar wavelengths (e.g. S-band versus C-band) the same amount of precipitation shows up at similar reflectivity factors. The same holds for insects, as well as any other target that is much smaller than the radar wavelength (S-band = 10 cm, C-band = 5 cm), the so-called Rayleigh-scattering limit.
In the case of birds we are outside the Rayleigh limit, because birds are of similar size as the radar wavelength. In this limit reflectivity eta
is more similar between S-band and C-band. eta
is also more directly related to the density of birds, since eta
can be expressed as (bird density) x (radar cross section per bird). For these two reasons, for weather radar ornithologists not reflectivity factor dBZ
but reflectivity eta
is the more conventional unit.
# let'splot the vertical profile, in terms of bird density plot(my_vp, quantity = "dens") # print the currently assumed radar cross section (RCS) per bird: rcs(my_vp)
Exercise 4: If you change your assumption on the bird’s radar cross section in the previous example, and assume it is 10 times as large, what will be the effect on the bird density profile?
The radar cross section you assume can be changed as follows:
# let's change the RCS to 110 cm^2 rcs(my_vp) <- 110
Exercise 5: Verify your answers on the previous two questions, by re-plotting the vertical profiles for the bird density quantity.
We will now examine multiple vertical profiles at once that are ordered into a time series, e.g. the vertical profiles obtained from a single radar over a full day.
# convert the list of vertical profiles into a time series: my_vpts <- bind_into_vpts(my_vplist) # print summary information my_vpts # time series objects can be subsetted, just as you may be used to with vectors # here we subset the first 50 timesteps: my_vpts[1:50] # here we extract a single timestep, which gives you back a vertical profile class object: my_vpts[100] # to extract all the dates of all profiles in the time series: my_vpts$datetime # to plot the full time series: plot(my_vpts) # check the help file for the plotting function of profile time series # Because profile timeseries are of class 'vpts', it's associated plotting function # is called plot.vpts: ?plot.vpts
Let’s make a plot for a subselection of the time series:
# make a subselection for night time only index_night <- check_night(my_vpts) # index_night is a logical vector that specifies each profile whether it occurred at night or not: index_night # now subset our vpts using this selection: my_vpts_night <- my_vpts[index_night] # plot this smaller time series: plot(my_vpts_night)
Exercise 6: Interpret the wind barbs in the profile time series figure: what is the approximate speed and direction at 1500 meter at 6 UTC? In the speed barbs, each half flag represents 2.5 m/s, each full flag 5 m/s, [each pennant (triangle) 25 m/s, not occurring in this case].
Exercise 7: Extract the vertical profile at 6 UTC from the time series and plot the vertical profile of ground speed (quantity ff
). Hint: use function filter_vpts()
to extract the 6 UTC profile. Check whether your answer to the previous question was approximately correct.
Often you will want to sum together all the migrants in the vertical dimension, for example if you want a single index of how many birds are migrating at a certain instant. There are at least two ways in which you can do that:
We will be using bioRad’s integrate_profile()
function to calculate these quantities:
# Let's continue with the vpts object created in the previous example. # The vertically integrated quantities are calculated as follows: my_vpi <- integrate_profile(my_vpts) # The my_vpi object you created is a vpi class object, which is an acronym for "vertical profile integrated". It has its own plot method, which by default plots migration traffic rate (MTR): plot(my_vpi) # you can also plot vertically integrated densities (VID): plot(my_vpi, quantity = "vid") # the gray and white shading indicates day and night, which is calculated # from the date and the radar position. You can also turn this off: plot(my_vpi, night_shade = FALSE) # plot the cumulative number of birds passing the radar, i.e. migration traffic (mt): plot(my_vpi, quantity = "mt") # execute `?plot.vpi` to open the help page listing all the options. ?plot.vpi
The following questions only require pen and paper. Assume a night migration event in which the volume density of birds from 0-1 km above ground is 200 birds per cubic kilometer, and from 1-1.5 km 100 birds per cubic kilometer. In the lower layer birds fly at 50 km/hour, and in the upper layer at 100 km/hour. Above 1500 meter there are no birds. Migration continues for exactly three hours after sunset, and then halts abruptly.
Exercise 8: What is in this case the bird’s vertically integrated density (VID)? Give your answer in units birds/km\(^2\).
Exercise 9: What is in this case the migration traffic rate across a transect perpendicular to the direction of movement? Give your answer in units birds/km/hour.
Exercise 10: How many birds have passed a 1km transect perpendicular to the direction of movement in this night? Give your answer in terms of migration traffic (mt) in units birds/km.
Both MTR, VID and MT depend on the assumed radar cross section (RCS) per bird. If you are unwilling/unable to specify RCS, you can alternatively use two closely related quantities that make no assumptions RCS:
# instead of vertically integrated density (VID), you can use vertically integrated reflectivity (VIR): plot(my_vpi, quantity = "vir") # instead of migration traffic rate (MTR), you can use the reflectivity traffic rate (RTR): plot(my_vpi, quantity = "rtr") # instead of migration traffic (MT), you can use the reflectivity traffic (RT): plot(my_vpi, quantity = "rt")
VIR gives you the total cross-sectional area of air-borne targets per square kilometer of ground surface, whereas RTR gives you the total cross-sectional area of targets flying across a one kilometer line perpendicular to the migratory flow per hour.
Precipitation is known to have a major influence on the timing and intensity of migration, therefore it is a useful skill to be able to inspect profiles for presence of precipitation.
Also, although automated bird quantification algorithms become more and more reliable, distinguishing precipitation from birds remains challenging for algorithms in specific cases. It is therefore important to have the skills to inspect suspicious profiles. That may help you to identify potential errors of the automated methods, and prevent your from overinterpreting the data.
An easy way of doing that is plotting the vertical profile of total reflectivity (quantity DBZH), which includes everything: birds, insects and precipitation. Precipitation often has higher reflectivities than birds, and also extends to much higher altitudes.
# load a time series for the KBGM radar in Binghamton, NY load("KBGM20170527-20170602.RData") # print the loaded vpts time series for this radar: my_vpts # plot the bird density over time: plot(my_vpts, quantity = "dens")
Exercise 11: Compare the above plot for bird density (quantity dens
) with a profile plot for total reflectivity (quantity DBZH
, showing birds and precipitation combined). Compare the two plots to visually identify periods and altitude layers with precipitation.
The names of the radars in the networks can be found here:
Useful sites for inspecting pre-made movies of the US composite are http://birdcast.info/live-migration-maps/ and http://www.pauljhurtado.com/US_Composite_Radar/.
The following steps take you through the process applying the vol2bird algorithm yourself. You need a working installation of Docker (Linux/Mac) or Docker for Windows (not Docker Toolbox, this is an older implementation of Docker for Windows operating systems that is not supported).
We will generate vertical profiles with the automated algorithm vol2bird (https://github.com/adokter/vol2bird), which is included in the bioRad package.
# start your local Docker installation # we first test whether R can communicate with Docker: check_docker()
If you get a “Hello from Docker!” welcome message, everything is working and you can start processing.
# download a polar volume file you want to process and put it in your home directory. my_file <- "write_your_file_to_be_processed_here" # Alternatively, continue with the polar volume that comes with the package: my_file <- system.file("extdata", "volume.h5", package = "bioRad") # run vol2bird # we set autoconf to TRUE, to let vol2bird figure out the optimal settings by itself my_vp <- calculate_vp(my_file, autoconf = TRUE) # vp is now a 'vp' profile object, that you can examine as in the previous exercises # alternatively, you may also store the profile as a hdf5 file, which is what we will do next: calculate_vp(my_file, "my_vpfile.h5", autoconf = TRUE) # your work directory should now contain a new file 'my_vpfile.h5' # check that we can read this file, and retrieve the vertical profile from it: vp <- read_vpfiles("my_vpfile.h5")
This section contains an example for processing a directory of polar volumes into profiles:
# read the filenames of the polar volumes you want to process my_files <- list.files("your/directory/with/volumes/goes/here/", full.names = TRUE) # print the filenames my_files # create output directory for processed profiles outputdir <- "~/processed_data" dir.create(outputdir) # let's loop over the files and generate profiles for (file_in in my_files) { # generate the output filename for the input file file_out <- paste(outputdir, "/", basename(file_in), "_vp.h5", sep = "") # generate the profile, and write it as a hdf5 file (for later reference) # we turn autoconfiguration on, so vol2bird chooses the optimal settings for the file automatically vp <- calculate_vp(file_in, file_out, autoconf = TRUE) }
Having generated the profiles, we can read them into R:
# we assume outputdir contains the path to the directory with processed profiles my_vpfiles <- list.files(outputdir, full.names = TRUE) # print them my_vpfiles # read them my_vplist <- read_vpfiles(my_vpfiles)
You can now continue with visualizing and post-processing as we did earlier:
# make a time series of profiles: my_vpts <- bind_into_vpts(my_vplist) # plot them between 0 - 3 km altitude: plot(my_vpts, ylim = c(0, 3000))
In many cases you will want to convert bioRad’s objects into a convenient form for your own further analyses. To convert bioRad objects to a simple data.frame
:
vp
): as.data.frame(your_vp_object
)vpts
): as.data.frame(your_vpts_object
)vpi
): is already a data.frame
Converting polar scans (scan
objects) to common spatial formats:
scan_to_raster()
to convert to a RasterBrick
object (package raster)scan_to_spatial()
to convert to a SpatialPointsDataFrame
object (package sp)


Module xlib.utils
A set of useful utility functions that don't fit into a category of their own.
Functions
| XLIB.tonumber (str) | Integer-safe tonumber |
| XLIB.FreezeProp (ent) | Freezes an entity in place |
| XLIB.ColorToInt (color) | Serializes a Color object into an integer |
| XLIB.IntToColor (int) | Deserializes an integer into a Color object |
| XLIB.SafeColor (color, noalpha) | Clamps all values of a color object between 0-255 |
| XLIB.SafeColorNoAlpha (color) | Shortcut for XLIB.SafeColor(..., true) |
Functions
- XLIB.tonumber (str)
-
Integer-safe tonumber This function will return nil if the number to be converted
exceeds the integer-definable range of IEEE 754 doubles
Parameters:
- str string String to be converted to number
Returns:
-
number
The converted number, if the conversion is safe
Or
-
nil
Nil if the conversion would lose integer precision
- XLIB.FreezeProp (ent)
-
Freezes an entity in place This sets the entity's movetype to
MOVETYPE_NONE
and disables motion on its physics object in order to avoid clientside prediction errors.Parameters:
- ent Entity Entity to freeze
- XLIB.ColorToInt (color)
-
Serializes a Color object into an integer This is a useful way to store a Color object in binary format
as it only uses one double, opposed to 4 (Or god forbid a String)
Parameters:
- color Color Color to convert to an int
Returns:
-
number
The color object represented as an integer
- XLIB.IntToColor (int)
-
Deserializes an integer into a Color object
Parameters:
- int number Integer to convert to a Color object
Returns:
-
Color
See also:
- XLIB.SafeColor (color, noalpha)
-
Clamps all values of a color object between 0-255
Warning:
This modifies the color object passed to it rather than creating a copy!
Parameters:
- color Color The color object to clamp
- noalpha bool[opt=false] Forces the alpha channel to 255 if true
Returns:
-
Color
The color object passed as the first argument
- XLIB.SafeColorNoAlpha (color)
-
Shortcut for XLIB.SafeColor(..., true) Clamps all the values of a color object between 0-255 and forces the alpha to 255
Warning:
This modifies the color object passed to it rather than creating a copy!
Parameters:
- color Color The color object to clamp
See also:


Thrown if any failures occur during resource cleanup of SageMaker entities created from operations of the SageMakerEstimator and SageMakerModel.
Thrown if any failures occur during the creation or use of a SageMakerEstimator or SageMakerModel.
Thrown if any failures occur during the creation or use of a SageMakerEstimator or SageMakerModel.
Message describing the failure details.
Original throwable from the underlying failure.
References to any resources created by the SageMakerEstimator or SageMakerModel. SageMakerResourceCleanup can be used to clean these up.
Thrown if any failures occur during resource cleanup of SageMaker entities created from operations of the SageMakerEstimator and SageMakerModel.
Message describing the failure details.
Original throwable from the underlying failure.
References to any resources created by the SageMakerEstimator or SageMakerModel. SageMakerResourceCleanup can be used to retry clean up.


FSTRIM
Section: Maintenance Commands (8)Updated: Nov 2010
Index Return to Main Contents
NAME
fstrim - discard unused blocks on a mounted filesystemSYNOPSIS
fstrim [-o offset] [-l length] [-m minimum-free-extent] [-v] mountpointDESCRIPTION
fstrim is used on a mounted filesystem to discard (or "trim") blocks which are not in use by the filesystem. This is useful for solid-state drives (SSDs) and thinly-provisioned storage.By default, fstrim will discard all unused blocks in the filesystem. Options may be used to modify this behavior based on range or size, as explained below.
The mountpoint argument is the pathname of the directory where the filesystem is mounted.
OPTIONS
The offset, length, and minimum-free-extent arguments may be followed by binary (2^N) suffixes KiB, MiB, GiB, TiB, PiB and EiB (the "iB" is optional, e.g. "K" has the same meaning as "KiB") or decimal (10^N) suffixes KB, MB, GB, PB and EB.- -h, --help
- Print help and exit.
- -o, --offset offset
- Byte offset in filesystem from which to begin searching for free blocks to discard. Default value is zero, starting at the beginning of the filesystem.
- -l, --length length
- Number of bytes after starting point to search for free blocks to discard. If the specified value extends past the end of the filesystem, fstrim will stop at the filesystem size boundary. Default value extends to the end of the filesystem.
- -m, --minimum minimum-free-extent
- Minimum contiguous free range to discard, in bytes. (This value is internally rounded up to a multiple of the filesystem block size). Free ranges smaller than this will be ignored. By increasing this value, the fstrim operation will complete more quickly for filesystems with badly fragmented freespace, although not all blocks will be discarded. Default value is zero, discard every free block.
- -v, --verbose
-
Verbose execution. When specified
fstrim
will output the number of bytes passed from the filesystem
down the block stack to the device for potential discard. This number is a
maximum discard amount from the storage device's perspective, because
FITRIM
ioctl called repeated will keep sending the same sectors for discard repeatedly.
fstrim will report the same potential discard bytes each time, but only sectors which had been written to between the discards would actually be discarded by the storage device. Further, the kernel block layer reserves the right to adjust the discard ranges to fit raid stripe geometry, non-trim capable devices in a LVM setup, etc. These reductions would not be reflected in fstrim_range.len (the --length option).
AUTHOR
Lukas Czerner<EMAIL_ADDRESS>Karel Zak<EMAIL_ADDRESS>SEE ALSO
mount(8)AVAILABILITY
The fstrim command is part of the util-linux-ng package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
Index
This document was created by man2html, using the manual pages.
Time: 05:34:26 GMT, December 24, 2015


Recipe
Eggs
Benedict
By Yu Xue
Health and Yummy!
- Hollandaise Sauce
- Butter 150g
- Eggs 3
- Lemon half
- Salt/Pepper
- Melt butter on lowheat to make clarified butter.
- Boil small amount of water in a small pot.
- Then turn down the heat after boiled to remain simmering.
- Separate egg yolks from egg whites and put into a container.
- Then set the container on top of the simmering pot, squeeze half a lemon in, and beat the egg yolks as fas as you can to achieve a thickening texture.
- Remove container from pot immediately when reached the texture.
- Little by little add clarified butter and mix gently. Add appropriate salt and pepper.
- Eggs
- English muffins 1/split in half
- Hollandaise Sauce 80g
- Spinach
- Bacon/Smoked Salmon 2slices
- Eggs 2
- Salt/Pepper
- Butter
- White Vinegar(optional)
- Saut'e Spanach leaves with butter.
- Roast muffins with butter in a separatepan until crispy and golden brown.
- Boil a pot of water with white vinegar(3:1).
- Swirl the water. Poach the eggs in the center of the swirl when water boils.
- Boil for 4-5 minutes and take out immediately into a nice bath.
- Sear bacon or take out two pieces of salmon.
- Dren the plate in the order of muffins, bacon/salmon, spinach, eggs, Hollandaise sauce.
Congratuation!


Trading_ShipPackageDetailsType Class Reference
| Inherits from | NSObject |
| Conforms to | PicoBindable |
| Declared in | Trading_ShipPackageDetailsType.h Trading_ShipPackageDetailsType.m |
Overview
Details pertinent to one or more items for which
calculated shipping (or flat rate shipping using shipping rate tables with
weight surcharges) has been offered by the seller, such as package
dimension and weight and packaging/handling costs. Also returned
with the data for an item’s transaction.
@ingroup EBayAPIInterface
Tasks
-
measurementUnit
Specifies the unit type of the weight and dimensions of a
property
shipping package.
If MeasurementUnit is used, it overrides the system specified by measurementSystem.
If MeasurementUnit and measurementSystem are not specified, the following defaults
will be used:
English: US
Metric: CA, CAFR, AU
CA and CAFR supports both English and Metric, while other sites
only support the site’s default.
Use MeasurementUnit with weight and package dimensions. For example,
to represent a 5 lbs 2 oz package:
<MeasurementUnit>English</MeasurementUnit>
<WeightMajor>5</WeightMajor>
<WeightMinor>2</WeightMinor> -
packageDepth
Depth of the package, in whole number of inches, needed to ship the item.
property
This is validated against the selected shipping service.
Upon mismatch, a message is returned, such as, “Package
dimensions exceeds maximum allowable limit for
service XXXXX,” where XXXXX is the name of the shipping service.
For calculated shipping only. Only returned if the seller
specified the value for the item. (In many cases, the seller
only specifies the weight fields.)
Developer impact: UPS requires dimensions for any Ground packages that are 3
cubic feet or larger and for all air packages, if they are to provide correct
shipping cost. If package dimensions are not included for an item listed with
calculated shipping, the shipping cost returned will be an estimate based on
standard dimensions for the defined package type. eBay enforces a dimensions
requirement on listings so that buyers receive accurate calculated shipping
costs. -
packageLength
Length of the package, in whole number of inches, needed to ship the item.
property
Upon mismatch, a message is returned, such as, “Package
dimensions exceeds maximum allowable limit for
service XXXXX,” where XXXXX is the name of the shipping service.
For calculated shipping only. Only returned if the seller
specified the value for the item. (In many cases, the seller
only specifies the weight fields.) -
packageWidth
Width of the package, in whole number of inches, needed to ship the item.
property
Upon mismatch, a message is returned, such as, “Package
dimensions exceeds maximum allowable limit for
service XXXXX,” where XXXXX is the name of the shipping service.
For calculated shipping only. Only returned if the seller
specified the value for the item. (In many cases, the seller
only specifies the weight fields.) -
shippingIrregular
Whether a package is irregular and therefore cannot go
property
through the stamping machine at the shipping service office and
thus requires special or fragile handling. For calculated
shipping only. -
shippingPackage
The nature of the package used to ship the item(s).
property
Required for calculated shipping only. -
weightMajor
WeightMajor and WeightMinor are used to specify the weight of a
property
shipping package. Here is how you would represent a package
weight of 5 lbs 2 oz: <WeightMajor unit=“lbs”>5</WeightMajor>
<WeightMinor unit=“oz”>2</WeightMinor>
See http://www.ups.com for the maximum weight allowed by UPS.
Above this maximum, the shipping type becomes Freight, an option
that can only be selected via the eBay Web site and not via API.
The weight details are validated against the selected shipping service.
For calculated shipping or for flat rate shipping if shipping rate tables are
specified and the shipping rate table uses weight surcharges.
Required on input when calculated shipping is used. -
weightMinor
See the definition of WeightMajor. For calculated shipping or for flat rate shipping
property
if shipping rate tables are specified and the shipping rate table uses weight surcharges.
(When used with the shipping rate tables with weight surcharge, any WeightMinor value greater
than zero results in WeightMajor getting rounded up in the shipping cost calculation
for example, 1 lb, 2 oz is rounded up to 2 lbs.)
Required on input when calculated shipping is used. -
any
(public property)
property
Properties
any
(public property)
@property (nonatomic, retain) NSMutableArray *any
Discussion
(public property)
entry type : PicoAnyElement, wrapper for primitive anyelement
Declared In
Trading_ShipPackageDetailsType.h
measurementUnit
Specifies the unit type of the weight and dimensions of a
shipping package.
If MeasurementUnit is used, it overrides the system specified by measurementSystem.
If MeasurementUnit and measurementSystem are not specified, the following defaults
will be used:
English: US
Metric: CA, CAFR, AU
CA and CAFR supports both English and Metric, while other sites
only support the site’s default.
Use MeasurementUnit with weight and package dimensions. For example,
to represent a 5 lbs 2 oz package:
<MeasurementUnit>English</MeasurementUnit>
<WeightMajor>5</WeightMajor>
<WeightMinor>2</WeightMinor>
@property (nonatomic, retain) NSString *measurementUnit
Discussion
Specifies the unit type of the weight and dimensions of a
shipping package.
If MeasurementUnit is used, it overrides the system specified by measurementSystem.
If MeasurementUnit and measurementSystem are not specified, the following defaults
will be used:
English: US
Metric: CA, CAFR, AU
CA and CAFR supports both English and Metric, while other sites
only support the site’s default.
Use MeasurementUnit with weight and package dimensions. For example,
to represent a 5 lbs 2 oz package:
<MeasurementUnit>English</MeasurementUnit>
<WeightMajor>5</WeightMajor>
<WeightMinor>2</WeightMinor>
type: string constant in Trading_MeasurementSystemCodeType.h
Declared In
Trading_ShipPackageDetailsType.h
packageDepth
Depth of the package, in whole number of inches, needed to ship the item.
This is validated against the selected shipping service.
Upon mismatch, a message is returned, such as, “Package
dimensions exceeds maximum allowable limit for
service XXXXX,” where XXXXX is the name of the shipping service.
For calculated shipping only. Only returned if the seller
specified the value for the item. (In many cases, the seller
only specifies the weight fields.)
Developer impact: UPS requires dimensions for any Ground packages that are 3
cubic feet or larger and for all air packages, if they are to provide correct
shipping cost. If package dimensions are not included for an item listed with
calculated shipping, the shipping cost returned will be an estimate based on
standard dimensions for the defined package type. eBay enforces a dimensions
requirement on listings so that buyers receive accurate calculated shipping
costs.
@property (nonatomic, retain) Trading_MeasureType *packageDepth
Discussion
Depth of the package, in whole number of inches, needed to ship the item.
This is validated against the selected shipping service.
Upon mismatch, a message is returned, such as, “Package
dimensions exceeds maximum allowable limit for
service XXXXX,” where XXXXX is the name of the shipping service.
For calculated shipping only. Only returned if the seller
specified the value for the item. (In many cases, the seller
only specifies the weight fields.)
Developer impact: UPS requires dimensions for any Ground packages that are 3
cubic feet or larger and for all air packages, if they are to provide correct
shipping cost. If package dimensions are not included for an item listed with
calculated shipping, the shipping cost returned will be an estimate based on
standard dimensions for the defined package type. eBay enforces a dimensions
requirement on listings so that buyers receive accurate calculated shipping
costs.
type : class Trading_MeasureType
Declared In
Trading_ShipPackageDetailsType.h
packageLength
Length of the package, in whole number of inches, needed to ship the item.
Upon mismatch, a message is returned, such as, “Package
dimensions exceeds maximum allowable limit for
service XXXXX,” where XXXXX is the name of the shipping service.
For calculated shipping only. Only returned if the seller
specified the value for the item. (In many cases, the seller
only specifies the weight fields.)
@property (nonatomic, retain) Trading_MeasureType *packageLength
Discussion
Length of the package, in whole number of inches, needed to ship the item.
Upon mismatch, a message is returned, such as, “Package
dimensions exceeds maximum allowable limit for
service XXXXX,” where XXXXX is the name of the shipping service.
For calculated shipping only. Only returned if the seller
specified the value for the item. (In many cases, the seller
only specifies the weight fields.)
type : class Trading_MeasureType
Declared In
Trading_ShipPackageDetailsType.h
packageWidth
Width of the package, in whole number of inches, needed to ship the item.
Upon mismatch, a message is returned, such as, “Package
dimensions exceeds maximum allowable limit for
service XXXXX,” where XXXXX is the name of the shipping service.
For calculated shipping only. Only returned if the seller
specified the value for the item. (In many cases, the seller
only specifies the weight fields.)
@property (nonatomic, retain) Trading_MeasureType *packageWidth
Discussion
Width of the package, in whole number of inches, needed to ship the item.
Upon mismatch, a message is returned, such as, “Package
dimensions exceeds maximum allowable limit for
service XXXXX,” where XXXXX is the name of the shipping service.
For calculated shipping only. Only returned if the seller
specified the value for the item. (In many cases, the seller
only specifies the weight fields.)
type : class Trading_MeasureType
Declared In
Trading_ShipPackageDetailsType.h
shippingIrregular
Whether a package is irregular and therefore cannot go
through the stamping machine at the shipping service office and
thus requires special or fragile handling. For calculated
shipping only.
@property (nonatomic, retain) NSNumber *shippingIrregular
Discussion
Whether a package is irregular and therefore cannot go
through the stamping machine at the shipping service office and
thus requires special or fragile handling. For calculated
shipping only.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_ShipPackageDetailsType.h
shippingPackage
The nature of the package used to ship the item(s).
Required for calculated shipping only.
@property (nonatomic, retain) NSString *shippingPackage
Discussion
The nature of the package used to ship the item(s).
Required for calculated shipping only.
type: string constant in Trading_ShippingPackageCodeType.h
Declared In
Trading_ShipPackageDetailsType.h
weightMajor
WeightMajor and WeightMinor are used to specify the weight of a
shipping package. Here is how you would represent a package
weight of 5 lbs 2 oz: <WeightMajor unit=“lbs”>5</WeightMajor>
<WeightMinor unit=“oz”>2</WeightMinor>
See http://www.ups.com for the maximum weight allowed by UPS.
Above this maximum, the shipping type becomes Freight, an option
that can only be selected via the eBay Web site and not via API.
The weight details are validated against the selected shipping service.
For calculated shipping or for flat rate shipping if shipping rate tables are
specified and the shipping rate table uses weight surcharges.
Required on input when calculated shipping is used.
@property (nonatomic, retain) Trading_MeasureType *weightMajor
Discussion
WeightMajor and WeightMinor are used to specify the weight of a
shipping package. Here is how you would represent a package
weight of 5 lbs 2 oz: <WeightMajor unit=“lbs”>5</WeightMajor>
<WeightMinor unit=“oz”>2</WeightMinor>
See http://www.ups.com for the maximum weight allowed by UPS.
Above this maximum, the shipping type becomes Freight, an option
that can only be selected via the eBay Web site and not via API.
The weight details are validated against the selected shipping service.
For calculated shipping or for flat rate shipping if shipping rate tables are
specified and the shipping rate table uses weight surcharges.
Required on input when calculated shipping is used.
type : class Trading_MeasureType
Declared In
Trading_ShipPackageDetailsType.h
weightMinor
See the definition of WeightMajor. For calculated shipping or for flat rate shipping
if shipping rate tables are specified and the shipping rate table uses weight surcharges.
(When used with the shipping rate tables with weight surcharge, any WeightMinor value greater
than zero results in WeightMajor getting rounded up in the shipping cost calculation
for example, 1 lb, 2 oz is rounded up to 2 lbs.)
Required on input when calculated shipping is used.
@property (nonatomic, retain) Trading_MeasureType *weightMinor
Discussion
See the definition of WeightMajor. For calculated shipping or for flat rate shipping
if shipping rate tables are specified and the shipping rate table uses weight surcharges.
(When used with the shipping rate tables with weight surcharge, any WeightMinor value greater
than zero results in WeightMajor getting rounded up in the shipping cost calculation
for example, 1 lb, 2 oz is rounded up to 2 lbs.)
Required on input when calculated shipping is used.
type : class Trading_MeasureType
Declared In
Trading_ShipPackageDetailsType.h


{% extends 'tasks/base.html' %} {% block content %}
Hello {{ user }}! {% endif %} Welcome to Systems Neuroscience of Auditory Perception Lab (SNAPlab)'s online portal! SNAPlab is part of the Department of Speech, Language & Hearing Sciences , and the Weldon School of Biomedical Engineering at Purdue University. At SNAPlab, we study the biological computations and neural circuits that underlie auditory perception. In particular, we are interested in how our ears and brains help us listen in complex everyday environments such as crowded restaurants and busy streets. This website is used by members of SNAPlab to host online listening experiments.
We are still in the development and testing phase of this website. Note that a login is required to be able to access most parts of this site, but you can easily rregister for an account in a few clicks by visiting the registration page.
SNAPlab members can visit the "my tasks" page to view a list of your behavioral tasks or create new ones. Note that "experimenter" credentials are required to be able to create tasks.
Let's check it out!


| Player | Team | Position | GPGames played |
W%Win rate |
CTR%Counter-pick rate |
KTotal kills |
DTotal deats |
ATotal assists |
KDATotal Kill/Death/Assist ratio |
KP%Kill participation (%) |
KS%Kill share (%) |
DTH%Avg share of team deaths (%) |
FB%First blood rate (%) |
GD10Avg gold difference at 10 min |
XPD10Avg xp difference at 10 min |
CSD10Avg creep score difference at 10 min |
CSPMAvg monsters + minions killed per min |
CS%P15Avg share of team's total creep score after 15 min |
DPMAvg damage to champions per min (%) |
DMG%Damage share |
EGPMAvg earned gold per min |
GOLD%Gold share (%) |
WPMAvg wards placed per min |
WCPMAvg wards cleared per min |
|---|


The format of the "profiles.json" file is not as required. You might not have included profileName and repoName keys. Please refer to our User Guide for the correct format.
profileName
repoName


Enter your email below and we will send you a new password
© 2018 OnlineSolar. All rights reserved.


These Are the Top 1911 9mm Guns You Could Ever Want
Here is our best of the best list.
by Gun News DailyKey point: The historic 1911 is a popular weapon for a good reason.
You’ve seen the 1911 in hundreds of movies, and it’s probably the first gun that comes to mind when you think of a pistol.
Before we take a look at our top picks for cheap 1911s, let’s explore the history of this iconic gun.
HISTORY OF THE 1911
The 1911 pistol is an American icon. It has been in the the hands of 5 generations and its popularity is still rising. This pistol has become synonymous with power, durability and the American military.
Military and law enforcement quickly adopted the original design by John Moses Browning (JMB) as a sidearm. The high versatility of the perfect and straightforward design of the gun made it appropriate for different purposes from self-defense to hunting, target-shooting or competitions.
At the end of the 1800’s, there was a huge demand for a more reliable gun, a self-loading pistol.
The standard back then was the .38 Long Colt, but a more reliable .45 was required. This was exactly what JMB had in mind when he crafted the semi-automatic pistol that would pass the most rigorous US military tests.
Simulations included shooting the gun after it has been thrown in mud, submerged in acid or loaded with deformed cartridges. Over 6000 test rounds were performed at the time on this piece of metal, which was the only one to emerge from the competition with other notable brands such as Smith & Wesson and Savage.
The 1911 stood the test and that’s why it’s still a badass gun to this date.
The U.S. was so impressed with this weapon it bought over 2.7 million M1911sand M1911A1 between 1911 and 1986 when Beretta replaced it. This gun has been everywhere from WWI, WWII, Korean War and Vietnam War.
Even now some units of the US Navy, Marine Corps, and Special Forces use it as their sidearm.
HOW IT WORKS
The 1911 is a single action, magazine-fed, recoil operated, semi-automatic pistol, usually working with a .45 ACP cartridge. For more about ammunition – check out our bullet and caliber guide.
The pressure of the combustion gases pushes the round down the barrel at speeds averaging 850 feet/second. The empty case is then ejected by a kick in the rear, the slide is pushed forward by a spring and pulls a new cartridge from the angled magazine, depositing it into the firing chamber.
1911’s durability is due to the lack of fasteners except for some grip screws. The recoil spring keeps the vital components in place.
The great thing is that this pistol can be disassembled and reassembled by using its components as tools.
The model employed by the military comes with a grip safety and a manual safety, while commercial models also include a firing pin safety. Some 1911’s have rails to mount scopes and other add-ons for hunting or sports, being the weapon of choice in many competitions.
1911 PRODUCERS
The original M1911, originally produced by Colt (one of the original AR-15 makers), has become a portfolio item for a broad range of manufacturers, both American or foreign, and nowadays you can find 1911s manufactured in South America, Asia or Europe.
It is almost like every major company has their flavor of the classic, yet the pieces are not equal.
At the beginning of the century, the 1911 was made primarily by Colt or Springfield Armory, which belonged to the Government. Starting with WWI, Remington also got a license to produce it along with other Canadian and local companies.
The trend continued during the WWII, when even the sewing machine company Singer joined the lines, creating guns that are now considered collector’s items.
Since the 1911 pistol is a standard, whenever a gun company is expected to be taken seriously, it develops a 1911 of its own. It is both a benchmarking and a maturity test at the same time.
For you the buyer, this creates both an array of opportunities and a headache to select the best piece of metal for your money.
The natural question is “what is the best 1911?”, and is the price justified for the expensive ones?
To cut through the confusion of multiple models and prices I’m going to look at some of our top models to find share our best picks.
BEST 1911S BY PRICE RANGE
UNDER $700
Most guns in this range are not produced in the U.S., but offer a fair amount of quality for the price. You can expect minor flaws, but they still score high in reliability and can act as a trustworthy partner for self-defense.
ROCK ISLAND ARMORY (RIA) GI 1911 PISTOL – CHEAPEST CHOICE
This handgun — crafted in the Philippines — is a good pick for the under $500 price tag. It can be used immediately, with no breaking in period required.
Usually, displays no failures in either department, including feed, chamber, fire or cartridge eject. Designed by Armscor, the pistol follows the lines of the original WWII patent carefully.
The most annoying feature can be the fact that the flat sides do not fit the grip frame perfectly, a problem that can be addressed by installing aftermarket grips.
The RIA is a great choice for self defense. If you want a simple weapon to defend your home and family this is an affordable choice that is highly reliable.
THE METRO ARMS AMERICAN CLASSIC II 1911
Don’t let the name fool you, this is also made in the Philippines but it’s extremely accurate and reliable.
The Metro Arms is rugged enough to keep in a tool box, under the car seat or in the glovebox.
It has an extended slide stop for safety and beavertail grip for comfort. Expect a skeletal combat hammer and a tuner trigger. The wooden scaled grip might seem odd, but can be replaced if you want something more aggressive.
Impressive accuracy and sturdiness. A buck well spent. I have 2 Metros as backup pieces.
TAURUS PT-1911
The Taurus 1911 is an affordable gun, manufactured in Brazil, hand-fitted for accuracy, with dovetail sight, lowered and flared ejection and 5″ barrel.
The nice thing about this piece is that is hammer forged, and you can see that by checking the serial numbers on the parts. A good crisp short trigger completes the ensemble.
This particular piece ranks high in safety due to the ambidextrous safety and Taurus’ special system on the hammer that disables the gun. It comes with two magazines and a bushing wrench from most gun dealers.
Great price and a high quality item for sure.
AUTO-ORDNANCE 1911 – BEST VALUE AMERICAN MADE 1911
If you will settle for nothing less than American, the AO 1911A1 pistol should scratch your patriotic itch. Best in its class (for the money), AO’s BKO model excels at trigger compression, doesn’t stutter and gives top accuracy after you pass the break-in period.
Be sure to give it enough time and rounds, lubricate long bearing-bearing surfaces and expect some malfunctions during this time.
This is as close as it gets to the mid-20th century gun.
If you do not have the patience and just want a weapon that works just out of the box, this is not the option for you. Great choice and value once again.
$700-$1000
In this price range, you can expect a high standard of quality. Expect to find some trademark names including Remington, S&W, Springfield, Sig, Kimber, Para and of course, Colt.
As long as you are not looking for anything custom made, but more for a long-lasting piece of equipment, you are in the right place.
SPRINGFIELD ARMORY MIL-SPEC 1911 – TOP PICK
This beautiful 5″ GI style piece comes in stainless steel or parkerized finishes and features the 3 Dot combat sights.
The SA mil-spec comes with an original 1911 short trigger and a GI style thumb and grip safety, as well as a GI hammer.
The beveled magazine assists in quick loading and unloading, holding seven rounds.
The performance and accuracy of this gun are impressive, just needs some little extras, like a beavertail grip safety.
A SOLID pick for anyone looking for an upgrade on the cheaper 1911s.
MAGNUM RESEARCH DESERT EAGLE 1911G
This .45 caliber carbon-steel frame gun is equipped with a skeletonized trigger, single column magazine and dovetailed sights and a low-mount combat sight.
The full-length recoil guide rod makes the Deagle 1911 operate and cycle much smoother, also improving the lifetime of the slide.
The grip made out of checkered wood enhances control. For ease of recharging the beveled magazine well can help a quick change. It has an extended thumb safety and beavertail grip safety.
The shooting accuracy of this piece is hard to match, offering an excellent price-quality ratio.
REMINGTON R1 – MOST SIMILAR TO ORIGINAL 1911
You can choose the simple or enhanced model of the 1911 made by one of the first manufacturers after Colt.
This is one reliable, accurate and enduring handgun.
| 1 | 2 | 3 | Next |


Toggle navigation
GovEx Operations Dashboard
City Dashboard
Mesa
Louisville
Charts
Assignment Map
Applicant Cities Map
Tables
Staffing Assignments