text:
# LeeCode-CodeBase

This repo presents all the solution I passed on LeeCode, should be used AS a Reference for study purpose.

`> swift readme_gen.swift > README.md`

| X | # | Question | Swift-95 | Java-150 |
|---|---|---|---|---|
|     | 535 | Encode and Decode TinyURL | Swift | Java |
|     | 533 | Lonely Pixel II | Swift | Java |
|     | 532 | K-diff Pairs in an Array | Swift | Java |
|     | 531 | Lonely Pixel I | Swift | Java |
|     | 530 | Minimum Absolute Difference in BST | Swift | Java |
|     | 529 | Minesweeper | Swift | Java |
|     | 526 | Beautiful Arrangement | Swift | Java |
|     | 525 | Contiguous Array | Swift | Java |
|     | 524 | Longest Word in Dictionary through Deleting | Swift | Java |
|     | 523 | Continuous Subarray Sum | Swift | Java |
|     | 520 | Detect Capital | Swift | Java |
|     | 517 | Super Washing Machines | Swift | Java |
|     | 516 | Longest Palindromic Subsequence | Swift | Java |
|     | 515 | Find Largest Value in Each Tree Row | Swift | Java |
|     | 514 | Freedom Trail | Swift | Java |
|     | 513 | Find Bottom Left Tree Value | Swift | Java |
|     | 512 | Price Query System | Swift | Java |
|     | 511 | String Lengths Average and 95th Percentile | Swift | Java |
|     | 510 | Design Logging | Swift | Java |
|     | 509 | Points in Intervals | Swift | Java |
|     | 508 | Most Frequent Subtree Sum | Swift | Java |
|     | 506 | Relative Ranks | [~~Swift~~](././Swift/relative-ranks.swift) | Java |
|     | 505 | The Maze II | Swift | Java |
|     | 504 | Base 7 | Swift | Java |
|     | 503 | Next Greater Element II | Swift | Java |
|     | 502 | IPO | Swift | Java |
|     | 501 | Find Mode in Binary Search Tree | Swift | Java |
|     | 500 | Keyboard Row | Swift | Java |
|     | 499 | The Maze III | Swift | Java |
|     | 498 | Diagonal Traverse | Swift | Java |
|     | 496 | Next Greater Element I | Swift | Java |
|     | 495 | Teemo Attacking | Swift | Java |
|     | 494 | Target Sum | Swift | Java |
|     | 493 | Reverse Pairs | Swift | Java |
|     | 492 | Construct the Rectangle | Swift | Java |
|     | 491 | Increasing Subsequences | Swift | Java |
|     | 490 | The Maze | Swift | Java |
|     | 488 | Zuma Game | Swift | Java |
|     | 487 | Max Consecutive Ones II | Swift | Java |
|     | 486 | Predict the Winner | Swift | Java |
|     | 485 | Max Consecutive Ones | Swift | Java |
|     | 484 | Find Permutation | Swift | Java |
|     | 483 | Smallest Good Base | Swift | Java |
|     | 482 | License Key Formatting | Swift | Java |
|     | 481 | Magical String | Swift | Java |
|     | 480 | Sliding Window Median | Swift | Java |
|     | 477 | Total Hamming Distance | [~~Swift~~](././Swift/total-hamming-distance.swift) | Java |
|     | 476 | Number Complement | Swift | Java |
|     | 475 | Heaters | [~~Swift~~](././Swift/heaters.swift) | Java |
|     | 474 | Ones and Zeroes | Swift | Java |
|     | 473 | Matchsticks to Square | [~~Swift~~](././Swift/matchsticks-to-square.swift) | Java |
|     | 472 | Concatenated Words | [~~Swift~~](././Swift/concatenated-words.swift) | Java |
|     | 471 | Encode String with Shortest Length | Swift | Java |
|     | 469 | Convex Polygon | Swift | Java |
|     | 468 | Validate IP Address | [~~Swift~~](././Swift/validate-ip-address.swift) | Java |
|     | 467 | Unique Substrings in Wraparound String | Swift | Java |
|     | 466 | Count The Repetitions | Swift | Java |
|     | 465 | Optimal Account Balancing | Swift | Java |
|     | 464 | Can I Win | [~~Swift~~](././Swift/can-i-win.swift) | Java |
|     | 463 | Island Perimeter | [~~Swift~~](././Swift/island-perimeter.swift) | Java |
|     | 462 | Minimum Moves to Equal Array Elements II | [~~Swift~~](././Swift/minimum-moves-to-equal-array-elements-ii.swift) | Java |
|     | 461 | Hamming Distance | [~~Swift~~](././Swift/hamming-distance.swift) | Java |
|     | 460 | LFU Cache | Swift | Java |
|     | 459 | Repeated Substring Pattern | Swift | Java |
|     | 456 | 132 Pattern | Swift | Java |
|     | 455 | Assign Cookies | Swift | Java |
|     | 454 | 4Sum II | Swift | Java |
|     | 453 | Minimum Moves to Equal Array Elements | [~~Swift~~](././Swift/minimum-moves-to-equal-array-elements.swift) | Java |
|     | 452 | Minimum Number of Arrows to Burst Balloons | Swift | Java |
|     | 451 | Sort Characters By Frequency | [~~Swift~~](././Swift/sort-characters-by-frequency.swift) | Java |
|     | 450 | Delete Node in a BST | Swift | Java |
|     | 449 | Serialize and Deserialize BST | Swift | Java |
|     | 448 | Find All Numbers Disappeared in an Array | [~~Swift~~](././Swift/find-all-numbers-disappeared-in-an-array.swift) | Java |
|     | 447 | Number of Boomerangs | Swift | Java |
|     | 446 | Arithmetic Slices II - Subsequence | [~~Swift~~](././Swift/arithmetic-slices-ii-subsequence.swift) | Java |
|     | 445 | Add Two Numbers II | [~~Swift~~](././Swift/add-two-numbers-ii.swift) | Java |
|     | 444 | Sequence Reconstruction | Swift | Java |
|     | 442 | Find All Duplicates in an Array | [~~Swift~~](././Swift/find-all-duplicates-in-an-array.swift) | Java |
|     | 441 | Arranging Coins | [~~Swift~~](././Swift/arranging-coins.swift) | Java |
|     | 440 | K-th Smallest in Lexicographical Order | Swift | Java |
|     | 439 | Ternary Expression Parser | Swift | Java |
|     | 438 | Find All Anagrams in a String | Swift | Java |
|     | 437 | Path Sum III | [~~Swift~~](././Swift/path-sum-iii.swift) | Java |
|     | 436 | Find Right Interval | Swift | Java |
|     | 435 | Non-overlapping Intervals | Swift | Java |
|     | 434 | Number of Segments in a String | [~~Swift~~](././Swift/number-of-segments-in-a-string.swift) | Java |
|     | 432 | All O`one Data Structure | Swift | Java |
|     | 425 | Word Squares | Swift | Java |
|     | 424 | Longest Repeating Character Replacement | Swift | Java |
|     | 423 | Reconstruct Original Digits from English | Swift | Java |
|     | 422 | Valid Word Square | Swift | Java |
|     | 421 | Maximum XOR of Two Numbers in an Array | Swift | Java |
|     | 420 | Strong Password Checker | Swift | Java |
|     | 419 | Battleships in a Board | [~~Swift~~](././Swift/battleships-in-a-board.swift) | Java |
|     | 418 | Sentence Screen Fitting | Swift | Java |
|     | 417 | Pacific Atlantic Water Flow | Swift | Java |
|     | 416 | Partition Equal Subset Sum | Swift | Java |
|     | 415 | Add Strings | Swift | Java |
|     | 414 | Third Maximum Number | [~~Swift~~](././Swift/third-maximum-number.swift) | Java |
|     | 413 | Arithmetic Slices | [~~Swift~~](././Swift/arithmetic-slices.swift) | Java |
|     | 412 | Fizz Buzz | [~~Swift~~](././Swift/fizz-buzz.swift) | Java |
|     | 411 | Minimum Unique Word Abbreviation | Swift | Java |
|     | 410 | Split Array Largest Sum | Swift | Java |
|     | 409 | Longest Palindrome | Swift | Java |
|     | 408 | Valid Word Abbreviation | Swift | Java |
|     | 407 | Trapping Rain Water II | [~~Swift~~](././Swift/trapping-rain-water-ii.swift) | Java |
|     | 406 | Queue Reconstruction by Height | [~~Swift~~](././Swift/queue-reconstruction-by-height.swift) | Java |
|     | 405 | Convert a Number to Hexadecimal | Swift | Java |
|     | 404 | Sum of Left Leaves | [~~Swift~~](././Swift/sum-of-left-leaves.swift) | Java |
|     | 403 | Frog Jump | Swift | Java |
|     | 402 | Remove K Digits | Swift | Java |
|     | 401 | Binary Watch | Swift | Java |
|     | 400 | Nth Digit | Swift | Java |
|     | 399 | Evaluate Division | Swift | Java |
|     | 398 | Random Pick Index | Swift | Java |
|     | 397 | Integer Replacement | Swift | Java |
|     | 396 | Rotate Function | Swift | Java |
|     | 395 | Longest Substring with At Least K Repeating Characters | Swift | Java |
|     | 394 | Decode String | Swift | Java |
|     | 393 | UTF-8 Validation | Swift | Java |
|     | 392 | Is Subsequence | Swift | Java |
|     | 391 | Perfect Rectangle | [~~Swift~~](././Swift/perfect-rectangle.swift) | Java |
|     | 390 | Elimination Game | Swift | Java |
|     | 389 | Find the Difference | Swift | Java |
|     | 388 | Longest Absolute File Path | [~~Swift~~](././Swift/longest-absolute-file-path.swift) | Java |
|     | 387 | First Unique Character in a String | [~~Swift~~](././Swift/first-unique-character-in-a-string.swift) | Java |
|     | 386 | Lexicographical Numbers | Swift | Java |
|     | 385 | Mini Parser | Swift | Java |
|     | 384 | Shuffle an Array | Swift | Java |
|     | 383 | Ransom Note | [~~Swift~~](././Swift/ransom-note.swift) | Java |
|     | 382 | Linked List Random Node | Swift | Java |
|     | 381 | Insert Delete GetRandom O(1) - Duplicates allowed | Swift | Java |
|     | 380 | Insert Delete GetRandom O(1) | Swift | Java |
|     | 379 | Design Phone Directory | Swift | Java |
|     | 378 | Kth Smallest Element in a Sorted Matrix | Swift | Java |
|     | 377 | Combination Sum IV | Swift | Java |
|     | 376 | Wiggle Subsequence | Swift | Java |
|     | 375 | Guess Number Higher or Lower II | Swift | Java |
|     | 374 | Guess Number Higher or Lower | Swift | Java |
|     | 373 | Find K Pairs with Smallest Sums | Swift | Java |
|     | 372 | Super Pow | Swift | Java |
|     | 371 | Sum of Two Integers | [~~Swift~~](././Swift/sum-of-two-integers.swift) | Java |
|     | 370 | Range Addition | Swift | Java |
|     | 369 | Plus One Linked List | Swift | Java |
|     | 368 | Largest Divisible Subset | Swift | Java |
|     | 367 | Valid Perfect Square | Swift | Java |
|     | 366 | Find Leaves of Binary Tree | Swift | Java |
|     | 365 | Water and Jug Problem | Swift | Java |
|     | 364 | Nested List Weight Sum II | Swift | Java |
|     | 363 | Max Sum of Rectangle No Larger Than K | Swift | Java |
|     | 362 | Design Hit Counter | Swift | Java |
|     | 361 | Bomb Enemy | Swift | Java |
|     | 360 | Sort Transformed Array | Swift | Java |
|     | 359 | Logger Rate Limiter | Swift | Java |
|     | 358 | Rearrange String k Distance Apart | Swift | Java |
|     | 357 | Count Numbers with Unique Digits | Swift | Java |
|     | 356 | Line Reflection | Swift | Java |
|     | 355 | Design Twitter | Swift | Java |
|     | 354 | Russian Doll Envelopes | Swift | Java |
|     | 353 | Design Snake Game | Swift | Java |
|     | 352 | Data Stream as Disjoint Intervals | Swift | Java |
|     | 351 | Android Unlock Patterns | Swift | Java |
|     | 350 | Intersection of Two Arrays II | Swift | Java |
|     | 349 | Intersection of Two Arrays | Swift | Java |
|     | 348 | Design Tic-Tac-Toe | Swift | Java |
|     | 347 | Top K Frequent Elements | [~~Swift~~](././Swift/top-k-frequent-elements.swift) | Java |
|     | 346 | Moving Average from Data Stream | Swift | Java |
|     | 345 | Reverse Vowels of a String | [~~Swift~~](././Swift/reverse-vowels-of-a-string.swift) | Java |
|     | 344 | Reverse String | Swift | Java |
|     | 343 | Integer Break | Swift | Java |
|     | 342 | Power of Four | [~~Swift~~](././Swift/power-of-four.swift) | Java |
|     | 341 | Flatten Nested List Iterator | Swift | Java |
|     | 340 | Longest Substring with At Most K Distinct Characters | Swift | Java |
|     | 339 | Nested List Weight Sum | Swift | Java |
|     | 338 | Counting Bits | [~~Swift~~](././Swift/counting-bits.swift) | Java |
|     | 337 | House Robber III | Swift | Java |
|     | 336 | Palindrome Pairs | Swift | Java |
|     | 335 | Self Crossing | Swift | Java |
|     | 334 | Increasing Triplet Subsequence | Swift | Java |
|     | 333 | Largest BST Subtree | Swift | Java |
|     | 332 | Reconstruct Itinerary | Swift | Java |
|     | 331 | Verify Preorder Serialization of a Binary Tree | Swift | Java |
|     | 330 | Patching Array | Swift | Java |
|     | 329 | Longest Increasing Path in a Matrix | Swift | Java |
|     | 328 | Odd Even Linked List | Swift | Java |
|     | 327 | Count of Range Sum | Swift | Java |
|     | 326 | Power of Three | Swift | Java |
|     | 325 | Maximum Size Subarray Sum Equals k | Swift | Java |
|     | 324 | Wiggle Sort II | Swift | Java |
|     | 323 | Number of Connected Components in an Undirected Graph | Swift | Java |
|     | 322 | Coin Change | Swift | Java |
|     | 321 | Create Maximum Number | Swift | Java |
|     | 320 | Generalized Abbreviation | Swift | Java |
|     | 319 | Bulb Switcher | Swift | Java |
|     | 318 | Maximum Product of Word Lengths | Swift | Java |
|     | 317 | Shortest Distance from All Buildings | Swift | Java |
|     | 316 | Remove Duplicate Letters | Swift | Java |
|     | 315 | Count of Smaller Numbers After Self | [~~Swift~~](././Swift/count-of-smaller-numbers-after-self.swift) | Java |
|     | 314 | Binary Tree Vertical Order Traversal | Swift | Java |
|     | 313 | Super Ugly Number | Swift | Java |
|     | 312 | Burst Balloons | [~~Swift~~](././Swift/burst-balloons.swift) | Java |
|     | 311 | Sparse Matrix Multiplication | Swift | Java |
|     | 310 | Minimum Height Trees | Swift | Java |
|     | 309 | Best Time to Buy and Sell Stock with Cooldown | Swift | Java |
|     | 308 | Range Sum Query 2D - Mutable | Swift | Java |
|     | 307 | Range Sum Query - Mutable | Swift | Java |
|     | 306 | Additive Number | Swift | Java |
|     | 305 | Number of Islands II | Swift | Java |
|     | 304 | Range Sum Query 2D - Immutable | Swift | Java |
|     | 303 | Range Sum Query - Immutable | Swift | Java |
|     | 302 | Smallest Rectangle Enclosing Black Pixels | Swift | Java |
|     | 301 | Remove Invalid Parentheses | Swift | Java |
|     | 300 | Longest Increasing Subsequence | Swift | Java |
|     | 299 | Bulls and Cows | Swift | Java |
|     | 298 | Binary Tree Longest Consecutive Sequence | Swift | Java |
|     | 297 | Serialize and Deserialize Binary Tree | Swift | Java |
|     | 296 | Best Meeting Point | Swift | Java |
|     | 295 | Find Median from Data Stream | Swift | [~~Java~~](././Java/find-median-from-data-stream.java) |
|     | 294 | Flip Game II | Swift | Java |
|     | 293 | Flip Game | Swift | Java |
|     | 292 | Nim Game | Swift | [~~Java~~](././Java/nim-game.java) |
|     | 291 | Word Pattern II | Swift | Java |
|     | 290 | Word Pattern | Swift | [~~Java~~](././Java/word-pattern.java) |
|     | 289 | Game of Life | Swift | [~~Java~~](././Java/game-of-life.java) |
|     | 288 | Unique Word Abbreviation | Swift | Java |
|  X  | 287 | Find the Duplicate Number | [~~Swift~~](././Swift/find-the-duplicate-number.swift) | [~~Java~~](././Java/find-the-duplicate-number.java) |
|     | 286 | Walls and Gates | Swift | Java |
|     | 285 | Inorder Successor in BST | Swift | Java |
|     | 284 | Peeking Iterator | Swift | [~~Java~~](././Java/peeking-iterator.java) |
|  X  | 283 | Move Zeroes | [~~Swift~~](././Swift/move-zeroes.swift) | [~~Java~~](././Java/move-zeroes.java) |
|     | 282 | Expression Add Operators | Swift | Java |
|     | 281 | Zigzag Iterator | Swift | Java |
|     | 280 | Wiggle Sort | Swift | Java |
|     | 279 | Perfect Squares | Swift | [~~Java~~](././Java/perfect-squares.java) |
|     | 278 | First Bad Version | Swift | [~~Java~~](././Java/first-bad-version.java) |
|     | 277 | Find the Celebrity | Swift | Java |
|     | 276 | Paint Fence | Swift | Java |
|     | 275 | H-Index II | Swift | [~~Java~~](././Java/h-index-ii.java) |
|     | 274 | H-Index | Swift | [~~Java~~](././Java/h-index.java) |
|     | 273 | Integer to English Words | Swift | Java |
|     | 272 | Closest Binary Search Tree Value II | Swift | Java |
|     | 271 | Encode and Decode Strings | Swift | Java |
|     | 270 | Closest Binary Search Tree Value | Swift | Java |
|     | 269 | Alien Dictionary | Swift | Java |
|     | 268 | Missing Number | Swift | [~~Java~~](././Java/missing-number.java) |
|     | 267 | Palindrome Permutation II | Swift | Java |
|     | 266 | Palindrome Permutation | Swift | Java |
|     | 265 | Paint House II | Swift | Java |
|     | 264 | Ugly Number II | Swift | [~~Java~~](././Java/ugly-number-ii.java) |
|     | 263 | Ugly Number | Swift | [~~Java~~](././Java/ugly-number.java) |
|     | 261 | Graph Valid Tree | Swift | Java |
|  X  | 260 | Single Number III | [~~Swift~~](././Swift/single-number-iii.swift) | [~~Java~~](././Java/single-number-iii.java) |
|     | 259 | 3Sum Smaller | Swift | Java |
|  X  | 258 | Add Digits | [~~Swift~~](././Swift/add-digits.swift) | [~~Java~~](././Java/add-digits.java) |
|     | 257 | Binary Tree Paths | Swift | [~~Java~~](././Java/binary-tree-paths.java) |
|     | 256 | Paint House | Swift | Java |
|     | 255 | Verify Preorder Sequence in Binary Search Tree | Swift | Java |
|     | 254 | Factor Combinations | Swift | Java |
|     | 253 | Meeting Rooms II | Swift | Java |
|     | 252 | Meeting Rooms | Swift | Java |
|     | 251 | Flatten 2D Vector | Swift | Java |
|     | 250 | Count Univalue Subtrees | Swift | Java |
|     | 249 | Group Shifted Strings | Swift | Java |
|     | 248 | Strobogrammatic Number III | Swift | Java |
|     | 247 | Strobogrammatic Number II | Swift | Java |
|     | 246 | Strobogrammatic Number | Swift | Java |
|     | 245 | Shortest Word Distance III | Swift | Java |
|     | 244 | Shortest Word Distance II | Swift | Java |
|     | 243 | Shortest Word Distance | Swift | Java |
|     | 242 | Valid Anagram | Swift | [~~Java~~](././Java/valid-anagram.java) |
|     | 241 | Different Ways to Add Parentheses | Swift | [~~Java~~](././Java/different-ways-to-add-parentheses.java) |
|     | 240 | Search a 2D Matrix II | Swift | [~~Java~~](././Java/search-a-2d-matrix-ii.java) |
|     | 239 | Sliding Window Maximum | Swift | [~~Java~~](././Java/sliding-window-maximum.java) |
|  X  | 238 | Product of Array Except Self | [~~Swift~~](././Swift/product-of-array-except-self.swift) | [~~Java~~](././Java/product-of-array-except-self.java) |
|     | 237 | Delete Node in a Linked List | Swift | [~~Java~~](././Java/delete-node-in-a-linked-list.java) |
|     | 236 | Lowest Common Ancestor of a Binary Tree | Swift | [~~Java~~](././Java/lowest-common-ancestor-of-a-binary-tree.java) |
|     | 235 | Lowest Common Ancestor of a Binary Search Tree | Swift | [~~Java~~](././Java/lowest-common-ancestor-of-a-binary-search-tree.java) |
|     | 234 | Palindrome Linked List | Swift | [~~Java~~](././Java/palindrome-linked-list.java) |
|     | 233 | Number of Digit One | Swift | Java |
|     | 232 | Implement Queue using Stacks | Swift | [~~Java~~](././Java/implement-queue-using-stacks.java) |
|     | 231 | Power of Two | Swift | [~~Java~~](././Java/power-of-two.java) |
|     | 230 | Kth Smallest Element in a BST | Swift | Java |
|     | 229 | Majority Element II | Swift | Java |
|     | 228 | Summary Ranges | Swift | [~~Java~~](././Java/summary-ranges.java) |
|     | 227 | Basic Calculator II | Swift | Java |
|  X  | 226 | Invert Binary Tree | [~~Swift~~](././Swift/invert-binary-tree.swift) | [~~Java~~](././Java/invert-binary-tree.java) |
|     | 225 | Implement Stack using Queues | Swift | [~~Java~~](././Java/implement-stack-using-queues.java) |
|     | 224 | Basic Calculator | Swift | Java |
|     | 223 | Rectangle Area | Swift | [~~Java~~](././Java/rectangle-area.java) |
|     | 222 | Count Complete Tree Nodes | Swift | [~~Java~~](././Java/count-complete-tree-nodes.java) |
|     | 221 | Maximal Square | [~~Swift~~](././Swift/maximal-square.swift) | Java |
|     | 220 | Contains Duplicate III | Swift | Java |
|     | 219 | Contains Duplicate II | [~~Swift~~](././Swift/contains-duplicate-ii.swift) | Java |
|     | 218 | The Skyline Problem | Swift | Java |
|     | 217 | Contains Duplicate | Swift | [~~Java~~](././Java/contains-duplicate.java) |
|     | 216 | Combination Sum III | Swift | [~~Java~~](././Java/combination-sum-iii.java) |
|     | 215 | Kth Largest Element in an Array | Swift | [~~Java~~](././Java/kth-largest-element-in-an-array.java) |
|     | 214 | Shortest Palindrome | Swift | Java |
|     | 213 | House Robber II | Swift | Java |
|  X  | 212 | Word Search II | [~~Swift~~](././Swift/word-search-ii.swift) | [~~Java~~](././Java/word-search-ii.java) |
|     | 211 | Add and Search Word - Data structure design | Swift | [~~Java~~](././Java/add-and-search-word-data-structure-design.java) |
|     | 210 | Course Schedule II | Swift | Java |
|     | 209 | Minimum Size Subarray Sum | Swift | Java |
|     | 208 | Implement Trie (Prefix Tree) | Swift | Java |
|     | 207 | Course Schedule | Swift | [~~Java~~](././Java/course-schedule.java) |
|     | 206 | Reverse Linked List | Swift | [~~Java~~](././Java/reverse-linked-list.java) |
|     | 205 | Isomorphic Strings | Swift | Java |
|     | 204 | Count Primes | Swift | [~~Java~~](././Java/count-primes.java) |
|     | 203 | Remove Linked List Elements | Swift | [~~Java~~](././Java/remove-linked-list-elements.java) |
|     | 202 | Happy Number | Swift | [~~Java~~](././Java/happy-number.java) |
|     | 201 | Bitwise AND of Numbers Range | Swift | Java |
|     | 200 | Number of Islands | Swift | Java |
|     | 199 | Binary Tree Right Side View | Swift | Java |
|     | 198 | House Robber | Swift | [~~Java~~](././Java/house-robber.java) |
|     | 191 | Number of 1 Bits | Swift | [~~Java~~](././Java/number-of-1-bits.java) |
|     | 190 | Reverse Bits | Swift | [~~Java~~](././Java/reverse-bits.java) |
|     | 189 | Rotate Array | [~~Swift~~](././Swift/rotate-array.swift) | Java |
|     | 188 | Best Time to Buy and Sell Stock IV | Swift | [~~Java~~](././Java/best-time-to-buy-and-sell-stock-iv.java) |
|     | 187 | Repeated DNA Sequences | Swift | Java |
|     | 186 | Reverse Words in a String II | Swift | Java |
|     | 179 | Largest Number | Swift | Java |
|     | 174 | Dungeon Game | Swift | [~~Java~~](././Java/dungeon-game.java) |
|     | 173 | Binary Search Tree Iterator | Swift | Java |
|     | 172 | Factorial Trailing Zeroes | [~~Swift~~](././Swift/factorial-trailing-zeroes.swift) | Java |
|     | 171 | Excel Sheet Column Number | Swift | [~~Java~~](././Java/excel-sheet-column-number.java) |
|     | 170 | Two Sum III - Data structure design | Swift | Java |
|     | 169 | Majority Element | Swift | [~~Java~~](././Java/majority-element.java) |
|     | 168 | Excel Sheet Column Title | [~~Swift~~](././Swift/excel-sheet-column-title.swift) | Java |
|     | 167 | Two Sum II - Input array is sorted | [~~Swift~~](././Swift/two-sum-ii-input-array-is-sorted.swift) | Java |
|     | 166 | Fraction to Recurring Decimal | Swift | Java |
|     | 165 | Compare Version Numbers | [~~Swift~~](././Swift/compare-version-numbers.swift) | Java |
|     | 164 | Maximum Gap | Swift | Java |
|     | 163 | Missing Ranges | Swift | Java |
|     | 162 | Find Peak Element | Swift | [~~Java~~](././Java/find-peak-element.java) |
|     | 161 | One Edit Distance | Swift | Java |
|     | 160 | Intersection of Two Linked Lists | Swift | Java |
|     | 159 | Longest Substring with At Most Two Distinct Characters | Swift | Java |
|     | 158 | Read N Characters Given Read4 II - Call multiple times | Swift | Java |
|     | 157 | Read N Characters Given Read4 | Swift | Java |
|     | 156 | Binary Tree Upside Down | Swift | Java |
|     | 155 | Min Stack | Swift | Java |
|  X  | 154 | Find Minimum in Rotated Sorted Array II | [~~Swift~~](././Swift/find-minimum-in-rotated-sorted-array-ii.swift) | [~~Java~~](././Java/find-minimum-in-rotated-sorted-array-ii.java) |
|  X  | 153 | Find Minimum in Rotated Sorted Array | [~~Swift~~](././Swift/find-minimum-in-rotated-sorted-array.swift) | [~~Java~~](././Java/find-minimum-in-rotated-sorted-array.java) |
|     | 152 | Maximum Product Subarray | Swift | Java |
|     | 151 | Reverse Words in a String | Swift | [~~Java~~](././Java/reverse-words-in-a-string.java) |
|     | 150 | Evaluate Reverse Polish Notation | Swift | Java |
|     | 149 | Max Points on a Line | Swift | [~~Java~~](././Java/max-points-on-a-line.java) |
|     | 148 | Sort List | Swift | Java |
|     | 147 | Insertion Sort List | Swift | Java |
|     | 146 | LRU Cache | Swift | [~~Java~~](././Java/lru-cache.java) |
|  X  | 145 | Binary Tree Postorder Traversal | [~~Swift~~](././Swift/binary-tree-postorder-traversal.swift) | [~~Java~~](././Java/binary-tree-postorder-traversal.java) |
|     | 144 | Binary Tree Preorder Traversal | Swift | [~~Java~~](././Java/binary-tree-preorder-traversal.java) |
|     | 143 | Reorder List | Swift | Java |
|     | 142 | Linked List Cycle II | Swift | Java |
|     | 141 | Linked List Cycle | Swift | [~~Java~~](././Java/linked-list-cycle.java) |
|     | 140 | Word Break II | Swift | [~~Java~~](././Java/word-break-ii.java) |
|     | 139 | Word Break | Swift | [~~Java~~](././Java/word-break.java) |
|     | 138 | Copy List with Random Pointer | Swift | Java |
|     | 137 | Single Number II | Swift | [~~Java~~](././Java/single-number-ii.java) |
|  X  | 136 | Single Number | [~~Swift~~](././Swift/single-number.swift) | [~~Java~~](././Java/single-number.java) |
|     | 135 | Candy | Swift | [~~Java~~](././Java/candy.java) |
|     | 134 | Gas Station | Swift | Java |
|     | 133 | Clone Graph | Swift | Java |
|     | 132 | Palindrome Partitioning II | Swift | Java |
|     | 131 | Palindrome Partitioning | Swift | Java |
|  X  | 130 | Surrounded Regions | [~~Swift~~](././Swift/surrounded-regions.swift) | [~~Java~~](././Java/surrounded-regions.java) |
|     | 129 | Sum Root to Leaf Numbers | Swift | [~~Java~~](././Java/sum-root-to-leaf-numbers.java) |
|  X  | 128 | Longest Consecutive Sequence | [~~Swift~~](././Swift/longest-consecutive-sequence.swift) | [~~Java~~](././Java/longest-consecutive-sequence.java) |
|     | 127 | Word Ladder | Swift | [~~Java~~](././Java/word-ladder.java) |
|     | 126 | Word Ladder II | Swift | [~~Java~~](././Java/word-ladder-ii.java) |
|     | 125 | Valid Palindrome | [~~Swift~~](././Swift/valid-palindrome.swift) | Java |
|     | 124 | Binary Tree Maximum Path Sum | Swift | [~~Java~~](././Java/binary-tree-maximum-path-sum.java) |
|     | 123 | Best Time to Buy and Sell Stock III | Swift | Java |
|  X  | 122 | Best Time to Buy and Sell Stock II | [~~Swift~~](././Swift/best-time-to-buy-and-sell-stock-ii.swift) | [~~Java~~](././Java/best-time-to-buy-and-sell-stock-ii.java) |
|  X  | 121 | Best Time to Buy and Sell Stock | [~~Swift~~](././Swift/best-time-to-buy-and-sell-stock.swift) | [~~Java~~](././Java/best-time-to-buy-and-sell-stock.java) |
|     | 120 | Triangle | Swift | Java |
|     | 119 | Pascal's Triangle II | [~~Swift~~](././Swift/pascals-triangle-ii.swift) | Java |
|     | 118 | Pascal's Triangle | Swift | Java |
|     | 117 | Populating Next Right Pointers in Each Node II | Swift | Java |
|     | 116 | Populating Next Right Pointers in Each Node | Swift | [~~Java~~](././Java/populating-next-right-pointers-in-each-node.java) |
|     | 115 | Distinct Subsequences | Swift | Java |
|     | 114 | Flatten Binary Tree to Linked List | Swift | [~~Java~~](././Java/flatten-binary-tree-to-linked-list.java) |
|     | 113 | Path Sum II | Swift | [~~Java~~](././Java/path-sum-ii.java) |
|     | 112 | Path Sum | Swift | [~~Java~~](././Java/path-sum.java) |
|     | 111 | Minimum Depth of Binary Tree | Swift | [~~Java~~](././Java/minimum-depth-of-binary-tree.java) |
|     | 110 | Balanced Binary Tree | Swift | [~~Java~~](././Java/balanced-binary-tree.java) |
|     | 109 | Convert Sorted List to Binary Search Tree | Swift | [~~Java~~](././Java/convert-sorted-list-to-binary-search-tree.java) |
|     | 108 | Convert Sorted Array to Binary Search Tree | Swift | [~~Java~~](././Java/convert-sorted-array-to-binary-search-tree.java) |
|     | 107 | Binary Tree Level Order Traversal II | Swift | [~~Java~~](././Java/binary-tree-level-order-traversal-ii.java) |
|     | 106 | Construct Binary Tree from Inorder and Postorder Traversal | Swift | Java |
|     | 105 | Construct Binary Tree from Preorder and Inorder Traversal | Swift | Java |
|     | 104 | Maximum Depth of Binary Tree | Swift | [~~Java~~](././Java/maximum-depth-of-binary-tree.java) |
|     | 103 | Binary Tree Zigzag Level Order Traversal | Swift | [~~Java~~](././Java/binary-tree-zigzag-level-order-traversal.java) |
|     | 102 | Binary Tree Level Order Traversal | Swift | Java |
|     | 101 | Symmetric Tree | Swift | [~~Java~~](././Java/symmetric-tree.java) |
|     | 100 | Same Tree | Swift | [~~Java~~](././Java/same-tree.java) |
|     | 99 | Recover Binary Search Tree | Swift | [~~Java~~](././Java/recover-binary-search-tree.java) |
|     | 98 | Validate Binary Search Tree | [~~Swift~~](././Swift/validate-binary-search-tree.swift) | Java |
|     | 97 | Interleaving String | Swift | Java |
|     | 96 | Unique Binary Search Trees | Swift | [~~Java~~](././Java/unique-binary-search-trees.java) |
|     | 95 | Unique Binary Search Trees II | Swift | Java |
|     | 94 | Binary Tree Inorder Traversal | Swift | [~~Java~~](././Java/binary-tree-inorder-traversal.java) |
|     | 93 | Restore IP Addresses | Swift | [~~Java~~](././Java/restore-ip-addresses.java) |
|     | 92 | Reverse Linked List II | Swift | Java |
|     | 91 | Decode Ways | [~~Swift~~](././Swift/decode-ways.swift) | Java |
|     | 90 | Subsets II | Swift | Java |
|     | 89 | Gray Code | Swift | [~~Java~~](././Java/gray-code.java) |
|     | 88 | Merge Sorted Array | Swift | [~~Java~~](././Java/merge-sorted-array.java) |
|     | 87 | Scramble String | Swift | Java |
|     | 86 | Partition List | Swift | Java |
|     | 85 | Maximal Rectangle | [~~Swift~~](././Swift/maximal-rectangle.swift) | Java |
|     | 84 | Largest Rectangle in Histogram | [~~Swift~~](././Swift/largest-rectangle-in-histogram.swift) | Java |
|     | 83 | Remove Duplicates from Sorted List | Swift | [~~Java~~](././Java/remove-duplicates-from-sorted-list.java) |
|     | 82 | Remove Duplicates from Sorted List II | Swift | Java |
|     | 81 | Search in Rotated Sorted Array II | Swift | Java |
|     | 80 | Remove Duplicates from Sorted Array II | Swift | [~~Java~~](././Java/remove-duplicates-from-sorted-array-ii.java) |
|     | 79 | Word Search | [~~Swift~~](././Swift/word-search.swift) | Java |
|     | 78 | Subsets | Swift | [~~Java~~](././Java/subsets.java) |
|     | 77 | Combinations | Swift | [~~Java~~](././Java/combinations.java) |
|     | 76 | Minimum Window Substring | Swift | Java |
|     | 75 | Sort Colors | Swift | Java |
|     | 74 | Search a 2D Matrix | Swift | [~~Java~~](././Java/search-a-2d-matrix.java) |
|     | 73 | Set Matrix Zeroes | Swift | Java |
|     | 72 | Edit Distance | Swift | [~~Java~~](././Java/edit-distance.java) |
|     | 71 | Simplify Path | [~~Swift~~](././Swift/simplify-path.swift) | Java |
|     | 70 | Climbing Stairs | Swift | [~~Java~~](././Java/climbing-stairs.java) |
|     | 69 | Sqrt(x) | Swift | Java |
|     | 68 | Text Justification | Swift | [~~Java~~](././Java/text-justification.java) |
|     | 67 | Add Binary | Swift | Java |
|     | 66 | Plus One | [~~Swift~~](././Swift/plus-one.swift) | Java |
|     | 65 | Valid Number | Swift | [~~Java~~](././Java/valid-number.java) |
|     | 64 | Minimum Path Sum | Swift | [~~Java~~](././Java/minimum-path-sum.java) |
|     | 63 | Unique Paths II | Swift | [~~Java~~](././Java/unique-paths-ii.java) |
|     | 62 | Unique Paths | Swift | [~~Java~~](././Java/unique-paths.java) |
|     | 61 | Rotate List | Swift | Java |
|     | 60 | Permutation Sequence | Swift | [~~Java~~](././Java/permutation-sequence.java) |
|     | 59 | Spiral Matrix II | Swift | [~~Java~~](././Java/spiral-matrix-ii.java) |
|  X  | 58 | Length of Last Word | [~~Swift~~](././Swift/length-of-last-word.swift) | [~~Java~~](././Java/length-of-last-word.java) |
|     | 57 | Insert Interval | Swift | Java |
|     | 56 | Merge Intervals | Swift | [~~Java~~](././Java/merge-intervals.java) |
|     | 55 | Jump Game | Swift | [~~Java~~](././Java/jump-game.java) |
|     | 54 | Spiral Matrix | Swift | Java |
|     | 53 | Maximum Subarray | Swift | [~~Java~~](././Java/maximum-subarray.java) |
|  X  | 52 | N-Queens II | [~~Swift~~](././Swift/n-queens-ii.swift) | [~~Java~~](././Java/n-queens-ii.java) |
|  X  | 51 | N-Queens | [~~Swift~~](././Swift/n-queens.swift) | [~~Java~~](././Java/n-queens.java) |
|     | 50 | Pow(x, n) | Swift | [~~Java~~](././Java/powx-n.java) |
|     | 49 | Group Anagrams | Swift | [~~Java~~](././Java/anagrams.java) |
|     | 48 | Rotate Image | Swift | Java |
|     | 47 | Permutations II | Swift | [~~Java~~](././Java/permutations-ii.java) |
|     | 46 | Permutations | Swift | [~~Java~~](././Java/permutations.java) |
|     | 45 | Jump Game II | Swift | [~~Java~~](././Java/jump-game-ii.java) |
|     | 44 | Wildcard Matching | Swift | [~~Java~~](././Java/wildcard-matching.java) |
|     | 43 | Multiply Strings | Swift | [~~Java~~](././Java/multiply-strings.java) |
|  X  | 42 | Trapping Rain Water | [~~Swift~~](././Swift/trapping-rain-water.swift) | [~~Java~~](././Java/trapping-rain-water.java) |
|     | 41 | First Missing Positive | Swift | Java |
|     | 40 | Combination Sum II | Swift | [~~Java~~](././Java/combination-sum-ii.java) |
|     | 39 | Combination Sum | Swift | [~~Java~~](././Java/combination-sum.java) |
|     | 38 | Count and Say | Swift | Java |
|     | 37 | Sudoku Solver | Swift | [~~Java~~](././Java/sudoku-solver.java) |
|     | 36 | Valid Sudoku | Swift | Java |
|     | 35 | Search Insert Position | Swift | [~~Java~~](././Java/search-insert-position.java) |
|     | 34 | Search for a Range | Swift | Java |
|     | 33 | Search in Rotated Sorted Array | Swift | [~~Java~~](././Java/search-in-rotated-sorted-array.java) |
|  X  | 32 | Longest Valid Parentheses | [~~Swift~~](././Swift/longest-valid-parentheses.swift) | [~~Java~~](././Java/longest-valid-parentheses.java) |
|     | 31 | Next Permutation | Swift | [~~Java~~](././Java/next-permutation.java) |
|     | 30 | Substring with Concatenation of All Words | Swift | Java |
|  X  | 29 | Divide Two Integers | [~~Swift~~](././Swift/divide-two-integers.swift) | [~~Java~~](././Java/divide-two-integers.java) |
|     | 28 | Implement strStr() | [~~Swift~~](././Swift/implement-strstr.swift) | Java |
|     | 27 | Remove Element | Swift | [~~Java~~](././Java/remove-element.java) |
|  X  | 26 | Remove Duplicates from Sorted Array | [~~Swift~~](././Swift/remove-duplicates-from-sorted-array.swift) | [~~Java~~](././Java/remove-duplicates-from-sorted-array.java) |
|     | 25 | Reverse Nodes in k-Group | Swift | [~~Java~~](././Java/reverse-nodes-in-k-group.java) |
|  X  | 24 | Swap Nodes in Pairs | [~~Swift~~](././Swift/swap-nodes-in-pairs.swift) | [~~Java~~](././Java/swap-nodes-in-pairs.java) |
|  X  | 23 | Merge k Sorted Lists | [~~Swift~~](././Swift/merge-k-sorted-lists.swift) | [~~Java~~](././Java/merge-k-sorted-lists.java) |
|  X  | 22 | Generate Parentheses | [~~Swift~~](././Swift/generate-parentheses.swift) | [~~Java~~](././Java/generate-parentheses.java) |
|  X  | 21 | Merge Two Sorted Lists | [~~Swift~~](././Swift/merge-two-sorted-lists.swift) | [~~Java~~](././Java/merge-two-sorted-lists.java) |
|     | 20 | Valid Parentheses | [~~Swift~~](././Swift/valid-parentheses.swift) | Java |
|     | 19 | Remove Nth Node From End of List | [~~Swift~~](././Swift/remove-nth-node-from-end-of-list.swift) | Java |
|     | 18 | 4Sum | Swift | Java |
|  X  | 17 | Letter Combinations of a Phone Number | [~~Swift~~](././Swift/letter-combinations-of-a-phone-number.swift) | [~~Java~~](././Java/letter-combinations-of-a-phone-number.java) |
|     | 16 | 3Sum Closest | Swift | Java |
|     | 15 | 3Sum | Swift | [~~Java~~](././Java/3sum.java) |
|     | 14 | Longest Common Prefix | Swift | [~~Java~~](././Java/longest-common-prefix.java) |
|  X  | 13 | Roman to Integer | [~~Swift~~](././Swift/roman-to-integer.swift) | [~~Java~~](././Java/roman-to-integer.java) |
|     | 12 | Integer to Roman | [~~Swift~~](././Swift/integer-to-roman.swift) | Java |
|     | 11 | Container With Most Water | [~~Swift~~](././Swift/container-with-most-water.swift) | Java |
|     | 10 | Regular Expression Matching | Swift | Java |
|     | 9 | Palindrome Number | [~~Swift~~](././Swift/palindrome-number.swift) | Java |
|     | 8 | String to Integer (atoi) | Swift | Java |
|  X  | 7 | Reverse Integer | [~~Swift~~](././Swift/reverse-integer.swift) | [~~Java~~](././Java/reverse-integer.java) |
|     | 6 | ZigZag Conversion | [~~Swift~~](././Swift/zigzag-conversion.swift) | Java |
|     | 5 | Longest Palindromic Substring | [~~Swift~~](././Swift/longest-palindromic-substring.swift) | Java |
|  X  | 4 | Median of Two Sorted Arrays | [~~Swift~~](././Swift/median-of-two-sorted-arrays.swift) | [~~Java~~](././Java/median-of-two-sorted-arrays.java) |
|     | 3 | Longest Substring Without Repeating Characters | [~~Swift~~](././Swift/longest-substring-without-repeating-characters.swift) | Java |
|  X  | 2 | Add Two Numbers | [~~Swift~~](././Swift/add-two-numbers.swift) | [~~Java~~](././Java/add-two-numbers.java) |
|  X  | 1 | Two Sum | [~~Swift~~](././Swift/two-sum.swift) | [~~Java~~](././Java/two-sum.java) |

repository: hbucius/LeetCode-CodeBase

repo_name: hbucius/LeetCode-CodeBase


text:
# UPDATE

This tool and repo is no longer used nor maintained by pivotaltracker.  If anyone wishes to take over ownership and maintenance, please open an issue.

# Git Branches Resource

Tracks when branches (refs) are added or removed from a [git](http://git-scm.com/) repository,
and returns a list of all current branches whenever any are added or removed.

Used by [Concourse Branch Manager](https://github.com/pivotaltracker/concourse-branch-manager)

## Source Configuration

* `uri`: *Required.* The location of the repository.

* `private_key`: *Optional.* Private key to use when pulling/pushing.
    Example:
    ```
    private_key: |
      <REDACTED_PRIVATE_KEY>
    ```

* `branch_regexp`: *Optional.*  A regular expression selecting the branches you wish to track.
  By default, all branches (i.e. `.*`) are selected.

* `max_branches`: *Optional, default is 20.*  The maximum number of branches to track.  If
  more than this number are selected by `branch_regexp`, an error will be returned.

### Example

Resource configuration for a private repo:

``` yaml
resources:
- name: git-branches
  type: git-branches
  branch_regexp: ".*" # This is the default
  max_branches: 20 # This is the default
  source:
    uri: git@github.com:concourse/git-resource.git
    private_key: |
      <REDACTED_PRIVATE_KEY>
