Ultraschall API - ChangelogUltraschall API - ChangelogUltraschall API - ChangelogUltraschall API - ChangelogUltraschall API - ChangelogUltraschall API - ChangelogUltraschall API - ChangelogUltraschall Framework - Changelog
4.00 Beta 2.7: - "John Cage - 4:33" - 30th of July 2018
New features in 4.00beta2.7
- SetEnvelopeHeight - set the height and compactible state of an envelope-lane/envelopestatechunk
- GetTrackStateChunk - get a TrackStateChunk without the hassle of creating a trackobject first
- SetTrackStateChunk - set a TrackStateChunk without the hassle of creating a trackobject first
- GetTrackWidth - gets the Track-Width
- GetTrackVolPan - gets Vol and Pan-settings of the track
- GetTrackScore - gets Score of the track
- GetTrackPanMode - gets PanMode of the track
- GetTrackMidiColorMapFn - gets MidiColorMapFilename of the track
- GetTrackMidiBankProgFn - gets MidiBankProg-Filename of the track
- GetTrackMidiTextStrFn - gets MidiTextStr-Filename of the track
- GetTrackID - gets the track-ID
- CountPatternInString - counts a pattern in a sourcestring and returns appearances and positions of appearances
- ConvertColor - converts color to native, without the hassle that Reaper needs
- CountNormalMarkers_NumGap - returns the first numbering-gap within shown-markernumbers
- CenterViewToCursor - centers arrange view to play-, edit- or mousecursor-timeposition.
- SetReaperWindowToSize - to set the size of Reaper's Main Window
- toboolean - converts a string to boolean, if possible. Like Lua's tostring() or tonumber()-functions
- CheckActionCommandIDFormat - checks, if an action-command-id is properly formatted
- CheckActionCommandIDFormat2 - checks, if an action-command-id is properly formatted and if it exists in the Reaper-installation
- IsRegionAtPosition - checks, if regions are at a certain position and returns their index-numbers
- IsMarkerAtPosition - checks, if markers are at a certain position and returns their index-numbers
- SetTrackID - sets the track-ID
- SetTrackMidiColorMapFn - sets MidiColorMapFilename of the track
- SetTrackMidiBankProgFn - sets MidiBankProg-Filename of the track
- SetTrackMidiTextStrFn - sets MidiTextStr-Filename of the track
- SetTrackPanMode - sets PanMode of the track
- SetTrackWidth - sets the Track-Width
- InsertMediaItemFromFile - inserts a mediafile into the project at position and in specific track
- GetMediafileAttributes - returns mediafile-attributes
- GetMarkerByName - gets markers/regions by name
- GetMarkerByName_Pattern - gets markers/regions that have a certain character-sequence in their name
- GetMarkerByIndex - gets values of a certain marker/region, count by either markers or regions
- SetMarkerByIndex - sets values of a certain marker/region, count by either markers or regions
- GetReaperAppVersion - returns the appversion and the bits-version of the Reaper-App, separated into version and bits(unlike reaper.GetAppVersion())
- GetOS - returns the operating system and it's bits separated, unlike reaper.GetOS()
- IsOS_Windows - returns true, if the operating-system is Windows, false if not. Also returns the bits of the os.
- IsOS_Mac - returns true, if the operating-system is MacOS, false if not. Also returns the bits of the os.
- IsOS_Other - returns true, if the operating-system is other(usually Linux), false if not. Also returns the bits of the os.
- GetItemSpectralConfig - gets the FFT-size of the spectral-edit-view of a specific item/statechunk
- SetItemSpectralConfig - sets the FFT-size of the spectral-edit-view of a specific item/statechunk
- GetItemSpectralEdit - Get the settings of a given spectral-edit-boundary-box
- CountItemSpectralEdits - Counts the number of spectral-edit-boundary-boxes
- DeleteItemSpectralEdit - deletes a spectral-edit-boundary-box
- SetTrackScore - sets SCORE-state of a track
- SetTrackVolPan - set vol, pan, panlaw of a track
- SetTrackRecCFG - set track-rec-encoding-configuration
- LimitFractionOfFloat - takes a float-value and reduces the number of digits in the fraction-part of the float; (500th Api function!)
- SearchStringInString - searches for occurrences of a string within another string; differs from CountPatternInString in that it allows disabling searching for strings within already found strings
- GetAllEntriesFromTable - returns all entries from a table in an iterable form; good for unknown tables/tablestructures
- GetItemSourceFile_Take - returns filename, pcm-source and the media-item-take-object of a requested take
- GetAllDirectoriesInPath - gets all directory-names in path
- GetAllFilesnamesInPath - gets all filenames in path
- CountDirectoriesAndFilesInPath - counts files and directories in path
- APIExists - returns, if a certain function/element exists in the ultraschall-api
- AddItemSpectralEdit - adds an spectral-editing-box into an item/statechunk
- GetItemSpectralVisibilityState - get the visibility-state of spectral-edit of a certain MediaItem
- IsValidEnvStateChunk - checks, if a string is a valid envelope-state-chunk
- IsValidTrackStateChunk - checks, if a sring is a valid trackstate-chunk
- IsValidItemStateChunk - checks, if a string is a valid itemstate-chunk
- EnumProjects - gets the projectfilename+path and the ReaProject-object of a requested project
- DeleteProjExtState_Section - deletes all project-extstates from a specific section
- DeleteProjExtState_Key - deletes the value from a specific project-extstates->section->key
- GetProjExtState_AllKeyValues - get all keys and values from a proj-extstate
- IsValidGuid - checks, if a string is a valid guid
- SetGuidExtState - sets a proj-extstate with a guid as extname(good for additional metadata for tracks/items/etc
- GetGuidExtState - gets a proj-extstate with a guid as extname(good for additional metadata for tracks/items/etc
- GetVZoom - returns the current vertical-zoomfactor of the current project
- SetVZoom - sets the vertical-zoomfactor of the current project
- StoreArrangeviewSnapshot - stores a snapshot of current start/endposition and verticalzoom from the arrangeview into a proj-extstate-slot
- IsValidArrangeviewSnapshot - checks, whether an arrangeview-snapshot-slot is set/valid
- RetrieveArrangeviewSnapshot - returns the values set in a specific Arrangeview-Snapshot-slot
- RestoreArrangeviewSnapshot - sets arrangeview to start/endposition/verticalzoom, as set in the arrangeview-snapshot-slot
- DeleteArrangeviewSnapshot - deletes an arrangeview-snapshot-slot
- SetBitfield - sets/unsets/toggles individual bits in a bitfield
- PreventCreatingUndoPoint - prevents creation of an undo-point(only useful in non-defer-scripts)
- SetIntConfigVar_Bitfield - allows setting config-vars, that are integer-bitfields, quite easy
- IsValidProjectStateChunk - checks, if a string is a valid ProjectStateChunk
- CountMarkersAndRegions - counts markers and regions and returns their count as two(!) retvals
- GetLastMarkerPosition - gets the position and idx of the last marker in the project
- GetLastRegion - gets start/endposition and idx of the last ending region in the project
- GetLastTimeSigMarkerPosition - gets position, measure- and beatposition of the last time-sig-marker in the project
- MakeCopyOfTable - creates a true copy of a table(not only references) -> code provided by @fernsehmuell
- CheckForValidFileFormats - checks for valid fileformats that are supported by Reaper(still missing mp4, opus, m4a, m4v)
- CompareStringWithAsciiValues - Compares a string with a number of ASCII-Values, given as individual parameters
- CountEntriesInTable_Main - Counts the entries in a table; counts only the "main"-entries; returns subtables for recursive counting
- ConvertStringToAscii_Array - Converts a string into an array, where each entry contains the numerical representation of the accompanying character in string
- CompareArrays - Compares two arrays and returns all entries from array2, that's missing in array1
- GetAllMediaItemGUIDs - returns a table with the guids of all MediaItems
- InsertImageFile - Inserts an image-file into the project, allows looping it and giving length of the newly created item
- SetItemExtState - Sets a projextstate for an item
- GetItemExtState - Gets a projextstate for an item
- SetTrackExtState - Sets a projextstate for a track
- GetTrackExtState - Gets a projextstate for a track
- CountLinesInString - Counts the lines in a string
- GetIDEFontSize - gets the current fontsize set for Reaper's IDE
- SetIDEFontSize - sets a new fontsize for Reaper's IDE
- MB - like reaper.MB, but allows omitting title and type parameters for faster use.
- ReadFileAsLines_Array - like ReadLinerangeFromFile, but returns the read lines as an array
- GetAllMarkersBetween - returns an array with all markers between start and endposition
- GetAllRegionssBetween - returns an array with all regions between start and endposition
- GetAllRegions - returns an array with all regions in the project
- MoveMarkersTo - moves all markers between start/endposition to a specific position
- MoveRegionsTo - moves all regions between start/endposition to a specific position
- CreateValidTempFile - determines a valid temporary filename and creates it, if needed.
- When using the first time, it installs automatically an action for showing the Api-Help(Ultraschall and Reaper)
- SetItemSpectrogram - toggles displaying spectral-edit for an item or an itemstatechunk
- SetItemSpectralEdit - sets an existing spectral-edit for an item or an itemstatechunk
- CountProjectTabs - counts currently opened projecttabs
- GetProject_Tabs - returns all project-tabs and their accompanying filenames
- CheckForChangedProjectTabs - checks, if the order of the projecttabs changed, or projecttabs were new/closed since last calling this function
Changes from 4.00beta2.6 to 4.00beta2.7
- Tons of bugfixes. I mean, tons as in metric tons ;)
- GetTrackRecCFG - added documentation, that was still missing -> fixed now; added missing return-value
- GetLastErrorMessage2 - had wrong functionname, corrected documentation
- cleaned up code and improved readability
- GetPartialString - returns nil in case of error now
- WriteValueToFile - minor additions to documentation
- CreateTrackNumbersString - minor additions to documentation
- SetTrackMuteSoloState - corrected documentation's-description
- initialization of the framework on Mac could potentially not work due wrong separator -> fixed now
- improved installation and usage-procedure of the framework heavily
- GetTrackAutoRecArmState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackAutomodeState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackBeatState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackBusCompState - supports now trackstatechunks as well; sped up code
- GetTrackBypFXState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackFreeModeState - supports now trackstatechunks as well; sped up code
- GetTrackGroupFlagsState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackHeightState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackINQState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackIPhaseState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackIcon_Filename - supports now mastertrack and trackstatechunks as well
- GetTrackIsBusState - supports now trackstatechunks as well; sped up code
- GetTrackLayoutNames - supports now mastertrack and trackstatechunks as well
- GetTrackLockState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackMIDIOutState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackMainSendState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackMidiCTL - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackMidiInputChanMap - supports now mastertrack and trackstatechunks as well
- GetTrackMuteSoloState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackNChansState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackName - supports now mastertrack and trackstatechunks as well
- GetTrackPeakColorState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackPerfState - supports now trackstatechunks as well; sped up code
- GetTrackRecCFG - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackRecState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackShowInMixState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackVUState - supports now mastertrack and trackstatechunks as well, fixed bug; sped up code
- SetTrackAutoRecArmState - supports now mastertrack and trackstatechunks as well
- SetTrackAutomodeState - supports now mastertrack and trackstatechunks as well
- SetTrackBeatState - supports now mastertrack and trackstatechunks as well
- SetTrackBusCompState - supports now trackstatechunks as well
- SetTrackBypFXState - supports now mastertrack and trackstatechunks as well
- SetTrackFreeModeState - supports now mastertrack and trackstatechunks as well
- SetTrackHeightState - supports now mastertrack and trackstatechunks as well
- SetTrackINQState - supports now mastertrack and trackstatechunks as well
- SetTrackIPhaseState - supports now mastertrack and trackstatechunks as well
- SetTrackIcon_Filename - supports now trackstatechunks as well
- SetTrackIsBusState - supports now trackstatechunks as well
- SetTrackLayoutNames - supports now trackstatechunks as well; minor improvements
- SetTrackLockState - supports now trackstatechunks as well; improved speed
- SetTrackMIDIOutState - supports now mastertrack and trackstatechunks as well
- SetTrackMainSendState - supports now mastertrack and trackstatechunks as well
- SetTrackMidiCTL - supports now mastertrack and trackstatechunks as well
- SetTrackMidiInputChanMap - supports now mastertrack and trackstatechunks as well
- SetTrackMuteSoloState - supports now mastertrack and trackstatechunks as well
- SetTrackNChansState - supports now mastertrack and trackstatechunks as well
- SetTrackName - supports now mastertrack and trackstatechunks as well
- SetTrackPeakColorState - supports now mastertrack and trackstatechunks as well
- SetTrackPerfState - supports now trackstatechunks as well
- SetTrackRecState - supports now mastertrack and trackstatechunks as well
- SetTrackShowInMixState - supports now mastertrack and trackstatechunks as well
- SetTrackVUState - supports now mastertrack and trackstatechunks as well
- ToggleScrollingDuringPlayback - also affects scrolling during recording now; sometimes, continuous scroll wouldn't restart -> fixed now
- GetNextClosestItemEdge - had trouble finding the end of the last item in a track -> fixed now
- GetPreviousClosestItemEdge - had trouble finding the beginning of the first item in track as well as the item before the current item at times -> fixed now
- GetClosestPreviousMarker - always used cursorposition as calculation base, never mouseposition; it also couldn't find the previous marker before the current one -> fixed now
- GetClosestNextMarker - always used cursorposition as calculation base, never mouseposition -> fixed now
- GetClosestNextRegionEdge - renamed from GetClosestNextRegion; always used cursorposition as calculation base, never mouseposition -> fixed now
- GetClosestPreviousRegionEdge - renamed from GetClosestPreviousRegion; always used cursorposition as calculation base, never mouseposition -> fixed now
- GetApiVersion - returns now an additional return-value of type "number", that you can use for version-comparison like "if required_version>version then"
- SplitStringAtLineFeedToArray - was missing the returned count-variable in the documentation -> fixed now
- ToggleScrollingDuringPlayback - changed parameter move_editcursor to boolean; added goto_playcursor which moves view to playcursor; fixed bug that messed up scrolling during recording.
- Ultraschall-Api is now located in UserPlugins in the resources-folder(where every third-party-plugin belongs to ;) )
- IsItemInTrack - tracknumber is now 1 based, means: 1 for track 1, 2 for track 2, etc
- ApiTest displays only one message now (damn was it annoying before... ;) )
- ReadFullFile - fixed small bug and returns now the number of lines of files, if binary is set to false
- GetProject_DefPitchMode - added Rubber Band Pitchmodes and updated elastique to 3.2.3 with missing settings
- SetProject_DefPitchMode - added Rubber Band Pitchmodes and updated elastique to 3.2.3 with missing settings
- AddErrorMessage - new parameters, parametername and errorcode, so you can specify these better
- ReadErrorMessage - includes the new parameters parametername and errorcode, sped up code; used to reset creation date instead of readstate -> fixed
- GetLastErrorMessage - includes the new parameters parametername and errorcode, readstatus is now a string with "unread" or the last readtime(no boolean anymore); sped up code; used to reset creation date instead of readstate -> fixed
- DeleteLastErrorMessage - deletes now the last errormessage, only changed the errorcounter before
- GetLastErrorMessage2 - includes the new parameters parametername and errorcode; used to reset creation date instead of readstate -> fixed
- ShowLastErrorMessage - reworked the messagebox to include functionname, parametername, errormessage and errorcode
- GetPath - returns nil now, if the separator can't be found, and throws an error-message as well in that case
- GetPartialString - returns nil now, if the separator can't be found, and throws an error-message as well in that case; sped up code
- RunCommand - throws an error-message, if an invalid action-command-id is given
- CSV2Line - rewritten and sped up
- RGB2Num - removed
- CSV2IndividualLinesAsArray - rewrote and sped up code; supports now other separators and separators longer than one character, swapped retvals
- IsItemInTrack - minor improvements
- Docs: removed SWS-logo from all functions, that don't require SWS
- SetChapterMarker - removed
- ImportChaptersFromFile - removed
- ExportChapterMarkersToFile - removed
- EnumerateChapterMarkers - removed
- EnumerateDummyMarkers - removed
- EnumerateEditRegion - removed
- GetAllChapterMarkers - removed
- DeleteChapterMarker - removed
- DeleteDummyMarker - removed
- CountChapterMarkers - removed
- CountDummyMarkers - removed
- ChapterToDummyMarker - removed
- ChapterToEditMarker - removed
- ChapterToMarker - removed
- DummyToChapterMarker - removed
- DummyToEditMarker - removed
- DummyToMarker - removed
- EditToChapterMarker - removed
- EditToDummyMarker - removed
- MarkerToChapterMarker - removed
- MarkerToDummyMarker - removed
- IsMarkerChapter - removed
- IsMarkerDummy - removed
- AddChapterMarker - removed
- AddDummyMarker - removed
- CountUSExternalState_sec - did not check for existence of ultraschall.ini -> fixed
- CountUSExternalState_key - did not check for existence of ultraschall.ini -> fixed
- EnumerateUSExternalState_sec - returned empty strings, when the ultraschall.ini contained them -> fixed
- EnumerateUSExternalState_key - number was expected to be string and produced problems -> fixed
- SetPlayCursor_WhenPlaying - added parameter-validity-check for parameter position
- SetPlayAndEditCursor_WhenPlaying - added parameter-validity-check for parameter position
- JumpForwardBy - added parameter seekplay for choosing, if playcursor shall move too; moves mainly editcursor now; pause caused problems -> fixed
- JumpBackwardBy - added parameter seekplay for choosing, if playcursor shall move too; moves mainly editcursor now; pause caused problems -> fixed
- GetNextClosestItemEdge - was looking in the wrong track, which caused problems with items in a single track -> fixed
- GetPreviousClosestItemEdge - was looking in the wrong track, which caused problems with items in a single track -> fixed
- GetClosestNextRegionEdge - returns now "beg" oder "end" to indicate, which side of the region has been found
- GetClosestPreviousRegionEdge - returns now "beg" oder "end" to indicate, which side of the region has been found
- ToggleMute_TrackObject - sped up code
- GetItemPlayRate_StateChunk - docs, added information about some of the parameters, like pitch-settings
- ToggleStateButton - added section-info to the docs
- RefreshToolbar_Action - added section-info to the docs
- ToggleStateAction - added section-info to the docs
- CountNormalMarkers - added support for planned chapter-markers(color_value 100, 255, 0); was counting wrong, when regions were available -> fixed
- accidentally used os as return-variable in many functions, leading to overwriting of Lua's own os.functions() like os.date(), etc -> fixed
- CountPatternInString - internal changes to prevent accidental overwriting of Lua's own string.functions()
- SplitStringAtLineFeedToArray - the entries in the array still contained the useless line-feed -> fixed
- integer parameters accept only integers from now on (used to be numbers)
- CSV2IndividualLinesAsArray - the returned count-value was one too high -> fixed
- CountNormalMarkers - added support for planned chapter marker
- EnumerateNormalMarkers - support for planned chapter marker added; added missing info in the docs
- EnumerateEditMarkers - expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- SetNormalMarker - added support for planned chapter marker; expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- SetEditMarker - expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- DeleteNormalMarker - added support for planned chapter marker; deleted in some situations non-normal-markers -> fixed
- DeleteEditMarker - expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- IsMarkerEdit - expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- IsMarkerNormal - added support for planned chapter marker; expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- IsRegionEditRegion - expected "_Edit:" as name of edit-region, instead of "_Edit" -> fixed
- SetEditRegion - expected "_Edit:" as name of edit-region, instead of "_Edit" -> fixed
- DeleteEditRegion - expected "_Edit:" as name of edit-region, instead of "_Edit" -> fixed
- EnumerateEditRegion - expected "_Edit:" as name of edit-region, instead of "_Edit" -> fixed
- GetAllNormalMarkers - added index-number and shown-number to the array; completed docs
- GetAllMarkers - added index-number, shown-number and color to the array; completed docs; didn't get the first marker -> fixed
- GetAllEditMarkers - added index-number to the array; completed docs
- DeletePodRangeRegion - return value is now boolean
- DeleteNormalMarker - completed docs
- ExportNormalMarkersToFile - completed docs
- CountNormalMarkers_NumGap - completed docs
- MarkerToEditMarker - completed docs
- CountEditMarkers - used to count edit-regions as well -> fixed now
- ExportEditMarkersToFile - crashed due bug with edit-regions -> fixed now
- WriteValueToFile_ReplaceBinary - naming conflict, 2 functions had the name WriteValueToFile_Replace; renamed one to WriteValueToFile_ReplaceBinary
- EditToMarker - small internal changes to give the marker it's correct color: Reaper's default color for marker
- CreateTrackNumbersString_SelectedTracks - additions to the docs
- ReadValueFromFile - returns now all found lines as array; retval numberoflines used to give the same number as number_of_foundlines, so I changed it to numberoflines_in_file, that returns the total number of lines in the file, even if fewer lines are returned
- Renderfunctions - improved behavior when rendering currently opened project; always uses now the correct projectfile, used to guess location of projectfile one dir above the recording-dir
- GetProject_GroupOverride, GetProject_RippleState, GetProject_ReaperVersion - documentation stated "kb-ini-file" instead of "rpp-projectfile" -> fixed
- renamed GetMarkerByIndex to GetMarkerAndRegionsByIndex to reflect the fact, that it supports markers AND regions
- SplitStringAtLineFeedToArray - used to treat LFCR as two linebreaks, which caused empty lines in windows-strings. Treats LFCR as one linebreak now.
- ReadLinerangeFromFile - allows now reading the whole file, when giving -1 as lastlinenumber; added missing information in the docs
- As the Functions-Engine is essential for all parts of the Ultraschall-API, it can't be turned off anymore.
- renamed MoveMarkers to MoveMarkersBy
- ReadValueFromFile - sped up code, returned wrong found-lines-value -> fixed
4.00 Beta 2.6: - "Is that all there is? - Peggy Lee" - 19th of October 2017
New features in 4.00beta2.6 - has now 450 functions, with about 30 new ones:
- CreateAllTracksTrackString - creates a trackstring with all tracks in the current project
- new datastructure "EnvelopePointObjects" and "EnvelopePointArrays"(for EnvelopePointObjects) for easier massworking with envelopepoints
- CreateEnvelopePointObject - creates an EnvelopePointObject
- GetEnvelopePoint - gets envelopepoint easier than Reaper's own functions. Returns value converted to db-value as well
- GetClosestEnvelopePointIDX_ByTime - gets envelope-point-idx closest to a given timeposition
- GetEnvelopePointIDX_Between - gets envelope-points between start and endtime
- AddEnvelopePoints_EnvelopePointObject - adds an EnvelopePointObject
- AddEnvelopePoints_EnvelopePointArray - adds an array of EnvelopePointObjects
- CheckEnvelopePointObject - checks, if an EnvelopePointObject is a valid one
- DeleteEnvelopePoints_EnvelopePointObject - deletes an envelope-point, according to the EnvelopePointObject
- DeleteEnvelopePoints_EnvelopePointArray - deletes envelope-points, according to EnvelopePointObjects in EnvelopePointArray
- SetEnvelopePoints_EnvelopePointObject - sets an envelope-point, according to the EnvelopePointObject
- SetEnvelopePoints_EnvelopePointArray - sets envelope-points, according to EnvelopePointObjects in EnvelopePointArray
- CountEnvelopePoints - counts envelope-point in a given track and envelope-name
- ToggleIDE_Errormessages - toggles, if API shows the errormessages in Reaper's IDE or not
- WriteValueToFile_Insert - inserts a string into a specific line-position of a file
- WriteValueToFile_Replace - replaces specific lines in a file with value
- GetLengthOfFile - returns length of a file
- ReadBinaryFile_Offset - reads a binary file. Allows partial reading of a file as well.
- WriteValueToFile_InsertBinary - inserts a value into a binary file at specified position
- WriteValueToFile_Replace - replaces a specified portion of a file with a value
- GetStringFromClipboard_SWS - returns the content of the clipboard, using the SWS-function reaper.CF_GetClipboardBig, but manages the stuff necessary, that surrounds using this function
- SecondsToTimeString_hh_mm_ss_mss - converts seconds into a timestring of the format hh:mm:ss.mss
- TimeStringToSeconds_hh_mm_ss_mss - converts a timestring of the format hh:mm:ss.mss into seconds
- ParseMarkerString - converts a string with markernames or a string with timestrings and markernames into an array
- RenumerateMarkers - renumbers the shown-marker-ids in the project, beginning with the first one to the last one. Good for "ordering" markers, that were included in unordered way.
- ReadFullFile - reads a file and returns it's contents
- StartTime - a new api-variable that contains the starting time of the current instance of the api, which probably means, your script, that embeds the framework
Changes from 4.00beta2.5 to 4.00beta2.6
- corrections in the documentation
- GetClosestNextMarker - couldn't find last marker and showed a time, even if no marker was found -> fixed now; markers that are at time_position are now seen as a previous marker
- GetClosestPreviousMarker - couldn't find first marker and showed a time, even if no marker was found -> fixed now; markers that are at time_position are now seen as a next marker
- GetClosestPreviousRegion - fixed possible bug preventing from finding the first region -> fixed now
- GetClosestNextRegion - fixed possible bug preventing from finding the last region -> fixed now
- GetClosestGoToPoints - new boolean parameters check_itemedge, check_marker, check_region to set, for which type of elements to look for; returns now also an item-number; instead of "Item", it uses "Itembeg" for the beginning and "Itemend" for the end of an item now as elementtype for items; added the itemtypes to the docs
- GetNextClosestItemEdge - new return values: closest_item, item_number, edgetype, found_item
- GetPreviousClosestItemEdge - new return values: closest_item, item_number, edgetype, found_item
- WriteValueToFile - new parameter for optional appending a value to a file, other minor corrections
- SetTrackRecState - missing parameter description for tracknumber in the docs -> fixed now
- GetMediaItemsFromClipboard - produced an error, that made this function unusable -> fixed now
- RippleInsert - didn't move an item close to "position" sometimes, before inserting -> fixed now
- RippleInsert_MediaItemStateChunks - didn't move an item close to "position" sometimes, before inserting -> fixed now
- GetPreviousMuteState used to use 0 for track 1, 1 for track 2. Changed to 1 for track 1, 2 for track 2, etc
- GetNextMuteState used to use 0 for track 1, 1 for track 2. Changed to 1 for track 1, 2 for track 2, etc
- CountMuteEnvelopePoints used to use 0 for track 1, 1 for track 2. Changed to 1 for track 1, 2 for track 2, etc could also produce an error when using an invalid track. -> Fixed now.
- ToggleMute - could produce an error, when using an invalid track. -> Fixed now.
- GetTrackAutoRecArmState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackAutomodeState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackBeatState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackBusCompState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackBypFXState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackFreeModeState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackGroupFlagsState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackHeightState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackINQState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackIPhaseState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackIcon_Filename - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackIsBusState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackLayoutNames - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackLockState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackMIDIOutState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackMainSendState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackMidiCTL - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackMidiInputChanMap - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackMuteSoloState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackNChansState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackName - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackPeakColorState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackPerfState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackRecState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackShowInMixState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackVUState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- SetTrackAutoRecArmState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackAutomodeState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackBeatState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackBusCompState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackBypFXState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackFreeModeState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackHeightState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackINQState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackIPhaseState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackIcon_Filename - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackIsBusState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackLayoutNames - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackLockState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackMIDIOutState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackMainSendState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackMidiCTL - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackMidiInputChanMap - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackMuteSoloState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackNChansState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackName - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackPeakColorState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackPerfState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackRecState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackShowInMixState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackVUState - tracknumbers start now with 1 for track 1, instead of 0
4.00 Beta 2.5: - "Musique non stop - Technopop - Kraftwerk" - 10th of September 2017
New features in 4.00beta2.5
- Import Markers/Regions from RPP-Projectfiles
- Selection/Deselection of items, as well as getting functions for getting selected items
- functions for checking MediaItemArray and MediaItemStateChunkArrays for validity
- Trackstatechunks: getting/adding/setting/deleting/counting items in/to trackstate-chunks
- Routing-Send/Receive - functions for count, add, get, set, delete
- HWOut-settings - functions for count, add, get, set, delete
- Lock Track Controls - get, set functions
- Track Selection functions - get, set
- Functions to lock-MediaItems easily
- added RippleInsert for mediaitemstatechunkarrays
- get MediaItems from clipboard
- many functions for getting MediaItem-states from MediaItemStateChunks
- some functions for setting MediaItem-states into MediaItemStateChunks
- more MediaItem-insertion functions for MediaItemStateChunks
- choosing MediaItems from specific tracks from MediaItemArray
- new trackstring-analysis and manipulation-functions
- functions for getting Mediaitems from specific tracks
- apply statechunk to MediaItems, for extended manipulation of MediaItems using manipulated MediaItemStateChunks
- Reaper-Main-Window: get left and right sides in relation to the screen position
- client2screen2client x-coordinate conversion functions
- developer: new Errormessaging system, that will, in the future, give readable error-messages, when errors occur during execution of functions. Currently only some functions return error messages; will change over time.
- tons of other helper-functions in many areas
Changes from 4.00beta2.1 to 4.00beta2.5
- minor corrections in documentation
- RenderProjectToAIFF - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToFLAC - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToMP3_ABR - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToMP3_CBR - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToMP3_MaxQuality - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToMP3_VBR - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToOPUS - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToWebMVideo - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- GetProject_HorizontalZoom was incorrectly named GetProject_Zoom in the docs -> fixed
- GetApiVersion was incorrectly linked to GetPath in the docs -> fixed
- GetAllMediaItemsBetween - adds "ULTRASCHALL_TRACKNUMBER tracknumber" to returned statechunks, to know, from which track the item originated from
- SplitMediaItems_Position - bug introduced in beta 2.1 that split only first track -> fixed
- RippleInsert - bug introduced in beta 2.1 -> fixed
- InsertMediaItemArray - bug introduced in beta 2.1 -> fixed
- GetMediaItemsAtPosition - bug introduced in beta 2.1 -> fixed
- OnlyMediaItemsOfTracksInTrackstring - bug introduced in beta 2.1 -> fixed
- DeleteMediaItems_Position - bug introduced in beta 2.1 -> fixed
- GetAllMediaItemsBetween - bug introduced in beta 2.1 -> fixed
- MoveMediaItemsAfter_By - bug introduced in beta 2.1 -> fixed
- MoveMediaItemsBefore_By - bug introduced in beta 2.1 -> fixed
- MoveMediaItemsSectionTo - bug introduced in beta 2.1 -> fixed
- SectionCut - bug introduced in beta 2.1 -> fixed
- SectionCut_Inverse - bug introduced in beta 2.1 -> fixed
- RippleCut - bug introduced in beta 2.1 -> fixed
- RippleCut_Reverse - bug introduced in beta 2.1 -> fixed
- RemoveDuplicateTracksInTrackstring - entries in trackstringarray are now numbers, not strings
- SetTrackAutoRecArmState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackAutomodeState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackBeatState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackBusCompState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackBypFXState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackFreeModeState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackHeightState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackINQState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackIPhaseState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackIcon_Filename - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackIsBusState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackLayoutNames - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackLockState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackMIDIOutState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackMainSendState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackMidiCTL - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackMidiInputChanMap - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackMuteSoloState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackNChansState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackName - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackPeakColorState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackPerfState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackRecState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackShowInMixState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackVUState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackAutoRecArmState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackAutomodeState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackBeatState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackBusCompState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackBypFXState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackFreeModeState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackGroupFlagsState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackHeightState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackINQState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackIPhaseState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackIcon_Filename - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackIsBusState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackLayoutNames - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackLockState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackMIDIOutState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackMainSendState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackMidiCTL - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackMidiInputChanMap - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackMuteSoloState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackNChansState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackName - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackPeakColorState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackPerfState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackRecState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackShowInMixState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackVUState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetMediaItemsAtPosition - returns now an array with the MediaItemStateChunks as well
- RemoveDuplicateTracksInTrackstring - produced Lua-error, when giving nil as parameter -> fixed
4.00 Beta2.1: - "Ich und der Rock - Renft" - 30th of August
New features in 4.00beta2.1
- mostly bugfixes
- ultraschall.Separator - contains the proper separator for the system it runs on. If you want to do file-operation, you should use this instead of \ or /, to make your script Mac and Windows compliant.
- ultraschall.Script_Path - contains the path to the scripts-folder of Reaper
Changes from 4.00beta2 to 4.00beta2.1
- changed the lines, you need to include into your script. refer "3. How to use the API in your LUA-Script" in the doc-file.
- some functions didn't work on Mac, due it's use of / instead of as directory-separator. Has been fixed now.
- moved all ultraschall-related variables into the ultraschall-table.
- GetPartialString - returns nil in case of error
- CSV2Line - returns nil in case of error, bugfixing
- RGB2Num - returns nil in case or error
- CSV2IndividualLinesAsArray - returns nil in case or error, bugfixing
- GetNextMuteState - corrected documentation
- GetNextMuteState_TrackObject - corrected documentation
- GetPreviousMuteState - corrected documentation
- GetPreviousMuteState_TrackObject - corrected documentation
- ImportChaptersFromFile - corrected documentation
- ImportEditFromFile - corrected documentation
- ImportMarkersFromFile - corrected documentation
- ImportChaptersFromFile_Filerequester - corrected documentation
- ImportEditFromFile_Filerequester - corrected documentation
- ImportMarkersFromFile_Filerequester - corrected documentation
- RemoveDuplicateTracksInTrackstring - improved return values
- OnlyMediaItemsOfTracksInTrackstring - improved return values
- ChangeDeltaOffsetOfMediaItems_FromArray - bugfixing
- InsertMediaItem_MediaItem - improved return values
- InsertMediaItem_MediaItemStateChunk - improved return values
4.00 Beta2: - "Shock The Monkey - Peter Gabriel" - 20th August 2017
New Features in 4.00beta2 - about 190 new functions with:
- Configuration: Import/Export from/to reaper-kb.ini-files
- Configuration: New Management-functions for Configuration-files that follow standard ini-files
- Clipboard: Clipboard Functions, get and put (thanks to fernsehmuell for the mac-side)
- Envelopes: Move Envelope-Points in a track
- File-Management: extended fileread-functions, including reading lines that follow patterns, and more
- Markers: Move Markers, as well as Edit Markers
- Markers: Get Markers/Regions/Time-Signature-marker by their graphical representation, means: you can use e.g. the mouse to find markers the mouse is hovering above
- Items: Get, Split, Insert, Delete, Shorten, Cut, RippleCut, RippleInsert, etc of single and multiple MediaItems in 1 or more tracks
- Projectfiles: Get and set 40 settings in rpp-projectfiles. More to come.
- Projectfiles: Import Tracks with Items and all FX and settings from project-files using GetProject_TrackStateChunk. You can insert them with the new item function InsertMediaItem_MediaItemStateChunk
- Rendering: Render projectfiles as mp3, mp3_vbr, mp3_cbr, mp3_abr, opus, flac, aiff, and webm(video). That's right: no render dialog necessary!
- Docs: The Documentation-System, that automatically creates the API-Docs from the API itself, using CreateUSApiDocs_HTML. Will be extended to be a fully equipped automatic-documentation-system for Ultraschall
- Tons of other functions in all areas.
Changes from 4.00beta1 to 4.00beta2
- Marker/Regions-functions - they used to ignore regions which led to wrong markers/regions -> fixed
- ultraschall.WriteValueToFile - default write-mode changed to binary-file behavior(doesn't add useless newlines anymore) non binary-mode can be chosen by a new parameter "binarymode" set to false, if it's
set to nil or true, value will be treated as binaryvalue and saved as such. ultraschall.WriteValueToFile(Filename_with_path, Value, binarymode)
- CSV2IndividualLines - renamed to CSV2IndividualLinesAsArray and added number of lines as additional return-value
- NumberRangeAsCsvOfNumbers - renamed to CreateTrackNumbersString
- Structure - reworked API-structure
4.00 beta1: - "Tomorrow Never Knows - The Beatles" - 10th of July 2017
New Features in 4.00beta1 - about 140 new functions with:
- Markers: extensive marker-management, with markers for chapter, edit, dummy, normal and podrange-regions
- Configuration: functions for an Ultraschall.ini. Ultraschall needs it's own config-file, at last ;)
- CoughButtons: CoughButton-management for setting, toggling, getting envelope-points in the mute-envelope-lane
- Navigation: Jumping to position, setting playcursor, toggling scrolling during playback, finding next item/marker/region and more
- Track-Management: Getting and Setting tons of track-states, that are usually hard to fumble out of Reaper.
- File-Management: Write a value to a file.
- Dozens of helper-functions here and there


Intention can not be used on internal pages.
Browse with intention.
You can set sleep times for this extension on the options page.


VIN:
Brand:
Vehicle Type: Sedan Hatchback SUV MPV
EnergySource: Gasoline Diesel Hybrid Electricity
Daily Price:


Observational and Theoretical Cosmology¶
Cosmology Parameters and Model Optimization¶
CCL - DESC Core Cosmology Library: cosmology routines with validated numerical accuracy
On top of CCL, there is firecrown:
CosmoMC - MCMC parameter sampling code
CosmoMC is a Fortran 2008 Markov-Chain Monte-Carlo (MCMC) engine for exploring cosmological parameter space, together with Fortran and python code for analysing Monte-Carlo samples and importance sampling (plus a suite of scripts for building grids of runs, plotting and presenting results).
CosmoHammer - Cosmological parameter estimation with the MCMC Hammer
A paper describing the software can be found here
Cobaya - Code for Bayesian Analysis in Cosmology
Cobaya is a framework for sampling and statistical modelling: it allows you to explore an arbitrary prior or posterior using a range of Monte Carlo samplers (including the advanced MCMC sampler from CosmoMC, and the advanced nested sampler PolyChord).
MontePython - The Monte Carlo code for class in Python
MontePython is a Monte Carlo code for Cosmological Parameter extraction. It contains likelihood codes of most recent experiments, and interfaces with the Boltzmann code Class for computing the cosmological observables.
Correlation Functions¶
TreeCorr - Code for efficiently computing 2-point and 3-point correlation functions
It can compute correlations of regular number counts, weak lensing shears, or scalar quantities such as convergence or CMB temperature fluctutations.
Weak Lensing¶
Both corrfunc and treecorr can be used for shear-shear or galaxy-shear analysis
LensTools - collects together a suite of widely used analysis tools in Weak Gravitational Lensing
DESWL - A collection of scripts and software related to DES weak lensing analysis
By Marc Jarvis
Cluster Lensing¶
cluster-lensing - Galaxy Cluster and Weak Lensing Tools
By Jes Ford. Paper can be found here
cluster_toolkit - Tools for analyzing galaxy clusters
by Tom McClintock. Contains routines used in the Dark Energy Survey Year 1 stacked cluster weak lensing analysis.
Dark Matter Halos¶
-
Halotools is a specialized python package for building and testing models of the galaxy-halo connection, and analyzing catalogs of dark matter halos.
COMMAH - COncentration-Mass relation and Mass Accretion History
By Camila Correa; calculates dark matter halo concentrations as a function of halo mass and redshift. The source code is available on Github
Based on the works of Correa et al. 2015a; Correa et al. 2015c
Emulators:¶
Increasingly popular way to study cosmology based on a limit set of N-body simulations.
Key Technique¶
A suite of N-body cosmology simulations
2nd order Lagrangian perturbation theory (2LPT) initial conditions
Input power spectrum. e.g. by CAMB: Code for Anisotropies in the Microwave Background
Sampling the cosmological parameters:
Latin Hypercube Designs (LHDs)
Principle Component Analysis (PCA)
e.g. empca by Stephen Bailey
Gaussian process emulator
e.g. george by Dan Foreman-Mackey
Available Emulators¶
Aemulus Project led by Stanford
The basic structure of the code: Aemulator
Emulator of halo mass function and halo bias
The Aemulus Project I: Numerical Simulations for Precision Cosmology
The Aemulus Project III: Emulation of the Galaxy Correlation Function
Documents for data release 1
-
Code can be found here
CosmicEmu produces predictions for the matter power spectrum based on eight cosmological parametersand redshift.
Based on the Mira-Titan simulations
Also related to the Coyote Universe emulator: Paper I, Paper II, Paper III, and Extended
Paper about the emulated power-spectrum
Paper about the emulated halo mass-concentration relation
ACME Emulator led by OSU
Paper by Ben Wibking: Emulating galaxy clustering and galaxy-galaxy lensing into the deeply nonlinear regime
Use the AbacusCosmos suite of simulations
The code used for the simulation is here
Dark Emulator led by IPMU
Based on the Dark Quest suite of simulations.


What are classes? It's likely that descriptions of Ruby will include a statement that it is an object-oriented program. This concept may not be clear at first, but by learning about what classes are in Ruby, the idea may become clearer. Classes in ruby provides codes needed for the type of a particular object. For example, if an object is an order form, then the class will probably include codes needed to process the information in the order form, such as the order, quantity, price, methods of payment etc. The codes needed to perform a specific function is grouped into a set of codes called a method, and a class includes a set of methods needed to perform the various functions or operations needed for that particular object.
One useful aspect of having methods in a class is that it provides a flexibility to call upon only the specific functions needed for a particular object.
HTKTKTK


From buzzword to meaningful infrastructure option? What’s behind “Serverless”
[Interview with Alex Casalboni, translated from the original German article published at https://t3n.de/news/jeffconf-2018-hamburg-905965/]
@@include('./_headers.html')
@@include('./_menu.html')ServerlessDays are a family of events around the world focused on fostering a community around serverless technologies.
Each ServerlessDay is unique, organised by localy and not run for profit. They are run according the following principles.
London, 6 July 2018
Be next ...
[Interview with Alex Casalboni, translated from the original German article published at https://t3n.de/news/jeffconf-2018-hamburg-905965/]
21 speakers, 6 hours of technical sessions, and 125 attendees. That is not bad for a no-profit conference organized in less than 8 weeks, is it?


Enter a street name:
Search
Frequency
Offense
{{d.count_offense_street_name}}
{{d.offense_charge_description}}
Offense Charge Grouping Alphabetically PDF
Municipal Court Caseload Information FY 2016


Front-End Developer
Oleksii Hrushko
Target:
Getting position Front-end Developer where i can apply and improve my
2-year
commercial experience of Front-End Development and professional skills received from team
projects
Working experience:
Name of company: DiacomGroup Company
Period of work: 1 year and 8 months
Position: JavaScript Developer (scripts in
Iridium studio app)
Key responsibilities:
- building the client side (visualization of smart home control from
a tablet/phone)
- building the server side (collecting data on the state of the
house and sending
control commands to the equipment)
Name of company: ProgForce Company
Period of work: 7 months
Position: Front-End Developer
Key responsibilities:
- Participating in 2-3 projects at the same time as front-end
developer
- Development of new and refactoring of existing application modules
- Enhancing functionality as per staff request
- Fixing existing/reported bugs
- Collaboration with Back-End developers to develop functional
requirements for the server part of the application
- Working with QA engineers to address identified issues
- Collaborating with customer and web designers to improve usability
Skills:
- HTML5, CSS3, Flexbox, Bootstrap, Grid
- JS, ES5, ES6, DOM, AJAX, Fetch Api, CRUD, Promise Api
- React.js, REDUX, Redux Toolkit, React Hooks
- Gulp, WebPack, Gradle
- Github, BitBucket, Jira
- BEM, SOLID, DRY, KISS
- Agile, Scrum


Natural language processing (NLP) is about developing applications and services that are able to understand human languages. Advanced high level NLP tasks include speech recognition, machine translation, natural language understanding, natural language generation, dialog system, etc. In Smile, we focus on low and intermediate level NLP tasks such as sentence breaking, stemming, n-gram, part-of-speech recognition, keyword detection, named entity recognition, etc. Statistical natural language processing relies heavily on machine learning.
Text often contains variations (various quote marks in Unicode) that introduces annoying problems in many NLP tools. Normalization is typically applied to text first to remove unwanted variations. Normalization may range from light textual cleanup such as compressing whitespace to more aggressive and knowledge-intensive forms like standardizing date formats or expanding abbreviations. The nature and extent of normalization, as well as whether it is most appropriate to apply on the document, sentence, or token level, must be determined in the context of a specific application.
The function normalize
is a simple normalizer for
processing Unicode text:
val unicode = """When airport foreman Scott Babcock went out onto the runway at Wiley Post-Will Rogers Memorial Airport in Utqiagvik, Alaska, on Monday to clear some snow, he was surprised to find a visitor waiting for him on the asphalt: a 450-pound bearded seal chilling in the milky sunshine.
“It was very strange to see the seal. I’ve seen a lot of things on runways, but never a seal,” Babcock told ABC News. His footage of the hefty mammal went viral after he posted it on Facebook.
According to local TV station KTVA, animal control was called in and eventually moved the seal with the help of a “sled.”
Normal air traffic soon resumed, the station said.
Poking fun at the seal’s surprise appearance, the Alaska Department of Transportation warned pilots on Tuesday of “low sealings” in the North Slope region — a pun on “low ceilings,” a term used to describe low clouds and poor visibility.
Though this was the first seal sighting on the runway at the airport, the department said other animals, including birds, caribou and polar bears, have been spotted there in the past.
“Wildlife strikes to aircraft pose a significant safety hazard and cost the aviation industry hundreds of millions of dollars each year,” department spokeswoman Meadow Bailey told the Associated Press. “Birds make up over 90 percent of strikes in the U.S., while mammal strikes are rare.”"""
val text = unicode.normalize
In many NLP tasks, the input text has to be divided into sentences. However, sentence boundary identification is challenging because punctuation marks are often ambiguous. In English, punctuation marks that usually appear at the end of a sentence may not indicate the end of a sentence.  A period can end a sentence but it can also be part of an abbreviation or acronym, an ellipsis, a decimal number, or part of a bracket of periods surrounding a Roman numeral. A period can even act both as the end of an abbreviation and the end of a sentence at the same time. Other the other hand, some poems may not contain any sentence punctuation at all.
We implement an efficient rule-based sentence splitter for English.
In Smile shell, simply call sentences
on a string
to return an array of sentences. Any carriage returns
in the text will be replaced by whitespace.
smile> val sentences = text.sentences
sentences: Array[String] = Array(
"When airport foreman Scott Babcock went out onto the runway at Wiley Post-Will Rogers Memorial Airport in Utqiagvik, Alaska, on Monday to clear some snow, he was surprised to find a visitor waiting for him on the asphalt: a 450-pound bearded seal chilling in the milky sunshine.",
"\"It was very strange to see the seal.",
"I've seen a lot of things on runways, but never a seal,\" Babcock told ABC News.",
"His footage of the hefty mammal went viral after he posted it on Facebook.",
"According to local TV station KTVA, animal control was called in and eventually moved the seal with the help of a \"sled.\"",
"Normal air traffic soon resumed, the station said.",
"Poking fun at the seal's surprise appearance, the Alaska Department of Transportation warned pilots on Tuesday of \"low sealings\" in the North Slope region -- a pun on \"low ceilings,\" a term used to describe low clouds and poor visibility.",
"Though this was the first seal sighting on the runway at the airport, the department said other animals, including birds, caribou and polar bears, have been spotted there in the past.",
"\"Wildlife strikes to aircraft pose a significant safety hazard and cost the aviation industry hundreds of millions of dollars each year,\" department spokeswoman Meadow Bailey told the Associated Press.",
"\"Birds make up over 90 percent of strikes in the U.S., while mammal strikes are rare.\"",
""
)
For a language like English, this is fairly trivial to separate a chunk of continuous text into separate words, since words are usually separated by spaces. However, some written languages like Chinese, Japanese and Thai do not mark word boundaries by spaces. In those languages word segmentation is a significant task requiring knowledge of the vocabulary and morphology of words in the language.
The method words(filter)
assumes that an English text
has already been segmented into sentences and splits a sentence
into tokens. Any periods – apart from those at the end
of a string or before newline – are assumed to be part
of the word they are attached to (e.g. for abbreviations, etc),
and are not separately tokenized. Most punctuation is split
from adjoining words. Verb contractions and the Anglo-Saxon
genitive of nouns are split into their component morphemes,
and each morpheme is tagged separately. The below example
splits a set of sentences and flat out the results into one
array.
smile> sentences.flatMap(_.words())
res6: Array[String] = Array(
"airport",
"foreman",
"Scott",
"Babcock",
"went",
"runway",
"Wiley",
"Post-Will",
"Rogers",
"Memorial",
"Airport",
"Utqiagvik",
"Alaska",
"Monday",
"clear",
"snow",
"surprised",
"visitor",
"waiting",
"asphalt",
"450-pound",
"bearded",
"seal",
"chilling",
...
You may notice that some words like "the", "a", etc. are missing
in the result. It is because that words()
filters
out stop words and punctuations by default. A stop word is a
commonly used word that many NLP algorithms would like to ignore.
For example, a search engine ignores stop words both when indexing
entries and when retrieving them in order to save space and
time as stop words are deemed irrelevant for searching
purposes. There is no definite list of stop words which all tools
incorporate. So the parameter filter
may take the
following values:
For grammatical reasons, we use different forms of a word, such as go, goes, and went. Additionally, there are families of derivationally related words with similar meanings, such as democracy, democratic, and democratization. For many machine learning algorithms, it is good to reduce inflectional forms and sometimes derivationally related forms of a word to a common base form to improve the signal-to-noise ratio.
Stemming is a crude heuristic process that chops off the ends of words in the hope of achieving this goal correctly most of the time, and often includes the removal of derivational affixes. The most common algorithm for stemming English is Porter's algorithm. Porter's algorithm is based on the idea that the suffixes in the English language are mostly made up of a combination of smaller and simpler suffixes. As a linear step stemmer, Porter's algorithm consists of 5 phases of word reductions, applied sequentially. Within each step, if a suffix rule matched to a word, then the conditions attached to that rule are tested on what would be the resulting stem, if that suffix was removed, in the way defined by the rule. Once a Rule passes its conditions and is accepted the rule fires and the suffix is removed and control moves to the next step. If the rule is not accepted then the next rule in the step is tested, until either a rule from that step fires and control passes to the next step or there are no more rules in that step whence control moves to the next step.
Another popular stemming algorithm is the Paice/Husk Lancaster
algorithm, which is a conflation based iterative stemmer.
The stemmer, although remaining efficient and easily implemented,
is known to be very strong and aggressive. The stemmer
utilizes a single table of rules, each of which may specify
the removal or replacement of an ending. The implementation
LancasterStemmer
allows the user to load customized rules.
smile> porter("democratization")
res10: String = "democrat"
smile> lancaster("democratization")
res11: String = "democr"
Different from stemming that commonly collapses derivationally related words, lemmatization aims to remove inflectional endings only and to return the base or dictionary form of a word, which is known as the lemma.
The bag-of-words model is a simple representation of text as the bag of its words, disregarding grammar and word order but keeping multiplicity.
The method bag(stemmer)
returns the map
of word to frequency. By default, the parameter stemmer
use Porter's algorithm. Passing None
to disable stemming.
There is a similar function bag2(stemmer)
that returns
a binary bag of words (Set[String]
). That is, presence/absence
is used instead of frequencies.
smile> unicode.bag()
res12: Map[String, Int] = Map(
"spokeswoman" -> 1,
"snow" -> 1,
"anim" -> 2,
"post" -> 1,
"footag" -> 1,
"move" -> 1,
"wait" -> 1,
"carib" -> 1,
"industri" -> 1,
"sunshin" -> 1,
"seen" -> 1,
"abc" -> 1,
"said" -> 2,
"soon" -> 1,
"warn" -> 1,
"pun" -> 1,
"polar" -> 1,
"bear" -> 1,
"90" -> 1,
"sight" -> 1,
"babcock" -> 2,
"u.s." -> 1,
"clear" -> 1,
"normal" -> 1,
...
The function vectorize(features, bag)
converts
a bag of words to a feature vector. The parameter
features
is the token list used as features
in machine learning models. Generally it is not
a good practice to use all tokens in the corpus as features.
Therefore, we require the user to provide a list of selected
tokens as the features in vectorize()
.
A overloaded version of vectorize()
converts
a binary bag of words (Set[String]
) to a sparse
integer vector, which elements are the indices of presented
feature tokens in ascending order. As most documents will typically
use a very small subset of the words used in the corpus,
this representation is very memory efficient and often used with
Maximum Entropy Classifier (Maxent
).
In practice, the bag-of-words model is mainly used for feature generation in document classification by calculating various measures to characterize the text. The most common feature is term frequency. However, a high raw term frequency doesn't necessarily mean that the corresponding word is more important. It is popular to normalize the term frequencies by the inverse of document frequency, i.e. tf-idf (term frequency-inverse document frequency).
val lines = scala.io.Source.fromFile("data/text/movie.txt").getLines()
val corpus = lines.map(_.bag()).toArray
val features = Array("like", "good", "perform", "littl", "love", "bad", "best")
val bags = corpus.map(vectorize(features, _))
val data = tfidf(bags)
In the example, we load a file, of which each line is a document.
We define a short list of terms as the features (only for demo
purpose). Then we apply the function vectorize()
to convert the bag-of-words counts to the feature vectors.
Finally, we use the function tfidf
to compute the
normalized feature vectors, which may be used in machine learning
algorithms.
For a new document in prediction phase, an overload version of tfidf(bag, n, df)
can be employed, where bag
is the bag-of-words feature
vector of a document, n
is the number of documents in
training corpus, and df
is an array which element is the
the number of documents containing the given term in the corpus.
So far, we have treat words to be independent. But natural languages include the expressions consisting of two or more words that correspond to some conventional way of saying things. A collocation is a sequence of words or terms that co-occur more often than would be expected by chance. There are about six main types of collocations: adjective+noun, noun+noun, verb+noun, adverb+adjective, verbs+prepositional, and verb+adverb. Collocation extraction employs various computational linguistics techniques to find collocations in a document or corpus that are statistically significant.
Finding collocations requires first calculating the frequencies of words and their appearance in the context of other words. Often the collection of words will then requiring filtering to only retain useful content terms. Each n-gram of words may then be scored according to some association measure, in order to determine the relative likelihood of each n-gram being a collocation.
The functions bigram(k, minFreq, text*)
and bigram(p, minFreq, text*)
can find bigrams in a document/corpus. The integer parameter k
specifies how many
top bigrams to find. Alternatively, you may provide a double parameter p
to specify the p-value threshold. The parameter minFreq
is the minimum
frequency of collocation in the corpus.
smile> bigram(10, 5, lines.toSeq: _*)
[main] INFO smile.util.package$ - runtime:<PHONE_NUMBER>05 ms
res16: Array[collocation.BigramCollocation] = Array(
(special effects, 278, 3522.38),
(new york, 201, 2450.90),
(star wars, 153, 2016.87),
(high school, 132, 1432.43),
(science fiction, 105, 1408.87),
(phantom menace, 76, 1330.73),
(ve seen, 147, 1291.82),
(pulp fiction, 83, 1254.05),
(star trek, 100, 1209.88),
(hong kong, 61, 1088.61)
)
In the output, the second column is the frequency of bigrams and the third is the statistical test score.
To find the collocations of more than 2 words, the function
ngram(maxNGramSize: Int, minFreq: Int, text: String*)
can be used. This function uses an Apiori-like algorithm to
extract n-gram phrases. It takes a collection of texts and generates all n-grams of
length at most maxNGramSize that occur at least minFreq times in the
text.
smile> val turing = scala.io.Source.fromFile("data/text/turing.txt").getLines().mkString
smile> phrase = ngram(4, 4, turing)
smile> phrase(2)
res19: Seq[NGram] = Buffer(
([digital, computer], 32),
([discrete-state, machine], 17),
([imitation, game], 14),
([storage, capacity], 11),
([human, computer], 10),
([machine, think], 9),
([child, machine], 7),
([scientific, induction], 6),
([analytical, engine], 5),
([lady, lovelace], 5),
([someth, like], 5),
([well-establish, fact], 5),
([subject, matter], 4),
([differential, analyser], 4),
([manchester, machine], 4),
([learn, machine], 4)
)
smile> phrase(3)
res20: Seq[NGram] = Buffer(
([rule, of, conduct], 5),
([winter, 's, day], 5),
([law, of, behaviour], 5),
([number, of, state], 5),
([point, of, view], 4),
([punishment, and, reward], 4),
([machine, in, question], 4)
)
The result is an array list of sets of n-grams. The i-th entry is the set of i-grams.
Beyond finding phrases, keyword extraction is tasked with the automatic identification of terms that best describe the subject of a document, Keywords are the terms that represent the most relevant information contained in the document, i.e. characterization of the topic discussed in a document.
We provide a method keywords(k: Int)
to returns top-k
keywords in a single document using word co-occurrence statistical
information. The below is the found keywords of Turing's famous paper
"Computing Machinery and Intelligence". The seminal paper on artificial
intelligence introduces the concept of what is now known as the Turing test.
As shown in the results, the algorithm works pretty well and captures
many important concepts in the paper such as "storage capacity", "machine",
"digital computer", "discrete-state machine", etc.
smile> turing.keywords(10)
res21: Seq[NGram] = Buffer(
([storage, capacity], 11),
([machine], 197),
([think], 45),
([digital, computer], 32),
([imitation, game], 14),
([discrete-state, machine], 17),
([teach], 11),
([view], 20),
([process], 17),
([play], 15)
)
This algorithm relies on co-occurrence probability and information theory. Therefore, the article should be long enough to contain sufficient statistical signals. In other words, it won't work on short text such as tweets.
A part of speech (PoS) is a category of words which have similar
grammatical properties. Words that are assigned to the same part
of speech generally display similar behavior in terms of syntax –
they play similar roles within the grammatical structure of sentences
– and sometimes in terms of morphology, in that they undergo
inflection for similar properties. Commonly listed English parts of
speech are noun, verb, adjective, adverb, pronoun, preposition,
conjunction, interjection, etc. In Smile, we use the Penn Treebank
PoS tag set. The complete list can be found in the class
smile.nlp.pos.PennTreebankPOS
.
PoS tagging is an important intermediate task to make sense of
some of the structure inherent in language without requiring
complete understanding. Smile implements a highly efficient
English PoS tagger based on hidden Markov model (HMM). Suppose
a string is a single sentence, simply call postag
on the string to return an array of (word, tag) pairs. Because
PoS tags are often used as features along with other attributes
in machine learning algorithms, the sentence is typically
already split into words. In this case, just call postab(words)
on an array of words.
smile> val sentence = """When airport foreman Scott Babcock went out onto the runway at Wiley Post-Will Rogers Memorial Airport in Utqiagvik, Alaska, on Monday to clear some snow, he was surprised to find a visitor waiting for him on the asphalt: a 450-pound bearded seal chilling in the milky sunshine."""
sentence: String = "When airport foreman Scott Babcock went out onto the runway at Wiley Post-Will Rogers Memorial Airport in Utqiagvik, Alaska, on Monday to clear some snow, he was surprised to find a visitor waiting for him on the asphalt: a 450-pound bearded seal chilling in the milky sunshine."
smile> sentence.postag
res1: Array[(String, pos.PennTreebankPOS)] = Array(
("When", WRB),
("airport", NN),
("foreman", NN),
("Scott", NNP),
("Babcock", NNP),
("went", VBD),
("out", RP),
("onto", IN),
("the", DT),
("runway", NN),
("at", IN),
("Wiley", NNP),
("Post-Will", NNP),
("Rogers", NNP),
("Memorial", NNP),
("Airport", NNP),
("in", IN),
("Utqiagvik", NNP),
(",", ,),
("Alaska", NNP),
(",", ,),
("on", IN),
("Monday", NNP),
("to", TO),
...
smile> postag(sentence.words("none"))
[main] INFO smile.util.package$ - runtime: 4.356543 ms
res2: Array[pos.PennTreebankPOS] = Array(
WRB,
NN,
NN,
NNP,
NNP,
VBD,
RP,
IN,
DT,
NN,
IN,
NNP,
NNP,
NNP,
NNP,
NNP,
IN,
NNP,
,,
NNP,
,,
IN,
NNP,
TO,
...
After generating feature vectors of texts, many machine learning algorithms can be applied. But there are several algorithms are particularly popular in NLP, e.g. naive Bayes, maximum entropy classifier, conditional random fields, etc.
A naive Bayes classifier is a simple probabilistic classifier based on applying Bayes' theorem with strong (naive) independence assumptions. Depending on the precise nature of the probability model, naive Bayes classifiers can be trained very efficiently in a supervised learning setting. In spite of their naive design and apparently over-simplified assumptions, naive Bayes classifiers have worked quite well in many complex real-world situations and are very popular in NLP.
For a general purpose naive Bayes classifier without any assumptions
about the underlying distribution of each variable, we don't provide
a learning method to infer the variable distributions from the training data.
Instead, the users can fit any appropriate distributions on the data by
themselves with various Distribution
classes. Although the predict
method takes an array of double values as a general form of independent variables,
the users are free to use any discrete distributions to model categorical or
ordinal random variables.
def naiveBayes(priori: Array[Double], condprob: Array[Array[Distribution]]): NaiveBayes
For document classification in NLP, there are two different ways we can set up an naive Bayes classifier: multinomial model and Bernoulli model. The multinomial model generates one term from the vocabulary in each position of the document. The multivariate Bernoulli model or Bernoulli model generates an indicator for each term of the vocabulary, either indicating presence of the term in the document or indicating absence. Of the two models, the Bernoulli model is particularly sensitive to noise features. A Bernoulli naive Bayes classifier requires some form of feature selection or else its accuracy will be low.
def naiveBayes(x: Array[Array[Double]], y: Array[Int], model: NaiveBayes.Model, priori: Array[Double] = null, sigma: Double = 1.0): NaiveBayes
The different generation models imply different estimation strategies and different classification rules. The Bernoulli model estimates as the fraction of documents of class that contain term. In contrast, the multinomial model estimates as the fraction of tokens or fraction of positions in documents of class that contain term. When classifying a test document, the Bernoulli model uses binary occurrence information, ignoring the number of occurrences, whereas the multinomial model keeps track of multiple occurrences. As a result, the Bernoulli model typically makes many mistakes when classifying long documents. However, it was reported that the Bernoulli model works better in sentiment analysis.
The models also differ in how non-occurring terms are used in classification. They do not affect the classification decision in the multinomial model; but in the Bernoulli model the probability of nonoccurrence is factored in when computing. This is because only the Bernoulli model models absence of terms explicitly.
Maximum entropy is a technique for learning probability distributions from data. In maximum entropy models, the observed data itself is assumed to be the testable information. Maximum entropy models don't assume anything about the probability distribution other than what have been observed and always choose the most uniform distribution subject to the observed constraints.
Basically, maximum entropy classifier is another name of multinomial logistic regression applied to categorical independent variables, which are converted to binary dummy variables. Maximum entropy models are widely used in natural language processing. Here, we provide an implementation which assumes that binary features are stored in a sparse array, of which entries are the indices of nonzero features.
def maxent(x: Array[Array[Int]], y: Array[Int], p: Int, lambda: Double = 0.1, tol: Double = 1E-5, maxIter: Int = 500): Maxent
where x
is the sparse training samples. Each sample is represented by a set of sparse
binary features. The features are stored in an integer array, of which
are the indices of nonzero features.
The parameter p
is the dimension of feature space, and lambda
is the regularization factor.
Like naive Byes, maximum entropy classifier is often used in text categorization tasks. Besides, it is also applied in sentence boundary detection (is a period end of sentence or abbreviation?), sentiment analysis, prepositional phrase attachment ambiguity resolution (attach to verb or noun?), and parsing decisions in general.
Both naive Bayes and maximum entropy classifier ignore the sequence information of text. In contrast, the hidden Markov model (HMM) is a sequence model. A sequence model or sequence classifier is a model to assign a label or class to each unit in a sequence, thus mapping a sequence of observations to a sequence of labels. Given language consists of sequences at many representational levels, sequence labeling tasks come up throughout speech and language processing. These include part-of-speech tagging, named entity recognition, and speech recognition among others.
An HMM is a probabilistic sequence model: given a sequence of units, it computes a probability distribution over possible sequences of labels and chooses the best label sequence. An HMM is a statistical Markov model in which the system being modeled is assumed to be a Markov process with unobserved (hidden) states. An HMM can be considered as the simplest dynamic Bayesian network. In a regular Markov model, the state is directly visible to the observer, and therefore the state transition probabilities are the only parameters. In a hidden Markov model, the state is not directly visible, but output, dependent on the state, is visible. Each state has a probability distribution over the possible output tokens. Therefore the sequence of tokens generated by an HMM gives some information about the sequence of states.
The below function trains a first-order hidden Markov model.
def hmm(observations: Array[Array[Int]], labels: Array[Array[Int]]): HMM[Int]
where observations
is the observation sequences, of which symbols take
values in [0, n), where n is the number of unique symbols.
The parameter labels
is the state labels of observations,
of which states take values in [0, p), where p is the number of hidden states.
As an alternative to the related HMM, conditional random fields (CRFs) are also widely used in NLP. A conditional random field is a type of discriminative undirected probabilistic graphical model. It is used to encode known relationships between observations and construct consistent interpretations. It is often used for labeling or parsing of sequential data, such as natural language processing or biological sequences and in computer vision.
A CRF is a Markov random field that was trained discriminatively. Therefore it is not necessary to model the distribution over always observed variables, which makes it possible to include arbitrarily complicated features of the observed variables into the model.
Training CRF is usually done by maximum likelihood learning. If all nodes have exponential family distributions and all nodes are observed during training, this optimization is convex. It can be solved for example using gradient descent algorithms, or Quasi-Newton methods such as the L-BFGS algorithm. On the other hand, if some variables are unobserved, the inference problem has to be solved for these variables. Exact inference is intractable in general graphs, so approximations have to be used.
We implement an algorithm that trains CRFs via gradient tree boosting (Thomas G. Dietterich, Guohua Hao, and Adam Ashenfelter. Gradient Tree Boosting for Training Conditional Random Fields. JMLR, 2008). In tree boosting, the CRF potential functions are represented as weighted sums of regression trees, which provide compact representations of feature interactions. So the algorithm does not explicitly consider the potentially large parameter space. As a result, gradient tree boosting scales linearly in the order of the Markov model and in the order of the feature interactions, rather than exponentially as in previous algorithms based on iterative scaling and gradient descent.
def crf(sequences: Array[Array[Array[Double]]], labels: Array[Array[Int]], attributes: Array[Attribute], k: Int, eta: Double = 1.0, ntrees: Int = 100, maxNodes: Int = 100): CRF
where sequences
is the observation attribute sequences,
labels
is sequence labels,
attributes
is the feature attributes,
k
is the number of classes,
eta
is the learning rate of potential function,
ntrees
is the number of trees/iterations,
maxNodes
is the maximum number of leaf nodes in the tree.


Enter web address, or a message.
What's this?
A pattern for a smart-phone scannable cross-stitch. Download a QR reader app and get stitching! They come out at about 2" square on 14 count aida. These codes also work with Fair Isle knitting, or papercrafting.
Why is this special?
There are other QR code generators, but this one:
Bookmark this!
If you add this to your home screen, you can have barcode patterns on-the-go!
Found a bug?
Tell me here or message me on Facebook.
Credits
Written by Peter, derived from Jan Antala's QR library. MIT Licensed.


In light of the insane cheating accusations against the Houston Astros, you can know commemorate their 2017 World Series victory with a sign-stealing bobblehead.
Brad Wheedleton, founder of BobbleHouse Industries, decided to take it upon himself to create a bobble head that has a guy with a laptop and a drumstick that is meant to hit a large trash can near him. As you know, the Astros are accused of signaling their hitters by hitting a trash can in the dug out after someone on the team decodes the opposing team’s catcher’s signs.
Major League Baseball is currently investigating the club for a sign-stealing scheme that likely happened in 2017, 2018, 2019. Two of those years, they advanced to the World Series.


Please log into BitGo in your browser to upgrade your account.
$0
per month
This plan is free
Unlimited Secure Wallets
Multi-user Permissions
Spending Limits
$10
per month
Everything in Basic, and:
Insurance-backed up to $10k*
Monthly Statements
Address Whitelisting
$30
per month
Everything in Plus, and:
Insurance-backed up to $250k*
View Only Users
Security Audit Log
Your card will no longer be charged. Your card will be charged $10 today, recurring monthly. The prorated amount from your last payment will be applied to your next monthly bill of $30. Your card will be charged $30 today, recurring monthly. Your card will be charged a prorated amount for the remainder of this month and $30 recurring monthly thereafter.
Credit Card on record: xxxx xxxx xxxx {{currentUser.settings.stripe.customer.data.cards.data[0].last4}}
Your Plan was changed to {{userPlan.prettyName}}.


TWICE's Japanese B-Side Tracks Dominate LINE Music Japan Chart, "Feel Special" Tops Melon Real-Time Search Again
by HelloAnonOne album after another TWICE is on a roll as their latest Japanese release "&TWICE" dropped today.
Their b-side "The Reason Why" debuted at #1 on LINE Music Japan Chart while all the other tracks from the album made it to Top 20:
#1 The Reason Why
#3 What You Waiting For
#5 Stronger
#6 Polish
#7 Changing
#8 How U Doin'
#9 Be OK
#10 Fake & True
#15 Breakthrough
#19 Happy Happy
Following the release of the Japanese album, TWICE's most recent Korean title track "Feel Special" trended at #1 again on Melon Real-Time Search and their latest Japanese release Fake & True made it to #7.
Congratulations, TWICE!


Form will be automatically emailed to the indicated email addresses. Separate multiple email addresses with a comma followed by a space.
To create a fill-in form, add 3 underlines where you want users to fill-in the blanks within your text. THE FILL-IN WILL AUTO EXPAND on the mobile device.


--- layout: default title: Posts ---
Hi, I'm Louis 👋
This is a collection of my personal projects made during free time.


In this blog I will talk about neuroplasticity and how it can be used to our benefit and how it can be our bane .
Neuroplasticity is a recent scientific idea that our brains are constantly reshaping throughout our entire lives through the method of practise and reinforcement .
As our neurons fire and new circuits are created and like a highway the more neurons in that circuit fire the more pathways it forms like lanes for cars.
So the more we practise something positive it loops back and gives us the ability to do more positive actions.
The flip side to this is how it can reinforce your addiction.

The circuit remains in your brain forever, however you can build another circuit to shut it down and you can help it decompose over time by not giving it what it wants.
But you have to not give it what it wants in all the contexts that you associate with the addiction or negative circuit. So you have a knight to fight on your side and a dragon to slay. And to use this to your benefit you need to be aware of it consciously.
There are two types of mindsets we could cultivate.
The growth mindset, and the fixed mindset.
With a growth mindset people believe that new abilities can be developed through practise.
This mindset sees a challenge as an opportunity rather than an obstacle to reaching your goal.
A fixed mindset is one that believes the brain is only good at what it is good at.
To this mindset an obstacle is something to avoid the result is the only thing that is important.
This doesn't allow the person to become the person they need to be in order to advance in their chosen field.


GeoMesa BlobStore EXIF¶
This tutorial will show you:
- How to deploy the EXIF handler to ingest geotagged images
- How to view the spatial index of the BlobStore in geoserver
- How to query the index for individual blobs
- How to download blobs from the BlobStore
Prerequisites¶
Warning
For Accumulo deployment, you will need access to an Accumulo 1.9.2 or later instance.
Before you begin, you should have these:
- basic knowledge of GeoTools and GeoServer
- access to a GeoServer 2.8.x installation
- an Accumulo user that has both create-table and write permissions
Before you begin, you should have followed the instructions for setting up the blobstore in GeoMesa Blob Store.
Introduction¶
The GeoMesa BlobStore is able to handle a variety of file types by using a pluggable interface for FileHandlers. This allows support for new file formats to be quickly integrated. GeoMesa comes with a handler for EXIF headers, which are included in a variety of image formats from digital cameras that will be demonstrated by this tutorial. Also demonstrated in this tutorial is querying the BlobStore’s DataStore index for Blobs and demonstrating the two step query - fetch workflow users use to interact with the BlobStore.
GeoMesa BlobStore EXIF Handler Installation Instructions¶
As the FileHandlers use the Java Service Registry, they can be loaded at runtime by simply placing the jar for the handler into the existing classpath. For this tutorial, we assume the user is deploying the EXIF FileHandler to an existing GeoServer with the BlobStore web servlet. See instructions above for setting up the BlobStore in the prerequisites.
To deploy the EXIF FileHandler if you are using Tomcat run:
$ tar -xzvf \
geomesa-$VERSION/geomesa-blobstore/geomesa-blobstore-handler/geomesa-blobstore-exif-handler/target/geomesa-blobstore-exif-handler_2.11-$VERSION.jar \
-C /path/to/tomcat/webapps/geoserver/WEB-INF/lib/
To deploy the EXIF FileHandler if you are using GeoServer’s built in Jetty web server:
$ tar -xzvf \
geomesa-$VERSION/geomesa-blobstore/geomesa-blobstore-handler/geomesa-blobstore-exif-handler/target/geomesa-blobstore-exif-handler_2.11-$VERSION.jar \
-C /path/to/geoserver/webapps/geoserver/WEB-INF/lib/
Now the BlobStore is able to read image files with EXIF metadata headers.
Using the EXIF Handler¶
In order to use our new handler, we will need to get some geotagged images. Below is a partial Python script that uses the Flickr API to grab some geotagged images taken around Monument Valley. Using the Flickr API is beyond the scope of this tutorial; however the Python code snippet is provided for those interested in obtaining a test data set. The below script will download 100 images to the user’s home directory.
import flickrapi
import requests
import itertools
api_key = u'Some API Key'
secret = u'some secret'
flickr = flickrapi.FlickrAPI(api_key, secret)
flickr.authenticate_console(perms='read')
photos = flickr.photos_search(lat='37.0000', lon='-110.1700', radius='10', safe_search='1', extras='url_o')
urls = itertools.islice((p.attrib['url_o'] for p in photos[0] if 'url_o' in p.keys()), 100)
for i, url in enumerate(urls):
with open('~/flickr{0:03d}.jpg'.format(i), 'wb') as fd:
r = requests.get(url)
for chunk in r.iter_content(1024):
fd.write(chunk)
First we need to register a BlobStore using the following command. Note that the parameters for user/password/zookeepers/instanceId need to be modified to suite your environment:
$ curl -d 'instanceId=myCloud' -d 'zookeepers=zoo1,zoo2,zoo3' -d 'tableName=myblobstore' -d 'user=user' -d 'password=password' http://localhost:8080/geoserver/geomesa/blobstore/ds/myblobstore
To ingest the files, we can write a simple bash loop to use cURL on each file to ingest to the BlobStore.
$ for f in *.jpg; do curl -X POST -F file=@$f http://localhost:8080/geoserver/geomesa/blobstore/blob/myblobstore ; done
The files have now been ingested.
Register Index table in GeoServer¶
The BlobStore index DataStore is an ordinary GeoTools DataStore, so the registration in GeoServer is no different than for other DataStores. For an example of registering a DataStore in GeoServer please follow these GeoServer Plugins.
Once the layer is registered we can view the layer in the GeoServer layer previewer.
Querying the Index for Blobs¶
To Query for blobs in the spatio-temporal index we will need to enable WFS queries for the layer in GeoServer. Ensure the Workspace in which the BlobStore index DataStore was registered has the WFS service enabled. This can be verified by clicking through to Workspaces -> (your workspace) -> Checkbox next to WFS -> Save, in the GeoServer UI.
This can also be achieved through the GeoServer REST API which is beyond the scope of this tutorial.
Explaining WFS requests are beyond the scope of this tutorial, however listed below are some links to relevant documentation. A detailed description of WFS can be found here GeoServer WFS reference . Further details on ECQL predicates are listed here: GeoServer ECQL reference .
Request for all features of provided type:
$ curl -X GET 'http://localhost:8080/geoserver/wfs?service=wfs&version=2.0.0&request=GetFeature&typeNames=<workspace>:blob'
Request for all filenames contained in index:
$ curl -X GET 'http://localhost:8080/geoserver/wfs?service=wfs&version=2.0.0&request=GetFeature&typeNames=<workspace>:blob&propertyName=filename'
Request for all features within a BBOX via ECQL:
$ curl -X GET 'http://localhost:8080/geoserver/wfs?service=wfs&version=2.0.0&request=GetFeature&typeNames=<workspace>:blob&cql_filter=BBOX(geom,0,0,90,-180)'
Downloading Blobs¶
After performing a WFS query for relevant blob ids, you can use the BlobStore RESTful api to download a given blob by the blob id and alias for the BlobStore.
$ curl -JO http://localhost:8080/geoserver/geomesa/blobstore/blob/:alias/some-id
You can also use the GZip support to minimize network utilization by running
$ curl --compressed -JO http://localhost:8080/geoserver/geomesa/blobstore/blob/:alias/some-id


Build
Decks
Prepared Decks
Demo
Last build stats
Demo Decks
Demo 1: [It's a demo]
Demo 2: [Another one]


All of the Flash Demos you are about to view were created by and are the sole property of Ray C. Horn.


This heading is styled with inline CSS, you should never do this
This heading is style with a stylesheet that in in the head tag, targeting the
h2
element
This heading is styled from a stylesheet that is import using the
link
tag


Labels
Page ID
Page Length
Out Degree
Revision ID
Revision URI
Abstracts
Short Abstracts
Long Abstracts
Categories
Article Categories
Skos Categories
Links and Redirects
Freebase Links
Wikipedia Links
External Links
Inter-Language Links
Page Links
Redirects
Redirects Transitive
Links and Redirects (CZ)
Freebase Links
Wikipedia Links
External Links
Inter-Language Links
Page Links
Redirects
Redirects Transitive
Infobox Properties
Infobox Properties


Welcome Screen
60+ macros/hotkeys, 3.3k+ custom skins, tabs and subtabs, 5 private servers, 20k+ lines programming


interface TransactionSubscriptionManager : NotifiedSubscriptionManager<TransactionResult>
Encapsulates logic connected with broadcast transaction with callback subscription
Author
Daria Pechkovskaya
TransactionSubscriptionManagerImpl |
Implementation of TransactionSubscriptionManager class TransactionSubscriptionManagerImpl : TransactionSubscriptionManager |


Segment - Toolbar
Paid
Free
Top
Paid
Free
Top
Paid
Free
Top
Paid
Free
Top
Bookmarks
Reading List
Shared Links
Active
Disabled
Inactive
Sunny
Rainy
Sunny
Rainy
Item One
Item Two
Item Three
Item One
Item Two
Item Three
Item One
Item Two
Item Three
Item One
Item Two
Item Three
Item One
Item Two
Item Three
Item One
Item Two
Item Three
Item One
Item Two
Item Three
Segment in Toolbar


Front-End Developer
Viktor Arlashyn
Greetings, you're now looking at my resume page
Here you can estimate my skills
Tech skills
Soft skills
- sociability
- learnability
- calmness
- self-development
- striving for a further development
- readiness for routine work
Languages
- Ukrainian, Russian - native
- English, Polish - Intermediate
Work experience
Autocontroller-operator
Chassis Brakes International Wroclaw (Hitachi Automotive Systems Group)
October 2018 - 2021
Education
National Technical University of Ukraine
“Igor Sikorsky Kyiv Polytechnic Institute”
Mechanical engineering technology
Incomplete higher


Show Config
Show Full Text
Show Left Pane
Configuration pane
NOTE: The division character for sentences is the .(dot)
English - Skip Basics
Update Config
Check
Skip