Monaco Editor Changelog
[0.17.1] (25.06.2019)
- Update monaco-typescript to TypeScript 3.5.0.
[0.17.0] (05.05.2019)
New & Noteworthy
- Localization support is brought back for AMD bundle. We lost the localization support when VS Code moved to the localization system but now AMD bundles ships the same localized strings VS Code localization extensions ship. For more details, please read Monaco#822 and related VS Code upstream issue
LinkProvider.ProvideLinks
should now returnILinksList
instead ofILink[]
.IEditorOptions.iconsInSuggestions
andEditorContribOptions.iconsInSuggestions
are now replaced byEditorContribOptions.suggest.showIcons
.- We introduced
EditorContribOptions.suggest.maxVisibleSuggestions
to control maximum suggestions to show in suggestions widget. EditorContribOptions.suggest.filteredTypes
is now introduced to allow suggestions to be filtered by the user. For more details, please read vscode#45039.
Thank You
Contributions to monaco-editor
:
- Jonas Fonseca @jonas: Fix year for releases made in 2019 PR #1388
[0.16.2] (19.03.2019)
- Fixes for HTML and JSON (https://github.com/Microsoft/monaco-editor/issues/1367, https://github.com/Microsoft/monaco-editor/issues/1254)
[0.16.1] (14.03.2019)
- Fixes issue with context menu (https://github.com/Microsoft/monaco-editor/issues/1357)
[0.16.0] (05.03.2019)
New & Noteworthy
- Added built-in support for AMD cross-domain web worker loading.
- Added API to remeasure fonts (
monaco.editor.remeasureFonts
) in case custom fonts are used and the editor is painted at a time when the fonts are not finished loading. - Various editor improvements, such as an option to
renderFinalNewline
, or to have acursorSmoothCaretAnimation
- Colorization support for Tcl, Pascal, Kotlin and GraphQL.
Breaking changes
- We are no longer shipping WinJS.Promise, but we are shipping with a Promise shim (for IE11).
CompletionItem.range
is now mandatory. Most times, you can usemodel.getWordUntilPosition()
to get a good range.DefinitionLink
has been renamed toLocationLink
and a couple of its fields have also been renamed.
Thank you
Contributions to monaco-editor
:
- Sebastián Gurin (@cancerberoSgx): fix worker paths in parcel PR #1339
- @datou0412: Fix lineDecoration example css error PR #1337
- Joshua Sullivan (@jbsulli): Fix JavaScript RegExp range closing bracket PR #1329
- Krish De Souza (@Kedstar99): Fixed various HTML errors with the various webpages PR #1309
- Swarnava Sengupta (@swarnava): Make copyright year dynamic PR #1303
Contributions to monaco-languages
:
- alan.invents (@ALANVF): Add Tcl support PR #59
- Alessandro Fragnani (@alefragnani): Pascal language support PR #60
- Brijesh Bittu (@brijeshb42): Update ruby auto indentation rules PR #58
- Andrew (@creativedrewy): Add Kotlin Language Support PR #57
- Salam Elbilig (@finalfantasia): [clojure] Improve the regular expressions for various symbols PR #56
- Neil Jones (@futurejones): Solidity - add “constructor” to main keywords PR #55
- Pavel Lang (@langpavel): GraphQL language support PR #54
- Samuel Helms (@samghelms): allows annotation in markdown language block headers PR #61
Contributions to monaco-typescript
:
- Olga Lesnikova (@Geloosa): more safe extra lib filePath generation PR #29
- Stefan Lacatus (@stefan-lacatus): Optimize how external libs are handled and allow for custom languages PR #30
[0.15.6] (23.11.2018)
- Fixes issue with context menu (https://github.com/Microsoft/monaco-editor/issues/1199)
[0.15.5] (16.11.2018)
- Re-remove cast to any from our code base to allow for tree shaking to not shake useful code (https://github.com/Microsoft/monaco-editor/issues/1013)
[0.15.4] (15.11.2018)
- Fixes context menu in IE11 - https://github.com/Microsoft/monaco-editor/issues/1191
- Fixes suggest widget - https://github.com/Microsoft/monaco-editor/issues/1185 and https://github.com/Microsoft/monaco-editor/issues/1186
[0.15.3] (15.11.2018)
- Remove cast to any from our code base to allow for tree shaking to not shake useful code (https://github.com/Microsoft/monaco-editor/issues/1013)
[0.15.2] (14.11.2018)
- Fixes usage of
marked
to allow for packaging with rollup (https://github.com/Microsoft/monaco-editor/issues/1183)
[0.15.1] (13.11.2018)
- Fixes the
/esm/
distribution (https://github.com/Microsoft/monaco-editor/issues/1178)
[0.15.0] (12.11.2018)
New & Noteworthy
- Improved typings in
monaco.d.ts
to better reflect null types.
Breaking changes
- We are slowly migrating our code-base away from WinJS promises, so the exposed
monaco.Promise
API has been reduced to indicate that. We are setting up a Promise polyfill to cover browsers which do not have a native Promise implementation yet (i.e. IE11). CompletionItemProvider.provideCompletionItems
andCompletionItemProvider.resolveCompletionItem
have been modified to better reflect the API of VS Code. Both arguments and return type have changed.SignatureHelpProvider.provideSignatureHelp
now receives an extra argument for the context.- Various new editor options or tweaks to existing ones:
parameterHints
,autoClosingBrackets
,autoClosingQuotes
,autoSurround
,copyWithSyntaxHighlighting
,tabCompletion
.
Thank you
Contributions to monaco-editor
:
- Arvind S (@arvind0598): Updated C# sample code for a simpler game. PR #1160
- Brooks Becton (@brooksbecton): Removing obsolete Note in Monarch Docs PR #1089
- James Orr (@buzzcola): Correct comma splice in README.md PR #1111
- Chintogtokh Batbold (@chintogtokh): Clarify that repo doesn’t contain source code PR #1119
- Chris Helgert (@chrishelgert): Move issue template to ‘.github’ folder and add some styling for better readability PR #1121
- Steven Bock (@dabockster): Added better Java sample (FizzBuzz instead of JUnit) PR #1161
- Michele Gobbi (@dynamick): Added Ruby PR #1102
- Edilson Ngulele (@EdNgulele): style: Updated CONTRIBUTING.md PR #1088
- Evan Walters (@evanwaltersdev): issue guidelines PR #1096
- Abdussalam Abdurrahman (@finalfantasia): [clojure] Update Clojure example with one that’s more representative. PR #1059
- @flash76: Update README.md PR #1141
- Daniel Pasch (@gempir): fix 2 of 7 npm package vurnerabilities PR #1087
- @Hotlar: lingual fixes to readme PR #1086
- Jeremy Meiss (@jerdog): correct README grammar PR #1114
- Joaquim Honório (@JoaquimCMH): Update CHANGELOG PR #1152
- Ricardo Ambrogi (@KadoBOT): Remove commented code PR #1113
- Abhinav Srivastava (@krototype): changed the license block of readme PR #1133
- Mera Gangapersaud (@Mera-Gangapersaud): Fixed prerequisites link in Contributing.md PR #1155
- Michael (@michael-k): Use python examples that work PR #1053
- Remy Suen (@rcjsuen): Add missing links in CHANGELOG.md PR #1029
- Shivansh Saini (@shivanshs9): Fixed typos in website page and CHANGELOG PR #1153
- Sachin Saini (@thetinygoat): hacktoberfest fix PR #1131
Contributions to monaco-languages
:
- Aastha (@AasthaGupta): Fix markdown bug #1107 PR #52
- Abdussalam Abdurrahman (@finalfantasia): [clojure] Improve Clojure syntax highlighting. PR #45
- Abhishek (@GeekAb): Markdown bug fix for #1107 PR #51
- Matthew D. Miller (@goober99): Added support for Perl quote-like operators to fix #1101 PR #50
- Grzegorz Wcisło (@grzegorz-wcislo): Fix yaml string tokenization PR #47
- Pascal Berger (@pascalberger): Use C# highlighting for Cake scripts PR #53
- Sebastian Pahnke (@spahnke)
- Tiago Danin (@TiagoDanin): New rule for non-teminated string in yaml PR #48
Contributions to monaco-typescript
:
- Parikshit Hooda (@Parikshit-Hooda): fixed typo in line 11 PR #23
- Sebastian Pahnke (@spahnke): Render documentation in suggestion widget as Markdown PR #22
Contributions to monaco-json
:
- Igor Nesterenko (@nesterone): Provide diagnostic option to enable on-demand schema loading PR #7
Contributions to monaco-css
:
- Richard Samuelson (@ricsam): Fix indentation on the CSS test page PR #7
0.14.3 (17.08.2018)
- Fixes TypeScript/JavaScript coloring of regular expressions https://github.com/Microsoft/monaco-editor/issues/1009
0.14.2 (10.08.2018)
0.14.1 (10.08.2018)
- Fixes Find All References (https://github.com/Microsoft/vscode/issues/56160)
0.14.0 (10.08.2018)
New & Noteworthy
- Using tree-shaking to reduce the amount of shipped code.
- TypeScript and JavaScript coloring is now done with Monarch.
typescriptServices
is no longer loaded on the UI thread, this helps with webpack’s bundle output size.- Added coloring for: apex, azcli, clojure, powerquery, rust, scheme and shell.
- Added sub-word navigation commands.
- Added font zoom commands.
- Syntax highlighting for deleted lines in inline diff editor.
- Highlighted indent guide.
- Column selection using middle mouse button.
- Added editor options:
scrollBeyondLastColumn
,hover
,suggest
,highlightActiveIndentGuide
,showUnused
. - Added
setTokensProvider
withEncodedTokensProvider
. - Added
monaco.languages.getEncodedLanguageId
to get the numeric language id. DefinitionProvider.provideDefinition
,ImplementationProvider.provideImplementation
,TypeDefinitionProvider.provideTypeDefinition
can now return aDefinitionLink
.
Breaking Changes
- Removed no longer used
Severity
. - Renamed
IEditor.isFocused
toIEditor.hasTextFocus
. - Renamed
ICodeEditor.onDidFocusEditor
toICodeEditor.onDidFocusEditorWidget
. - Renamed
ICodeEditor.onDidBlurEditor
toICodeEditor.onDidBlurEditorWidget
. DocumentSymbolProvider.provideDocumentSymbols
must now returnDocumentSymbol[]
.
Thank you
Contributions to monaco-editor
:
- Ali Mirlou (@AliMirlou): Fix typo PR #952
- Avelino (@avelino): added clojure exampple PR #904
- Sebastián Gurin (@cancerberoSgx): fix small error in integration docs PR #957
- Haegyun Jung (@haeguri): Fix playground sample option PR #962 (https://github.com/Microsoft/monaco-editor/pull/914)
- Myles Scolnick (@mscolnick): add sideEffects false for tree-shaking in webpack PR #981
- Niklas Mollenhauer (@nikeee): Fix hash comment in xdot sample PR #916
- Remy Suen (@rcjsuen): Add folding provider sample to the playground [PR #878](https://github.com/Microsoft/monaco-
Contributions to monaco-typescript
:
- Fathy Boundjadj (@fathyb): Use Markdown code block for hover tooltip PR #20
- Matt McCutchen (@mattmccutchen): Clear the
file
fields ofrelatedInformation
too. (WIP) PR #21
Contributions to monaco-languages
:
- Avelino (@avelino)
- Faris Masad (@masad-frost)
- Matt Masson (@mattmasson): Add support for Power Query (M) language PR #42
- Oli Lane (@olane): Add Apex language PR #44
- Viktar Pakanechny (@Vityanchys): Added azcli PR #43
- zqlu (@zqlu)
0.13.1 (15.05.2018)
- Fixes issue #871: TypeScript import error after mocaco-editor upgraded from 0.12 to 0.13
0.13.0 (11.05.2018)
New & Noteworthy
- New folding provider
registerFoldingRangeProvider
. - You can now specifies the stack order of a decoration by setting
IModelDecorationOptions.zIndex
. A decoration with greater stack order is always in front of a decoration with a lower stack order. - You can now tell Monaco if there is an
inlineClassName
which affects letter spacing. the stack order of a decoration by settingIModelDecorationOptions.inlineClassNameAffectsLetterSpacing
. - Get the text length for a certain line on text model (
ITextModel.getLineLength(lineNumber: number)
) - New option
codeActionsOnSave
, controls whether code action kinds will be run on save. - New option
codeActionsOnSaveTimeout
, controls timeout for running code actions on save. - New option
multiCursorMergeOverlapping
, controls if overlapping selections should be merged. Default totrue
.
Breaking Change
- Removed
ICodeEditor.getCenteredRangeInViewport
. RenameProvider.resolveRenameLocation
now returnsRenameLocation
instead ofIRange
.
Thank you
- Sergey Romanov @Serhioromano: Add new language Structured Text support PR monaco-languages#32
- Yukai Huang @Yukaii: Fix backspace in IME composition on iOS Safari PR vscode#40546
0.12.0 (11.04.2018)
- Special thanks to Tim Kendrick for contributing a webpack plugin -
monaco-editor-webpack-plugin
- now available on npm.
Breaking changes
- Introduced
MarkerSeverity
instead ofSeverity
for markers serverity. - Replaced
RenameProvider.resolveInitialRenameValue
withRenameProvider.resolveRenameLocation
. - Fixed typo in
monaco-typescript
, renamedsetMaximunWorkerIdleTime
tosetMaximumWorkerIdleTime
.
Thank you
- Remy Suen @rcjsuen: Fix conversion code from MarkedString to IMarkdownString in hovers PR monaco-css#5
- Peng Xiao @pengx17: fix an issue of
fromMarkdownString
PR monaco-json#4 - TJ Kells @systemsoverload: Add rust colorization support PR monaco-languages#31
0.11.1 (15.03.2018)
- Fixes issue #756: Can’t use “Enter” key to accept an IntelliSense item
- Fixes issue #757: TypeScript errors in
editor.api.d.ts
typings
0.11.0 (14.03.2018)
New & Noteworthy
- ESM distribution (compatible with e.g. webpack).
- New interval tree decorations implementation.
- New piece tree text buffer implementation.
- The minimap can be placed to the left.
- Line numbers can be displayed in an interval.
- The cursor width can be customized.
- Smooth scrolling can be turned on.
- Color decorators and color picker via
DocumentColorProvider
.
Breaking changes
- Replaced
MarkedString
withIMarkdownString
. Source code snippets can be expressed using the GH markdown syntax. - Renamed
IResourceEdit
toResourceTextEdit
.
API changes
- Merged
IModel
,IReadOnlyModel
,IEditableTextModel
,ITextModelWithMarkers
,ITokenizedModel
,ITextModelWithDecorations
toITextModel
. A type alias forIModel
is defined for compatibility. - Merged
ICommonCodeEditor
andICodeEditor
toICodeEditor
. - Merged
ICommonDiffEditor
andIDiffEditor
toIDiffEditor
. CompletionItem.documentation
,ParameterInformation.documentation
andSignatureInformation.documentation
can now be anIMarkdownString
.- Added
CompetionItem.command
,CompletionItem.commitCharacters
andCompletionItem.additionalTextEdits
. - Added language configuration
folding
which can define markers for code patterns where a folding regions should be created. See for example the Python configuration. - Added by accident
ResourceFileEdit
(due to howmonaco.d.ts
is generated from vscode). That is not honoured by the editor, and should not be used.
Thank you
- Remy Suen @rcjsuen:
- Fix a small typo in README.md PR monaco-typescript#18
- Remove unused IDisposable array PR monaco-typescript#19
- Add HEALTHCHECK as a Dockerfile keyword PR monaco-languages#29
- Add ARG as a Dockerfile keyword PR monaco-languages#30
- Can Abacigil @abacigil: MySQL, Postgres, Redshift and Redis Language Support PR monaco-languages#26
- Matthias Kadenbach @mattes: Support Content-Security-Policy syntax highlighting PR monaco-languages#27
- e.vakili @evakili: Whitespaces after # are allowed in C++ preprocessor statements PR monaco-languages#28
- Pankaj Kumar Gautam @PAPERPANKS: adding microsoft logo to footer PR monaco-editor#577
- Dominik Moritz @domoritz: Fix code in changelog PR monaco-editor#582
- ItsPugle @ItsPugle: Updating the footer to reflect change of year PR monaco-editor#707
- Michael Seifert @MSeifert04: Add linebreak for if PR monaco-editor#726
- Andrew Palm @apalm: Fix ‘Configure JSON defaults’ sample PR monaco-editor#731
- Niklas Mollenhauer @nikeee: Fix line number API usage PR monaco-editor#740
- Andre @anc: More realistic terminal shell PR monaco-editor#742
- to the many others that have contributed PRs to vscode which have also made their way into the monaco-editor.
0.10.1 (16.10.2017)
- Fixes issue #601: window.opener should be set to null to protect against malicious code
0.10.0 (17.08.2017)
Breaking changes
- Removed
CodeAction
. - Method
provideCodeActions
inCodeActionProvider
now returnsCommand[] | Thenable<Command[]>
instead ofCodeAction[] | Thenable<CodeAction[]>
, which is already removed.
API changes
- added
monaco.editor.getModelMarkers
. Get markers for owner and/or resource.
Notable Fixes
- No longer use CSS class
.row
for command palette to avoid CSS conflicts with Bootstrap. - Fix Accessibility Help Dialog accessible issue on IE/Edge.
- Fix Find Widget CSS compatibility issues with IE11.
- Toggle Block Comment can remove extra whitespaces.
Thank you
- Kitson Kelly @kitsonk: Update monaco-typescript to TypeScript 2.4.1 PR monaco-typescript#15
- @duncanwerner: Add hex number tokenization to R language PR monaco-languages#21
- Remy Suen @rcjsuen: Update Dockerfile grammar with STOPSIGNAL and SHELL instructions PR monaco-languages#22
- Marlene Cota @marlenecota: Add Small Basic support PR monaco-languages#23
- Ben Jacobson @bjacobso: Add LIMIT to sql keywords PR monaco-languages#24
- to the many others that have contributed PRs to vscode which have also made their way into the monaco-editor.
0.9.0 (03.07.2017)
New & Noteworthy
- Minimap (on by default, use
editor.minimap
to disable it). - Drag and Drop (on by default, use
editor.dragAndDrop
to disable it). - Copy text with formatting.
Accessibility
- There is a new guide for making the editor accessible to all.
- There is a new Alt+F1 (Ctrl+F1 in IE) accessibility help panel.
- There is a new F8/Shift+F8 diff review panel in the diff editor.
- Many bugfixes, including now respecting the Windows High Contrast Theme on Edge.
Breaking changes
- A lot has changed w.r.t. how themes work in the editor, mostly driven by the work to support theming in VS Code.
editor.updateOptions()
no longer acceptstheme
; the theme can be changed via the newly introducedmonaco.editor.setTheme()
. Additionally, we recommend editor colors be customized viamonaco.editor.defineTheme()
instead of via CSS – see sample. The color names will be stable, while the CSS class names might break at any time. - Support for the internal snippet syntax has been discontinued and snippet must now use the official, TextMate-like syntax. Find its grammar and samples here.
- Changed
IModel.findMatches
to accept a list of word separators. - Changed the shape of the
IModelContentChangedEvent
emitted viaIModel.onDidChangeContent
to now contain a batch of all the changes that the model had. - No longer using
transform: translate3d
, now usingwill-change: transform
for browser layer hinting. Use thedisableLayerHinting
option if you have any trouble with browser layers (blurriness or high GPU memory usage). - Simplified wrapping settings:
wordWrap
,wordWrapColumn
andwordWrapMinified
.
API changes
- added
monaco.languages.registerTypeDefinitionProvider
. - new editor options:
accessibilityHelpUrl
- the url of a page to open for documentation about how to operate the editor when using a Screen Reader.find.seedSearchStringFromSelection
- Ctrl+F/Cmd+F seeds search string from the editor selection.find.autoFindInSelection
- Ctrl+F/Cmd+F turns on the find in selection toggle if the editor selection is multiline.minimap.enabled
- enable minimap.minimap.showSlider
- control when to render the minimap slider.minimap.renderCharacters
- render characters or blocks in the minimap.minimap.maxColumn
- maximum number of columns the minimap shows.overviewRulerBorder
- toggle that the overview ruler renders a border.links
- enable link detection.multiCursorModifier
- change the multi cursor modifier key.accessibilitySupport
- optimize the editor for use with a Screen Reader.autoIndent
- automatically fix indentation when moving lines, pasting or typing.dragAndDrop
- dragging and dropping editor selection within the editor.occurrencesHighlight
- enable highlighting of occurences.showFoldingControls
- fine-tune when the folding icons should showmatchBrackets
- enable bracket matchingletterSpacing
- configure font’s letter-spacing.
Thank you
- Joey Marianer (@jmarianer): Support literal interpolated strings ($@"") PR monaco-languages#13
- @AndersMad: HTML Tags: Add support for dash and fix colon in end tag PR monaco-languages#14
- Sandy Armstrong (@sandyarmstrong): csharp: add support for binary literals and _ as separator PR monaco-languages#16
- Anton Kosyakov (@akosyakov): Include src as a part of npm package PR monaco-languages#17
- Andrew Bonventre (@andybons): Fix typo: concering → concerning PR monaco-languages#18
- Scott McMaster (@scottmcmaster): MSDAX support PR monaco-languages#19
- Luzian Serafin (@lserafin): Add Solidity PR monaco-languages#20
- Kitson Kelly (@kitsonk): Update to TypeScript 2.3.4 PR monaco-typescript#13
- Kitson Kelly (@kitsonk): Add documentation support on hover PR monaco-typescript#14
- @replacepreg: Updating date at footer PR monaco-editor#409
- Aarin Smith (@aarinsmith): Fixed spelling error in README.md:85 ‘instantion’ -> ‘instantiation’ PR monaco-editor#440
- to the many others that have contributed PRs to
vscode
which have also made their way into themonaco-editor
.
0.8.3 (03.03.2017)
- Fixes an issue in monaco-typescript where it would attempt to validate a disposed model.
0.8.2 (01.03.2017)
- Fixes the following regressions:
- issue #385: Cannot add action to the left-hand-side of the diff editor
- issue #386: Shortcuts for actions added via editor.addAction don’t show up in the Command Palette
- issue #387: Cannot change diff editor to a custom theme based on high contrast
0.8.1 (27.01.2017)
- CSS/JSON/HTML language supports updated:
- CSS: Support for @apply
- SCSS: Map support
- New HTML formatter options: unformatedContent, wrapAttributes
- Fixed issue where the editor was throwing in Safari due to
Intl
missing. - Fixed multiple issues where the editor would not position the cursor correctly when using browser zooming.
API
- Added
disableMonospaceOptimizations
editor option that can be used in case browser zooming exposes additional issues. - Added
formatOnPaste
editor option. - Added
IActionDescriptor.precondition
. - Breaking change: renamed
registerTypeDefinitionProvider
toregisterImplementationProvider
and associated types.
[0.8.0] (18.01.2017)
- This release has been brewing for a while and comes with quite a number of important changes.
- There are many bugfixes and speed/memory usage improvements.
- Now shipping TypeScript v2.1.5 in
monaco-typescript
(JS and TS language support).
No longer supporting IE9 and IE10
- we have not made the editor fail on purpose in these browsers, but we have removed IE9/IE10 targeted workarounds from our codebase;
- now using Typed Arrays in a number of key places resulting in considerable speed boosts and lower memory consumption.
Monarch Tokenizer
- Monarch states are now memoized up to a depth of 5. This results in considerable memory improvements for files with many lines.
- Speed improvements to Monarch tokenizer that resulted in one breaking change:
- when entering an embedded mode (i.e.
nextEmbedded
), the state ending up in must immediately contain anextEmbedded: "@pop"
rule. This helps in quickly figuring out where the embedded mode should be left. The editor will throw an error if the Monarch grammar does not respect this condition.
Tokens are styled in JS (not in CSS anymore)
- This is a breaking change
- Before, token types would be rendered on the
span
node of text, and CSS rules would match token types and assign styling to them (i.e. color, boldness, etc.to style tokens) - To enable us to build something like a minimap, we need to know the text color in JavaScript, and we have therefore moved the token style matching all to JavaScript. In the future, we foresee that even decorations will have to define their color in JavaScript.
- It is possible to create a custom theme via a new API method
monaco.editor.defineTheme()
and the playground contains a sample showing how that works. - Token types can be inspected via
F1
>Developer: Inspect tokens
. This will bring up a widget showing the token type and the applied styles.
API changes:
Namespaces
- added
monaco.editor.onDidCreateEditor
that will be fired whenever an editor is created (will fire even for a diff editor, with the two editors that a diff editor consists of). - added
monaco.editor.tokenize
that returns logical tokens (before theme matching, as opposed tomonaco.editor.colorize
). - added
monaco.languages.registerTypeDefinitionProvider
Models
- removed
IModel.getMode()
. - structural changes in the events
IModelLanguageChangedEvent
,IModelDecorationsChangedEvent
andIModelTokensChangedEvent
; - changed
IModel.findMatches
,IModel.findNextMatch
andIModel.findPreviousMatch
to be able to capture matches while searching.
Editors
ICodeEditor.addAction
andIDiffEditor.addAction
now return anIDisposable
to be able to remove a previously added action.- renamed
ICodeEditor.onDidChangeModelMode
toICodeEditor.onDidChangeModelLanguage
; ICodeEditor.executeEdits
can now take resulting selection for better undo/redo stack management;- added
ICodeEditor.getTargetAtClientPoint(clientX, clientY)
to be able to do hit testing. - added
IViewZone.marginDomNode
to be able to insert a dom node in the margin side of a view zone. - settings:
lineDecorationsWidth
can now take a value in the form of"1.2ch"
besides the previous accepted number (in px)renderLineHighlight
can now take a value in the set'none' | 'gutter' | 'line' | 'all'
.- added
fixedOverflowWidgets
to render overflowing content widgets as'fixed'
(defaults to false) - added
acceptSuggestionOnCommitCharacter
to accept suggestions on provider defined characters (defaults to true) - added
emptySelectionClipboard
- copying without a selection copies the current line (defaults to true) - added
suggestFontSize
- the font size for the suggest widget - added
suggestLineHeight
- the line height for the suggest widget
- diff editor settings:
- added
renderIndicators
- Render +/- indicators for added/deleted changes. (defaults to true)
- added
Thank you
- Nico Tonozzi (@nicot): Register React file extensions PR monaco-typescript#12
- Jeong Woo Chang (@inspiredjw): Cannot read property ‘uri’ of null fix PR vscode#13263
- Jan Pilzer(@Hirse): Add YAML samples PR monaco-editor#242
[0.7.1] (07.10.2016)
- Bugfixes in monaco-html, including fixing formatting.
[0.7.0] (07.10.2016)
- Adopted TypeScript 2.0 in all the repos (also reflected in
monaco.d.ts
). - Added YAML colorization support.
- Brought back the ability to use
editor.addAction()
and have the action show in the context menu. - Web workers now get a nice label next to the script name.
API changes:
- settings:
- new values for
lineNumbers
:'on' | 'off' | 'relative'
- new values for
renderWhitespace
:'none' | 'boundary' | 'all'
- new values for
- removed
model.setMode()
, asIMode
will soon disappear from the API.
Debt work
- Removed HTML, razor, PHP and handlebars from
monaco-editor-core
:- the
monaco-editor-core
is now finally language agnostic. - coloring for HTML, razor, PHP and handlebars is now coming in from
monaco-languages
. - language smarts for HTML, razor and handlebars now comes from
monaco-html
.
- the
- Packaging improvements:
- thanks to the removal of the old languages from
monaco-editor-core
, we could improve the bundling and reduce the number of .js files we ship. - we are thinking about simplifying this further in the upcoming releases.
- thanks to the removal of the old languages from
Thank you
- Sandy Armstrong (@sandyarmstrong): csharp: allow styling #r/#load PR monaco-languages#9
- Nico Tonozzi (@nicot): Go: add raw string literal syntax PR monaco-languages#10
- Jason Killian (@JKillian): Add vmin and vmax CSS units PR monaco-languages#11
- Jan Pilzer (@Hirse): YAML colorization PR monaco-languages#12
- Sam El-Husseini (@microsoftsam): Using Cmd+Scroll to zoom on a mac PR vscode#12477
0.6.1 (06.09.2016)
- Fixed regression where
editor.addCommand
was no longer working.
0.6.0 (05.09.2016)
- This will be the last release that contains specific IE9 and IE10 fixes/workarounds. We will begin cleaning our code-base and remove them.
- We plan to adopt TypeScript 2.0, so this will be the last release where
monaco.d.ts
is generated by TypeScript 1.8. javascript
andtypescript
language services:- exposed API to get to the underlying language service.
- fixed a bug that prevented modifying
extraLibs
.
- Multiple improvements/bugfixes to the
css
,less
,scss
andjson
language services. - Added support for ATS/Postiats.
API changes:
- settings:
- new:
mouseWheelZoom
,wordWrap
,snippetSuggestions
,tabCompletion
,wordBasedSuggestions
,renderControlCharacters
,renderLineHighlight
,fontWeight
. - removed:
tabFocusMode
,outlineMarkers
. - renamed:
indentGuides
->renderIndentGuides
,referenceInfos
->codeLens
- new:
- added
editor.pushUndoStop()
to explicitly push an undo stop - added
suppressMouseDown
toIContentWidget
- added optional
resolveLink
toILinkProvider
- removed
enablement
,contextMenuGroupId
fromIActionDescriptor
- removed exposed constants for editor context keys.
Notable bugfixes:
- Icons missing in the find widget in IE11 #148
- Multiple context menu issues
- Multiple clicking issues in IE11/Edge (#137, #118)
- Multiple issues with the high-contrast theme.
- Multiple IME issues in IE11, Edge and Firefox.
Thank you
- Pavel Kolev (@paveldk): Fix sending message to terminated worker PR vscode#10833
- Pavel Kolev (@paveldk): Export getTypeScriptWorker & getJavaScriptWorker to monaco.languages.typescript PR monaco-typescript#8
- Sandy Armstrong (@sandyarmstrong): Support CompletionItemKind.Method. PR vscode#10225
- Sandy Armstrong (@sandyarmstrong): Fix show in IE11 PR vscode#10309
- Sandy Armstrong (@sandyarmstrong): Correct docs for IEditorScrollbarOptions.useShadows PR vscode#11312
- Artyom Shalkhakov (@ashalkhakov): Adding support for ATS/Postiats PR monaco-languages#5
0.5.1 (24.06.2016)
- Fixed mouse handling in IE
[0.5.0] (24.06.2016)
Breaking changes
monaco.editor.createWebWorker
now loads the AMD module and callscreate
and passes in as first argument a context of typemonaco.worker.IWorkerContext
and as second argument theinitData
. This breaking change was needed to allow handling the case of misconfigured web workers (running on a file protocol or the cross-domain case)- the
CodeActionProvider.provideCodeActions
now gets passed in aCodeActionContext
that contains the markers at the relevant range. - the
hoverMessage
of a decoration is now aMarkedString | MarkedString[]
- the
contents
of aHover
returned by aHoverProvider
is now aMarkedString | MarkedString[]
- removed deprecated
IEditor.onDidChangeModelRawContent
,IModel.onDidChangeRawContent
Notable fixes
- Broken configurations (loading from
file://
or misconfigured cross-domain loading) now load the web worker code in the UI thread. This caused a breaking change in the behaviour ofmonaco.editor.createWebWorker
- The right-pointing mouse pointer is oversized in high DPI - issue
- The editor functions now correctly when hosted inside a
position:fixed
element. - Cross-origin configuration is now picked up (as advertised in documentation from MonacoEnvironment)


JavaScript Objects compared with Ruby Hashes
November 24, 2014
Today I'm going to write a little about the differences I see between Objects in JavaScript and Hashes in Ruby. As I've discussed in a previous post Ruby Hashes are a data structure which is made up of one or many key and value pairs. The key is the first piece of information and the second is the value corresponding to that key. These are great when you want to store information with labels. See the code below for an example of a hash in Ruby with the name daniel_info. Note in the example that hashes can have arrays and other hashes nested within them. Also notice the symbol notation used for some of the keys in the hash.
daniel_info = { home_town: "Palo Alto", full_name: "Daniel Kelley", "age" => 25, fav_food: "ice cream", places_lived: ["Palo Alto", "Providence", "Phnom Penh"] } puts daniel_info[:full_name] # puts "Daniel Kelley" puts daniel_info["age"] # puts 25 puts daniel_info.fav_food # this does not work because Ruby thinks fav_food is a method.
While you might be thinking that JavaScript Objects are likely more akin to Objects in Ruby, they are not. In fact, they are much closer to the Ruby Hashes we just reviewed. JavaScript objects, just like Ruby Hashes consist of key and value pairs where the keys in this case are called names and the value is called a value; together these form name-value pairs. JavaScript Objects are much less rigid than Ruby Hashes and can contain things called methods. These methods are functions that are stored in a name just like other values are. These methods can be called on the objects in which they are stored. Please see the code below for an example of a JavaScript Object.
daniel_info = { home_town: "Palo Alto", full_name: "Daniel Kelley", age: 25, fav_food: "ice cream", yearsTilIm100: function(age){ var til100 = 100 - this.age; alert("I will be 100 years old in " + til100 + " years."); } }; console.log(daniel_info["full_name"]); // "Daniel Kelley" console.log(daniel_info.age); // 25 daniel_info.yearsTilIm100(); // alerts "I will be 100 years old in 75 years."
At this point you might be asking yourself if JavaScript has classes because it is object oriented and everything. The short answer is 'no' JavaScript is what is known as a Prototype-based language which means that it achieves inheritance with something called, not surprisingly, prototypes. Unfortunately, I don't have time to discuss that more today but if you'd like to learn more about it this explanation from Mozilla seems to be a good start.
Get in touch below


{% extends 'base.html' %} {% block script %} {% endblock %} {% block content %}
Drop a file here
or Browse for file...
Copy the above link to your clipboard to share. Make sure you don't lose it — it cannot be retrieved later!
Upload another file


{{ request.sender.fullName }} has sent you a {{ request.requestTypeName }} request.
{{ request.dateTimeSent }}


--- layout: default nav: attributes > ic-enhance ---
ic-enhance
- The Enhance AttributeThe ic-enhance
attribute tells intercooler to enhance all anchor tags (links) and form tags
found below the attribute, causing them to issue AJAX requests rather than their standard behavior.
For anchor tags this means that the href
is copied over to ic-src
, the
ic-push-url
attribute is set to true
, and the ic-deps
attribute
is set to ignore
so no dependent requests are generated for it.
Only local references will be enhanced. Anchor tags that point to other sites, or that reference fragment ids will not be modified.
For form tags this means that the action
is copied over to ic-src
, the
ic-verb
attribute is set to method
attribute, and the ic-deps
attribute
is set to false
so no dependent requests are generated for it.
In both cases, intercooler attributes can be overridden or added directly to the element if you so wish.
The value of the attribute should be true
or false
.
ic-enhance
has no effect on dependencies.

Here is an enhanced link
 A Link


Toggle navigation
★ Akos
Level: 2
Ranking: 47
Exp: 500/1200
NEW PLAN
Name:
Description:
Location:
Cine Teatro Corroios
Date:
Time:
Friends
×
Friends
Cláudio
João
Mariana
Joana
Add New Plan
Cancel


Balla Beer Advertisement
Main Navigation
Advertisement
HOME
ABOUT
PRODUCT
ADVERTISEMENT
CONTACT
Logo Image
main Image
Advertising of Balla Beer
Balla beer is one of Canada’s top 10 favourite brands.
Promotion of BALLA BEER
Advertisement Content
footer Navigation
CONNECT


2 writes to ErrorBufferOwner
System.Management.Automation (2)
engine\hostifaces\PowerShell.cs (2)
638
ErrorBufferOwner
= true;
1536
ErrorBufferOwner
= false;
1 reference to ErrorBufferOwner
System.Management.Automation (1)
engine\hostifaces\PowerShell.cs (1)
4166
if (_errorBuffer != null &&
ErrorBufferOwner
)


Found something is missing here?
Contributing to the Zeta Website is pretty easy.
First, fork the Zeta Web Repository from GitHub.
Don't know what's git fork? Click here to find it out!
Then, clone the forked repository to your computer.
Don't know what's git clone? Click here to find it out!
Next, make changes using your favourite text editor.
Not sure which text editor to use? I recommend Atom Editor.
After that, push your changes to the forked repo.
Don't know what's git push? Click here to find it out!
Finally, create a pull request so your changes can be merged.
Don't know what's a pull request? Click here to know more!


A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
| Image | Id | Name | Organization | Organization URL | |
|---|---|---|---|---|---|
| albertodelazzari | Alberto De Lazzari |<EMAIL_ADDRESS>| Veneto Banca SPA | http://www.venetobanca.it/ |


Bacon Roll |
Walnut |
Original (Gluten-free) |
Original (Vegan) |
Maple Apple Pecan |
The Original |
Pumpkin Spice |
Caramel Pecan |
Carrot Cake |
Old Fashioned Buttermilk |
Strawberry Rhubarb |
Birthday Cake |
Lemon Lavender |
Blackberry Roll |
Cranberry Roll |


braise
v0.3.4
Pages
Modules
braise v0.3.4
Braise.CLI
Handles parsing the command line and dispatches to the library that pushes out Ember-CLI crud.
Summary
Functions
main(argv)
output_filename_for(base_dir, type, version, name)
parse_options(argv)
process(arg1)
read_file(filename)
version_from!(path)
write_adapters_and_models(list, version, output)
write_to_file(content, filename)
Functions
main(argv)
output_filename_for(base_dir, type, version, name)
parse_options(argv)
process(arg1)
read_file(filename)
version_from!(path)
write_adapters_and_models(list, version, output)
write_to_file(content, filename)


My Team
Bill
Manager
<EMAIL_ADDRESS>id: undefined
Office number:312
Jay
Engineer
Email<EMAIL_ADDRESS>id: undefined
GitHub: JayHub
Jim
Engineer
Email<EMAIL_ADDRESS>id: undefined
GitHub: JimHub
Mike
Intern
Email<EMAIL_ADDRESS>id: undefined
School: University of Denver


Hello there. I’m a writer in Dallas, TX, and I write and edit content for a variety of industries and mediums. I graduated Summa Cum Laude (so fancy!) from University of Arkansas (Go Hogs) in 2010 with a Bachelor's in Creative Writing. I’m happiest in a creative, collaborative, forward-thinking environment (with good coffee).
I’ve worked for tech startups, universities, and nonprofits creating and curating awesome content that readers can really get into.
My Jam:In my first job at age 15, I was proofreading and editing government grant proposals. As a volunteer with Americorp, I wrote policies and procedures, training documents, and RFPs. Writing documentation and instructions is actually a secret love of mine. Don’t tell my friends.
Writing Samples:
Tulsa Achieves FAQs
User Guide
Any opportunity to bring a project to life through fresh and experimental writing is totally my jam. Whether it’s blogs, creative content, newsletters, or the occasional southern gothic short story, there’s always room for allegorical flourish. Because my writing is founded by a love for language, I approach every project with thoughtful creativity and precision.
Check out my personal blog.
I also blog at Tiny Pineapple.


Starting Location
Store
Travel Mode
Destination
Name：{{item.PointName}}
Rating：{{item.PointRating}}
Rating Counts：{{item.PointRatingCounts}}
Distance：{{item.PointDistance}}m


@(devMode: Boolean) @main("Example chat application with Akka/JS") {
An actor-base chat application with support for multiple rooms and private chats (1 to 1).


Rented bikes
Bike ID
Requester ID
From Date
To Date
Bikes you have listed
BikeID
Owner ID
From Date
To Date
Bike Code
button
Update


big cake
The most commonly used cake ingredients include flour, sugar, eggs, butter or oil or margarine, a liquid, and leavening agents, such as baking soda or baking powder. Common additional ingredients and flavourings include dried, candied, or fresh fruit, nuts, cocoa, and extracts such as vanilla, with numerous substitutions for the primary ingredients. Cakes can also be filled with fruit preserves, nuts or dessert sauces (like pastry cream), iced with buttercream or other icings, and decorated with marzipan, piped borders, or candied fruit.[1]
history cakes
The ancient Greeks called cake πλακοῦς (plakous), which was derived from the word for "flat", πλακόεις (plakoeis). It was baked using flour mixed with eggs, milk, nuts, and honey. They also had a cake called "satura", which was a flat heavy cake. During the Roman period, the name for cake became "placenta" which was derived from the Greek term. A placenta was baked on a pastry base or inside a pastry case.[3]


Conor McGregor reflects on Irish Mirror's coverage of his famous double world title win
The Irishman became the first ever two-weight UFC champion just over three years ago
by Mirror SportConor McGregor has reflected on the Irish Mirror's coverage of his historic Lightweight title win in New York three years ago.
The Irishman became the first ever two-weight UFC champion at Madison Square Garden, in what was the first UFC event to be held in the state after the sport was unbanned.
And responding to journalist Petesy Carroll sharing a photo of the two-page spread featured on the Mirror on Twitter, McGregor said: "Ah the aul mirror".
It was, to date, McGregor's last win inside the octagon - he lost a boxing match to Floyd Mayweather in 2017 and then was submitted last year in a UFC lightweight title fight with Khabib Nurmagomedov.
But Conor McGregor's striking coach has declared that the Irishman is in "phenomenal shape" ahead of his January return to the UFC .
The former two-weight World champion is expected to take on Donald 'Cowboy' Cerrone on January 18 having not fought since he was choked out by Khabib Nurmagomedov.
And his long-time striking coach and friend Owen Roddy is confident McGregor will be back as good as ever.
"I know he’s working very hard," he told MMA Junkie. "There’s no official date set yet, but Conor’s been training very hard, as you can see - he’s in good nick.
"If you're looking at any of the pictures, he's in phenomenal shape, he’s ready to go. I’m sure everybody’s excited to see him back.
If you haven't already, be sure to like our Irish Mirror Sport and Irish Mirror GAA pages on Facebook and follow us on Twitter.
How to follow the Irish Mirror on social media
You can like our main Facebook page here.
Our Irish Mirror Sports page - which brings you all your Irish and UK sports news - can be found here.
You can also check out our Irish Mirror GAA sports page.
The Irish Mirror Twitter account is @IrishMirror while our sports account is @MirrorSportIE.
Our Instagram account can be found here.


--- layout: post title: Hello World, I'm still here! date: 2014-03-10 00:07:54.000000000 -04:00 categories: - Family Life - Seasons tags: [] status: publish type: post published: true meta: _edit_last: '1' aktt_notify_twitter: 'no' dsq_thread_id: '2399517523' author: login: cint email<EMAIL_ADDRESS>display_name: Jacinta first_name: Jacinta last_name: '' ---
I can't believe I have been so absent from my blog. If you are reading this, "hello!", I've missed you so. Things have been rather crazy around here of late, in fact, this blog post has been sitting in my drafts folder since mid February! Have some pretty big news to share, but I will have to keep you in suspense just a little longer before I can share. As for life in general, things are pretty good. The girls are loving being back in school and have settled back into our weekly routine. We have had a really beautiful summer with lots of warm weather and lots of trips to the beach. Autumn is definitely starting to make it's presence felt here in the hills. I've noticed this last week leaves are starting to turn colour. Autumn certainly is the most beautiful time of the year in the Dandenong Ranges.
I'll be back soon to keep you up to date with the craziness that is our life.
Jacinta x


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/Dependent.20sum.20with.20Prop.html ---
I'm trying to write a list merging function which, given two lists and an included proof that each is nondecreasing, produces a result list and a proof that it's also nondecreasing. While I think I have some idea of how to tackle it implementation-wise, I can't seem to get the types to line up (especially wrt pi/sigma vs. forall/exists). Here's a sketch of my current setup (with a bit of pseudocode in the merge
type itself):
inductive nondecreasing : list ℕ → Prop | nil : nondecreasing [] | single : Π {x : ℕ}, nondecreasing [x] | zip : Π {x y : ℕ} {xs : list ℕ}, x ≤ y → nondecreasing (y :: xs) → nondecreasing (x :: y :: xs) def merge : Π (x y : Σ l, nondecreasing l), Σ l' : list ℕ, nondecreasing (list.append x.l y.l) l' := sorry
Is there any way I can make this (or something like it) work?
The main issue with this approach, afaict, is the distinction between Prop
and Type ?
:
has type list ℕ → Prop : Type but is expected to have type list ℕ → Type ? : Type (?+1)
If I use a Σ
, it complains about Prop
being invalid, but if I use a ∃
, I'm unable to unpack the actual list itself... I think this is due to the special casing on Prop
?
(Apologies if this is a silly question - seems like it could be...)
Use Σ'
or {l | nondecreasing l}
Oh, that's perfect! Thanks.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


hehehehehehehehheeheh
This div should be white
This div will be green because it now has the "green" and "red" classes.It would be red if the addClass function failed.
This div should be white
There are zero green divs


Fabric ID:
Quantity:
Receiving Department: Sampling Dept. Finishing Dept. Cutting Dept. Sewing Dept.
Comment:


Please sign in to set up your device via a WINK hub.
Please select the device you want to onboard.
Sorry, there was a problem. Please try again. Details
Email is required
Password is required


module ActiveRecord::Aggregations::ClassMethods
Active Record implements aggregation through a macro-like class method
called composed_of
for representing attributes as value
objects. It expresses relationships like “Account [is] composed of Money
[among other things]” or “Person [is] composed of [an] address”. Each call
to the macro adds a description of how the value objects are created from
the attributes of the entity object (when the entity is initialized either
as a new object or from finding an existing object) and how it can be
turned back into attributes (when the entity is saved to the database).
class Customer < ActiveRecord::Base composed_of :balance, class_name: "Money", mapping: %w(balance amount) composed_of :address, mapping: [ %w(address_street street), %w(address_city city) ] end
The customer class now has the following methods to manipulate the value objects:
-
Customer#balance, Customer#balance=(money)
-
Customer#address, Customer#address=(address)
These methods will operate with value objects like the ones described below:
class Money include Comparable attr_reader :amount, :currency EXCHANGE_RATES = { "USD_TO_DKK" => 6 } def initialize(amount, currency = "USD") @amount, @currency = amount, currency end def exchange_to(other_currency) exchanged_amount = (amount * EXCHANGE_RATES["#{currency}_TO_#{other_currency}"]).floor Money.new(exchanged_amount, other_currency) end def ==(other_money) amount == other_money.amount && currency == other_money.currency end def <=>(other_money) if currency == other_money.currency amount <=> other_money.amount else amount <=> other_money.exchange_to(currency).amount end end end class Address attr_reader :street, :city def initialize(street, city) @street, @city = street, city end def close_to?(other_address) city == other_address.city end def ==(other_address) city == other_address.city && street == other_address.street end end
Now it's possible to access attributes from the database through the
value objects instead. If you choose to name the composition the same as
the attribute's name, it will be the only way to access that attribute.
That's the case with our balance
attribute. You interact
with the value objects just like you would with any other attribute:
customer.balance = Money.new(20) # sets the Money value object and the attribute customer.balance # => Money value object customer.balance.exchange_to("DKK") # => Money.new(120, "DKK") customer.balance > Money.new(10) # => true customer.balance == Money.new(20) # => true customer.balance < Money.new(5) # => false
Value objects can also be composed of multiple attributes, such as the case of Address. The order of the mappings will determine the order of the parameters.
customer.address_street = "Hyancintvej" customer.address_city = "Copenhagen" customer.address # => Address.new("Hyancintvej", "Copenhagen") customer.address_street = "Vesterbrogade" customer.address # => Address.new("Hyancintvej", "Copenhagen") customer.clear_aggregation_cache customer.address # => Address.new("Vesterbrogade", "Copenhagen") customer.address = Address.new("May Street", "Chicago") customer.address_street # => "May Street" customer.address_city # => "Chicago"
Writing value objects¶ ↑
Value objects are immutable and interchangeable objects that represent a
given value, such as a Money object representing $5. Two Money objects both
representing $5 should be equal (through methods such as ==
and <=>
from Comparable if ranking makes sense). This is
unlike entity objects where equality is determined by identity. An entity
class such as Customer can easily have two different objects that both have
an address on Hyancintvej. Entity identity is determined by object or
relational unique identifiers (such as primary keys). Normal ActiveRecord::Base classes are entity objects.
It's also important to treat the value objects as immutable. Don't allow the Money object to have its amount changed after creation. Create a new Money object with the new value instead. The Money#exchange_to method is an example of this. It returns a new value object instead of changing its own values. Active Record won't persist value objects that have been changed through means other than the writer method.
The immutable requirement is enforced by Active Record by freezing any object assigned as a value object. Attempting to change it afterwards will result in a RuntimeError.
Read more about value objects on c2.com/cgi/wiki?ValueObject and on the dangers of not keeping value objects immutable on c2.com/cgi/wiki?ValueObjectsShouldBeImmutable
Custom constructors and converters¶ ↑
By default value objects are initialized by calling the new
constructor of the value class passing each of the mapped attributes, in
the order specified by the :mapping
option, as arguments. If
the value class doesn't support this convention then
composed_of
allows a custom constructor to be specified.
When a new value is assigned to the value object, the default assumption is that the new value is an instance of the value class. Specifying a custom converter allows the new value to be automatically converted to an instance of value class if necessary.
For example, the NetworkResource model has network_address
and
cidr_range
attributes that should be aggregated using the
NetAddr::CIDR value class (www.ruby-doc.org/gems/docs/n/netaddr-1.5.0/NetAddr/CIDR.html).
The constructor for the value class is called create
and it
expects a CIDR address string as a parameter. New values can be assigned to
the value object using either another NetAddr::CIDR object, a string or an
array. The :constructor
and :converter
options
can be used to meet these requirements:
class NetworkResource < ActiveRecord::Base composed_of :cidr, class_name: 'NetAddr::CIDR', mapping: [ %w(network_address network), %w(cidr_range bits) ], allow_nil: true, constructor: Proc.new { |network_address, cidr_range| NetAddr::CIDR.create("#{network_address}/#{cidr_range}") }, converter: Proc.new { |value| NetAddr::CIDR.create(value.is_a?(Array) ? value.join('/') : value) } end # This calls the :constructor network_resource = NetworkResource.new(network_address: '<IP_ADDRESS>', cidr_range: 24) # These assignments will both use the :converter network_resource.cidr = [ '<IP_ADDRESS>', 8 ] network_resource.cidr = '<IP_ADDRESS>/24' # This assignment won't use the :converter as the value is already an instance of the value class network_resource.cidr = NetAddr::CIDR.create('<IP_ADDRESS>/8') # Saving and then reloading will use the :constructor on reload network_resource.save network_resource.reload
Finding records by a value object¶ ↑
Once a composed_of
relationship is specified for a model,
records can be loaded from the database by specifying an instance of the
value object in the conditions hash. The following example finds all
customers with balance_amount
equal to 20 and
balance_currency
equal to “USD”:
Customer.where(balance: Money.new(20, "USD"))
Public Instance Methods
Adds reader and writer methods for manipulating a value object:
composed_of :address
adds address
and
address=(new_address)
methods.
Options are:
-
:class_name
- Specifies the class name of the association. Use it only if that name can't be inferred from the part id. Socomposed_of :address
will by default be linked to the Address class, but if the real class name is CompanyAddress, you'll have to specify it with this option. -
:mapping
- Specifies the mapping of entity attributes to attributes of the value object. Each mapping is represented as an array where the first item is the name of the entity attribute and the second item is the name of the attribute in the value object. The order in which mappings are defined determines the order in which attributes are sent to the value class constructor. -
:allow_nil
- Specifies that the value object will not be instantiated when all mapped attributes arenil
. Setting the value object tonil
has the effect of writingnil
to all mapped attributes. This defaults tofalse
. -
:constructor
- A symbol specifying the name of the constructor method or a Proc that is called to initialize the value object. The constructor is passed all of the mapped attributes, in the order that they are defined in the:mapping option
, as arguments and uses them to instantiate a:class_name
object. The default is:new
. -
:converter
- A symbol specifying the name of a class method of:class_name
or a Proc that is called when a new value is assigned to the value object. The converter is passed the single value that is used in the assignment and is only called if the new value is not an instance of:class_name
. If:allow_nil
is set to true, the converter can return nil to skip the assignment.
Option examples:
composed_of :temperature, mapping: %w(reading celsius) composed_of :balance, class_name: "Money", mapping: %w(balance amount), converter: Proc.new { |balance| balance.to_money } composed_of :address, mapping: [ %w(address_street street), %w(address_city city) ] composed_of :gps_location composed_of :gps_location, allow_nil: true composed_of :ip_address, class_name: 'IPAddr', mapping: %w(ip to_i), constructor: Proc.new { |ip| IPAddr.new(ip, Socket::AF_INET) }, converter: Proc.new { |ip| ip.is_a?(Integer) ? IPAddr.new(ip, Socket::AF_INET) : IPAddr.new(ip.to_s) }
# File lib/active_record/aggregations.rb, line 212 def composed_of(part_id, options = {}) options.assert_valid_keys(:class_name, :mapping, :allow_nil, :constructor, :converter) name = part_id.id2name class_name = options[:class_name] || name.camelize mapping = options[:mapping] || [ name, name ] mapping = [ mapping ] unless mapping.first.is_a?(Array) allow_nil = options[:allow_nil] || false constructor = options[:constructor] || :new converter = options[:converter] reader_method(name, class_name, mapping, allow_nil, constructor) writer_method(name, class_name, mapping, allow_nil, converter) reflection = ActiveRecord::Reflection.create(:composed_of, part_id, nil, options, self) Reflection.add_aggregate_reflection self, part_id, reflection end
Private Instance Methods
# File lib/active_record/aggregations.rb, line 231 def reader_method(name, class_name, mapping, allow_nil, constructor) define_method(name) do if @aggregation_cache[name].nil? && (!allow_nil || mapping.any? {|key, _| !_read_attribute(key).nil? }) attrs = mapping.collect {|key, _| _read_attribute(key)} object = constructor.respond_to?(:call) ? constructor.call(*attrs) : class_name.constantize.send(constructor, *attrs) @aggregation_cache[name] = object end @aggregation_cache[name] end end
# File lib/active_record/aggregations.rb, line 244 def writer_method(name, class_name, mapping, allow_nil, converter) define_method("#{name}=") do |part| klass = class_name.constantize if part.is_a?(Hash) part = klass.new(*part.values) end unless part.is_a?(klass) || converter.nil? || part.nil? part = converter.respond_to?(:call) ? converter.call(part) : klass.send(converter, part) end if part.nil? && allow_nil mapping.each { |key, _| self[key] = nil } @aggregation_cache[name] = nil else mapping.each { |key, value| self[key] = part.send(value) } @aggregation_cache[name] = part.freeze end end end


←
index.html
| about.html
About
You can use the
{% markdown %}
tag to process markdown within html files.


--- layout: default title: 探す i18n-link: / --- Please help translate this page by:
{{ page.lang }}: "..."
" underneath existing translations like es: "..."
and en: "..."
.
t:
...
organisms:
en: "organisms"
es: "organismos"
some-other:
...
after: (please note translation might be wrong...)
t:
...
organisms:
en: "organisms"
es: "organismos"
{{ page.lang }}: "{{ site.t.organisms[page.lang] }}"
some-other:
...


The say "a picture is worth a thousand words", so one of the first desktop features we needed to bring to mobile was the ability to browse and comment on a Meetup group's photos and albums. Photos are one of the most engaging parts of browsing a Meetup group, but developing this feature was necessary to pave the way for future plans related to the redesign.
Even though the photos experience was designed and built to be responsive, the redesigned photo album experience is only launched on mobile web. Next year when we re-architect our front-end tech stack and we have a responsive Meetup group experience, this new design for looking through a group's photos will be launched across the entire web.
We quietly launched the new photos experience, and here's what we saw: the rate of people leaving Meetup after landing on a photo page drop dramatically and performing even better than our desktop photo pages, and the number of photos viewed went up, trending slightly higher than desktop.


Material
Quantity
Unit price
Acrylic (Transparent)
25
$2.90
Plywood (Birch)
50
$1.25
Laminate (Gold on Blue)
10
$2.35


| DOSE: |
1 hit |
oral |
LSD |
(blotter / tab) |
E drove up and picked me up as I sneaked out of my house and let my first dot melt into my tongue with no hesitation. We drove up to his place. I think it was about 10pm. We had a music on both in the living room and the bedroom. I don't remember how long of a time before I suddenly felt the living room was changing its size. I think it was the effect of the hallogen lamp. My attentions drew over to the dim light that the lamp was spreading out. Dark and back, dark to normal, dark to light. I don't exactly know how to describe this. It just seem like the room was alive and was breathing. I remember asking my friend if he sees the room breathing also. He said that I was just tripping and we laughed.
I was just having so much fun. And then we went under the computer desk and started listening to the music. I don't remember what kind of trance it was, but it certainly wasn't a happy dreamy one because I started to feel like I was in this very dark place with no one beside me and was scared. I also felt very conscious of my self and thought to my self 'What the hell am I doing here?' I think it's then when I started getting a little worried about sneaking back on time. I was suppose to sneak back by 7am before my mom and step dad wakes up. I told E about how I felt and he suggest that we come out of there. We went in to his room and turn out the light, lied on the mattress and started listening to the music again. Orbital was playing. It was really pretty.
When I closed my eyes, I saw this purple rail circulating in front of my eyes in 3-D, and it was still there when I opened my eyes in the dark again. It was really amazing and I was just having alot of fun. I asked E if he was seeing the same things that I was seeing, and he said no and explained to me the kind of things that he was seeing.  He also said that he was very proud of me of how well I'm handling my self on acid. I think that brought back the worries and the negativity in this trip. I was giving an another thought to the situation. I started giving a doubt to my mind and thought about the possibilities of having a bad trip.
And then I began to notice my self being very worried about getting home on time. By that time I already was picking up on my thought process and got caught up in the internal world instead of just loosing my self in the moments and the visuals and all. I took a look at E's face, and I stared at his face for along time. It started to shape up in to something very dark and monsterous. I got so scared and I ducked my head under my arms and had my face to the pillow. I took another look again at his face and he was smiling. He asked me what was wrong and I told him that he looked like a coyote and that he looked really really scary. I don't remember what he said but I started to feel really bad about what I said to him and thought to my self that I won't tell him anything like that again.
I think I had to go to the restroom or something then. When I went in to the rest room and looked at my self in the mirror, I felt really normal. We sat in the living room and started to play some video games and smoked some cigaret. We were using a plastic cup for the ash trays and I accidently made a whole in the cup and ruined the carpet alittle bit. And then we started to talk. There were alot that we talked about that I will just skip off right now and go to a part where we talked about god. E didn't believe in god but I knew he believed in something. And then I remembered this phrase that E wrote on his computer before we got really high. It was something about fear. How conquring our fear will open a door to the secret. All of a sudden that phrase really started to make sence to me in a not very healthy way.
I was thinking about things in a very scientific way, looking at reality in a very cold naked eyes. I was thinking about faith and for the first time I was a third person looking at my self with the faith and how I could have developed them. And then I burst into tears. I started to feel really depressed. It was really wierd because I wasn’t crying because I have realized the possibility that there might not be such thing as god but because of the fact that I felt like I have lost the magic about the matter and life as if I had already known the secret long time ago. I felt like I knew about the secret all along but had it hidden deep inside me either consciously or unconsciously.
What ever I think about, and what ever I thought was true, felt like the truth at that moment. I was thinking extremely hard and about everything. E said that I was just peaking and that it was all drugs, but it didn't help at all. And then I began to notice the sun coming up. I went out side and I realize E was watching me from the window. I asked him why, and he said that he was worried that I might jump off the balcony. When I saw the sunlight I felt a little better because I felt the warmth and the power of nature. It felt like there had to be something out there. Something ultimately good. We tried to eat and then he took me back to my house.
I was all by my self then. Now I was really hitting a cold reality. With no audience watching over me, and no one to complain anything about. I just had to figure out a way to get back to my house. Then I really started to get worried. It was already really late. I had to think about the way I was gonna get back in.  That is when I have noticed my self walking back and forth constantly about 5 times already on that block in front of my house. I got really scared and looked around the area to see if anyone was watching me. Because, even to my self, I looked really crazy. I was walking really fast, up and down that block within about 10 steps distance. I couldn't stop my self from walking and I was really annoyed by it. I had to force my self to calm my self down and literally had to talk to my self 'You have got to stop. You have got to stop'.
I can't really recall how I got back home right now, but I got in very safely. I went back into my room and laid on my bed. It was so bright and I was seeing the patterns in the ceiling comming out at me in a constant motion. I closed my eyes to not look at those patterns and I was still seeing the reflects of what I have just seen. It was driving me nuts. I could not get to sleep. It was thee most annoying experience I have ever had. I also could not stop my self from thinking either. I was thinking about something and I tried to stop my self. But one thinking led to another thinking, and it was just killing me. I think I still extremely high, it has only been like 10 hrs. I wanted to rest but I couldn't.
After that day, I felt suicidal for about 2 weeks. I even wrote a poem about why we should not live and why death should all make us happy. But I also wrote an another poem, about how we should either die or to live it our fullest. I think I had a very low tolerance for LSD, and might have given a big shock on my bio rythm or what ever. I remembered trying to focus on this colorful shapes that I see in the dark before I went to sleep when I was little. I understood where it was all coming from after getting high on acid. Now, I can see them when ever I choose to. But it isn't as easy as how I did them when I was a little girl. I loose my concentration really fast.
I haven't done acid after that day for about 5 years now, and I'm thinking about doing it again after all that bad trip. Reality seems so boring these days and I feel like I have a lot more control over my thoughts, emotions and my world.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


---
layout: post
title: "#14 - We live in Sci-Fi times"
redirect_from:
- /14
---
In this episode:
- Todd had his worst birthday
- Nick was surprised that Amex didn't want his money
- The guys also talk a bit about COVID-19, because it's just so hard not to... particularly when working from home
with kids roaming around
Shownotes:
Please send us your feedback, leave a review in your favourite Podcast app, and share our show with your friends.


 Prior to 1993, the course was
point-to-point and primarily on roads; for 1993 and later, the course was a loop
with 65% on trails.
3:17:14
Darold Turner-2
3:50:14
Julie Fingar-2
3:16:42
Scott St John-3
3:55:23
Rachel Atchley (NV/USA)
3:35:27
Darold Turner (CA/USA)
3:56:48
Julie Fingar (CA/USA)
3:33:55
Jeff Kingsland (CA/USA)
3:45:04
Rena Schumann (CA/USA)
2:52:25
Scott St John-2
4:07:04
Rachel Toor (WA/USA)
3:00:07
Jose Juvenal-2
3:26:54
Jennifer Pfeifer (CA/USA)
3:01:26
Jose Juvenal (CA/USA)
3:39:39
Carrie Blakemore (CA/USA)
---
n/a
---
n/a
---
n/a
---
n/a
2:57:47
Scott St John (CA/USA)
3:49:30
Sarah Freitas (CA/USA)
2:53:37
Brad Lael (CA/USA)
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
2:38:30
Rudy Munoz (NV/USA)
---
n/a
---
n/a
---
n/a
2:29:43.2
Adam Ferreira (CA/USA)
3:37:16.2
Kay Johnson (CA/USA)
2:45:56
David Russell (USA)
3:22:12
Sally Edwards (CA/USA)
---
n/a
---
n/a
2:43:30
Art Baudendistel (CA/USA)
3:32:39
Joan Perkins (CA/USA)
Most Wins
(1979/2005)
Men
3
Scott St John
(CA/USA)
1996,2001,2004
Women
2
Julie Fingar
(CA/USA)
2003,2005
Prize Money
(ADR qualified runners)
No information on prize money has been received for this race.
Race Time Bias
(sec/km)
Insufficient information to calculate the race time bias.
Competitive Level (1990-date)
Insufficient information to calculate the competitive level.
Quality Performances
Men No men under 2:20 Women No women under 2:50
Last Updated on 19 Aug 2009
Contributors: Klaas Loonstra (8), Jack Leydig (28)


Done! Install the extension on Firefox (if you haven't already done so) and everything should be good now!
If you want to uninstall it, just run OnChrome uninstall on the Terminal.


|
My Project
|
Public Member Functions | |
| void | PlayMusic (std::string filename, int loops=-1) |
| void | PauseMusic () |
| void | ResumeMusic () |
| void | PlaySFX (std::string filename, int loops=0, int channel=0) |
Static Public Member Functions | |
| static AudioManager * | Instance () |
| static void | Release () |


|
IVT
|
Class for efficient application of arbitrary 2D-2D transformations to whole images. More...
#include <ImageMapper.h>
Public Member Functions | |
| CImageMapper (bool bInterpolate=true) | |
| The only constructor of this class. More... | |
| virtual | ~CImageMapper () |
| The destructor. More... | |
| void | ComputeMap (int width, int height) |
| This method initializes the instance for mapping of images of a specific size. More... | |
| void | PerformMapping (const CByteImage *pInputImage, CByteImage *pOutputImage) |
| This method performs the mapping. More... | |
Class for efficient application of arbitrary 2D-2D transformations to whole images.
This class performs arbitrary 2D-2D transformations on instances of CByteImage. The 2D-2D transformation of interest must be specified by the inheriting class by implementing only (pure) virtual method: ComputeOriginalCoordinates(const Vec2d&, Vec2d&).
For initialization the method ComputeMap(int, int) must be called. Throughout initialization, an internal lookup table is built, including pre-computed coefficients for bilinear interpolation if the interpolation flag was set to true in the constructor CImageMapper(bool).
Bilinear interpolation has been optimized with integer arithmetics.
After initialization, the mapping is performed by calling the method PerformMapping(const CByteImage*, CByteImage*).
Images of type CByteImage::eGrayScale and CByteImage::eRGB24 are supported.
Definition at line 76 of file ImageMapper.h.
| CImageMapper::CImageMapper | ( | bool | bInterpolate = true | ) |
The only constructor of this class.
Initialization is performed by calling the method ComputeMap(int, int).
| [in] | bInterpolate | If set to true (default value) coefficients for bilinear interpolation are pre-computed throughout the initialization process and bilinear interpolation is performed when calling the method PerformMapping(const CByteImage*, CByteImage*). Bilinear interpolation has been optimized with integer arithmetics. If set to false, no interpolation takes place. |
Definition at line 64 of file ImageMapper.cpp.
|
virtual |
The destructor.
Does not need to be implemented by the inheriting class.
Definition at line 76 of file ImageMapper.cpp.
| void CImageMapper::ComputeMap | ( | int | width, |
| int | height | ||
| ) |
This method initializes the instance for mapping of images of a specific size.
This method must be called prior to use of PerformMapping(const CByteImage*, CByteIamge*). an internal lookup table is built, including pre-computed coefficients for bilinear interpolation if the interpolation flag was set to true in the constructor CImageMapper(bool).
| [in] | width | The width of the images to be mapped in pixels. |
| [in] | height | The height of the images to be mapped in pixels. |
Definition at line 90 of file ImageMapper.cpp.
| void CImageMapper::PerformMapping | ( | const CByteImage * | pInputImage, |
| CByteImage * | pOutputImage | ||
| ) |
This method performs the mapping.
Before application of this method, the instance must have been initialized by calling the method ComputeMap(int, int).
The width and height of pInputImage and pOutputImage must match.
pInputImage and pOutputImage must be either both of type CByteImage::eGrayScale or both of type CByteImage::eRGB24.
| [in] | pInputImage | The input image. |
| [out] | pOutputImage | The output image. |
Definition at line 171 of file ImageMapper.cpp.


Toggle navigation
P2P Cloud Platform
GoodWill
Ideation
P2P Cloud
Manifesto
KHAN
PeerOS
Bazaar
Blockchain Router
Blockchain-in-a-Box
Open Hardware Security
Blog
Tribute
Presentation
Getting Started
Resources
Glossary
Documentation
GitHub
FAQ
Blueprints
Get Involved
Use Cases
Bazaar
Community
Get Involved
Slack
Telegram
Twitter
Reddit
Facebook
Linkedin
Youtube
Conquer the Cloud
Open Source Peer-to-Peer (P2P) Cloud Computing
Internet of Things (IoT) and Cryptocurrency Mining for Everyone
KHAN™
The token of the Subutai platform.
An Ethereum Blockchain-based platform token.
The default and ubiquitous currency across the Subutai Platform (one of two tokens backing GoodWill).
Automated exchange with other currencies.
Used by all bazaars, both those operated by economy operators and by OptDyn.
Only KHAN can be used for Service Level Agreements (SLA) based on Smart Contracts with escrow accounts.
Will have even wider commercial usage in the future, beyond purchasing resources.
Serves as the reserve currency of the platform across ISPs, much like the US dollar does across countries.
Sign up below to receive the latest updates and download the Executive Summary
LEARN MORE
Getting Started
Join the revolution.
Quick start >
Documentation >
Experience the Bazaar >
NEW! Blockchain-in-a-Box >
YouTube >
Ideation
What's on our mind.
Manifesto >
Blog >
Tribute >
Presentation >
Glossary >
Resources
Ramp up.
GitHub >
FAQ >
Blueprints >
Get Involved >
Use Cases >
Community
We’d love to hear from you!
Twitter
Facebook
Reddit
LinkedIn
Slack
Telegram
Tribute:
Standing on the Shoulders of Giants >


Toggle navigation
FlowNinja administration console
Profile
Change password
Accounting groups
Manage accounting groups
Manage endpoints
Users
Manage users
Signed in as
Logout


| deprecated {lifecycle} | R Documentation |
Signal deprecated argument by using self-documenting sentinel
deprecated()
as default argument. Test whether the caller has
supplied the argument with is_present()
.
deprecated() is_present(arg)
arg |
A |
We recommend importing lifecycle::deprecated()
in your namespace
and use it without the namespace qualifier.
In general, we advise against such
magical defaults, i.e. defaults that cannot be evaluated by the
user. In the case of deprecated()
, the trade-off is worth it
because the meaning of this default is obvious and there is no
reason for the user to call deprecated()
themselves.
foobar_adder <- function(foo, bar, baz = deprecated()) { # Check if user has supplied `baz` instead of `bar` if (lifecycle::is_present(baz)) { # Signal the deprecation to the user deprecate_warn("1.0.0", "foo::bar_adder(baz = )", "foo::bar_adder(bar = )") # Deal with the deprecated argument for compatibility bar <- baz } foo + bar } foobar_adder(1, 2) foobar_adder(1, baz = 2)


Editor Bootstrap makes it easy to learn a new editor, focus on learning how to use it and leave the configuration to us
Learn to use then configure
Put your focus on one thing at a time, when we focus on studying a single thing we accelerate our learning.
Maintained by the community
Created and maintained by a community that uses the editor on a daily basis.
We demystify the complexity of the editor configuration
Setting up the editor is not complicated, as long as you have a good configuration reference. Editor Bootstrap provides a great reference for setting up your configuration.
Open Source, point the finger at the problems
Feel like you own the projects, report problems, propose improvements and the evolution of the projects. Welcome to the team.


My First Website
This is the first website I am going to make.
It will teach me the basic of html andcss.
HTML Learning Goal
- Page Structure
- Element Attributes
- Tag Types
- Linking in other resources
CSS Learning Goal
- What properties are
- How do you use elements and elements attributes to change style
- How CSS styles cascade
- How to include styles
| 1 |
2 |
3 |
4 |
| TD 1 1 |
TD 1 2 |
TD 1 3 |
TD 1 4 |
| TD 2 1 |
TD 2 2 |
TD 2 3 |
TD 2 4 |
| TD 3 1 |
TD 3 2 |
TD 3 3 |
TD 3 4 |


Display
Explore
Pathways
pin as transparent
pin as opaque
remove selected region
remove all unpinned regions
pin as transparent
pin as opaque
Search
Light touch pathway
Pain and temperature pathway
Face light touch pathway
Clear


Poll: Tories hanging on and Labour facing wipe out in first Scottish analysis
by Paris GourtsoyannisThe first Scottish poll of the general election campaign has put the Tories on course to hold all but one of their seats north of the border - while Labour are set for another near wipeout.
The Panelbase survey for the Sunday Times suggests that Ian Murray will be returned as the only Scottish Labour MP, while Stirling’s Stephen Kerr would be the only Tory to lose his seat.
Analysis of the poll by Strathclyde University Professor Sir John Curtice says the SNP could expect to win 41 seats on election night, with the party losing North East Fife to the Liberal Democrats.
Panelbase puts the SNP on 40%, the Tories on 28% - up seven points in the past month, Labour on 20%, and the Liberal Democrats on 11%.
The poll surveyed 1,009 people in Scotland, and found the First Minister to be the only leader with a positive approval rating at +3%.
Prime Minister Boris Johnson's popularity rose slightly from -36% to -34%, while the Labour leader also improved but still found himself trailing the Tory leader on -41%.
On the issues voters believe to be harmful to the UK, 37% of Scots said Scottish independence, with 39% saying the same of Brexit.
Almost half of all those surveyed said Scottish independence would be a "good opportunity" for the country, at 45%, while just 24% said the same of Brexit.
Responding to the poll Kirsty Blackman, the SNP's deputy Westminster leader, said: "Only the SNP can beat the Tories in Scotland.
"While we take nothing for granted, the SNP are in a strong position - and we're well and truly the party with the momentum.
"This poll underlines the fact that neither Labour nor the Lib Dems can take seats off the Tories.
"Boris Johnson is desperate to get a majority, force through a disastrous Brexit and inflict yet more years of Tory misery on Scotland.
"The only way to stop him is to unite around the SNP and help lock him out of Downing Street."
Mr Kerr said: "We welcome today's poll.
"It confirms that, in seat after seat in Scotland, it's only by voting Scottish Conservative that people can stop Nicola Sturgeon and make her listen.
"By contrast, the poll shows that Labour is going nowhere in Scotland and that it now risks being completely wiped out.
"So our message to Labour and Liberal voters today is to lend us your vote so together we can beat the SNP.
"We did it two years ago - let's do it again."


#{extends 'main.html' /} #{set title:'Online FAQs | search results' /}
No matches exist for your search. Google It!


I have: var isPlatoonMember = ["Your", "Names", "Here"];
var posterName = $(".forum-threadview-post-poster .forum-threadview-post-poster-name").html();
if($.inArray(posterName, isPlatoonMember) > -1){ /* Do Stuff */ }
This works to see if any of the posters are on the page, but it will just apply the function inside the if statement to everyone. Is there a way to select only the people who has a name that matches one listed in the array?
BrainFooLong
Administrator
First of all, this code always get the first name of the first post.
Why?
1. You select all forum post elements.
2. .html() just output the first of the matched items (http://api.jquery.com/html/)
That should do the job. var isPlatoonMember = ["Your", "Names", "Here"];
$(".forum-threadview-post-poster .forum-threadview-post-poster-name").each(function(){
var posterName = $(this).text();
if($.inArray(posterName, isPlatoonMember) > -1){ /* Do Stuff */ }
});
Topicstarter
GameFreakBoy
Sort of. Now it will perform the action once to everybody for every match it finds. So if 3 people were found on the page. It would append 3 times to everyone.
Post edited 1 x times, last by
BrainFooLong
Administrator
BrainFooLong
Administrator
Well, than you must look at your selector what it select and make true that it doesn't happen when it's already happened.
But maybe it's just the " /* Do Stuff */" code that is wrong.
Post edited 1 x times, last by
GameFreakBoy
Topicstarter
GameFreakBoy
I found this solution while looking for alternative setups. This is one that I found, and it works perfectly. :) var isPlatoonMember = ["Your", "Names", "Here"];
var posterName = $.map(isPlatoonMember,function (item){
return ".forum-threadview-post-poster .forum-threadview-post-poster-name[href*=" + item + "]"}).join(",");
$(posterName).parent().children(".forum-threadview-post-tags").append(topLevel);}


You might be thinking, Setting Travel Goals? That’s a waste of time, why would I do that? I just find the best price and decide where to go from there. And while we believe in taking advantage of deals and last-minute pricing too, that’s not exactly what we’re talking about. Holidays or vacations are words that bring joy to everyone but they mean different things to different people. For some people it would mean fishing in your uncle’s boat or visiting your grandma’s place or simply lazing around in some beach. For me it means travel to a exotic country and look around, absorb the culture try out the local food and have fun along the way.
"Love your Website. So informative!"
"Morocco is amazing! When you visit Morocco, you don't want to leave. "


AWS::IAM::UserToGroupAddition
The AWS::IAM::UserToGroupAddition
type adds AWS Identity and Access Management (IAM) users to a
group.
This type supports updates. For more information about updating stacks, see AWS CloudFormation Stacks Updates.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type": "AWS::IAM::UserToGroupAddition", "Properties": { "GroupName":
String
, "Users": [User1, ...
] } }
Properties
GroupName
-
The name of group to add users to.
Required: Yes
Type: String
Update requires: No interruption
Users
-
Required: Yes
Type: List of users
Update requires: No interruption
Return Value
When the logical ID of this resource is provided to the Ref
intrinsic
function, Ref
returns the resource name. For example:
{ "Ref": "
MyUserToGroupAddition
" }
For the AWS::IAM::UserToGroupAddition
with the logical ID "MyUserToGroupAddition",
Ref
will return the AWS resource name.
For more information about using the Ref
function, see Ref.
Template Examples
To view AWS::IAM::UserToGroupAddition
snippets, see Adding Users to a Group.


{% extends "albums/base.html" %}{% load i18n sniplates %} {% block eye-catcher-content %}
{% blocktrans %} Create a new album here. By default your album is personal and nobody else can upload to your album. You can give out permissions to others to give them access to your albums though. {% endblocktrans %}
{% endblock %} {% block content %} {% endblock %}


Swing-up and Balancing Control of an Inverted Pendulum
In this mini project, nonlinear control strategies for the swing-up control of an inverted pendulum on a cart (i.e. the cart-pole system) is explored. The controller is verified in a simulation. Let’s take a look at how it works in the video below. Only the pendulum is visualized, and the cart is not visible.
Source code for this project is available at https://github.com/YifanJiangPolyU/cart-pole-nonlinear-control
The System
A cart-pole system is a classical example used in control engineering. It is something that looks like Figure 1.
A pendulum (the pole) freely rotates on a shaft mounted on a moving cart. The shaft is NOT actuated, and the only control action applicable is a force on the cart.
The Algorithm
Initially, the pendulum is at its stable equilibrium position (i.e. lowest position). The control algorithm does 2 jobs. First, it tires to move the cart so that the pendulum swings up to the unstable equilibrium position (i.e. the highest position). Second, it tries to balance the pendulum at its unstable equilibrium.
The swing-up part of the job is more interesting and more challenging. The during swing-up, the pendulum travels through highly nonlinear regions of the state space, rendering conventional linear system techniques unusable. Further more, the system is under-actuated, and when the pendulum is horizontal, moving the cart does not generate any effect on the pendulum (even for a very brief moment).
The method implemented here was mentioned in the course materials of MIT OpenCourseWare 6.832, Underactuated Robotics This method transforms the swing-up control problem into the regulation problem of an energy-like term. Namely, the energy error term is defined as follows:
In the equation, J is the moment of inertia of the pendulum, and g is the gravitational acceleration. Other notations are consistent with Figure 1. Note that when the pendulum is at upright position, the energy error term goes to zero. A regulator is then added to drive the energy error to zero, which is effectively the same as making the pendulum approach the upright position.
When the pendulum is close enough to the upright position, the system can effectively be replaced by its linearization about the upright position. At this moment, the energy error regulator is simply switched off and a linear quadratic regulator (LQR) takes over to balance the pendulum.
Leave a Comment


After saving the connections, automatically generates a matcher with a pattern that strictly matches the name of the connection.
Overwrites any existing matchers that have the same pattern.
To remove that matcher, uncheck this box and delete the generated matcher if it exists.


Hi, I'm João Portela.
I'm a Software Developer, specialized in turning your vision into reality.
Who?
I'm João Portela, a Software Developer with a passion for creating engaging experiences. My unique background provides a valuable asset in designing, architecting and implementing high-performance, user-focused products. I have hands-on experience with the following:
Languages
- Javascript
- Ruby
- HTML/CSS
- C/C++
- Python
- Java
Frameworks
- YUI
- RequireJS
- Freemarker
- NodeJS
- Less
- Bower
- jQuery
- Kivy
- Jasmine
- Ruby on Rails
Tools
- Git
- SVN
- Chrome
- IntelliJ IDEA
- Sublime Text
- Firefox
- Jenkins
- Internet Explorer
- Grunt
Methodologies
- Scrum
- Kanban
- TDD/BDD
- User-Centered Design
- TSP/PSP
- Agile
- Extreme Programming
Projects
Aside from my work projects, I'm engaged in other personal projects, because I love to learn new technologies, and because I believe in constant self-improvement. Here are a few of the projects I'm most proud of:
Contact me
Thank you for visiting me! Please stay in touch.


Typically, we model count data, or integer valued data, with the gamma-Poisson distribution
Recall that the Poisson distribution is a distribution over integer values parameterized by \(\lambda\). One interpretation behind \(\lambda\) is that it parameterizes the rate at which events occur with a fixed interval, assuming these events occur independently. The gamma distribution is conjugate to the Poisson distribution, so the gamma-Poisson distribution allows us to learn both the distribution over counts and the rate parameter \(\lambda\).
Let’s set up our environment and consider some examples of count data
import pandas as pd
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
sns.set_context('talk')
import csv
import urllib2
import StringIO
%matplotlib inline
Children Ever Born is a dataset of birthrates in Fiji from the World Fertility Survey with the following columns:
dur
: marriage durationres
: residence,educ
: level of education,mean
: mean number of born,var
: variance of children borny
: number of womenOrdinal columns dur
, res
, and educ
are shown as text in the
following dataset
ceb = pd.read_csv('http://data.princeton.edu/wws509/datasets/ceb.dat', sep='\s+')
ceb.head()
| dur | res | educ | mean | var | n | y | |
|---|---|---|---|---|---|---|---|
| 1 | 0-4 | Suva | none | 0.50 | 1.14 | 8 | 4.00 |
| 2 | 0-4 | Suva | lower | 1.14 | 0.73 | 21 | 23.94 |
| 3 | 0-4 | Suva | upper | 0.90 | 0.67 | 42 | 37.80 |
| 4 | 0-4 | Suva | sec+ | 0.73 | 0.48 | 51 | 37.23 |
| 5 | 0-4 | urban | none | 1.17 | 1.06 | 12 | 14.04 |
With the these columns encoded, we can now represent them as integers
dur
and educ
are ordinal columns. Additionally, number of women,
n
, is integer valued.
ceb_int = pd.read_csv('http://data.princeton.edu/wws509/datasets/ceb.raw', sep='\s+', names = ['index'] + list(ceb.columns[:-1]), index_col=0)
ceb_int.head()
| dur | res | educ | mean | var | n | |
|---|---|---|---|---|---|---|
| index | ||||||
| 1 | 1 | 1 | 1 | 0.50 | 1.14 | 8 |
| 2 | 1 | 1 | 2 | 1.14 | 0.73 | 21 |
| 3 | 1 | 1 | 3 | 0.90 | 0.67 | 42 |
| 4 | 1 | 1 | 4 | 0.73 | 0.48 | 51 |
| 5 | 1 | 2 | 1 | 1.17 | 1.06 | 12 |
We can map these orderings of dur
and educ
to produce a crosstab
heatmap of n
, numbe of women
plt.figure(figsize=(9,6))
ct = pd.crosstab(ceb_int['dur'], ceb_int['educ'], values=ceb_int['n'], aggfunc= np.sum).sort_index(ascending = False)
sns.heatmap(ct, annot = True)
plt.yticks(ceb_int['dur'].drop_duplicates().values - .5, ceb['dur'].drop_duplicates().values)
plt.xticks(ceb_int['educ'].drop_duplicates().values - .5, ceb['educ'].drop_duplicates().values)
plt.ylabel('duration of marriage (years)')
plt.xlabel('level of education')
plt.title('heatmap of marriage duration by level of education')
<matplotlib.text.Text at 0x11a8f48d0>
Since dur
and education
are ordinal valued, the columns assume a
small number of integer values
Additionally, the caffeine dataset below measures caffeine intake and performance on a 10 question quiz. The variables are:
coffee
: coffee intake (1 = 0 cups, 2 = 2 cups, 3 = 4 cups)perf
: quiz scorenumprob
: problems attemptedaccur
: accuracyresponse = urllib2.urlopen('http://stanford.edu/class/psych252/_downloads/caffeine.csv')
html = response.read()
caf = pd.read_csv(StringIO.StringIO(html[:-16]))
caf.head()
| coffee | perf | accur | numprob | |
|---|---|---|---|---|
| 0 | 1 | 53 | 0.449877 | 7 |
| 1 | 1 | 9 | 0.499534 | 6 |
| 2 | 1 | 31 | 0.498590 | 6 |
| 3 | 1 | 38 | 0.454312 | 7 |
| 4 | 2 | 40 | 0.421212 | 8 |
Based on the characteristics of each column, coffee
and numprob
easily fit into the category of count data appropriate to a
gamma-Poisson distribution
caf.describe()
| coffee | perf | accur | numprob | |
|---|---|---|---|---|
| count | 60.000000 | 60.000000 | 60.000000 | 60.000000 |
| mean | 2.000000 | 42.366667 | 0.510854 | 7.950000 |
| std | 0.823387 | 18.350603 | 0.107704 | 1.185005 |
| min | 1.000000 | 5.000000 | 0.240238 | 6.000000 |
| 25% | 1.000000 | 31.000000 | 0.425859 | 7.000000 |
| 50% | 2.000000 | 40.000000 | 0.509806 | 8.000000 |
| 75% | 3.000000 | 53.500000 | 0.594445 | 9.000000 |
| max | 3.000000 | 89.000000 | 0.748692 | 10.000000 |
Note that while integer valued data with high values is sometimes modeled with a gamma-Poisson ditribution, remember that the gamma-Poisson distribution has equal mean and variance \(\lambda\):
If you want to be more flexible with this assumption, you may want to consider using a normal inverse-chisquare or a normal inverse-Wishart distribution depending on your data
To import the gamma-poisson likelihood, call:
from microscopes.models import gp as gamma_poisson


Cloud Atlas Marketing
About
Involvement
One great idea leads to another
Inspire revelation, create a revolution
Learn More »


Order
Order #: [[${order.id}]]
Placed on: [[${order.placedOn}]]
Customer username: [[${order.username}]]
Customer name: [[${order.firstName}]] [[${order.lastName}]]
| # | Artwork Name | Price | Category |
|---|---|---|---|
| [[*{price]]BGN |
| # | Artwork Name | Price | Category |
|---|---|---|---|
| [[*{price]]BGN |


The project
You'll be annotating passages in "A Dictionary of Greek and Roman
Biography and Mythology" by William Smith.
The questions we're interested in answering are:
- Who is this character?
- What is this character's relationship with other characters in the
text.
- How did the ancients describe (characterize) this figure?
- What does this tell us about the figure? Can we gain information from the network that would not be apparent otherwise?