```

## Behavior

### `check`: Check for added or deleted branches since last run.

The repository is cloned (or pulled if already present), if any branches
were added or deleted, or if no version is given, a single version
containing the repo uri and an array of all branches matching the
`branch_regex`, up to `max_branches`, is returned.

### `in`: Clone the repository, at the given ref.

Writes the a hash containing the uri and the selected array of branches to
`git-branches.json` in the destination directory.

### `out`: Push to a repository.

Not implemented.

## Runnings tests locally

* Symlink `assets` dir to `/opt/resource`,
  e.g.: `sudo ln -s /path/to/git-branches-resource/assets /opt/resource`
* Change ownership of dir to local user, e.g. `sudo chown myuser /opt/resource`
* `test/all.sh`
* Manually comment/uncomment test invocations at bottom of individual test
  files to run "focused" tests

## Release Process Notes

* Docker Repo Page: https://hub.docker.com/r/tracker/git-branches-resource/

### Publishing

* Make a git tag and push
* Auth to docker: `docker login`
* Make a docker tag (where "N" matches tag `0.N.0`: `docker tag tracker/git-branches-resource tracker/git-branches-resource:N`
* Push to docker "N" tag: `docker push tracker/git-branches-resource:N`
* Push to docker "latest" tag: `docker push tracker/git-branches-resource`

repository: pivotaltracker/git-branches-resource

branch_name: refs/heads/master

extension: md

gha_language: Shell

license_type: permissive

repo_name: pivotaltracker/git-branches-resource


text:
# otto2.0

A rewrite of @retep's Otto iMessages bot in NodeJS

We're just doing basic framework and testing right now. I will be
doing a bunch of work on this soon enough, becuase exams are coming up
in a few days and I don't feel like studying.

# Only runs on MacOS!
We're using MacOS 10.13 High Sierra

# Install
`npm install` should be fine

- We use [osa-imessage](https://www.npmjs.com/package/osa-imessage) to
do the things, it seems pretty great :ok_hand:
- However, after exploring the chat database, maybe we will have to
  write our own code to handle attachments and such. Hmmm.
- Took a ton of digging around on the internet, but I found on some
  obscure wiki on the 14th page of google results, the `Path()` type in OSA/JSA. Fortunately,
  it works with `osa2`, also by
  [@wtfaremyinitials](https://github.com/wtfaremyinitials/osa2), so
  maybe we'll open a pull request. Anyways, you can now send
  attachments! Although, interestingly, you can't use file paths that
  use your home directory tilde. Ex: `~/Desktop/image.png` doesn't
  work, but `/Users/Bob/Desktop/image.png` works fine.

# TO DO
- [ ] Get basic framework ready
  - [x] Test out sending/receiving module
  - [x] Convert handles to real names *somehow* (Creator of
    `osa-imessage` actually added this in lol)
  - [x] Test out importing external files
  - [ ] Allow use of library.js for all functions that Otto can do
  - [ ] Configurations/settings also in library.js (Location of
    contacts library, etc.)
  - [ ] Allow logging, in a separate file, as an option in library.js
    config section
  - [ ] Support for multiple DMs and/or group chats
- [ ] Write all functions
- [ ] Finish up, allow easy adding of custom functions

license: MIT

gha_language: JavaScript

gha_license_id: MIT


text:
---
Title: .NET Foundation October Update
Author: Jon Galloway
Published: 2018-10-31 22:00:00.0000000
---

Here's the October edition of the .NET Foundation newsletter. Every month, we'll give you a quick overview of the .NET Open Source landscape, including top project news, events, community links and more.

This month's newsletter includes:

News from .NET Foundation member projects

Visual Studio Live keynote

.NET Meetup news

As always, these are available both on our blog and via e-mail: Sign up to get the .NET Foundation Update via e-mail

.NET Foundation Project News

NUnit Framework 3.11.0 Release

NUnit framework 3.11.0 was released this month, including the features highlighted in last month's newsletter. NUnit VSTest adapter 3.11.0 was just released also! One of the fixes is that Mono.Cecil will no longer be overwritten in the test project, unblocking the testing of code that depends on Mono.Cecil. The NUnit team is considering dropping the .NET Framework 2.0 build of NUnit in the next release. We are eager to hear from anyone who may be affected—please join the discussion at https://github.com/nunit/nunit/issues/3070. Thank you!

DNN Summit

DNN Summit is coming up in February 2019 with Jon Galloway as the keynote speaker!

Windows Community Toolkit 5.0

The Windows Community Toolkit graduated to version 5.0. This update introduces the WindowsXamlHost control and wrapped UWP controls for WPF and Windows Forms, new TabView control for UWP, and Weibo .NET Standard service. Read more here.

Visual Studio Live! San Diego Keynote

.NET Foundation Secretary Beth Massi and Executive Director Jon Galloway presented a keynote at Visual Studio Live! San Diego titled .NET Today and Tomorrow on October 9. Visual Studio Magazine did a great write-up of the keynote - take a look!

Thanks @dramel for the awesome writeup on @VSMdev featuring our #VSLive Keynote from @BethMassi and @jongalloway - check it out! #microsoft #dotnet #developertraining https://t.co/yu8UGLg7cq pic.twitter.com/UJGEnqGZww

— Visual Studio Live! (@VSLive) October 10, 2018

Meetups

Our .NET Foundation sponsored .NET Meetup Pro groups continued to see rapid growth month, with lots of in-person events for our .NET Conf Local Events series. Here are some quick stats:

233 Groups (up 25 this past month)

50 Countries

141K Members (added 15K in the past 30 days!)

We've also started sending newsletters to Meetup organizers, including some links for some free swag for their groups. If your meetup hasn't joined yet, you can right here.

Connect with the .NET Foundation online

The .NET Foundation is on Facebook now. Please like our page! We'll post regular updates and interesting things happening with .NET to share.

The .NET Foundation is also on YouTube. Watch community standups and design reviews as well as code-focused shows and interviews across our multiple playlists.

Remember to Subscribe!

Please sign up to get the .NET Foundation Update via e-mail. Don't worry, we want to keep these short, interesting, and low-noise, so we won't overload your e-mail.

repository: dotnet-foundation/website

branch_name: refs/heads/main

gha_language: HTML

repo_name: dotnet-foundation/website


text:
# 01.OS Concept

## Process

### Introdution

**Fundamental OS Concepts**

- Thread
	- Single unique execution context
	- Program Counter, Register, Execution Flags, Stack
- Address Space with Translation
	- Program execute in an **address space** that is distinct from the memory space of the physical machine
- Process
	- An instance of an executing program is a **process** consisting of **an address space** and **one or more threads of control**
- Dual Mode Operation/Protection
	- Only the **system** has the ability to access certain resources
	- The OS and the hardware are protected from user program.
	- User programs are isolated from one another by **controlling the translation** from program virtual address to machine physical address.

**OS Bottom Line: Run Programs**

- ![](img/01-02-01.png)
-  Load instruction and data segments of executable file into memory
-  Create stack and heap
-  Transfer control to it
-  Provide services to it
-  While protecting OS and it

**Execution Sequence**

- ![](img/01-02-02.png)
- Fetch Instruction at PC
- Decode
- Execute
- Write Back to Register/Mem
- PC = Next Instruction(PC)
- Repeat

### First: Thread of Control

- Thread: Single unique execution context
	- PC, Register, Execution Flags, Stack
- A thread is executing on a processor when it's resident in the processor registers.
- PC register holds the address of executing instruction in the thread.
- Registers hold the **context** of thread
	- Stack Pointer, Frame Pointer, Heap Pointer, Data

### Second: Address Space

**Address Space**

- ![](img/01-02-03.png)
- Address space: the set of accessible addresses + state associated with them
	- For a 32-bit processor there are $2^{32} = 4*10^9$ addresses
-  When you read or write to an address
	-  Nothing
	-  Acts like regular memory
	-  Ignores writes
	-  Causes I/O operation (Memory-mapped I/O)
	-  Causes exception (fault)
- Use a single processor to simulate multiple processors (multiplex)
	- Every virtual CPU needs to hold pc, sp, and reg.
	- Save/Load PC, SP, and Reg
	- Timer, voluntary yield, I/O and other things trigger switch.

**Concurrency**

- The basic problem of concurrency involves resources
	- Hardware: single CPU, single DRAM, single I/O devices
	- Multiprogramming API: processes think they have exclusive access to shared resources
- OS has to coordinate all activity
	- Multiple processes, I/O interrupts, ...
- Basic Idea: Use Virtual Machine abstraction
	- Simple machine abstraction for processes
	- Multiplex these abstract machines

**Simple Multiprogramming Technique**

- All virtual CPUs share same non-CPU resources
	- I/O devices the same
	- Memory the same
- Consequence of sharing
	-  Each thread can access the data of every other thread (good for sharing, bad for protection)
	-  Threads can share instructions (good for sharing, bad for protection)

**Protection**

- Operating System must protect itself from user programs
	- Reliability: compromising the operating system generally causes it to crash
	- Security: limit the scope of what processes can do
	- Privacy: limit each process to the data it is permitted to access
	- Fairness: each should be limited to its appropriate share of system resources (CPU time, memory, I/O, etc)
- It must protect User programs from one another
- Primary Mechanism: limit the translation from program address to physical memory space
- Additional Mechanisms
	- Privilege instructions, in/out instructions, special register
	- syscall processing, subsystem implementation

### Third: Process

- Process: execution environment with Restricted Rights
	- Address Space with One or More Threads
	- Owns memory (address space)
	- Owns file descriptors, file system context, ...
	- Encapsulate one or more threads sharing process resources
- Why processes?
	- Protected from each other.
	- OS Protected from them
	- Processes provides memory protection
	- Threads more efficient than processes

### Fourth: Dual Mode Operation

- Hardware provides at least two modes
	- Kernel Mode
	- User Mode
- We need something to support dual mode
	- a bit of state (user/system mode bit)
	- Certain operations / actions only permitted in system/kernel mode
	- User->Kernel transition: sets system mode AND saves the user PC
	- Kernel->User transition: clears system mode AND restores appropriate user PC
- ![](img/01-02-04.png)
- Simple Protection: Base and Bound
	- ![](img/01-02-05.png)
- Types of Mode Transfer
	- Syscall
	- Interrupt
	- Trap or Exception
- Use Interrupt Vector to get the system target address of the **unprogrammed control transfer**.
	- Process A runs
	- Interrupt
	- Switch User Process
	- Resume Procee B State
- Virtual Address Translation
	- ![](img/01-02-06.png)
- Process Control Block
	- Contain
		- Status (running, ready, blocked, ...)
		- Register state (when not ready)
		- Process ID (PID), User, Executable, Priority, ...
		- Execution time, ...
		- Memory space, translation, ...
	- Kernel Scheduler maintains a data structure containing the PCBs
	- Scheduling algorithm selects the next one to run
- Implementing Safe Mode Transfer
	- Carefully constructed kernel code packs up the user process state an sets it aside.
	- Should be impossible for buggy or malicious user program to cause the kernel to corrupt itself.
	- Interrupt processing not be visible to the user process
		- Occurs between instructions, restarted transparently
		- No change to process state
- Kernel Stack Chanllenge
	- Kernel needs space to work
	- To avoid the hacking, cannot put anything on the user stack
	- Two-stack model
		- OS thread has interrupt stack (located in kernel memory) plus User stack (located in user memory)
		- Syscall handler copies user args to kernel space before invoking specific function (e.g., open)
		- ![](img/01-02-07.png)
- Hardware support: Interrupt Control
	- Interrupt Handler invoked with interrupts **disabled**
		- Re-enabled upon completion
		- Non-blocking (run to completion, no waits)
		- Pack it up in a queue and pass off to an OS thread to do the hard work
	- OS kernel may enable/disable interrupts
	- HW may have multiple levels of interrupt
- How do we take interrupts safely?
	- Interrupt vector
		- Limited number of entry points into kernel
	- Kernel interrupt stack
		- Handler works regardless of state of user code
	- Interrupt masking
		- Handler is non-blocking
	- Atomic transfer of control
	- Transparent restartable execution
- Kernel System Call Handler
	- Locate arguments
	- Copy arguments
	- Validate arguments
	- Copy results back

## I/O

## Networks and VM

repository: oneengineer/Assignment-Driven-Learning

repo_name: oneengineer/Assignment-Driven-Learning


text:
# Taxes

Taxes can be applied to [Products and Variants](./products.md), [Shipping methods](./shipping-methods.md) and [Payment
methods](./payments.md).

They can be optionally restricted to specific countries. If such a restriction is defined, the tax will only be
applied if an order is shipped to one of the selected countries. Otherwise the tax will be ignored.

Countries that have no restrictions will be applied worldwide.

You can manage all taxes via `Backend settings > Mall: General > Taxes`.

repository: OFFLINE-GmbH/oc-mall-plugin

branch_name: refs/heads/develop

gha_language: PHP

repo_name: OFFLINE-GmbH/oc-mall-plugin


text:
---
layout: default
---

# 1993-10-18 - What, Me Worry?

## Header Data

From: Duncan Frissell<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: c31c198aaefdaaacc1461e61d62ce05faa59eb2d8d50698d4bba82d2f5becd61

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1993-10-18 13:32:14 UTC

Raw Date: Mon, 18 Oct 93 06:32:14 PDT

## Raw message

```
{% raw  %}From: Duncan Frissell<EMAIL_ADDRESS>Date: Mon, 18 Oct 93 06:32:14 PDT
To<EMAIL_ADDRESS>Subject: What, Me Worry?
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

