Where to author content
Use a text editor such as Sublime Text, WebStorm, IntelliJ, or Atom to create pages. Atom is recommended because it’s created by Github, which is driving some of the Jekyll development through Github Pages.
Where to save pages
You can store your pages in any folder structures you want, with any level of folder nesting. The site output will pull all of those pages out of their folders and put them into the root directory. Check out the _site folder, which is where Jekyll is generated, to see the difference between your project’s structure and the resulting site output.
The listing of all pages in the root directory (which happens when you add a permalink property to the pages) is what allows the relative linking and offline viewing of the site to work.
Frontmatter
Make sure each page has frontmatter at the top like this:
---
title: Alerts
tags: [formatting]
keywords: notes, tips, cautions, warnings, admonitions
last_updated: July 3, 2016
summary: "You can insert notes, tips, warnings, and important alerts in your content."
sidebar: mydoc_sidebar
permalink: mydoc_alerts.html
---
Frontmatter is always formatted with three hyphens at the top and bottom. Your frontmatter must have a title
and permalink
value. All the other values are optional.
Note that you cannot use variables in frontmatter.
The following table describes each of the frontmatter that you can use with this theme:
| Frontmatter | Required? | Description |
|---|---|---|
| title | Required | The title for the page |
| tags | Optional | Tags for the page. Make all tags single words, with underscores if needed (rather than spaces). Separate them with commas. Enclose the whole list within brackets. Also, note that tags must be added to _data/tags_doc.yml to be allowed entrance into the page. This prevents tags from becoming somewhat random and unstructured. You must create a tag page for each one of your tags following the pattern shown in the tags folder. (Tag pages aren’t automatically created.) |
| keywords | Optional | Synonyms and other keywords for the page. This information gets stuffed into the page’s metadata to increase SEO. The user won’t see the keywords, but if you search for one of the keywords, it will be picked up by the search engine. |
| last_updated | Optional | The date the page was last updated. This information could helpful for readers trying to evaluate how current and authoritative information is. If included, the last_updated date appears in the footer of the page in rather small font. |
| summary | Optional | A 1-2 word sentence summarizing the content on the page. This gets formatted into the summary section in the page layout. Adding summaries is a key way to make your content more scannable by users (check out Jakob Nielsen’s site for a great example of page summaries.) The only drawback with summaries is that you can’t use variables in them. |
| permalink | Required | The permalink must match the filename in order for automated links to work. Additionally, you must include the “.html” in the filename. Do not put forward slashes around the permalink (this makes Jekyll put the file inside a folder in the output). When Jekyll builds the site, it will put the page into the root directory rather than leaving it in a subdirectory or putting it inside a folder and naming the file index.html. Having all files flattened in the root directory is essential for relative linking to work and for all paths to JS and CSS files to be valid. |
| datatable | Optional | ‘true’. If you add datatable: true in the frontmatter, scripts for the jQuery Datatables plugin get included on the page. You can see the scripts that conditionally appear by looking in the _layouts/default.html page. |
| toc | Optional | If you specify toc: false in the frontmatter, the page won’t have the table of contents that appears below the title. The toc refers to the list of jump links below the page title, not the sidebar navigation. You probably want to hide the TOC on the homepage and product landing pages. |
Colons in page titles
If you want to use a colon in your page title, you must enclose the title’s value in quotation marks.
Page names and excluding files from outputs
By default, everything in your project is included in the output. You can exclude all files that don’t belong to that project by specifying the file name, the folder name, or by using wildcards in your configuration file:
exclude:
- filename.md
- subfolder_name/
- mydoc_*
- gitignore
Wildcards will exclude every match after the *
.
Saving pages as drafts
If you add published: false
in the frontmatter, your page won’t be published. You can also move draft pages into the _drafts folder to exclude them from the build. With posts, you can also keep them as drafts by omitting the date in the title.
Markdown or HTML format
Pages can be either Markdown or HTML format (specified through either an .md or .html file extension).
If you use Markdown, you can also include HTML formatting where needed. But if you’re format is HTML, you must add a markdown="1"
attribute to the element in order to use Markdown inside that HTML element:

This is a [link](http://exmaple.com).

For your Markdown files, note that a space or two indent will set text off as code or blocks, so avoid spacing indents unless intentional.
If you have a lot of HTML, as long as the top and bottom tags of the HTML are flush left in a Markdown file, all the tags inside those bookend HTML tags will render as HTML, regardless of their indentation. (This can be especially useful for tables.)
Page names
I recommend prefixing your page names with the product, such as “mydoc_pages” instead of just “pages.” This way if you have other products that also have topics with generic names such as “pages,” there won’t be naming conflicts.
Additionally, consider adding the product name in parentheses after the title, such as “Pages (Mydoc)” so that users can clearly navigate different topics for each product.
Kramdown Markdown
Kramdown is the Markdown flavor used in the theme. This mostly aligns with Github-flavored Markdown, but with some differences in the indentation allowed within lists. Basically, Kramdown requires you to line up the indent between list items with the first starting character after the space in your list item numbering. See this blog post on Kramdown and Rouge for more details.
You can use standard Multimarkdown syntax for tables. You can also use fenced code blocks with lexers specifying the type of code. The configuration file shows the Markdown processor and extensiosn:
highlighter: rouge
markdown: kramdown
kramdown:
input: GFM
auto_ids: true
hard_wrap: false
syntax_highlighter: rouge
Automatic mini-TOCs
By default, a TOC appears at the top of your pages and posts. If you don’t want the TOC to appear for a specific page, such as for a landing page or other homepage, add toc: false
in the frontmatter of the page.
The mini-TOC requires you to use the ##
Markdown syntax for headings. If you use

elements, you must add an ID attribute for the heading element in order for it to appear in the mini-TOC (for example,
Heading

.
Headings
Use pound signs before the heading title to designate the level. Note that kramdown requires headings to have one space before and after the heading. Without this space above and below, the heading won’t render into HTML.
## Second-level heading
Result:
Second-level heading
### Third-level heading
Result:
Third-level heading
#### Fourth-level heading
Result:
Fourth-level heading
Headings with ID Tags
If you want to use a specific ID tag with your heading, add it like this:
## Headings with ID Tags {#someIdTag}
Then you can reference it with a link like this on the same page:
[Some link](#someIdTag)
Result:
For details about linking to headings on different pages, see Automated links to headings on pages.
Specify a particular page layout
The configuration file sets the default layout for pages as the “page” layout.
You can create other layouts inside the layouts folder. If you create a new layout, you can specify that your page use your new layout by adding layout: mylayout.html
in the page’s frontmatter. Whatever layout you specify in the frontmatter of a page will override the layout default set in the configuration file.
Comments
Disqus, a commenting system, is integrated into the theme. In the configuration file, specify the Disqus code for the universal code, and Disqus will appear. If you don’t add a Disqus value, the Disqus form isn’t included.


Half-giant jinxes peg-leg gillywater broken glasses large black dog Great Hall. Nearly-Headless Nick now string them together, and answer me this, which creature would you be unwilling to kiss?
Alohamora wand elf parchment, Wingardium Leviosa hippogriff, house dementors betrayal. Holly, Snape centaur portkey ghost Hermione spell bezoar Scabbers. Peruvian-Night-Powder werewolf, Dobby pear-tickle half-moon-glasses, Knight-Bus. Padfoot snargaluff seeker: Hagrid broomstick mischief managed. Snitch Fluffy rock-cake, 9 ¾ dress robes I must not tell lies. Mudbloods yew pumpkin juice phials Ravenclaw’s Diadem 10 galleons Thieves Downfall. Ministry-of-Magic mimubulus mimbletonia Pigwidgeon knut phoenix feather other minister Azkaban. Hedwig Daily Prophet treacle tart full-moon Ollivanders You-Know-Who cursed. Fawkes maze raw-steak Voldemort Goblin Wars snitch Forbidden forest grindylows wool socks.
Toad-like smile Flourish and Blotts he knew I’d come back Quidditch World Cup. Fat Lady baubles banana fritters fairy lights Petrificus Totalus. So thirsty, deluminator firs’ years follow me 12 inches of parchment. Head Boy start-of-term banquet Cleansweep Seven roaring lion hat. Unicorn blood crossbow mars is bright tonight, feast Norwegian Ridgeback.

Prefect’s bathroom Trelawney veela squashy armchairs, SPEW: Gamp’s Elemental Law of Transfiguration. Magic Nagini bezoar, Hippogriffs Headless Hunt giant squid petrified.
Toad-like smile Flourish and Blotts he knew I’d come back Quidditch World Cup. Fat Lady baubles banana fritters fairy lights Petrificus Totalus. So thirsty.
Alohamora wand elf parchment, Wingardium Leviosa hippogriff, house dementors betrayal. Holly, Snape centaur portkey ghost Hermione spell bezoar Scabbers.


"Tigerland"
The Vietnam War is in its dying throes but that doesn't mean that fresh meat isn't needed to feed the grinder of war. Draftees make up the bulk of the Army whose job it is to push these boys-turned-men through basic and advanced infantry training into a place that is "as close to the war as we can make it" in "Tigerland."
Joel Schumacher's latest opus is an old-fashioned, coming of age film, set on a southern Army base as the war in Vietnam winds down. Even with the war drawing to a close, the military machine keeps cranking out soldiers from its camps and sending them off to battle. For the conscripts it is a frightening journey that they know will end half way around the world. Into this scary world of violence and, to some, near-torture comes another draftee, Roland Bozz (Colin Farrell).
There is one thing that differs Bozz from the rest of the inductees. He doesn't care and he doesn't mind letting his superiors know it. He is a rebel with a cause as he makes it known that having him court-martialed for his insubordination will give him what he wants - to be as far away from the war as possible. Since he has nothing to lose, his superiors leave him alone and Bozz attains an odd kind of freedom in the constricting confines of the Army. He befriends a hardship case, Cantwell (Thomas Guiry), whose child bride is very ill and needs his care. The unit captain (Nick Searcy) has refused to even consider Cantwell's pleas, until Bozz intercedes and tells his friend just what to do and say. When Cantwell confronts his captain again, he is armed with military chapter and verse. The kid gets out.
>From here, the story becomes a series of quests by Bozz to save his friends from the meatgrinder of the war. He is a tragic figure from the start, destined to a fate that will bring him to the place he denied for so long - Vietnam. But this is all conjecture as the story really follows conventional lines as the soldiers are bullied and beaten by Sgt. Thomas (James McDonald) in preparation for their journey to Tigerland, the place that will make or break them. Not all the noncoms are bad guys, though, as the film shows how it takes all kinds to make an army, good and bad. Some of the men training the boys are compassionate and caring. One Tigerland NCO (Cole Hauser) admonishes his wards "to listen and to learn" because what he has to teach them may save their lives in combat.
The ensemble acting effort by those surrounding Bozz is well played. Thomas Guiry garners sympathy as the not-too-bright Cantwell. Clifton Collins, Jr., as the mentally ailing Miter, is another one of Bozz's missions. Bozz also saves his friend Paxton (Matthew Davis), the only enlistee in the outfit, from the war whether the volunteer wants his life saved or not. Shea Whigham, as Bozz's main adversary among the draftees, Wilson, is a two-dimensional bad guy whose comeuppance is assured. The rest of the cast is played as two-dimensional figures, simply filling in the background.
The production has the appropriate look and feel of a place where men prepare for war. When the troops finally ship out to Tigerland for their last week of on-the-job training, they make a journey that is a cross between "Apocalypse Now" and the entry into "Jurassic Park." At one point one of the soldiers even says, "It's a war theme park." I half expected to see T-Rex poke his head out of the jungle. But for all of the cliché, "Tigerland" is a well-crafted, though predictable, parable about a man so bent on saving others that he may not be able to save himself. The myths that spring up among the soldiers about our hero, Bozz, in the end are handled as a coda that ends the film with a positive note of hope. I give it a C+.
For more Reeling reviews visit www.reelingreviews.com
<EMAIL_ADDRESS><EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


NSX Manager: all configuration items (CIs) out of compliance with a baseline.
NTP server is not set or NTP Misconfigured: 1 9 2 . 1 6 8 . 0 . 9
Syslog server is not set or Syslog Misconfigured: <IP_ADDRESS> 514 UDP
NSX Controllers Syslog: all configuration items (CIs) out of compliance with a baseline.
controller-19: Syslog Server is not configured.
GENERAL EDGE: Appliance Size, Cluster location, HA configuration, Appliance Version and Edge state: all configuration items (CIs) out of compliance with a baseline.
l2vpn-dlr01 compact 60U2NSX625-A 1 6.2.7 GREEN
l2vpn-server large 60U2NSX625-A 1 6.2.7 GREEN
t2-udlr compact 60U2NSX625-A 2 6.2.7 GREEN
t1-edge1 compact 60U2NSX625-A 2 6.2.7 GREEN
t1-udlr compact 60U2NSX625-A 2 6.2.7 GREEN
t2-edge compact 60U2NSX625-A 2 6.2.7 GREEN
t1-app1-web-lb compact 60U2NSX625-A 1 6.2.7 GREEN
t1-app1-app-lb compact 60U2NSX625-A 1 6.2.7 GREEN
t3-ecmp01 compact vol2-dc-a 1 6.2.7 GREEN
t3-ecmp02 compact vol2-dc-a 1 6.2.7 GREEN
t3-dev-edge01 compact NOT DEPLOYED 1 6.2.7 RED
t3-dev-dlr01 compact vol2-dc-a 1 6.2.7 GREEN
t3-dev-lb01 compact vol2-dc-a 1 6.2.7 GREEN
NSX Edge Syslog: all configuration items (CIs) out of compliance with a baseline.
l2vpn-dlr01 Syslog is not configured.
l2vpn-server Syslog is not configured.
t2-udlr Syslog is not configured.
t1-edge1 Syslog is not configured.
t1-udlr Syslog is not configured.
t2-edge Syslog is not configured.
t1-app1-web-lb 3 true udp <IP_ADDRESS>
t1-app1-app-lb Syslog is not configured.
t3-ecmp01 4 true udp <IP_ADDRESS>
t3-ecmp02 3 true udp <IP_ADDRESS>
t3-dev-edge01 3 true udp <IP_ADDRESS>
t3-dev-dlr01 3 true udp <IP_ADDRESS>
t3-dev-lb01 3 true udp <IP_ADDRESS>
NSX Edge Appliance Firewall: all configuration items (CIs) out of compliance with a baseline.
l2vpn-dlr01 NSX Edge Appliance Firewall state is misconfigured. Firewall State Enabled: true
t2-udlr NSX Edge Appliance Firewall state is misconfigured. Firewall State Enabled: true
t1-udlr NSX Edge Appliance Firewall state is misconfigured. Firewall State Enabled: true
t2-edge NSX Edge Appliance Firewall state is misconfigured. Firewall State Enabled: true
t1-app1-web-lb NSX Edge Appliance Firewall state is misconfigured. Firewall State Enabled: true
t1-app1-app-lb NSX Edge Appliance Firewall state is misconfigured. Firewall State Enabled: true
t3-dev-edge01 NSX Edge Appliance Firewall state is misconfigured. Firewall State Enabled: true
t3-dev-dlr01 NSX Edge Appliance Firewall state is misconfigured. Firewall State Enabled: true
t3-dev-lb01 NSX Edge Appliance Firewall state is misconfigured.
NSX BGP: all configuration items (CIs) out of compliance with a baseline.
BGP is disabled.
BGP is disabled.
t1-edge1 Neighbor: <IP_ADDRESS> BGP holdDown timer is misconfigured.
t1-edge1 Neighbor: <IP_ADDRESS> BGP keepAliveTimer is misconfigured.
t1-edge1 Neighbor: <IP_ADDRESS> BGP Password is not set.
t1-edge1 Neighbor: <IP_ADDRESS> BGP holdDown timer is misconfigured.
t1-edge1 Neighbor: <IP_ADDRESS> BGP keepAliveTimer is misconfigured.
t1-edge1 Neighbor: <IP_ADDRESS> BGP Password is not set.
BGP Redistribution is misconfigured.
t2-edge Neighbor: <IP_ADDRESS> BGP holdDown timer is misconfigured.
t2-edge Neighbor: <IP_ADDRESS> BGP keepAliveTimer is misconfigured.
t2-edge Neighbor: <IP_ADDRESS> BGP Password is not set.
t2-edge Neighbor: <IP_ADDRESS> BGP holdDown timer is misconfigured.
t2-edge Neighbor: <IP_ADDRESS> BGP keepAliveTimer is misconfigured.
t2-edge Neighbor: <IP_ADDRESS> BGP Password is not set.
BGP Redistribution is misconfigured.
BGP is disabled.
BGP is disabled.
t3-ecmp01 Neighbor: <IP_ADDRESS> BGP holdDown timer is misconfigured.
t3-ecmp01 Neighbor: <IP_ADDRESS> BGP keepAliveTimer is misconfigured.
t3-ecmp01 Neighbor: <IP_ADDRESS> BGP Password is not set.
t3-ecmp01 Neighbor: <IP_ADDRESS> BGP holdDown timer is misconfigured.
t3-ecmp01 Neighbor: <IP_ADDRESS> BGP keepAliveTimer is misconfigured.
t3-ecmp01 Neighbor: <IP_ADDRESS> BGP Password is not set.
t3-ecmp01 BGP defaultOriginate is enabled.
gatewayServices-t3-ecmp01 BGP Session State Alert for: BGP neighbor is <IP_ADDRESS>, remote AS 65013 Expected:Established Actual: Active
t3-ecmp02 Neighbor: <IP_ADDRESS> BGP holdDown timer is misconfigured.
t3-ecmp02 Neighbor: <IP_ADDRESS> BGP keepAliveTimer is misconfigured.
t3-ecmp02 Neighbor: <IP_ADDRESS> BGP Password is not set.
t3-ecmp02 Neighbor: <IP_ADDRESS> BGP holdDown timer is misconfigured.
t3-ecmp02 Neighbor: <IP_ADDRESS> BGP keepAliveTimer is misconfigured.
t3-ecmp02 Neighbor: <IP_ADDRESS> BGP Password is not set.
t3-ecmp02 BGP defaultOriginate is enabled.
gatewayServices-t3-ecmp02 BGP Session State Alert for: BGP neighbor is <IP_ADDRESS>, remote AS 65013 Expected:Established Actual: Active
t3-dev-edge01 Neighbor: <IP_ADDRESS> BGP holdDown timer is misconfigured.
t3-dev-edge01 Neighbor: <IP_ADDRESS> BGP keepAliveTimer is misconfigured.
t3-dev-edge01 Neighbor: <IP_ADDRESS> BGP Password is not set.
t3-dev-edge01 Neighbor: <IP_ADDRESS> BGP holdDown timer is misconfigured.
t3-dev-edge01 Neighbor: <IP_ADDRESS> BGP keepAliveTimer is misconfigured.
t3-dev-edge01 Neighbor: <IP_ADDRESS> BGP Password is not set.
t3-dev-edge01 Neighbor: <IP_ADDRESS> BGP holdDown timer is misconfigured.
t3-dev-edge01 Neighbor: <IP_ADDRESS> BGP keepAliveTimer is misconfigured.
t3-dev-edge01 Neighbor: <IP_ADDRESS> BGP Password is not set.
t3-dev-edge01 BGP Redistribution is misconfigured. BGP to Static.
distributedRouter-t3-dev-dlr01 BGP Session State Alert for: BGP neighbor is <IP_ADDRESS>, remote AS 65013 Expected:Established Actual: Active
BGP is disabled.
NSX DHCP Relay: all configuration items (CIs) out of compliance with a baseline.
l2vpn-dlr01 DHCP Relay is not configured.
t2-udlr DHCP Relay is not configured.
t1-udlr DHCP Relay is not configured.
t3-dev-dlr01 DHCP Secondary Relay is missing.
NSX DLR Interfaces: all configuration items (CIs) out of compliance with a baseline.
l2vpn-dlr01 web MTU size misconfiguration or Interface is not Connected.
l2vpn-dlr01 app MTU size misconfiguration or Interface is not Connected.
l2vpn-dlr01 db MTU size misconfiguration or Interface is not Connected.
l2vpn-dlr01 Number of uplinks is not matching the DLR standard. Expected: 1 Actual: 0
t2-udlr uplink MTU size misconfiguration or Interface is not Connected.
t2-udlr web MTU size misconfiguration or Interface is not Connected.
t2-udlr app MTU size misconfiguration or Interface is not Connected.
t2-udlr db MTU size misconfiguration or Interface is not Connected.
t1-udlr uplink MTU size misconfiguration or Interface is not Connected.
t1-udlr web MTU size misconfiguration or Interface is not Connected.
t1-udlr app MTU size misconfiguration or Interface is not Connected.
t1-udlr db MTU size misconfiguration or Interface is not Connected.
t3-dev-dlr01 uplink MTU size misconfiguration or Interface is not Connected.
t3-dev-dlr01 web MTU size misconfiguration or Interface is not Connected.
t3-dev-dlr01 app MTU size misconfiguration or Interface is not Connected.
t3-dev-dlr01 db MTU size misconfiguration or Interface is not Connected.
NSX ESG Interfaces: all configuration items (CIs) out of compliance with a baseline.
l2vpn-server uplink MTU size misconfiguration. Expected: 9000 Actual: 1500
l2vpn-server vnic1 MTU size misconfiguration. Expected: 9000 Actual: 1600
l2vpn-server Number of uplinks is not matching the ESG standard. Expected: 2 Actual: 1
t1-edge1 uplink MTU size misconfiguration. Expected: 9000 Actual: 1500
t1-edge1 downlink MTU size misconfiguration. Expected: 9000 Actual: 1500
t1-edge1 Number of uplinks is not matching the ESG standard. Expected: 2 Actual: 1
t2-edge uplink MTU size misconfiguration. Expected: 9000 Actual: 1500
t2-edge downlink MTU size misconfiguration. Expected: 9000 Actual: 1500
t2-edge Number of uplinks is not matching the ESG standard. Expected: 2 Actual: 1
t1-app1-web-lb web MTU size misconfiguration. Expected: 9000 Actual: 1500
t1-app1-web-lb Number of uplinks is not matching the ESG standard. Expected: 2 Actual: 1
t1-app1-app-lb app MTU size misconfiguration. Expected: 9000 Actual: 1500
t1-app1-app-lb Number of uplinks is not matching the ESG standard. Expected: 2 Actual: 0
t3-ecmp01 uplink MTU size misconfiguration. Expected: 9000 Actual: 1500
t3-ecmp01 t3-dev MTU size misconfiguration. Expected: 9000 Actual: 1500
t3-ecmp01 t3-dev SendRedirects misconfiguration. Expected: false Actual: true
t3-ecmp01 Number of uplinks is not matching the ESG standard. Expected: 2 Actual: 1
t3-ecmp02 uplink MTU size misconfiguration. Expected: 9000 Actual: 1500
t3-ecmp02 t3-dev MTU size misconfiguration. Expected: 9000 Actual: 1500
t3-ecmp02 t3-dev SendRedirects misconfiguration. Expected: false Actual: true
t3-ecmp02 Number of uplinks is not matching the ESG standard. Expected: 2 Actual: 1
t3-dev-edge01 uplink MTU size misconfiguration. Expected: 9000 Actual: 1500
t3-dev-edge01 downlink MTU size misconfiguration. Expected: 9000 Actual: 1500
t3-dev-edge01 downlink SendRedirects misconfiguration. Expected: false Actual: true
t3-dev-edge01 l2vpn MTU size misconfiguration. Expected: 9000 Actual: 1600
t3-dev-edge01 Number of uplinks is not matching the ESG standard. Expected: 2 Actual: 1
t3-dev-lb01 web MTU size misconfiguration. Expected: 9000 Actual: 1500
t3-dev-lb01 Number of uplinks is not matching the ESG standard. Expected: 2 Actual: 1


Vim documentation: gui_x11
main help file*gui_x11.txt* For Vim version 7.2. Last change: 2007 Dec 09 VIM REFERENCE MANUAL by Bram Moolenaar Vim's Graphical User Interface *gui-x11* *GUI-X11* *Athena* *Motif* 1. Starting the X11 GUI |gui-x11-start| 2. GUI Resources |gui-resources| 3. Shell Commands |gui-pty| 4. Various |gui-x11-various| 5. GTK version |gui-gtk| 6. GNOME version |gui-gnome| 7. KDE version |gui-kde| 8. Compiling |gui-x11-compiling| 9. X11 selection mechanism |x11-selection| Other relevant documentation: |gui.txt| For generic items of the GUI. {Vi does not have any of these commands}
1. Starting the X11 GUI *gui-x11-start* *E665* Then you can run the GUI version of Vim in either of these ways: gvim [options] [files...] vim -g [options] [files...] So if you call the executable "gvim", or make "gvim" a link to the executable, then the GUI version will automatically be used. Additional characters may be added after "gvim", for example "gvim-5". You may also start up the GUI from within the terminal version by using one of these commands: :gui [++opt] [+cmd] [-f|-b] [files...] *:gu* *:gui* :gvim [++opt] [+cmd] [-f|-b] [files...] *:gv* *:gvim* The "-f" option runs Vim in the foreground. The "-b" option runs Vim in the background (this is the default). Also see |++opt| and |+cmd|. *gui-fork* When the GUI is started, it does a fork() and exits the current process. When gvim was started from a shell this makes the shell accept further commands. If you don't want this (e.g. when using gvim for a mail program that waits for gvim to exit), start gvim with "gvim -f", "vim -gf" or use ":gui -f". Don't use "vim -fg", because "-fg" specifies the foreground color. When using "gvim -f" and then ":gui", Vim will run in the foreground. The "-f" argument will be remembered. To force running Vim in the background use ":gui -b". "gvim --nofork" does the same as "gvim -f". If you want the GUI to run in the foreground always, include the 'f' flag in 'guioptions'. |-f|.
2. GUI Resources *gui-resources* *.Xdefaults* If using the Motif or Athena version of the GUI (not for the KDE, GTK+ or Win32 version), a number of X resources are available. You should use Vim's class "Vim" when setting these. They are as follows: Resource name Meaning reverseVideo Boolean: should reverse video be used? background Color of background. foreground Color of normal text. scrollBackground Color of trough portion of scrollbars. scrollForeground Color of slider and arrow portions of scrollbars. menuBackground Color of menu backgrounds. menuForeground Color of menu foregrounds. tooltipForeground Color of tooltip and balloon foreground. tooltipBackground Color of tooltip and balloon background. font Name of font used for normal text. boldFont Name of font used for bold text. italicFont Name of font used for italic text. boldItalicFont Name of font used for bold, italic text. menuFont Name of font used for the menus, used when compiled without the |+xfontset| feature menuFontSet Name of fontset used for the menus, used when compiled with the |+xfontset| feature tooltipFont Name of the font used for the tooltip and balloons. When compiled with the |+xfontset| feature this is a fontset name. geometry Initial geometry to use for gvim's window (default is same size as terminal that started it). scrollbarWidth Thickness of scrollbars. borderWidth Thickness of border around text area. menuHeight Height of the menu bar (only for Athena). A special font for italic, bold, and italic-bold text will only be used if the user has specified one via a resource. No attempt is made to guess what fonts should be used for these based on the normal text font. Note that the colors can also be set with the ":highlight" command, using the "Normal", "Menu", "Tooltip", and "Scrollbar" groups. Example: :highlight Menu guibg=lightblue :highlight Tooltip guibg=yellow :highlight Scrollbar guibg=lightblue guifg=blue :highlight Normal guibg=grey90 *font-sizes* Note: All fonts (except for the menu and tooltip) must be of the same size!!! If you don't do this, text will disappear or mess up the display. Vim does not check the font sizes. It's the size in screen pixels that must be the same. Note that some fonts that have the same point size don't have the same pixel size! Additionally, the positioning of the fonts must be the same (ascent and descent). You can check this with "xlsfonts -l {fontname}". If any of these things are also set with Vim commands, e.g. with ":set guifont=Screen15", then this will override the X resources (currently 'guifont' is the only option that is supported). Here is an example of what you might put in your ~/.Xdefaults file: Vim*useSchemes: all Vim*sgiMode: true Vim*useEnhancedFSB: true Vim.foreground: Black Vim.background: Wheat Vim*fontList: 7x13 The first three of these are standard resources on Silicon Graphics machines which make Motif applications look even better, highly recommended! The "Vim*fontList" is to set the menu font for Motif. Example: Vim*menuBar*fontList: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-* With Athena: Vim*menuBar*SmeBSB*font: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-* Vim*menuBar*MenuButton*font: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-* NOTE: A more portable, and indeed more correct, way to specify the menu font in either Motif or Athena is through the resource: Vim.menuFont: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-* Or, when compiled with the |+xfontset| feature: Vim.menuFontSet: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-* Don't use "Vim*geometry" in the defaults. This will break the menus. Use "Vim.geometry" instead. If you get an error message "Cannot allocate colormap entry for "gray60", try adding this to your Vim resources (change the colors to your liking): Vim*scrollBackground: Black Vim*scrollForeground: Blue The resources can also be set with arguments to Vim: argument meaning *-gui* -display {display} Run vim on {display} *-display* -iconic Start vim iconified *-iconic* -background {color} Use {color} for the background *-background* -bg {color} idem *-bg* -foreground {color} Use {color} for normal text *-foreground* -fg {color} idem *-fg* -ul {color} idem *-ul* -font {font} Use {font} for normal text *-font* -fn {font} idem *-fn* -boldfont {font} Use {font} for bold text *-boldfont* -italicfont {font} Use {font} for italic text *-italicfont* -menufont {font} Use {font} for menu items *-menufont* -menufontset {fontset} Use {fontset} for menu items *-menufontset* -mf {font} idem *-mf* -geometry {geom} Use {geom} for initial geometry *-geometry* -geom {geom} idem, see |-geometry-example| *-geom* -borderwidth {width} Use a border width of {width} *-borderwidth* -bw {width} idem *-bw* *-scrollbarwidth* -scrollbarwidth {width} Use a scrollbar width of {width} -sw {width} idem *-sw* -menuheight {height} Use a menu bar height of {height} *-menuheight* -mh {height} idem *-mh* NOTE: On Motif the value is ignored, the menu height is computed to fit the menus. -reverse Use reverse video *-reverse* -rv idem *-rv* +reverse Don't use reverse video *-+reverse* +rv idem *-+rv* -xrm {resource} Set the specified resource *-xrm* Note about reverse video: Vim checks that the result is actually a light text on a dark background. The reason is that some X11 versions swap the colors, and some don't. These two examples will both give yellow text on a blue background: gvim -fg Yellow -bg Blue -reverse gvim -bg Yellow -fg Blue -reverse *-geometry-example* An example for the geometry argument: gvim -geometry 80x63+8+100 This creates a window with 80 columns and 63 lines at position 8 pixels from the left and 100 pixels from the top of the screen.
3. Shell Commands *gui-pty* WARNING: Executing an external command from the GUI will not always work. "normal" commands like "ls", "grep" and "make" mostly work fine. Commands that require an intelligent terminal like "less" and "ispell" won't work. Some may even hang and need to be killed from another terminal. So be careful! There are two ways to do the I/O with a shell command: Pipes and a pseudo-tty. The default is to use a pseudo-tty. This should work best on most systems. Unfortunately, the implementation of the pseudo-tty is different on every Unix system. And some systems require root permission. To avoid running into problems with a pseudo-tty when you least expect it, test it when not editing a file. Be prepared to "kill" the started command or Vim. Commands like ":r !cat" may hang! If using a pseudo-tty does not work for you, reset the 'guipty' option: :set noguipty Using a pipe should work on any Unix system, but there are disadvantages: - Some shell commands will notice that a pipe is being used and behave differently. E.g., ":!ls" will list the files in one column. - The ":sh" command won't show a prompt, although it will sort of work. - When using ":make" it's not possible to interrupt with a CTRL-C. Typeahead while the external command is running is often lost. This happens both with a pipe and a pseudo-tty. This is a known problem, but it seems it can't be fixed (or at least, it's very difficult). *gui-pty-erase* When your erase character is wrong for an external command, you should fix this in your "~/.cshrc" file, or whatever file your shell uses for initializations. For example, when you want to use backspace to delete characters, but hitting backspaces produces "^H" instead, try adding this to your "~/.cshrc": stty erase ^H The ^H is a real CTRL-H, type it as CTRL-V CTRL-H.
4. Various *gui-x11-various* *gui-x11-printing* The "File/Print" menu simply sends the current buffer to "lpr". No options or whatever. If you want something else, you can define your own print command. For example: :10amenu File.Print :w !lpr -Php3 :10vmenu File.Print :w !lpr -Php3 *X11-icon* Vim uses a black&white icon by default when compiled with Motif or Athena. A colored Vim icon is included as $VIMRUNTIME/vim32x32.xpm. For GTK+, this is the builtin icon used. Unfortunately, how you should install it depends on your window manager. When you use this, remove the 'i' flag from 'guioptions', to remove the black&white icon: :set guioptions-=i If you use one of the fvwm* family of window managers simply add this line to your .fvwm2rc configuration file: Style "vim" Icon vim32x32.xpm Make sure the icon file's location is consistent with the window manager's ImagePath statement. Either modify the ImagePath from within your .fvwm2rc or drop the icon into one the pre-defined directories: ImagePath /usr/X11R6/include/X11/pixmaps:/usr/X11R6/include/X11/bitmaps Note: older versions of fvwm use "IconPath" instead of "ImagePath". For CDE "dtwm" (a derivative of Motif) add this line in the .Xdefaults: Dtwm*Vim*iconImage: /usr/local/share/vim/vim32x32.xpm For "mwm" (Motif window manager) the line would be: Mwm*Vim*iconImage: /usr/local/share/vim/vim32x32.xpm Mouse Pointers Available in X11 *X11_mouse_shapes* By using the |'mouseshape'| option, the mouse pointer can be automatically changed whenever Vim enters one of its various modes (e.g., Insert or Command). Currently, the available pointers are: arrow an arrow pointing northwest beam a I-like vertical bar size an arrow pointing up and down busy a wristwatch blank an invisible pointer crosshair a thin "+" sign hand1 a dark hand pointing northeast hand2 a light hand pointing northwest pencil a pencil pointing southeast question question_arrow right_arrow an arrow pointing northeast up_arrow an arrow pointing upwards Additionally, any of the mouse pointers that are built into X11 may be used by specifying an integer from the X11/cursorfont.h include file. If a name is used that exists on other systems, but not in X11, the default "arrow" pointer is used.
5. GTK version *gui-gtk* *GTK+* *GTK* The GTK version of the GUI works a little bit different. GTK does _not_ use the traditional X resource settings. Thus items in your ~/.Xdefaults or app-defaults files are not used. Many of the traditional X command line arguments are not supported. (e.g., stuff like -bg, -fg, etc). The ones that are supported are: command line argument resource name meaning -fn or -font .font font name for the text -geom or -geometry .geometry size of the gvim window -rv or -reverse *reverseVideo white text on black background -display display to be used -fg -foreground {color} foreground color -bg -background {color} background color To set the font, see |'guifont'|. For GTK, there's also a menu option that does this. Additionally, there are these command line arguments, which are handled by GTK internally. Look in the GTK documentation for how they are used: --sync --gdk-debug --gdk-no-debug --no-xshm (not in GTK+ 2) --xim-preedit (not in GTK+ 2) --xim-status (not in GTK+ 2) --gtk-debug --gtk-no-debug --g-fatal-warnings --gtk-module --display (GTK+ counterpart of -display; works the same way.) --screen (The screen number; for GTK+ 2.2 multihead support.) These arguments are ignored when the |+netbeans_intg| feature is used: -xrm -mf As for colors, Vim's color settings (for syntax highlighting) is still done the traditional Vim way. See |:highlight| for more help. If you want to set the colors of remaining gui components (e.g., the menubar, scrollbar, whatever), those are GTK specific settings and you need to set those up in some sort of gtkrc file. You'll have to refer to the GTK documentation, however little there is, on how to do this. See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html for more information. *gtk-tooltip-colors* Example, which sets the tooltip colors to black on light-yellow: style "tooltips" { bg[NORMAL] = "#ffffcc" fg[NORMAL] = "#000000" } widget "gtk-tooltips*" style "tooltips" Write this in the file ~/.gtkrc and it will be used by GTK+. For GTK+ 2 you might have to use the file ~/.gtkrc-2.0 instead, depending on your distribution. Using Vim as a GTK+ plugin *gui-gtk-socketid* When the GTK+ version of Vim starts up normally, it creates its own top level window (technically, a 'GtkWindow'). GTK+ provides an embedding facility with its GtkSocket and GtkPlug widgets. If one GTK+ application creates a GtkSocket widget in one of its windows, an entirely different GTK+ application may embed itself into the first application by creating a top-level GtkPlug widget using the socket's ID. If you pass Vim the command-line option '--socketid' with a decimal or hexadecimal value, Vim will create a GtkPlug widget using that value instead of the normal GtkWindow. This enables Vim to act as a GTK+ plugin. This really is a programmer's interface, and is of no use without a supporting application to spawn the Vim correctly. For more details on GTK+ sockets, see http://www.gtk.org/api/ Note that this feature requires the latest GTK version. GTK 1.2.10 still has a small problem. The socket feature has not yet been tested with GTK+ 2 -- feel free to volunteer.
6. GNOME version *gui-gnome* *Gnome* *GNOME* The GNOME GUI works just like the GTK+ version. See |GTK+| above for how it works. It looks a bit different though, and implements one important feature that's not available in the plain GTK+ GUI: Interaction with the session manager. |gui-gnome-session| These are the different looks: - Uses GNOME dialogs (GNOME 1 only). The GNOME 2 GUI uses the same nice dialogs as the GTK+ 2 version. - Uses the GNOME dock, so that the toolbar and menubar can be moved to different locations other than the top (e.g., the toolbar can be placed on the left, right, top, or bottom). The placement of the menubar and toolbar is only saved in the GNOME 2 version. - That means the menubar and toolbar handles are back! Yeah! And the resizing grid still works too. GNOME is compiled with if it was found by configure and the --enable-gnome-check argument was used. GNOME session support *gui-gnome-session* *gnome-session* On logout, Vim shows the well-known exit confirmation dialog if any buffers are modified. Clicking [Cancel] will stop the logout process. Otherwise the current session is stored to disk by using the |:mksession| command, and restored the next time you log in. The GNOME session support should also work with the KDE session manager. If you are experiencing any problems please report them as bugs. Note: The automatic session save works entirely transparent, in order to avoid conflicts with your own session files, scripts and autocommands. That means in detail: - The session file is stored to a separate directory (usually $HOME/.gnome2). - 'sessionoptions' is ignored, and a hardcoded set of appropriate flags is used instead: blank,curdir,folds,globals,help,options,tabpages,winsize - The internal variable |v:this_session| is not changed when storing the session. Also, it is restored to its old value when logging in again. The position and size of the GUI window is not saved by Vim since doing so is the window manager's job. But if compiled with GTK+ 2 support, Vim helps the WM to identify the window by restoring the window role (using the |--role| command line argument).
7. KDE version *gui-kde* *kde* *KDE* *KVim* *gui-x11-kde* There is no KDE version of Vim. There has been some work on a port using the Qt toolkit, but it never worked properly and it has been abandoned. Work continues on Yzis: www.yzis.org.
8. Compiling *gui-x11-compiling* If using X11, Vim's Makefile will by default first try to find the necessary GTK+ files on your system. If the GTK+ files cannot be found, then the Motif files will be searched for. Finally, if this fails, the Athena files will be searched for. If all three fail, the GUI will be disabled. For GTK+, Vim's configuration process requires that GTK+ be properly installed. That is, the shell script 'gtk-config' must be in your PATH, and you can already successful compile, build, and execute a GTK+ program. The reason for this is because the compiler flags (CFLAGS) and link flags (LDFLAGS) are obtained through the 'gtk-config' shell script. If you want to build with GTK+ 2 support pass the --enable-gtk2-check argument to ./configure. Optionally, support for GNOME 2 will be compiled if the --enable-gnome-check option is also given. Note that the support for GTK+ 2 is still experimental. However, many people have reported that it works just fine for them. Otherwise, if you are using Motif or Athena, when you have the Motif or Athena files in a directory where configure doesn't look, edit the Makefile to enter the names of the directories. Search for "GUI_INC_LOC" for an example to set the Motif directories, "CONF_OPT_X" for Athena. *gui-x11-gtk* At the time of this writing, you may use either GTK+ version 1.0.6 or 1.2. It is suggested that you use v1.2 since not all of Vim's GUI features are present if using v1.0.6. For instance, there are no tearoff menus present in v1.0.6. Using a version from GTK+'s CVS tree may or may not work, and is therefore not supported and not recommended. For the experimental GTK+ 2 GUI, using the latest release of the GTK+ 2.0 or GTK+ 2.2 series is recommended. CVS HEAD seems to work fine most of time as well. Lastly, although GTK+ has supposedly been ported to the Win32 platform, this has not been tested with Vim and is also unsupported. Also, it's unlikely to even compile since GTK+ GUI uses parts of the generic X11 code. This might change in distant future; particularly because getting rid of the X11 centric code parts is also required for GTK+ framebuffer support. *gui-x11-motif* For Motif, you need at least Motif version 1.2 and/or X11R5. Motif 2.0 and X11R6 are OK. Motif 1.1 and X11R4 might work, no guarantee (there may be a few problems, but you might make it compile and run with a bit of work, please send me the patches if you do). The newest releases of LessTif have been reported to work fine too. *gui-x11-athena* The Athena version uses the Xaw widget set by default. If you have the 3D version, you might want to link with Xaw3d instead. This will make the menus look a bit better. Edit the Makefile and look for "XAW_LIB". The scrollbars will remain the same, because Vim has its own, which are already 3D (in fact, they look more like Motif). *gui-x11-neXtaw* The neXtaw version is mostly like Athena, but uses different widgets. *gui-x11-misc* In general, do not try to mix files from different GTK+, Motif, Athena and X11 versions. This will cause problems. For example, using header files for X11R5 with a library for X11R6 probably doesn't work (although the linking won't give an error message, Vim will crash later).
9. X11 selection mechanism *x11-selection* If using X11, in either the GUI or an xterm with an X11-aware Vim, then Vim provides varied access to the X11 selection and clipboard. These are accessed by using the two selection registers "* and "+. X11 provides two basic types of global store, selections and cut-buffers, which differ in one important aspect: selections are "owned" by an application, and disappear when that application (e.g., Vim) exits, thus losing the data, whereas cut-buffers, are stored within the X-server itself and remain until written over or the X-server exits (e.g., upon logging out). The contents of selections are held by the originating application (e.g., upon a copy), and only passed on to another application when that other application asks for them (e.g., upon a paste). The contents of cut-buffers are immediately written to, and are then accessible directly from the X-server, without contacting the originating application. *quoteplus* *quote+* There are three documented X selections: PRIMARY (which is expected to represent the current visual selection - as in Vim's Visual mode), SECONDARY (which is ill-defined) and CLIPBOARD (which is expected to be used for cut, copy and paste operations). Of these three, Vim uses PRIMARY when reading and writing the "* register (hence when the X11 selections are available, Vim sets a default value for |'clipboard'| of "autoselect"), and CLIPBOARD when reading and writing the "+ register. Vim does not access the SECONDARY selection. Examples: (assuming the default option values) - Select an URL in Visual mode in Vim. Go to a text field in Netscape and click the middle mouse button. The selected text will be inserted (hopefully!). - Select some text in Netscape by dragging with the mouse. Go to Vim and press the middle mouse button: The selected text is inserted. - Select some text in Vim and do "+y. Go to Netscape, select some text in a textfield by dragging with the mouse. Now use the right mouse button and select "Paste" from the popup menu. The selected text is overwritten by the text from Vim. Note that the text in the "+ register remains available when making a Visual selection, which makes other text available in the "* register. That allows overwriting selected text. *x11-cut-buffer* There are, by default, 8 cut-buffers: CUT_BUFFER0 to CUT_BUFFER7. Vim only uses CUT_BUFFER0, which is the one that xterm uses by default. Whenever Vim is about to become unavailable (either via exiting or becoming suspended), and thus unable to respond to another application's selection request, it writes the contents of any owned selection to CUT_BUFFER0. If the "+ CLIPBOARD selection is owned by Vim, then this is written in preference, otherwise if the "* PRIMARY selection is owned by Vim, then that is written. Similarly, when Vim tries to paste from "* or "+ (either explicitly, or, in the case of the "* register, when the middle mouse button is clicked), if the requested X selection is empty or unavailable, Vim reverts to reading the current value of the CUT_BUFFER0. Note that when text is copied to CUT_BUFFER0 in this way, the type of selection (character, line or block) is always lost, even if it is a Vim which later pastes it. Xterm, by default, always writes visible selections to both PRIMARY and CUT_BUFFER0. When it pastes, it uses PRIMARY if this is available, or else falls back upon CUT_BUFFER0. For this reason, when cutting and pasting between Vim and an xterm, you should use the "* register. Xterm doesn't use CLIPBOARD, thus the "+ doesn't work with xterm. Most newer applications will provide their current selection via PRIMARY ("*) and use CLIPBOARD ("+) for cut/copy/paste operations. You thus have access to both by choosing to use either of the "* or "+ registers. top - main help file


{% verbatim %}
Parameters
Parameters
is a concept we designed in PaddlePaddle V2 API. Parameters
is a container of parameters, which makes PaddlePaddle capable of sharing parameter between topologies. We described usages of Parameter
in api.md.
We used Python to implement Parameters when designing V2 API before. There are several defects for the current implementation:
We just use memcpy
to share Parameters between topologies, but this is very inefficient.
We did not support sharing Parameters while training. We just trigger memcpy
when start training.
It is necessary that we implement Parameters in CPP side. However, it could result a code refactoring for PaddlePaddle, because PaddlePaddle was designed for training only one topology before, i.e., each GradientMachine contains its Parameter as a data member. In current PaddlePaddle implementation, there are three concepts associated with Parameters
:
paddle::Parameter
. A Parameters
is a container for paddle::Parameter
.
It is evident that we should use paddle::Parameter
when developing Parameters
.
However, the Parameter
class contains many functions and does not have a clear interface.
It contains create/store Parameter
, serialize/deserialize
, optimize(i.e SGD)
, randomize/zero
.
When we developing Parameters
, we only use create/store Parameter
functionality.
We should extract functionalities of Parameter into many classes to clean PaddlePaddle CPP implementation.
paddle::GradientMachine
and its sub-classes, e.g., paddle::MultiGradientMachine
, paddle::NeuralNetwork
.
We should pass Parameters
to paddle::GradientMachine
when forward/backward
to avoid memcpy
between topologies.
Also, we should handle multi-GPU/CPU training, because forward
and backward
would perform on multi-GPUs and multi-CPUs.
Parameters
should dispatch the parameter value to each device, and gather the parameter gradient from each device.
paddle::ParameterUpdater
. The ParameterUpdater is used to update parameters in Paddle.
So Parameters
should be used by paddle::ParameterUpdater
, and paddle::ParameterUpdater
should optimize Parameters
(by SGD).
The step by step approach for implementation Parameters in PaddlePaddle C++ core is listed below. Each step should be a PR and could be merged into PaddlePaddle one by one.
Clean paddle::Parameter
interface. Extract the functionalities of paddle::Parameter
to prepare for the implementation of Parameters.
Implementation a Parameters
class. It just stores the paddle::Parameter
inside. Make GradientMachine
uses Parameters
as a class member.
Make Parameters
support Multi-CPU and Multi-GPU training to prepare for sharing Parameter
between topologies.
Because we need share Parameters
between topologies, it is Parameters
's response to exchange Parameters between GPUs.
GradientMachine
should not handle how to exchange Parameters because GradientMachine
only used to train one topology and we need to support train many topologies in Paddle, i.e., there could be many GradientMachines use one Parameters
.
Parameters
. The MultiGradientMachine
invoke this function, which uses Parameters
as this function inputs.The MultiGradientMachine contains many functionalities. Extracting the Parameters exchanging logic could make MultiGradientMachine clearer and simpler.
Make Parameters
as an argument for forward/backward
function, not a data member for GradientMachine
. For example, forward
could be forward(const Parameters& params, ...)
and backward
could be backward(Parameters* params, ...)
. After this step, Paddle could share Parameters
between topologies.
ParameterUpdater
is invoked by GradientMachine
and Trainer
, but it updates Parameters
. In the end of this code refactoring, we could change ParameterUpdater
directly uses Parameters
to make ParameterUpdater
's implementation clear.


Package src.main
Class Commit
- java.lang.Object
-
- src.main.OmniObject
-
- src.main.Commit
-
- All Implemented Interfaces:
java.io.Serializable
public class Commit extends OmniObject implements java.io.Serializable
Commit is Omni's internal representation of a snapshot of a repository and its staged files at a particular point in time. As such, it is inclusive of metadata such as the prior commit, author, time of commit, and a commit message or log. The tree that it points to is the tracked repository.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Date
getDateTime()
java.lang.String
getMessage()
java.lang.String
getName()
Commit
getParent()
java.lang.String
getPath()
java.lang.String
getSHA1()
Returns the SHA-1 hashcode associated with the OmniObject and its contents.java.util.List<java.lang.String>
getTracked()
void
removeFromTracked(java.lang.String filePath)
Removes a given file from the tracked file list.-
Methods inherited from class src.main.OmniObject
deserialize, serialize, toString
-
-
-
-
Constructor Detail
-
Commit
public Commit(Tree root, Commit parent, java.lang.String message, java.util.List<java.lang.String> tracked)
Sole constructor.- Parameters:
root
- is a Tree representing the entire tracked repository.parent
- is the prior Commit in the current Branch (null if initial commit).message
- is the commit message passed by the user.tracked
- is a list of files being tracked in the current snapshot.
-
-
Method Detail
-
removeFromTracked
public void removeFromTracked(java.lang.String filePath)
Removes a given file from the tracked file list.- Parameters:
filePath
- is the path of the file to be removed from the tracked files list.
-
getSHA1
public java.lang.String getSHA1()
Description copied from class:OmniObject
Returns the SHA-1 hashcode associated with the OmniObject and its contents. For purposes of this project, we can assume that collisions are not going to be present. While this is traditionally a 40-character string, we prepend a 'B', 'T', or 'C' to the hashcode to differentiate between blobs, tree, and commits, respectively.- Specified by:
getSHA1
in classOmniObject
- Returns:
- SHA-1 encoding as a 41-character string.
-
getPath
public java.lang.String getPath()
- Specified by:
getPath
in classOmniObject
-
getName
public java.lang.String getName()
- Specified by:
getName
in classOmniObject
-
getParent
public Commit getParent()
-
getMessage
public java.lang.String getMessage()
-
getDateTime
public java.util.Date getDateTime()
-
getTracked
public java.util.List<java.lang.String> getTracked()
-
-


Formula 1's 2021 rule changes a "starting point" admits Ferrari
by Bobby VincentFerrari team principal Mattia Binotto has admitted the 2021 rule and regulation changes in Formula 1 will prove to be a good "starting point" in turning the sport around.
Before the USA Grand Prix, the FIA and F1 introduced their new rules and regulations that will come into place after the 2020 F1 season, in a bid to try and make the competition more competitive across the grid.
At the moment, Mercedes, Ferrari and Red Bull are the only teams who have a realistic chance of winning a race or recording a podium finish and F1 wants to put other teams in contention as well.
Ferrari boss Binotto has praised the rule changes, saying it's the "right moment" to look for more sustainability in Formula 1, as quoted by Crash.net: "We believe it is the right moment to look for a discontinuity, for our sport, it has to be sustainable, we are all aware of that.
"We need to work hard as well in the future on a more sustainable, green, as well, sport. There is still much to work on, so if there is anything, I would avoid to say that it is locked down.
"I think this is still at a starting point where altogether now we need to collaborate, improve furthermore what is certainly a good set of regulations."


Error 404 Not Found
Our apologies for the temporary inconvenience. The requested URL was not found on this server.
Verify url and typos - The web page you were attempting to view may not exist or may have moved - try checking the web address for typos.


Next: prj - Projection Information, Previous: shp - Shape Data, Up: Shapefile [Contents][Index]
Module (shapefile shx)
.
Index file with fixed width records for the accompanying shp file (which has variable width records). A parser is provided, but goes unused in the code.


Irish Coffee
- ⏲ Prep time: 5 min
- 🍳 Cook time: 5 min
- 🍽 Servings: 1
Ingredients
- 1 (1.5 fluid ounce) jigger Irish cream liqueur
- 1 (1.5 fluid ounce) jigger Irish whiskey
- 1 cup hot brewed coffee
- 1 tablespoon whipped cream
- 1 dash ground nutmeg
Directions
- In a coffee mug, combine Irish cream and Irish whiskey. Fill mug with coffee. Top with a dab of whipped cream and a dash of nutmeg.
Contribution
Front3ndNinja - Website
Recipe tags:
drink
sweet
breakfast


ISS positioner service
LST file upload
(all fields are required)
Start date and time
End date and time
Minimum session duration (in seconds)
Maximum distance to the object
Unit for distance to the object
Kilometers
Meters
Sun angle in degrees
Greater than or equal
Greater than
Equal
Not equal
Less than or equal
Less than
Between
LST file
Submit
Start
Traverse
End
Distance
Sun angle
Title
Longitude
Latitude
Download response
Server response


val size: Int
The number of bytes this sequence represents.
size - The number of bytes this sequence represents.
size


--- layout: page title: About Me description: This is what I do. background: '/img/bg-about.jpg' ---
Technology is my passion and I pride myself in being able to build a website from thought to launch. I am well rounded in the field with Front-end & Back-End Development skills that include web fundamentals, React, Redux, Express, and Ruby. My mission is to continuously produce the best of my capacity by pushing past my comfort zone & being demanding of myself. I am actively seeking full-time employment to contribute my knowledge, expertise, and creativity as a Web Developer.


Ski Maps is a semester long group project for the GUI II class at UMass Lowell. The project aims to make it easier for skiers and snow boarders to find out what the current conditions are like at a given mountain. The project sources data for six different ski resorts, and plots the current trail conditions on a trail map. Sourcing this data is accomplished via a Python script that scapes each ski resorts snow report page and saves the data in JSON format.
Developers
Contact
Please direct any questions, concerns, complaints, or complements to hello@downing.io


---
layout: post
title: The beginning of the journey
date: '2016-08-30T11:02:00.001-07:00'
author: Karteek
tags:
- Blog
- Introduction
modified_time: '2016-08-31T20:00:12.538-07:00'
blogger_id: tag:blogger.com,1999:blog-8004810643159823472.post-3723762678041622793
blogger_orig_url: http://www.akyadavilli.xyz/2016/08/hello-world.html
---
Hello world. Current time-stamp is 2016-08-31 12:47:00 AM. After reading that, if you know what I am referring to, you are a tech-head and may continue to read this blog.
So, the reasons that I am blogging:
- Career progression
- Knowledge Sharing
- Knowledge Base
- Networking
- Helping friends
Hopefully, all the experience will allow me to help you (the readers of the blog) better your career, become more productive, and earn more money. I’ll certainly give it a shot!


This tests loading of a simple TEXT and no HTML when the HTTP content-type is set to "application/x-shockwave-flash" . Expected : This page should have NOTHING .


flaskpoem is just the TensorFlow for Poets model, deployed as a Flask application.
Image URL:
Prediction: {{ session.prediction }}


Because this page runs from another domain (it's probably loaded from file:///
protocol) we
can showcase the CORS (Cross-Origin Resource Sharing) features. If you see an error when executing these
examples, one of two things went wrong: CORS isn't enable, or you never pushed the code to your server.
Please remember that th einstance I've used is sc8r141212
, so if yours varies you'll need
to adjust it in the options drop-down at the top-right of the page.


The general graph constructor assumes that each process passes the full (global) communication graph to the call. This limits the scalability of this constructor. With the distributed graph interface, the communication graph is specified in a fully distributed fashion. Each process specifies only the part of the communication graph of which it is aware. Typically, this could be the set of processes from which the process will eventually receive or get data, or the set of processes to which the process will send or put data, or some combination of such edges. Two different interfaces can be used to create a distributed graph topology. MPI_DIST_GRAPH_CREATE_ADJACENT creates a distributed graph communicator with each process specifying all of its incoming and outgoing (adjacent) edges in the logical communication graph and thus requires minimal communication during creation. MPI_DIST_GRAPH_CREATE provides full flexibility, and processes can indicate that communication will occur between other pairs of processes.
To provide better possibilities for optimization by the MPI library, the distributed graph constructors permit weighted communication edges and take an info argument that can further influence process reordering or other optimizations performed by the MPI library. For example, hints can be provided on how edge weights are to be interpreted, the quality of the reordering, and/or the time permitted for the MPI library to process the graph.
| MPI_DIST_GRAPH_CREATE_ADJACENT(comm_old, indegree, sources, sourceweights, outdegree, destinations, destweights, info, reorder, comm_dist_graph) | |
| IN comm_old | input communicator (handle) |
| IN indegree | size of sources and sourceweights arrays (non-negative integer) |
| IN sources | ranks of processes for which the calling process is a destination (array of non-negative integers) |
| IN sourceweights | weights of the edges into the calling process (array of non-negative integers) |
| IN outdegree | size of destinations and destweights arrays (non-negative integer) |
| IN destinations | ranks of processes for which the calling process is a source (array of non-negative integers) |
| IN destweights | weights of the edges out of the calling process (array of non-negative integers) |
| IN info | hints on optimization and interpretation of weights (handle) |
| IN reorder | the ranks may be reordered ( true) or not ( false) (logical) |
| OUT comm_dist_graph | communicator with distributed graph topology (handle) |
int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old, int indegree, int sources[], int sourceweights[], int outdegree, int destinations[], int destweights[], MPI_Info info, int reorder, MPI_Comm *comm_dist_graph)
MPI_DIST_GRAPH_CREATE_ADJACENT(COMM_OLD, INDEGREE, SOURCES, SOURCEWEIGHTS, OUTDEGREE, DESTINATIONS, DESTWEIGHTS, INFO, REORDER, COMM_DIST_GRAPH, IERROR)
INTEGER COMM_OLD, INDEGREE, SOURCES(*), SOURCEWEIGHTS(*), OUTDEGREE,
DESTINATIONS(*), DESTWEIGHTS(*), INFO, COMM_DIST_GRAPH, IERROR
LOGICAL REORDER
{ MPI::Distgraphcomm MPI::Intracomm::Dist_graph_create_adjacent(int indegree, const int sources[], const int sourceweights[], int outdegree, const int destinations[], const int destweights[], const MPI::Info& info, bool reorder) const (binding deprecated, see Section Deprecated since MPI-2.2
) }
{ MPI::Distgraphcomm MPI::Intracomm::Dist_graph_create_adjacent(int indegree, const int sources[], int outdegree, const int destinations[], const MPI::Info& info, bool reorder) const (binding deprecated, see Section Deprecated since MPI-2.2
) }
MPI_DIST_GRAPH_CREATE_ADJACENT returns a handle to a new
communicator to which the distributed graph topology information is
attached. Each process passes all information about the edges to its
neighbors in the virtual distributed graph topology. The calling
processes must ensure that each edge of the graph is described in the
source and in the destination process with the same weights. If there
are multiple edges for a given (source,dest) pair, then the sequence
of the weights of these edges does not matter. The complete
communication topology is the combination of all edges shown in the
sources arrays of all processes in comm_old, which must be
identical to the combination of all edges shown in the
destinations arrays. Source and destination ranks must be
process ranks of comm_old. This allows a fully distributed
specification of the communication graph. Isolated processes (i.e.,
processes with no outgoing or incoming edges, that is, processes that
have specified indegree and outdegree as zero and that
thus do not occur as source or destination rank in the graph
specification) are allowed.
The call creates a new communicator comm_dist_graph of
distributed graph topology type to which topology information has been
attached. The number of processes in comm_dist_graph is
identical to the number of processes in comm_old. The call to
MPI_DIST_GRAPH_CREATE_ADJACENT is collective.
Weights are specified as non-negative integers and can be used to
influence the process remapping strategy and other internal MPI
optimizations. For instance, approximate count arguments of later
communication calls along specific edges could be used as their edge
weights. Multiplicity of edges can likewise indicate more intense
communication between pairs of processes. However, the exact meaning
of edge weights is not specified by the MPI standard and is left to
the implementation. In C or Fortran, an application can supply the
special value MPI_UNWEIGHTED for the weight array to indicate
that all edges have the same (effectively no) weight. In C++, this
constant does not exist and the weight arguments may be omitted from
the argument list. It is erroneous to supply MPI_UNWEIGHTED, or
in C++ omit the weight arrays, for some but not all processes of
comm_old. Note that MPI_UNWEIGHTED is not a special weight
value; rather it is a special value for the total array argument. In
C, one would expect it to be NULL. In Fortran,
MPI_UNWEIGHTED is an object like MPI_BOTTOM (not usable
for initialization or assignment).
See Section Named Constants
.
The meaning of the info and reorder arguments is defined
in the description of the following routine.
int MPI_Dist_graph_create(MPI_Comm comm_old, int n, int sources[], int degrees[], int destinations[], int weights[], MPI_Info info, int reorder, MPI_Comm *comm_dist_graph)
MPI_DIST_GRAPH_CREATE(COMM_OLD, N, SOURCES, DEGREES, DESTINATIONS, WEIGHTS, INFO, REORDER, COMM_DIST_GRAPH, IERROR)
{ MPI::Distgraphcomm MPI::Intracomm::Dist_graph_create(int n, const int sources[], const int degrees[], const int destinations[], const int weights[], const MPI::Info& info, bool reorder) const (binding deprecated, see Section Deprecated since MPI-2.2
) }
{ MPI::Distgraphcomm MPI::Intracomm::Dist_graph_create(int n, const int sources[], const int degrees[], const int destinations[], const MPI::Info& info, bool reorder) const (binding deprecated, see Section Deprecated since MPI-2.2
) }
MPI_DIST_GRAPH_CREATE returns a handle to a new
communicator to which the distributed graph topology information is
attached. Concretely, each process calls the constructor with a set of
directed (source,destination) communication edges as
described below. Every process passes an array of n source
nodes in the sources array. For each source node, a
non-negative number of destination nodes is specified in the
degrees array. The destination nodes are stored in the
corresponding consecutive segment of the destinations
array. More precisely, if the i-th node in sources is
s, this specifies degrees[i] edges (s,d)
with d of the j-th such edge stored in
destinations[degrees[0]+...+degrees[i-1]+j]. The weight of
this edge is stored in
weights[degrees[0]+...+degrees[i-1]+j]. Both the
sources and the destinations arrays may contain the
same node more than once, and the order in which nodes are listed as
destinations or sources is not significant. Similarly, different
processes may specify edges with the same source and destination
nodes. Source and destination nodes must be process ranks of
comm_old. Different processes may specify different numbers
of source and destination nodes, as well as different source to
destination edges. This allows a fully distributed specification of
the communication graph. Isolated processes (i.e., processes with no
outgoing or incoming edges, that is, processes that do not occur as
source or destination node in the graph specification) are allowed.
The call creates a new communicator comm_dist_graph of
distributed graph topology type to which topology information has been
attached. The number of processes in comm_dist_graph is
identical to the number of processes in comm_old. The call to
MPI_Dist_graph_create is collective.
If reorder = false, all processes will have the same rank in
comm_dist_graph as in comm_old. If
reorder = true then the MPI library is free to remap to
other processes (of comm_old) in order to improve
communication on the edges of the communication graph. The weight
associated with each edge is a hint to the MPI library about the
amount or intensity of communication on that edge, and may be used to
compute a ``best'' reordering.
Weights are specified as non-negative integers and can be used to
influence the process remapping strategy and other internal MPI
optimizations. For instance, approximate count arguments of later
communication calls along specific edges could be used as their edge
weights. Multiplicity of edges can likewise indicate more intense
communication between pairs of processes. However, the exact meaning
of edge weights is not specified by the MPI standard and is left to
the implementation. In C or Fortran, an application can supply the
special value MPI_UNWEIGHTED for the weight array to indicate
that all edges have the same (effectively no) weight. In C++, this
constant does not exist and the weights argument may be omitted from
the argument list. It is erroneous to supply MPI_UNWEIGHTED, or
in C++ omit the weight arrays, for some but not all processes of
comm_old. Note that MPI_UNWEIGHTED is not a special weight
value; rather it is a special value for the total array argument. In
C, one would expect it to be NULL. In Fortran,
MPI_UNWEIGHTED is an object like MPI_BOTTOM (not usable
for initialization or assignment).
See Section Named Constants
The meaning of the weights argument can be influenced by the
info argument. Info arguments can be used to guide the
mapping; possible options include minimizing the maximum number of
edges between processes on different SMP nodes, or minimizing the sum
of all such edges. An MPI implementation is not obliged to follow
specific hints, and it is valid for an MPI implementation not to do
any reordering. An MPI implementation may specify more info
key-value pairs. All processes must specify the same set of key-value
info pairs.
MPI implementations must document any additionally supported key-value
info pairs. MPI_INFO_NULL is always valid, and may
indicate the default creation of the distributed graph topology to the
MPI library.
An implementation does not explicitly need to construct the topology
from its distributed parts. However, all processes can construct the
full topology from the distributed specification and use this in a
call to MPI_GRAPH_CREATE to create the topology. This may serve
as a reference implementation of the functionality, and may be
acceptable for small communicators. However, a scalable high-quality
implementation would save the topology graph in a distributed way.
( End of advice to implementors.)
With MPI_DIST_GRAPH_CREATE, this graph could be
constructed in many different ways. One way would be that each process
specifies its outgoing edges. The arguments per process would be:
Another way would be to pass the whole graph on process 0, which could be
done with the following arguments per process:
In both cases above, the application could supply MPI_UNWEIGHTED
instead of explicitly providing identical weights.
MPI_DIST_GRAPH_CREATE_ADJACENT could be used to specify
this graph using the following arguments:
MPI_DIST_GRAPH_CREATE(comm_old, n, sources, degrees,
destinations, weights, info, reorder, comm_dist_graph) IN comm_old input communicator (handle) IN n number of source nodes for which this process
specifies edges (non-negative integer) IN sources array containing the n source nodes for which
this process specifies edges (array of non-negative integers) IN degrees array specifying the number of destinations
for each source node in the source node array
(array of non-negative integers) IN destinations destination nodes for the source nodes in the source node
array (array of non-negative integers) IN weights weights for source to destination edges (array of non-negative integers) IN info hints on optimization and interpretation of weights (handle) IN reorder the process may be reordered ( true) or not ( false) (logical) OUT comm_dist_graph communicator with distributed graph topology added (handle)
INTEGER COMM_OLD, N, SOURCES(*), DEGREES(*), DESTINATIONS(*), WEIGHTS(*), INFO, COMM_DIST_GRAPH, IERROR
LOGICAL REORDER
Advice
to implementors.
Example
As for Example General (Graph) Constructor
,assume there are four processes 0, 1, 2, 3 with the following adjacency matrix and
unit edge weights:
process neighbors
0 1, 3
1 0
2 3
3 0, 2
process n sources degrees
destinations weights
0 1 0 2 1,3 1,1
1 1 1 1 0 1
2 1 2 1 3 1
3 1 3 2 0,2 1,1
process n sources degrees
destinations weights
0 4 0,1,2,3 2,1,1,2 1,3,0,3,0,2 1,1,1,1,1,1
1 0 - - - -
2 0 - - - -
3 0 - - -
process indegree sources sourceweights
outdegree destinations destweights
0 2 1,3 1,1 2 1,3 1,1
1 1 0 1 1 0 1
2 1 3 1 1 3 1
3 2 0,2 1,1 2 0,2 1,1
Example
A two-dimensional PxQ torus where all processes communicate along the
dimensions and along the diagonal edges. This cannot be modelled with
Cartesian topologies, but can easily be captured with
MPI_DIST_GRAPH_CREATE as shown in the following code. In this
example, the communication along the dimensions is twice as heavy as
the communication along the diagonals:
/*
Input: dimensions P, Q
Condition: number of processes equal to P*Q; otherwise only
ranks smaller than P*Q participate
*/
int rank, x, y;
int sources[1], degrees[1];
int destinations[8], weights[8];
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
/* get x and y dimension */
y=rank/P; x=rank%P;
/* get my communication partners along x dimension */
destinations[0] = P*y+(x+1)%P; weights[0] = 2;
destinations[1] = P*y+(P+x-1)%P; weights[1] = 2;
/* get my communication partners along y dimension */
destinations[2] = P*((y+1)%Q)+x; weights[2] = 2;
destinations[3] = P*((Q+y-1)%Q)+x; weights[3] = 2;
/* get my communication partners along diagonals */
destinations[4] = P*((y+1)%Q)+(x+1)%P; weights[4] = 1;
destinations[5] = P*((Q+y-1)%Q)+(x+1)%P; weights[5] = 1;
destinations[6] = P*((y+1)%Q)+(P+x-1)%P; weights[6] = 1;
destinations[7] = P*((Q+y-1)%Q)+(P+x-1)%P; weights[7] = 1;
sources[0] = rank;
degrees[0] = 8;
MPI_Dist_graph_create(MPI_COMM_WORLD, 1, sources, degrees, destinations,
weights, MPI_INFO_NULL, 1, comm_dist_graph)
Up: Topology Constructors
Next: Topology Inquiry Functions
Previous: General (Graph) Constructor
Return to MPI-2.2 Standard Index
Return to MPI Forum Home Page
(Unofficial) MPI-2.2 of September 4, 2009
HTML Generated on September 10, 2009


--- title: `layers.backbone.inception_v3` keywords: fastai sidebar: home_sidebar nb_path: "nbs/05_layers.backbone.inception_v3.ipynb" ---
inception_v3
[source]
inception_v3
(pretrained
=False
, **kwargs
)
Inception v3 model architecture from
"Rethinking the Inception Architecture for Computer Vision" <http://arxiv.org/abs/1512.00567>
_.
Args: pretrained (bool): If True, returns a model pre-trained on ImageNet
class
Inception3
[source]
Inception3
(num_classes
=1000
,aux_logits
=True
,transform_input
=False
) ::Module
Base class for all neural network modules.
Your models should also subclass this class.
Modules can also contain other Modules, allowing to nest them in a tree structure. You can assign the submodules as regular attributes::
import torch.nn as nn
import torch.nn.functional as F
class Model(nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv1 = nn.Conv2d(1, 20, 5)
self.conv2 = nn.Conv2d(20, 20, 5)
def forward(self, x):
x = F.relu(self.conv1(x))
return F.relu(self.conv2(x))
Submodules assigned in this way will be registered, and will have their
parameters converted too when you call :meth:to
, etc.
class
InceptionA
[source]
InceptionA
(in_channels
,pool_features
) ::Module
Base class for all neural network modules.
Your models should also subclass this class.
Modules can also contain other Modules, allowing to nest them in a tree structure. You can assign the submodules as regular attributes::
import torch.nn as nn
import torch.nn.functional as F
class Model(nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv1 = nn.Conv2d(1, 20, 5)
self.conv2 = nn.Conv2d(20, 20, 5)
def forward(self, x):
x = F.relu(self.conv1(x))
return F.relu(self.conv2(x))
Submodules assigned in this way will be registered, and will have their
parameters converted too when you call :meth:to
, etc.
class
InceptionB
[source]
InceptionB
(in_channels
) ::Module
Base class for all neural network modules.
Your models should also subclass this class.
Modules can also contain other Modules, allowing to nest them in a tree structure. You can assign the submodules as regular attributes::
import torch.nn as nn
import torch.nn.functional as F
class Model(nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv1 = nn.Conv2d(1, 20, 5)
self.conv2 = nn.Conv2d(20, 20, 5)
def forward(self, x):
x = F.relu(self.conv1(x))
return F.relu(self.conv2(x))
Submodules assigned in this way will be registered, and will have their
parameters converted too when you call :meth:to
, etc.
class
InceptionC
[source]
InceptionC
(in_channels
,channels_7x7
) ::Module
Base class for all neural network modules.
Your models should also subclass this class.
Modules can also contain other Modules, allowing to nest them in a tree structure. You can assign the submodules as regular attributes::
import torch.nn as nn
import torch.nn.functional as F
class Model(nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv1 = nn.Conv2d(1, 20, 5)
self.conv2 = nn.Conv2d(20, 20, 5)
def forward(self, x):
x = F.relu(self.conv1(x))
return F.relu(self.conv2(x))
Submodules assigned in this way will be registered, and will have their
parameters converted too when you call :meth:to
, etc.
class
InceptionD
[source]
InceptionD
(in_channels
) ::Module
Base class for all neural network modules.
Your models should also subclass this class.
Modules can also contain other Modules, allowing to nest them in a tree structure. You can assign the submodules as regular attributes::
import torch.nn as nn
import torch.nn.functional as F
class Model(nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv1 = nn.Conv2d(1, 20, 5)
self.conv2 = nn.Conv2d(20, 20, 5)
def forward(self, x):
x = F.relu(self.conv1(x))
return F.relu(self.conv2(x))
Submodules assigned in this way will be registered, and will have their
parameters converted too when you call :meth:to
, etc.
class
InceptionE
[source]
InceptionE
(in_channels
) ::Module
Base class for all neural network modules.
Your models should also subclass this class.
Modules can also contain other Modules, allowing to nest them in a tree structure. You can assign the submodules as regular attributes::
import torch.nn as nn
import torch.nn.functional as F
class Model(nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv1 = nn.Conv2d(1, 20, 5)
self.conv2 = nn.Conv2d(20, 20, 5)
def forward(self, x):
x = F.relu(self.conv1(x))
return F.relu(self.conv2(x))
Submodules assigned in this way will be registered, and will have their
parameters converted too when you call :meth:to
, etc.
class
InceptionAux
[source]
InceptionAux
(in_channels
,num_classes
) ::Module
Base class for all neural network modules.
Your models should also subclass this class.
Modules can also contain other Modules, allowing to nest them in a tree structure. You can assign the submodules as regular attributes::
import torch.nn as nn
import torch.nn.functional as F
class Model(nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv1 = nn.Conv2d(1, 20, 5)
self.conv2 = nn.Conv2d(20, 20, 5)
def forward(self, x):
x = F.relu(self.conv1(x))
return F.relu(self.conv2(x))
Submodules assigned in this way will be registered, and will have their
parameters converted too when you call :meth:to
, etc.
class
BasicConv2d
[source]
BasicConv2d
(in_channels
,out_channels
, **kwargs
) ::Module
Base class for all neural network modules.
Your models should also subclass this class.
Modules can also contain other Modules, allowing to nest them in a tree structure. You can assign the submodules as regular attributes::
import torch.nn as nn
import torch.nn.functional as F
class Model(nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv1 = nn.Conv2d(1, 20, 5)
self.conv2 = nn.Conv2d(20, 20, 5)
def forward(self, x):
x = F.relu(self.conv1(x))
return F.relu(self.conv2(x))
Submodules assigned in this way will be registered, and will have their
parameters converted too when you call :meth:to
, etc.


This is the official AtomicDEX mobile beta program channel -
Android: https://play.google.com/store/apps/details?id=com.komodoplatform.atomicdex - iOS: https://testflight.apple.com/join/c2mOLEoC - Please use https://github.com/KomodoPlatform/atomicdex/issues for bug reports and feature requests. For critical security bug reports please do send us your encrypted (https://pgp.mit.edu/pks/lookup?op=get&search=0x379287998EE6CF47) report to<EMAIL_ADDRESS>and allow up to 24h for reply. For atomicDEX API (mm2) related issue reports or feature requests please do use https://github.com/KomodoPlatform/atomicDEX-API/issues
Sometimes MM2 gets same nonce for different transactions from ETH node, in this case transaction broadcast will either fail with Transaction with the same hash was already imported or Transaction g...
This is the official AtomicDEX mobile (smartphone app) repository - KomodoPlatform/atomicDEX
All confirmed/reproducable bugs are tracking and resolving
CrisF21-Sep-19 08:34 AM
Thanks Tony
4
dudezmobi21-Sep-19 10:03 AM
Yeah lets make it easier for the team :)
2
Trusty21-Sep-19 04:00 PM
hi guys, why are coins with the KMD logo like hush, redfox etc.?
TonyL21-Sep-19 04:13 PM
Hi! It’s indicator for chains using Komodo smart-chain technology (aka assetchains)
Trusty21-Sep-19 04:28 PM
are like erc20 of ETH?
PTYX21-Sep-19 04:32 PM
yes
TonyL21-Sep-19 05:03 PM
Actually its not - assetchains are totally independent blockchains while erc20 usability/txfees depends of ethereum blockchain
Assetchain can exist without kmd, erc20 will not work without eth
And with assetsCC Antara module activated you can issue infinity amount of tokens on assetchains which will be something like a erc20 on eth blockchain(edited)
But better hehe because of embeed tokendex functionality
2
PTYX21-Sep-19 05:26 PM
yes that's the complex version, but i think he was just referring if they are listed with the kmd logo like erc20s are listed under the erc20 logo(edited)
TonyL21-Sep-19 05:30 PM
Oh yes, it’s similar indicator
Trusty21-Sep-19 05:30 PM
ty tony, very helpful explanation
1
245614576821-Sep-19 09:15 PM
Is AtomicDEX available on PC or only Android for now?
mrtzmp321-Sep-19 10:08 PM
On mobile @2456145768
As understand it later for PC too
CrisF21-Sep-19 10:48 PM
Hi @2456145768, ios and android, like mrtmp3 said.
245614576821-Sep-19 11:03 PM
Has it ever been available on PC before? I swear I thought I had read something regarding that
CrisF21-Sep-19 11:28 PM
Previously BarterDEX, using mm1 (marketmaker1), did over 100,000 atomic swaps. That was on PC with both BarterDEX GUI and CLI.
AtomicDEX is the moblie app and based on mm2. The underlying mm2 software can run on PC (CLI).(edited)
245614576822-Sep-19 12:06 AM
That's what I remembered! BarterDEX. Thank you.
Sorry for the noob questions, but why is there now a marketmaker2? And do we have an ETA for mm2 GUI release on PC ?
CrisF22-Sep-19 12:14 AM
mm2 is an updated and improve version based on rust rather than nanomsg(?) among other thing, as I understand it.
A mm2 gui will be released when someone makes one I suppose.
At the moment AtomicDEX is the focus. Not sure if anyone is working on a mm2 gui right now.
Guinnessstache22-Sep-19 12:22 AM
So what will be the process to get new ERC-20 assets in the Dex? If for example I wanted TRAC to be listed, would I make a request to the devs or would a community member have to submit it to github and add it themselves ?
Or do you just send it to your eth address in the Dex app and it becomes available to list for sale?
245614576822-Sep-19 01:38 AM
@CrisF That is very interesting. I appreciate the information.
1
yorklab22-Sep-19 01:43 AM
@2456145768 The desktop version of AtomicDEX will be made available in the future.
This is from a newsletter that was sent out Sep 20th:
"The Komodo team is also moving forward with integrating nSPV superlight client technology to the Antara Framework and, additionally, working on the desktop versions of AtomicDEX."
5
CrisF22-Sep-19 04:13 AM
Hi @yorklab
Where can I find the newsletter you mentioned above?
@Guinnessstache Yes, erc20 listing costs ~10k USD in liquid crypto for integrations listing and SPV servers and 1 year of service, following years of service are 1k USD a year , prices now are in the exploratory stage and most likely will increase in the future . If you are interested send a message to<EMAIL_ADDRESS>Oszy22-Sep-19 07:23 AM
Not sure if anyone is working on a mm2 gui right now.@CrisF#dex-hyperdex and ChainSwap are @2456145768(edited)
CrisF22-Sep-19 07:37 AM
Good stuff, thanks for the info @Oszy
Oszy22-Sep-19 07:39 AM
I like both, for different coins, Chainswap guys needs funding to develop new features tho it's working and useable as of now, so if anyone likes what they are doing feel free to support them !
mobipoi22-Sep-19 08:03 AM
@polycryptoblog "@Guinnessstache Yes, erc20 listing costs ~10k USD in liquid crypto for integrations listing and SPV servers and 1 year of service, following years of service are 1k USD a year , prices now are in the exploratory stage and most likely will increase in the future " I am sure that listing model will not prove to be a positive thing, as the smaller community will be left out and not sure larger coin community care enough they have ample volume, even jl dislike listing fees , I guess which comes first the users or community, just my opinion however
TonyL22-Sep-19 08:51 AM
Let's discuss beta application, tech and bugs in this channel please
1
vogelfreund8822-Sep-19 10:36 AM
Orderbook also not showing, hanging in loading
gcharang22-Sep-19 10:55 AM
@vogelfreund88 this issue is known to occur in iOS in some geo locations
can you confirm you are using iOS?
if you are able to change your device's location using a VPN, please try it
if not, please wait for the next release
vogelfreund8822-Sep-19 10:58 AM
Ios yes
27aume22-Sep-19 01:35 PM
Hi evr1, i want to congratulate the @Team just made a couple of trades yesterday.
Black screen on launch solved nice new little additions to the UI!
Keep it up! Really promissing ;)
1
BlockTech22-Sep-19 04:09 PM
So my fund have disapered after a timeout swap, whats the processus to get them back ?
Thanks in advance.
AkiraX22-Sep-19 04:22 PM
Swap at 2/3
Do I have to keep app open
For swap to go through?
miles22-Sep-19 04:31 PM
@AkiraX - yes you do, if iOS it can’t be in background either
TonyL22-Sep-19 04:32 PM
@BlockTech please wait for an automatic refund (app needs to be up and running). If refund will not be executed please DM me tomorrow
AkiraX22-Sep-19 04:33 PM
My phone goes to autosleep
Is there anyway to stake verus from atomicdex?
actionslacks22-Sep-19 04:49 PM
you can set it to never sleep in settings.
and you can only stake verus in desktop wallet as far as I know
grewalsatinder22-Sep-19 05:03 PM
buy verus via atomicdex, use the same seed used by atomicdex to import that address to Verus Agama Desktop, and stake on the desktop.
AkiraX22-Sep-19 06:06 PM
thanks
must i buy verus?
i should be able to use same key as hush and kmd key right?
hyperDEX22-Sep-19 08:27 PM
yes
digital bullion23-Sep-19 02:25 AM
How long does a swap need to be on step 2 of 3 to be considered 'stuck' in Atomicdex?
EDIT: Swap has successfully completed.
Priva9923-Sep-19 03:50 AM
Has AtomicDex reached out to projects, CMC 5 to 2000?
Maybe with a standard DM or email.
PTYX23-Sep-19 04:04 AM
@Priva99 yes, chainzilla is contacting projects and we've designed brochures as well as a first contact email to onboard projects. We're currently working on interviewing people to expand our sales team to accommodate the atomicdex. I expect the have a new sales agent by the end of the month.
We've already onboarded one project, have 2 in the process of approval for compatability and we've reached out to around 40 projects. The goal isn't to simply list coins. There's a listing fee and we are negotiating that the atomicdex is listed and marketed through the project's website.(edited)
Additionally, we have to walk the project through the LP setup. This part is still being polished. It's a crucial part for liquidity.
Priva9923-Sep-19 04:08 AM
I tried to get Umbru.
I think it led to AXE tho
The listing fee is very reasonable
PTYX23-Sep-19 04:10 AM
We listed AXE. We have a strong relationship with them since they got added to Chameleon Pay
Priva9923-Sep-19 04:10 AM
Sweet
PTYX23-Sep-19 04:11 AM
GRS, Tezos, and Dune are in the pipeline
1
Priva9923-Sep-19 04:11 AM
I know they and Umbru both now share a CEX
PTYX23-Sep-19 04:11 AM
There's a few other projects but we haven't gotten clear responses. Most of them don't want to pay so we have to negotiate other things.


2019 MTV Europe Music Awards: The winners list
Taylor Swift has big night
by Lisa Respers France, CNN(CNN) - Ariana Grande was up for seven awards, but Taylor Swift had the bigger night along with Billie Eilish and Halsey at the 2019 MTV Europe Music Awards on Sunday in Seville, Spain.
The following is a list of the nominees with those who took home the award listed as "WINNER" in bold:
BEST US ACT
Ariana Grande
Billie Eilish
Lil Nas X
Lizzo
WINNER: Taylor Swift
BEST CANADIAN ACT
Alessia Cara
Avril Lavigne
Carly Rae Jepsen
WINNER: Johnny Orlando
Shawn Mendes
BEST VIDEO
Ariana Grande, "thank u, next"
Billie Eilish, "bad guy"
Lil Nas X featuring Billy Ray Cyrus, "Old Town Road" (Remix)
Rosalía and J Balvin featuring El Guincho, "Con Altura"
WINNER: Taylor Swift featuring Brendon Urie of Panic! At The Disco, "ME!"
BEST ARTIST
Ariana Grande
J Balvin
Miley Cyrus
WINNER: Shawn Mendes
Taylor Swift
BEST SONG
Ariana Grande, "7 rings"
WINNER: Billie Eilish, "bad guy"
Lil Nas X featuring Billy Ray Cyrus, "Old Town Road" (Remix)
Post Malone and Swae Lee, "Sunflower"
Shawn Mendes and Camila Cabello, "Señorita"
BEST COLLABORATION
BTS and Halsey, "Boy With Luv"
Lil Nas X and Billy Ray Cyrus, "Old Town Road" (Remix)
Mark Ronson and Miley Cyrus, "Nothing Breaks Like a Heart"
WINNER: Rosalía and J Balvin featuring El Guincho, "Con Altura"
Shawn Mendes and Camila Cabello, "Señorita"
The Chainsmokers and Bebe Rexha, "Call You Mine"
BEST NEW ARTIST
Ava Max
WINNER: Billie Eilish
Lewis Capaldi
Lil Nas X
Lizzo
Mabel
BEST POP ARTIST
Ariana Grande
Becky G
Camila Cabello
WINNER: Halsey
Jonas Brothers
Shawn Mendes
BEST LIVE ACT
Ariana Grande
WINNER: BTS
Ed Sheeran
P!NK
Travis Scott
BEST ROCK
WINNER: Green Day
Imagine Dragons
Liam Gallagher
Panic! At The Disco
The 1975
BEST HIP-HOP
21 Savage
Cardi B
J. Cole
WINNER: Nicki Minaj
Travis Scott
BEST ALTERNATIVE
WINNER: FKA twigs
Lana Del Rey
Solange
twenty one pilots
Vampire Weekend
BEST ELECTRONIC
Calvin Harris
DJ Snake
Marshmello
WINNER: Martin Garrix
The Chainsmokers
BEST LOOK
WINNER: Halsey
J Balvin
Lil Nas X
Lizzo
ROSALÍA
BIGGEST FANS
Ariana Grande
WINNER: BTS
Billie Eilish
Shawn Mendes
Taylor Swift
BEST PUSH
WINNER: Ava Max
Billie Eilish
CNCO
H.E.R.
Jade Bird
Juice WRLD
Kiana Ledé
Lauv
Lewis Capaldi
Lizzo
Mabel
Rosalía
BEST WORLD STAGE PERFORMANCE
Bebe Rexha, Isle of MTV Malta 2019
Hailee Steinfeld, Isle of MTV Malta 2018
WINNER: Muse, Bilbao, Spain 2018
The 1975, Lollapalooza Paris Festival 2019
twenty one pilots, Lollapalooza Paris Festival 2019
BEST U.K. & IRELAND ACT
Lewis Capaldi
Dave
Mabel
Ed Sheeran
WINNER: Little Mix (Social Wildcard Winner)


BlueECC
A cross platform swift implementation of Elliptic Curve Digital Signature Algorithm (ECDSA).
Usage
Add dependencies
Add the BlueECC
package to the dependencies within your application’s Package.swift
file. Substitute "x.x.x"
with the latest BlueECC
release.
.package(url: "https://github.com/IBM-Swift/BlueECC.git", from: "x.x.x")
Add CryptorECC
to your target’s dependencies:
.target(name: "example", dependencies: ["CryptorECC"]),
Import package
import CryptorECC
API Documentation
Elliptic curve public and private key
First, generate your p-256
EC private key either as a .p8
file through apple authkey:
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQglf7ztYnsaHX2yiHJ
meHFl5dg05y4a/hD7wwuB7hSRpmhRANCAASKRzmboLbG0NZ54B5PXxYSU7fvO8U7
PyniQCWG+Agc3bdcgKU0RKApWYuBJKrZqyqLB2tTlgdtwcWSB0AEzVI8
-----END PRIVATE KEY-----
Alternatively, use OpenSSL to generate a .pem
file:
// p-256
openssl ecparam -name prime256v1 -genkey -noout -out key.pem
// p-384
openssl ecparam -name secp384r1 -genkey -noout -out key.pem
// p-521
openssl ecparam -name secp521r1 -genkey -noout -out key.pem
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIJX+87WJ7Gh19sohyZnhxZeXYNOcuGv4Q+8MLge4UkaZoAoGCCqGSM49
AwEHoUQDQgAEikc5m6C2xtDWeeAeT18WElO37zvFOz8p4kAlhvgIHN23XIClNESg
KVmLgSSq2asqiwdrU5YHbcHFkgdABM1SPA==
-----END EC PRIVATE KEY-----
Use openSSL to generate an EC public key .pem
file from any EC private key:
openssl ec -in key.pem -pubout -out public.pem
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEikc5m6C2xtDWeeAeT18WElO37zvF
Oz8p4kAlhvgIHN23XIClNESgKVmLgSSq2asqiwdrU5YHbcHFkgdABM1SPA==
-----END PUBLIC KEY-----
Then create your ECPublicKey
and ECPrivateKey
:
guard let ecdsaPrivateKey = ECPrivateKey(pemKey: ecPrivateKey) else {
print("Private Key creation failed")
return
}
guard let ecdsaPublicKey = ECPublicKey(pemKey: ecPublicKey) else {
print("Public Key creation failed")
return
}
Signing the Plaintext
Initialise a plaintext object that you wish to sign:
guard let message = Plaintext(string: "Hello World") else {
print("failed to create plaintext")
}
Sign the plaintext using the private key:
let signature = message.signUsing(ecPrivateKey: ecdsaPrivateKey)
Verifying the signature
Use the public key to verify the signature for the plaintext:
let verified = signature.verify(plaintext: message, using: ecdsaPublicKey)
if verified {
print("Signature is valid for provided plaintext")
}
For more information visit our API reference.
Community
We love to talk server-side Swift, and Kitura. Join our Slack to meet the team!
License
This library is licensed under Apache 2.0. Full license text is available in LICENSE.


The National Institute of Business Management (NIBM) was established in 1968 under the preview of the Ministry of Industries and Scientific Affairs in collaboration with the UNDP, with the ILO functioning as the executing agency. On first June 1976, the Institute was incorporated as the National Institute of Business Management.