I realize that Blacknet debate was eons ago in net time (100 to 1
compression net time vs real time?) but I failed to stick my oar in
because I was trying to cope with the 500 messages accumulated while I
took an innocent weekend off.  (Note to Perry -- Not *everyone* has a
Sparc station at home and at work -- some of us can be swamped).

Aside from contract murder, which shouldn't be much more of a problem than
it is now because most people still won't be worth the powder it takes to
blow them up, I don't expect blackmail and dossier abuse to be more of a
problem on Blacknet than it was, say, in 1925.

Why?  Because there may be fewer grounds for blackmail and the damage
possible to a person's reputation will be greatly reduced because
(to Moderns) reputations are much less important.

If you compare what a blackmailer might have threatened to reveal about a
person in 1925 with what Madonna get's paid millions to do live on stage
before thousands of people, you can see the problem.

After all, it doesn't make much sense for a blackmailer to say to you,
"I'm going to tell everyone that you are the practitioner of an
alternative life style that they are teaching in the schools these days."

Reputation was significant in the past because people were stuck in one
small community for their whole lives and they, their children, and
grandchildren would have to be living with their neighbors for the next
hundred years.  This sort of intimacy with "strangers" ended with the
advance of technology, markets, and mass migration.

The nets can only make this worse as even the strangest individuals can
find a home with their fellow "deviates" somewhere in cyberspace.

With the President a philandering, dope smoking, draft dodger; at least
two cabinet jobs held by homosexuals, the mayor of New York an admitted
tax evader; and the rather straight organiation I contract for giving baby
showers for the single mothers as they go off to reproduce; it is hard to
see many grounds for blackmail.

Dope dealers

--- WinQwk 2.0b#1165

{% endraw %}
```

## Thread

+ Return to [October 1993](/archive/1993/10)

+ Return to "[Duncan Frissell <frissell@panix.com>](/authors/duncan_frissell_frissell_at_panix_com_)"

+ 1993-10-18 (Mon, 18 Oct 93 06:32:14 PDT) - What, Me Worry? - _Duncan Frissell<EMAIL_ADDRESS>


text:
# Connect to your meter

## Get an optical probe
The simplest way to start reading data from your meter is via the optical port.
You will need an optical probe to read the data, like [these ones](http://www.optical-probe.de/Optical%20probes/product.html).

There are many makes of probes. Usually each meter manufacturer also sells
a variant, but they can be a bit pricey, however they are usually of good quality.

## Is your meter using direct HDLC or IEC62056-21 Mode E handshake?
This library, as of now, just supports the direct HDLC enabled meters.

When you have a meter using IEC62045-21 you need to start with an IEC62056-21
initiation sequence before you can start the HDLC session.
Meters have it this way to enable users to still read the meter via the optical port
using the simpler IEC62056-21 protocol. Check out our python library for
[IEC62056-21](https://github.com/pwitab/iec62056-21)

## Find out how to address your meter.
When using HDLC you will need to know the physical address to use in HDLC communications.
This is not something that is standardized, and you might have to try different values
to get it to work.

Here are some values we have gathered:

**Manufacturer** | **Meter** | **client physical address** | **server (meter) physical address**
--- | --- | --- | ---
Iskraemeco | AM550 | 1 | 17

## Is your meter protected?

Most meters have at least two association options. You can connect to the public part
via the `public_client` of the meter to read non sensitive data but for reading current and historical values
you will need to use the `management client`

These addresses are reffered as logical addresses. A meter can have several logical
devices in one physical meter (mostly its just one) so the `server_logical_address` is
to address which logical device in the meter you want to connect to and the
`client_logical_address` shows with what kind of client privileges you want to connect
with.

The public client uses `client_logical_address=16` and the management client uses
`client_logical_address=1`.

Other addresses can be used for clients with specific privileges or for pre-established
associations.
This is up the meter manufacturer and/or the companion standard the meter
supports to define.

### Password
A meter can use no security, Low Level Security (LLS) or High Level Security for the
authenticating against the meter

No security means that no password needs to be submitted.

Low Level Security just means a password needs to be submitted.

High level security involves several passes with exchange of challenges between the
client and meter and then verifying those challenges. Several methods of validating
the challenge exists.

* Manufacturer specific
* MD5
* SHA1
* GMAC
* SHA256
* ECDSA

As of now `dlms-cosem` supports HLS-GMAC

### Encryption and authentication

Your meter might enforce encryption and/or authentication of messages. If you don't
have the keys it will be impossible to communicate with your meter.

Each encryption key also have an invocation counter. This is to protect the meter from
replay attacks. After each use the invocation counter needs to be incremented. If
the meter receives a message with an invocation counter that is the same or lower than
in the last message it will discard the message.

If you don't know the current invocation counter you can usually read it from the meter
using the public client.

It is also possible to sign messages and use a public key infrastructure for
encryption, but it is not yet supported in `dlms-cosem`

### Security Suite
A meter also usually adheres to a security suite (0-2). All this does is defining what
cryptographic functions should be used for certain cryptographic operations.

**Operation** | **Security Suite 0** | **Security Suite 1** | **Security Suite 2**
--- | --- | --- | ---
Authenticated Encryption | AES-GCM-128 | AES-GCM-128 | AES-GCM-256
Key Transport | AES-GCM-128 | AES-GCM-128 | AES-GCM-256
Digital Signature | NA | ECDSA with P-256 | ECDSA with P-384
Key Agreement | NA | ECDSA with P-256 | ECDSA with P-384
Hash | NA | SHA-256 | SHA-384
Compression | NA | v.44 | v.44

For now the most important take away from the security suite is to make sure you are
using keys of the correct length.

## Simple example

```python3
from dlms_cosem.clients.dlms_client import DlmsClient
from dlms_cosem import cosem, enumerations

usb_port: str = "/dev/tty.usbserial-A704H991"

# public client
dlms_client = DlmsClient.with_serial_hdlc_transport(serial_port=usb_port,
                                                    server_logical_address=1,
                                                    server_physical_address=17,
                                                    client_logical_address=16, )

# Send HDLC connection and send an ApplicationAssociationRequest (AARQ)
dlms_client.associate()

# read an invocation counter
data: bytes = dlms_client.get(
    cosem.CosemAttribute(interface=enumerations.CosemInterface.DATA,
                         instance=cosem.Obis(0, 0, 0x2B, 1, 0), attribute=2, ))

# Release the association by sending a ReleaseRequest and then closing the HDLC connection
dlms_client.release_association()

# alternatively use the contextmanager .session() to handle the association and
# connection automatically.
with dlms_client.session() as client:
    data: bytes = client.get(
        cosem.CosemAttribute(interface=enumerations.CosemInterface.DATA,
                             instance=cosem.Obis(0, 0, 0x2B, 1, 0), attribute=2, ))

```

repository: riahtu/dlms-cosem

repo_name: riahtu/dlms-cosem


text:
---
layout: default
title: MATLAB tagged articles
tag: matlab
---

[MATLAB (matrix laboratory)](https://mathworks.com) is a multi-paradigm numerical computing environment and fourth-generation programming language. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, Java, Fortran and Python.

{% include tagged_posts_list.html %}

extension: markdown


text:
# Filesystems

Most workflows represent their inputs and outputs in the form of files. Those files are stored in filesystems. There exists many filesystems. This section describes which filesystems Cromwell supports.

## Overview

Filesystems are configurable. The `reference.conf`, which is the configuration inherited by any Cromwell instance, contains the following:

```hocon
# Filesystems available in this Crowmell instance
# They can be enabled individually in the engine.filesystems stanza and in the config.filesystems stanza of backends
# There is a default built-in local filesytem that can also be referenced as "local" as well.
filesystems {
  drs {
      class = "cromwell.filesystems.drs.DrsPathBuilderFactory"
      # Use to share a unique global object across all instances of the factory
      global {
        # Class to instantiate and propagate to all factories. Takes a single typesafe config argument
        class = "cromwell.filesystems.drs.DrsFileSystemConfig"
        config {
          resolver {
            url = "https://martha-url-here or https://drshub-url-here"
            # The number of times to retry failures connecting or HTTP 429 or HTTP 5XX responses, default 3.
            num-retries = 3
            # How long to wait between retrying HTTP 429 or HTTP 5XX responses, default 10 seconds.
            wait-initial = 30 seconds
            # The maximum amount of time to wait between retrying HTTP 429 or HTTP 5XX responses, default 30 seconds.
            wait-maximum = 60 seconds
            # The amount to multiply the amount of time to wait between retrying HTTP or 429 or HTTP 5XX responses.
            # Default 1.25, and will never multiply the wait time more than wait-maximum.
            wait-mulitiplier = 1.25
            # The randomization factor to use for creating a range around the wait interval.
            # A randomization factor of 0.5 results in a random period ranging between 50% below and 50% above the wait
            # interval. Default 0.1.
            wait-randomization-factor = 0.1
          }
        }
      }
   }
  gcs {
    class = "cromwell.filesystems.gcs.GcsPathBuilderFactory"
  }
  s3 {
    class = "cromwell.filesystems.s3.S3PathBuilderFactory"
  }
  http {
    class = "cromwell.filesystems.http.HttpPathBuilderFactory"
  }
}
```

It defines the filesystems that can be accessed by Cromwell.
Those filesystems can be referenced by their name (`drs`, `gcs`, `s3`, `http` and `local`) in other parts of the configuration.

**Note:**
- **S3 filesystem is experimental.**
- **DRS filesystem has initial support only. Also, currently it works only with [GCS filesystem](../GoogleCloudStorage) in [PapiV2 backend](http://cromwell.readthedocs.io/en/develop/backends/Google).**

Also note that the local filesystem (the one on which Cromwell runs on) is implicitly accessible but can be disabled.
To do so, add the following to any `filesystems` stanza in which the local filesystem should be disabled: `local.enabled: false`.

### Engine Filesystems

Cromwell is conceptually divided in an engine part and a backend part. One Cromwell instance corresponds to an "engine" but can have multiple backends configured.
The `engine.filesystems` section configures filesystems that Cromwell can use when it needs to interact with files outside of the context of a backend.

For instance, consider the following WDL:

```wdl
version 1.0

workflow my_workflow {
    String s = read_string("/Users/me/my_file.txt")
    output {
        String out = s
    }
}
```

This workflow is valid WDL and does not involve any backend, or even a task. However it does involve interacting with a filesystem to retrieve the content of `my_file.txt`
With a default configuration Cromwell will be able to run this workflow because the local filesystem is enabled by default.
If the file is located on a different filesystem (a cloud filesystem for instance), we would need to modify the configuration to tell Cromwell how to interact with this filesystem:

```hocon
engine {
  filesystems {
    gcs {
      auth = "application-default"
    }
  }
}
```

(See the [Google section](../backends/Google.md) for information about the `auth` field.)

We can now run this workflow

```wdl
version 1.0

workflow my_workflow {
    String s = read_string("gs://mybucket/my_file.txt")
    output {
        String out = s
    }
}
```

#### Default "engine" Filesystems

If you don't change anything in your own configuration file, the following default is inherited from `reference.conf`:
```
engine {
  filesystems {
    local {
      enabled: true
    }
    http {
      enabled: true
    }
  }
}
```

**Note**: since our configuration files are HOCON, to disable filesystems you *must* add `enabled: false` into your
overriding configuration file. It is **not** sufficient to simply omit a filesystem from your stanza.

For example: adding this to your configuration file will remove the `http` filesystem and leave `local` for use in the
engine:
```
engine {
  filesystems {
    http {
      enabled: false
    }
  }
}
```

Whereas this example will leave `http` unchanged and merely re-assert the default enabling of `local`. In other
words, **this will do nothing**:
```
engine {
  filesystems {
    local {
      enabled: true
    }
  }
}
```

### Backend Filesystems

Similarly to the engine, you can also configure backend filesystems individually. Some backends might require the use of a specific filesystem.
For example, the [Pipelines API](../tutorials/PipelinesApi101.md) backend requires Google Cloud Storage.
Let's take another example:

```wdl
version 1.0

task my_pipelines_task {
    input {
        File input_file
    }
    String content = read_string(input_file)

    command {
        echo ~{content}
    }

    runtime {
        docker: "ubuntu"
    }
}
workflow my_workflow {
    call my_pipelines_task { input: input_file = "gs://mybucket/my_file.txt" }
}
```

Suppose this workflow is submitted to a Cromwell running a Pipelines API backend. This time the `read_string` function is in the context of a task run by the backend.
The filesystem configuration used will be the one in the `config` section of the Pipelines API backend.

### Supported Filesystems

-  Shared File System (SFS)

-  Google Cloud Storage (GCS) - [Cromwell Doc](GoogleCloudStorage.md) / [Google Doc](https://cloud.google.com/storage/)

-  Simple Storage Service (S3) - [Amazon Doc](https://aws.amazon.com/documentation/s3/)

-  HTTP - support for `http` or `https` URLs for [workflow inputs only](http://cromwell.readthedocs.io/en/develop/filesystems/HTTP)

- File Transfer Protocol (FTP) - [Cromwell Doc](FileTransferProtocol.md)

repository: broadinstitute/cromwell

gha_language: Scala

repo_name: broadinstitute/cromwell


text:
# Berggrenia aurantiaca var. cyclospora Cooke, 1879 VARIETY

#### Status
SYNONYM

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
Grevillea 15(no. 73): 16 (1886)

#### Original name
Berggrenia aurantiaca var. cyclospora Cooke, 1879

### Remarks
null

repository: mdoering/backbone

path: /life/Fungi/Ascomycota/Pezizomycetes/Pezizales/Berggrenia/Berggrenia cyclospora/ Syn. Berggrenia aurantiaca cyclospora/README.md

repo_name: mdoering/backbone


text:
---
category: definition
slug: /definition/analytics
date: 2020-07-06T00:00:00.000Z
title: Analytics
---
## What is Analytics

Analytics can be defined as the systematic computational analysis of data or statistics. Analytics is the science of arranging and interpreting data using computers to derive meaningful conclusions from raw data which can then be used to make informed decisions in a number of fields. Analytics are derived by applying statistics, computer programming, and operations research with the aim of quantifying and getting insights into the actual meanings of raw unsorted data.

## Why are Analytics needed?

We are producing data at tremendous rates. The data traffic on the internet currently is 35 petabytes every minute. All this data is important, but it doesn’t mean anything without being sorted and classified and that is where analytics come into play.

The greatest use of analytics is for marketing, especially internet marketing. Without analytics, marketing is just like pointing towards New York City and saying that the building is somewhere in that city, and analytics is the science that pinpoints the building among all the skyscrapers of the city.
Making meaningful and informed marketing decisions without analytics is just next to impossible. You might get lucky with marketing without the intel from analytics, but that success won’t be consistent because you don’t know what made you successful in the first place. Analytics are needed to pinpoint the subjects of marketing so that the marketing strategy you make is effective and efficient.

However, marketing is not the only field where analytics are used. Analytics are also used by politicians to judge the political bias of a population and design their campaign in such a way as will maximize the possibility of success.
Basically, every field where there are a lot of people involved and their age, political inclinations, buying preferences and choices are to be taken into account to make a good decision, analytics is the handiest tool that can be used to make sure things are going as planned and the efforts being done are pointed in the right direction. Before the era of analytics marketing and political campaigns used to be completely random and were pointed towards the entire population like newspaper ads and TV commercials. Now, the artificially intelligent systems work out the analytics which helps direct efforts in such a direction as is the most suitable and efficient.

## Application of Analytics

With the technology becoming more in reach of people and with all the advancements in the field of data analytics and big data, a lot of industries are enjoying the benefits of this technology which once used to be out of reach for a lot of current users. As a matter of fact, the world is now past the time when companies had to decide whether or not they should be using analytics. Pretty much every sector is now using this technology and the ones not using it are being outperformed by the rivals who use it. Some of the industries that use analytics are:
* Healthcare
* Retail
* Manufacturing
* Financial Services
* Banking and Insurance
* Education
* Transportation
* Supply Chain Management
* Logistics
* Agriculture and Farming
* Energy
* Government and public service
* Politicians
* Hospitality
* Professional Services
* Internet Marketing
* Sports
* Businesses built on data

repository: bdkiran/datarise

repo_name: bdkiran/datarise


text:
# Generative Adversarial Networks

In this folder there is a colection of generative adversarial network (GAN) examples. GANs are considered by some of the
top deep learning scientists the most important advance for the field in the last 10 years. See this [quora answer]
(https://www.quora.com/What-are-some-recent-and-potentially-upcoming-breakthroughs-in-deep-learning) by
LeCun. Specifically they are the most important advance in unsupervised learning.

GAN were first proposed in 2014 by [Goodfellow et al](https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf). Here you will find a complete [explanation](https://code.facebook.com/posts/1587249151575490/a-path-to-unsupervised-learning-through-adversarial-networks).

NOTE: to run this example you will have to install [opencv](http://opencv.org/).

## Download database

To download the MNIST database:

    cd data
    python download_mnist_data.sh

## Run Generative Adversarial Networks

To run an example of GAN using MNIST character recognotions database:

* GAN with MNIST semisupervised:

    cd python/mxnet
    python gan_mnist_semisupervised.py


text:
# Setup

## Windows

Windows machines please download and go through the installer for [GitBash](https://git-scm.com/downloads).

Then download [Anaconda](https://www.continuum.io/downloads). Click the download for Python 3.6. Run the installer.

## Mac

Mac machines please download [Anaconda](https://www.continuum.io/downloads). Click the download for Python 3.6 and the Graphical Installer. Run the installer.

---

## Everyone

If you don't have a Twitter account, please [create one](https://twitter.com/signup?lang=en). Then [create an App](https://apps.twitter.com) for Twitter, for the 'Website' prompt, use a placeholder as Twitter suggests. Once created, click into it and click the 'Keys and Access Tokens' tab. You should see 'Consumer' keys:

- Consumer Key (API Key)
- Consumer Secret (API Secret)

Scroll down and you should also see 'Access' keys:

- Access Token
- Access Token Secret

Copy these four numbers into a readily-accessible file on your computer, and do not share these keys.


text:
# script-skeleton
## What's this?
A little helper for creating skeleton of scripts with hierarchy, to be filled later with content.

It generates something like this:

```
page1
    pan1
        sq1:

    pan2 - Nothing Here!
    pan3
        sq1
            part1:

            part2:

            sidenote1:

        sfx1:

    pan4
        sfx1:

        b1:

        b2:

        sfx2:

    pan5
        b1:

        sfx1:
```

Just by giving this:

```
BFS-ish mode:
"""5pan:
sq
0
sq(2part sidenote) sfx
sfx 2b sfx
b sfx"""
```

or this:

```
DFS-ish mode:
"""pan(sq)
pan(0)
pan(sq(2part sidenote) sfx)
pan(sfx 2b sfx)
pan(b sfx)"""
```

## How to use

Clone this repository and install.

```
$ git clone https://github.com/marrcio/script-skeleton
```

```
$ cd script-skeleton
$ python setup.py install
OR
$ pip install ./script-skeleton/
```

```
$ ipython
from scriptskeleton import ScriptSkeleton
```

Give it a sring that resembles `identifier number identifier number`. Very forgiving, don't worry.

Example: "page1 page36", "block 3 block 50", "from the token 37 to the token66"

This will specify the name of the first level blocks and the number of them.
```
>>> ss = ScriptSkeleton('page1 page36')
```

Now for every block created (e.g. 36 pages) feed it with internal blocks.

* There are two possible ways of feeding: BFS-ish and DFS-ish.
* For BFS-ish behaviour, give it a NUMBER, ID and end the line with':'. With this, the next NUMBER lines will specify what to give to blocks of ID.
* For DFS-ish behaviour, give it NUMBER ID PARENTHESIS. Anything inside parenthesis will be a son of the current element.
* For an empty element, put a line with a single 0

Illustrating this:
```
>>> ss.feed("""5pan:
sq
0
sq(2part sidenote) sfx
sfx 2b sfx
b sfx""")
```

Means, in order of lines:
* In the current block, create 5 'pan' which will be described in the next five lines.
* on pan1, attach a 'sq' element.
* on pan2, don't attach anything.
* on pan3, attach a 'sq' which is father of 2 'part' element and a 'sidenode' and a 'sfx'
* on pan4, attach a 'sfx', then 2 'b' then another 'sfx'
* on pan5, attach a 'b' then a 'sfx'

Running this would create the first example structure.

Repeating this process will create all subsequent blocks. You can check the status at any time:

```
>>> ss.status()
```

And also, you can always check the preview of an specific block:

```
>>> ss.preview()   # The last completed block
>>> ss.preview(3)  # The block with number 3 it its name.
```

Once done, everything can be saved to a 'filename.txt' with:
```
ss.to_file('filename.txt')
```

## Templating

An alternative to doing incremental work is writing all the changes in a file and run it with
```
$ python template.py
```

or
```
$ ipython
>>> %run template.py
>>> ss.preview() # or ss.status() or anything else.
```

repository: marrcio/script-skeleton

repo_name: marrcio/script-skeleton


text:
---
title: frequencies
tags: array,object,intermediate
---

Creates an object with the unique values of an array as keys and their frequencies as the values.

- Use `Array.prototype.reduce()` to map unique values to an object's keys, adding to existing keys every time the same value is encountered.

```js
const frequencies = arr =>
  arr.reduce((a, v) => {
    a[v] = a[v] ? a[v] + 1 : 1;
    return a;
  }, {});
```

```js
frequencies(['a', 'b', 'a', 'c', 'a', 'a', 'b']); // { a: 4, b: 2, c: 1 }
frequencies([...'ball']); // { b: 1, a: 1, l: 2 }
```


text:
# Php5-Apache2-armhf
- This is the dockerfile for building image and use php5 which is already outdated.
- Thanks for hugobaltz on dockerhub for provide me the initial image and I add up vim in order to edit site configuration.
- To build the new image just do the following steps:
-	To build image:
- 	1. $ git clone https://github.com/aapichart/php5-apache2-armhf.git # into your home directory
-	2. $ cd php5-apache2-armhf
-	3. $ docker build .
-	4. $ docker build -t yourusername/example-node-app
-	To Upload final image to dockerhub
-	1. $ docker login
-	2. $ docker tag yourusername/example-node-app yourdockerhubusername/example-node-app:v1
-	3. $ docker push yourdockerhubusername/example-node-app:v1
-	To Pull image back to use
-	1. $ docker pull yourdockerhubusername/example-node-app:v1
-   2. $ mkdir -p /home/apichart/mysite/rasp4.local/public - create public folder because apache2 was set for the documentroot folder
-	3. $ docker run -d -p 8080:80 -v /home/apichart/works/mysite/rasp4.local/:/var/www/
-		\ --name php5a2-armhf
-		\ yourdockerhubusername/example-node-app:v1


text:
react-select-uk
============

A `dropdown` control element (from [uikit](http://getuikit.com)) for [React](http://facebook.github.io/react/index.html) with fallback to native
`<select>` element for server-rendering, mobile-devices.

## Installation

The easiest way to use this dropdown is to install it from NPM and include it in your own React
build process (using [Browserify](http://browserify.org), etc).

```sh
npm install react-select-uk --save
```

## Usage

react-select-uk use custom uk-dropdown.

On server rendering it will return html `select` element for capability with disabled js.

Also by default, if user use touch-device, it will use html `select` just because it is more comfortable then drop-down.

```javascript

var UKSelect = require('react-select-uk');

<div>
  <UKSelect value={1} options={[
    { name: 'one', value: 1 },
    { name: 'two', value: 2 },
    { name: 'three', value: 3 }
  ]}/>
</div>

```

## Further options

	Property	|	Type		|	Default		|	Description
:-----------------------|:--------------|:--------------|:--------------------------------
className | string | `''` | css class for html `select` element. also is passed to children
classDropDown | string | `''` | css class for uk-drop-down element
classButton | string | `''` | css class for uk-drop-down button
onChange  | function| `function(){}` | onChange listener 1st argument is an value of selected options
options   | object[] | `[]` | array of object with fields `'name'` (displayed name of value), `'value'`
autoFocus | boolean | `false` | html autofocus prop
disabled | boolean | `false` | html disabled prop
form | DOMElement | `undefined` | html form prop
multiple | boolean | `false` | html multiple prop
name | string | `'select'` | html name prop
required | boolean | `false` | html required prop
size | number | `1` | html size prop
tabIndex | number | `undefined` | html tabindex prop
accessKey | string | `undefined` | html accesskey prop
value | string/number or [] | `undefined` | value of select and dropdown
defaultValue | string/number or [] | `undefined` | default (or init) value of select and dropdown

## LICENSE - "MIT License"

Copyright (c) 2016 Konstantine Petryaev

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

repository: NumminorihSF/react-select-uk

repo_name: NumminorihSF/react-select-uk


text:
---
title: "Infirmity"
playwright: "Boo Jackson and Tom Heath"
student_written: true
period: Autumn
season: "Fringe"
season_sort: 80
date_start: 2014-11-17
date_end: 2014-11-18
venue: New Theatre Studio A

cast:
  - role: Connor Matthews
    name: Ben Williamson
  - role: Charlotte Lawrence
    name: Emma McDonald
  - role: Dr. Peter Johnson
    name: Will Berrington

crew:
  - role: Director
    name: Boo Jackson
  - role: Director
    name: Tom Heath
  - role: Lighting Designer
    name: Nathan
  - role: Technical Director
    name: Nathan
  - role: Technical Operator
    name: Joanne Blunt
  - role: Costumes & Make-up
    name: Maddie Hardy

assets:
  - type: poster
    image: 8FX9qfp
  - type: trailer
    video: 2k2w3KJ
    title: Show Trailer
  - type: backstage
    video: p8s6ms3
    title: Backstage At

prod_shots: jDNnN5

links:
  - type: Review
    href: http://www.impactnottingham.com/2014/11/nottingham-fringe-review-infirmity/
    snapshot: HRbqZ
    publisher: Impact Nottingham
    author: George McGuire
    title: "Nottingham Fringe Review - Infirmity"
    date: 2014-11-18
    rating: 9/10
    quote: "Infirmity is a great piece of original writing, full of laughter and heart, performed by a cast who make it even more so. I certainly look forward to what Jackson and Heath do next."

trivia:
  - quote: The play was initially completed in the Easter of 2014, then redrafted over the summer.
    name: Boo Jackson
    submitted: 2014-11-16
---

Connor and Charlotte have been together since university. Now in their early 30’s, they’re struggling to maintain their relationship, so have sought help from a psychotherapist: Peter. Through a series of flashbacks, Peter explores the couple’s past, and begins to uncover the potential contributing issues. However, all is not as it seems, and a dark secret is being kept that threatens to tear Connor and Charlotte apart…

repository: newtheatre/history-project

repo_name: newtheatre/history-project


text:
# ugv_navigation_goals

## About

This is a ROS package comprising of the rulah_navigation_goals ROS node software.
It was developed at the Spring of 2018 by **Georgios Kamaras** as a complementary
software to his undergraduate thesis in **Embodied Artificial Intelligence**. More
specifically, ugv_navigation_goals consists of an _offline path planner_ for incline
terrain navigation. This planner takes as input facts about a specific incline
terrain region, like degree of slope, the robot's start position and its goal
position and lethal obstacles that exist in this terrain region and outputs a vector
of waypoints that have been deduced as the _recommended_ for the robot to traverse
the incline terrain region with safety. This software package serves as a
_proof of concept_ for its authors proposal regarding the utilization of Bezier curves
to construct a smooth curved path from the robot's start position, on the start of
the slope, to its goal position, significantly higher in the slope.

## Usage

### Prerequisites

* To use this software to its full extend, your robot should run on the ROS middleware.
* Prior to launching the rulah_navigation_goals node you should have already launched
your robot's specific packages and especially its **move_base** node.

### Launch

Type:
> roslaunch rulah_navigation_goals rulah_navigation_goals.launch

### Experimental Validation

For the experimental validation of our work we used the [Clearpath Husky](https://www.clearpathrobotics.com/husky-unmanned-ground-vehicle-robot/)
UGV in simulation and we created three simulation environments, which can be found
on the address <https://github.com/yorgosk/husky_simulator>.

For the simulations, the [Husky Gazebo](https://github.com/yorgosk/husky_simulator)
ROS package was used, with the husky\_roboskel\_playground\_world.launch
launch file. The robot was placed in the start position manually, using the
teleop\_twist\_keyboard ROS package, and its move\_base was initialized using the
[Husky Navigation](https://github.com/husky/husky/tree/kinetic-devel/husky_navigation)
ROS package, with the launch file move\_base\_mapless\_demo.launch. We used the
present ugv_navigation_goals package by calling the _Rulah Navigation Goals_
ROS node with the rulah\_navigation\_goals.launch launch file.

## Contact & Feedback

* Georgios Kamaras


text:
# ember-cli

* https://github.com/ember-cli/ember-cli
* always [use Ember CLI][future-proof]
* [ember-cli/ARCHITECTURE.md](https://github.com/ember-cli/ember-cli/blob/master/ARCHITECTURE.md)
* `models` directory
  *
* `preprocessors` module
* [`EmberApp` constructor](https://github.com/ember-cli/ember-cli/blob/master/lib/broccoli/ember-app.js)
  * options
    * trees
  * `project`
    * `name()`
  * `env`
    * `'production'`
  * `registry`
  * `trees`
* blueprints
  * [addons using private npm modules](https://github.com/ember-cli/ember-cli/issues/4256)
* options
  * [`storeConfigInMeta`](https://github.com/ember-cli/ember-cli/pull/2298) allows to get _equality between builds where only the config changes_.

## Addons

* initially [implemented by Robert Jackson](https://github.com/ember-cli/ember-cli/pull/1025), June 13, 2014
* [Introducing Ember CLI Addons](https://dockyard.com/blog/2014/06/24/introducing_ember_cli_addons) by Robert Jackson, June 24th, 2014
* http://hashrocket.com/blog/posts/a-compendium-of-hooks-in-embercli

## Writing addons

* `package.json`
  * `keywords: [ 'ember-addon' ]`
* `index.js`
  * should export plain object with `included` and `treeFor` properties
  * initial implementation exported constructor which build such object

### Experience, `ember-cli-super-number`

See [Building Ember CLI Addons Simply][jj-addon-post] blog post by Jonathan
Jackson describing how [ember-cli-super-number][] was converted to addon.

[jj-addon-post]: http://hashrocket.com/blog/posts/building-ember-addons
[ember-cli-super-number]: https://github.com/rondale-sc/ember-cli-super-number

### Experience, `ember-pikaday`

* http://edgycircle.com/blog/2014-creating-a-datepicker-ember-addon/

### Converting libraries to Ember CLI addons

* https://gist.github.com/kristianmandrup/ae3174217f68a6a51ed5
* written on September 28th, 2014

repository: irnc/explore-ember

repo_name: irnc/explore-ember


text:
[![PyPI version](https://badge.fury.io/py/pyombi.svg)](https://badge.fury.io/py/pyombi)
[![Downloads](https://pepy.tech/badge/pyombi)](https://pepy.tech/project/pyombi)

# pyombi

This is a project for retrieving information from an Ombi instance using their API.

# Installation

Run the following to install:
```python
pip install pyombi
```

# Usage

#### Creating an object of your Ombi instance

**Note:** You have to supply either a `password` or an `api_key` to successfully authenticate. The `api_key` will take precedence if both are supplied.

```python
import pyombi

ombi = pyombi.Ombi(
    ssl=True,
    host="<IP_ADDRESS>",
    port="5000",
    urlbase="ombi/",
    username="MyUsername",
    password="MyPassword",
    api_key="pixf64thuh2m7kbwwgkqp52yznbj4oyo"
)
```

#### Authenticate

```python
ombi.authenticate()
```

#### Testing connection to Ombi

```python
try:
    ombi.test_connection()
except pyombi.OmbiError as e:
    print(e)
    return
```

#### Retrieving data
```python
movies = ombi.movie_requests
tv = ombi.tv_requests
music = ombi.music_requests

total = ombi.total_requests
```

#### Searching

```python
movie_search = ombi.search_movie("Movie Name")
tv_search = ombi.search_tv("TV show name")
music_search = ombi.search_music_album("Album name")
```

#### Requesting
```python
ombi.request_movie("theMovieDbId")
ombi.request_tv("theTvDbId", request_latest=True)
ombi.request_music("foreignAlbumId")
```

# License

This project is licensed under the MIT License - see the LICENSE.txt file for details.

repository: larssont/pyombi

gha_language: Python

repo_name: larssont/pyombi


text:
---
layout: post
title: Hacking Oregon's Hidden Political Connections
lang: en
revealjs-url: ''  # for absolute path to lib/ and css/ folders use '/'
theme: black.css
transition: fade  # none/fade/slide/convex/concave/zoom
center: false
---

# [Hacking Oregon's Hidden Political Connections](http://totalgood.github.io/talks/2015-10-27-Hacking-Oregon-Hidden-Political-Connections.html)

A [TotalGood](http://totalgood.com) project

v0.0.4

---

## Material

- [Data](http://totalgood.github.io/hackor)
- Code: [bit.ly/hackor-notebooks](https://github.com/totalgood/hackor/tree/master/)
- [RFP](http://totalgood.com/blog/invitation-for-machine-intelligence-grant-proposals-winter-2016/)
- [Hack Oregon](http://hackoregon.com) by [Cat](http://www.zoominfo.com/p/Catherine-Nikolovski/-2111007541)
- [Behind the Curtain](http://behindthecurtain.hackoregon.com) by [Ken](https://www.linkedin.com/in/kwhaler)
- [Force Directed Graph](http://hobsonlane.com/pug/pug/miner/static/pac_nlp_force_graph.html)

---

# Agenda:

For Hack Oregon we explored the data in unusual ways

1. Pandas as a DB
2. Find Connections (FKs, PKs, *other* DBs)
3. TFIDF on a DB table
4. TFIDF similarity
5. Similarity Similarity

---

# Intro: 1

Pandas as a relational DB

- Identify foreign keys automatically
- Use FKs to do join SQL-like queries

---

# Intro: 2

Intersect large sets

- AM emails in BehindTheCurtain DB?
- 10 GB mysql dump >> dozens of CSVs
- Load 50M emails efficiently
- Intersect emails with public records

---

# Intro: 3

Restructure a DB

- Why?
- How?
- Restructure (TFIDF)
    - Raw python
    - Sklearn

---

# Intro: 4

TFIDF to detect similarity between records

- cluster Oregon PACs by their "mission"
- d3 force-directed graph of PAC similarity
- compare to DG of financial transactions

---

# Intro: 5

Similarity between similarity matrices

**SAY**
(TFIDF)

vs.

**DO**
(Transactions)

---

# 3. Restructure DB

## Why?

- Squish fields into a string?
- Vectorizing later anyway, right?

## Because

- Dimensions are vaguely defined/understood
- Information "smear" across fields/dimensions

---

# 3. Restructure DB: How?

1. Ignore numbers/dates
2. Stringify each field
3. Stem words
4. Ignore words (are you sure?)
5. Concatenate
6. Split
7. Vectorize/Count

---

# 3. Restructure DB: TFIDF

- Must be sparse to fit in memory
- Explicit python builtins: `Counter`, `defaultdict`
- sklearn

---

# 4. TFIDF Similarity

Large dimensions are scary

- Everything is far apart
- Euclidean distance is meaningless
- Our brains fail

---

# 4. TFIDF Similarity

Vector distances

- **L_1**, L_2, [L_0,  L_inf, L_sup]
- [Fractional Norm](http://citeseer.ist.psu.edu/viewdoc/download?doi=<IP_ADDRESS>.7409&rep=rep1&type=pdf)

---

# 4. TFIDF Similarity

## Cosine Similarity
(similarity = 1/distance)

- Equivalent:
    - Pierson Correlation
    - | **v_1** dot **v_2** | (projection)
    - angle between **v1** and **v2**
- Bounded: [-1, +1]

---

# 5. Similarity Similarity

Cluster Oregon PACs by their "mission"

- d3 force-directed graph of PAC similarity
- compare to DG of financial transactions

---

# Thank You!

- [Thunder](http://github.com/ThunderShiviah)
- [Grimm](https://github.com/TheGrimmScientist)
- [Cat](https://github.com/catnik/) and [Hack Oregon](http://hackoregon.org)
    - Pizza, data, and a cause!
- [Jeremey Tanner](http://jeremytanner.com/)
    - [PyDx](pydx.org) talk "Python for Evil"
- [Total Good](http://totalgood.com)
    - Summer 2015 grant
    - [Open RFP](http://totalgood.com/blog/invitation-for-machine-intelligence-grant-proposals-winter-2016/)!

---


text:
---
layout: post
title: Restart 100 Days of Code
---

## Motivation

So it's quite obvious that I gave up on the previous iteration of 100 days of code (which started in Jan 2017).
Yet, I don't want to give up this training, so I'll try again

## Structured programs to follow

30 days, 30 sites - [techwithtris](http://www.techwithtris.com/)

[30 days Vanilla JS coding challenge](https://javascript30.com/) - wesbos

[freecodecamp](https://www.freecodecamp.com)

[Daily UI Design Challenge](http://www.dailyui.co/)

## Side projects

Charchawale for [makerwala.in](http://makerwala.in/)

## Day 1

### What I've achieved

See the Pen Freelance Portfolio by Aris Huynh (@arishuynhvan) on CodePen.

- I revamped my about page in codepen by following the [bootstrap tutorial on w3schools for company website](https://www.w3schools.com/bootstrap/bootstrap_theme_company.asp)
- I also set up my own free domain with .tech using my student (.edu) email. It's free for a year, so it's good enough for me to use now

### What's next?

- Fix errors of the about page
- Update my website titles for this repo (new title: T.An Elegant Tech)
- Make about page the landing site of the domain link instead of the blog
- Major revamp for the structure of this site
- Post my portfolio on FB (in the far future when my other sites of portfolio are more ready)
- Make this site progressive so I can view it on my phone
- Find a more user-friendly way to edit the site

#### Actionables on About Page errors

- Change the units of fonts on about page back to em or px according to w3schools tutorial since vw is very horrible for full page view
- Update the form & buttons in my about page for collecting real email addresses & send clients' emails to me
- Stop the "contact" on navbar from being always in the hover state

### Learning points

- "vw" (viewport width) units for scaling with page width
- Adding Google map to my site
- Splitting rows for responsive display of big & smal screen sizes
- How to set up free email with my free domain & direct it to my gmail account
- How to link my domain to Github pages
- How to get a [free .edu email](https://www.quora.com/How-can-I-get-an-edu-email-without-being-in-school)

#### More on how to link my free .tech domain with Github pages

Adapted from [Namecheap article](https://www.namecheap.com/support/knowledgebase/article.aspx/9645/2208/how-do-i-link-my-domain-to-github-pages)

1. Go to settings

![github-repo-setting](../images/posts/github-repo-setting.PNG)

2. Scroll down to GitHub Pages section
3. Type in custom domain in the Custom domain textbox and hit Save (remember the "www")

![github-custom-domain](../images/posts/github-custom-domain.png)

After this step, usually Gihub will automatically add/modify CNAME file to the root of Github repo. Check if this CNAME exists. Then, check if the first line is the custom domain.

4. Sign into the control panel of the custom domain with username & password
5. Find the setting for managing DNS (it can be "Manage DNS" or "Advanced DNS")
6. Add a CName record with "www" as the host and your "username.github.io" (where this username is github username) as the value. Save this record.
7. Now launch the site at the custom domain to test if GitHub page has been properly linked with the custom domain

gha_language: CSS


text:
@function can-stache-converters.examples.select-multiple select[multiple]
@parent can-stache-converters.examples

Cross bind a value to a `<select>` element with multiple selections permitted.

@signature `<select multiple values:bind="KEY"/>`

Cross binds the selected option values with an observable value.

@param {can.stache.key} KEY A named value in the current
scope. `KEY`’s value is cross bound with the selected `<option>` in
the `<select>`. `KEY`’s value should be an Array-like,
or `undefined`.

@body

## Use

Select elements with the multiple attribute (`<select multiple values:bind="KEY"/>`)
have a specified behavior if the value of KEY is Array-like or
`undefined`.

## Cross binding to Arrays

`<select>` tags with a multiple attribute cross bind
a [can-map] property, [can-compute.computed] or [can-list]
in sync with the selected items of the `<select>` element.

For example, the following template:

    <select multiple values:bind="colors">
      <option value='red'>Red</option>
      <option value='green'>Green</option>
      <option value='yellow'>Yellow</option>
    </select>

Could be rendered with one of the following:

    // A can-map property
    new DefineMap({colors: []})

    // A compute
    { colors: compute([]) }

    // A DefineList
    { colors: new DefineList() }

@demo demos/can-stache-converters/multi-values.html

repository: canjs/can-stache-converters

repo_name: canjs/can-stache-converters


text:
---
id: installation
title: Installation
sidebar_label: Installation
---

## Installing SDK

To install the SDK run the following command

> gem install ost-kyc-sdk-ruby

## Initializing SDK

```
require('ost-kyc-sdk-ruby')

# The timeout in the config is the timeout in seconds for which the socket connection will remain open
CONFIG = {timeout: 10}

ost_kyc_sdk = OstKycSdkRuby::Saas::Services.new({
    api_key: 'Your API key',
    api_secret: 'Your API Secret',
    api_base_url: 'API base URL',
    config: CONFIG})

```

### Initialization parameters

|   Name             |  Type  | Notes   |
|--------------------|--------|---------|
|   API key          |  string      | You can find this key in settings of KYC dashboard        |
|   API Secret key   |  string      | You can find this key in settings of KYC dashboard        |
|   API base URL     |  string      | For Sandbox environment base URL will be: `https://kyc.sandboxost.com`

   For Production environment base URL will be: `https://kyc.ost.com`|
|   Config           |  Dict      |  You can pass timeout with key as "timeout" and value as number (Will be considered as seconds) for http requests that SDK will make Ex: `config: {"timeout": 10}`    |

repository: ostdotcom/website-docupony

repo_name: ostdotcom/website-docupony