Tech Blog VII
What was your experience extending the racer game?
My original game alreaedy had the added feature of the user being able to decide the length of the track and given it was a pretty heavy work load this week, it was hard to decide on something that would be challenging but acheivable. I was also not 100% sure if I should spend no more time on it than the 6 hours suggested in the assignment brief. However, in week 9, I had a lot of free time and was able to add the feature (mines which send the player back a few spaces) to my game, and consider other things I wanted to add to it. I definitly feel like I had a better idea of how to approch the work compared to the first version of the game which is very encouraging.
Did you learn anything while building the calculator?
Yes. Specifically I learned about the built in eval() function from my partner Suresh, which he used to build a function to calculate expressions. I also learned why some design decisions are common to most calculators, for example only allowing one number on the display at a time. My first idea was to have the entire expression displayed (i.e 12 + 4 x 5) and then parse this string somehow when = is pressed. But it is much simpler to store the first number in a variable and apply the operation to it with the second number which is how most calculators work. Working with someone else was also very interesting. I think we have slightly different approaches to problems and when we met to code for the first and only time in person I was a little worried we would struggle to finish on time. But as it turned out we worked on our project on alternate days and it was a encouraging to return to it and find something that needed doing completed.


C++ and C++'0x Support in Clang
Last updated: $Date: 2011-02-22 16:41:16 -0800 (Tue, 22 Feb 2011) $
Clang currently implements all of the ISO C++ 1998 standard (including the defects addressed in the ISO C++ 2003 standard) except for 'export' (which has been removed from the C++'0x draft). The LLVM bug tracker contains a Clang C++ component that tracks known Clang C++ bugs.
Projects Building with Clang
Clang is now capable of compiling large C++ projects, and the following table describes various projects that we have attempted to compile with Clang++.
| Project | Status | Last Tested | Tracking Bug |
|---|---|---|---|
| Clang and LLVM | Successful self-hosting achieved | Continually | |
| CMake | Compiles, passes regression tests (debug build) | February 9, 2010 | |
| Boost | Compiles and passes regression tests on Darwin/X86-64. | May 20, 2010 | |
| Qt | Partially compiles; miscompilation of uic prevents complete compilation, qmake works, some small examples also. | February 9, 2010 | PR5881 |
C++0x Implementation status
Clang's development effort is focused primarily on fixing bugs in the current ISO C++ standard (1998/2003). This section tracks the status of various C++0x features.
Implementation Status by Feature
The following table is used to help track our implementation progress toward implementing the complete C++'0x standard. We use a simple, somewhat arbitrary color-coding scheme to describe the relative completeness of features:
| Not started/not evaluated | Not Applicable | Broken | Some examples work | Many examples work | Nearly everything works | Complete |
|---|---|---|---|---|---|---|
| N/A | rXXXXXX |
In addition, boxes marked with ✓ have complete and passing tests. Similarly, boxes marked with ✗ have complete tests, some of which are failing, and a ? indicates partial tests while not making any statement about passing status.
A feature is "complete" when the appropriate Clang component (Parse, AST, Sema, CodeGen) implements the behavior described in all of the paragraphs in the relevant C++'0x draft standard. The major components are:
- Parse
- Clang is able to parse the grammar of this feature (or the grammar
described by this section), but does not necessarily do anything with the
parsed result. Use Clang's
-fsyntax-only
option to parse C++ programs. - AST
- Clang builds an abstract syntax tree (AST) for the feature, but does not
necessarily perform any type-checking. Use Clang's
-ast-print
option to print the resulting ASTs. - Sema
- Clang parses and type-checks this feature and provides a well-formed AST
annotated with types. Use Clang's
-fsyntax-only
to type-check code. - CodeGen
- Clang parses, type-checks, and generates code for this feature, allowing one to compile and execute programs.
Updates to this table are welcome! Tests for the various features are also welcome!
| C++0x Features (current draft report here) | ||||||
| Feature | Parse | AST | Sema | CodeGen | Standard Sections | Notes |
|---|---|---|---|---|---|---|
| Control Flow Modifications | ||||||
| Range-based for loop | 6.5.4 | N2243 | ||||
| Type System Modifications | ||||||
| rvalue references | 8.3.2 | N2118, N2831 N2439 | ||||
| decltype | ✓ | ✓ | N/A | <IP_ADDRESS> | N2343 N1478 N1978 | |
| auto type deduction | <IP_ADDRESS>, <IP_ADDRESS> | N1984 | ||||
| nullptr | 2.14.7, 4.10, 4.11 | N2431 N1488 N2214 | ||||
| enum classes | 7.2 | N1513 N2347 N2499 Includes forward declaration capability | ||||
| long long | 3.9.1 | C99 N1811 | ||||
| constexpr | 3.6.2, 3.9, 5.19, 7.1.5 | N1521 N2235 | ||||
| char16_t/char32_t | N2249 | |||||
| Unicode string literal types | 2.14.3, 2.14.5 | |||||
| Raw string literal types | 2.14.5 | N2053 N2442 N2378 | ||||
| user-defined literal types | 2.14.8 | N2378 | ||||
| POD defintion changes | 3.9, 9 | N2294 | ||||
| Unrestricted unions | 9.5 | N2544 | ||||
| Tighter narrowing rules | 8.5.4 | N1890 N2215 N2640 | ||||
| Class Modifications | ||||||
| delegating constructors | 12.6.2 | N1986 | ||||
| inheriting constructors | 12.9 | N1890 N1898 N2512 | ||||
| In-declaration member initialization | N2628 | |||||
| Changes to implicitly generated methods | Includes implicit generation of move operations | |||||
| defaulted methods | N1717 N2326 | |||||
| destructor defaults to noexcept | ||||||
| sizeof on members without object instance | N2150 | |||||
| virtual function safety modifications | ||||||
| Explicit conversion operators | 12.3 | N2437 N2333 No name mangling; ASTs don't contain calls to conversion operators | ||||
| Template Modifications | ||||||
| Right angle brackets | N/A | N/A | N/A | N1757 | ||
| variadic templates | 14.6.3 | N2080 N2087 N2242 N2488 N2555 | ||||
| template aliases | 7.1.3, 14.6.7 | N1489 N2258 Includes non-template type aliasing | ||||
| Removal of export | N/A | N/A | N/A | This was never implemented in C++03 | ||
| extern templates | 14.8.2 | N1987 | ||||
| Local classes as template parameters | N2402 N2657 | |||||
| Exception Modifications | ||||||
| Deprecation of exception specifications | 15.4 | |||||
| noexcept | ✓ | ✓ | ✓ | N/A | 5.3.7, 15.4 | N3050 |
| Preprocessor Modifications | ||||||
| __STDC_HOSTED__ | N/A | N/A | N/A | 16.8 | C99 N1568 | |
| _Pragma | N/A | N/A | N/A | 16.9 | C99 N1568 | |
| Variable argument macros | N/A | N/A | N/A | 16.3 | C99 N1568 | |
| Empty macro arguments | N/A | N/A | N/A | 16.3 | C99 N1568 | |
| __func__ | N/A | N/A | N/A | 8.4.1 | C99 N1568 | |
| __cplusplus | N/A | N/A | N/A | 16.8 | ||
| Things Completely New | ||||||
| Late-specified return type | 8.3.5 | N2445 | ||||
| lambda expressions | 5.1.2 | N1968 N2550 N2859 | ||||
| Uniform initializers | 12.6 | N2215 N2640 | ||||
| Memory model | 1.7 | N2556 | ||||
| Miscellania | ||||||
| Standard attribute syntax | N2418 | |||||
| alignment control | ||||||
| Deleted functions | N/A | 8.4.3 | N2326 This also includes class methods. | |||
| static_assert | N/A | 7 | N1381 N1720 | |||
| Inline namespaces | ✓ | ✓ | ✓ | N/A | 7.3.1 | N2535 |
| thread_local storage | 3.7.2, 7.1.1 | N2660 | ||||
| Standard Library Modifications, see libc++ or libstdc++ or VC++ 2010 |


"HARA "mountainous land, a province of Assyria (1 Chronicles 5:26), between the Tigris and the Euphrates, along the banks of the Khabur, to which some of the Israelite captives were carried. It has not been identified. Some think the word a variation of Haran.
"HARA "mountainous land, a province of Assyria (1 Chronicles 5:26), between the Tigris and the Euphrates, along the banks of the Khabur, to which some of the Israelite captives were carried. It has not been identified. Some think the word a variation of Haran.


Robert Moreno: Ansu Fati could play for Spain at European Championships
The Spain coach has left the door open for the Barcelona forward, who's currently with the U21s
by Jordi GilRobert Moreno spoke in a press conference on Friday after naming his Spain squad for the upcoming games against Romania and Malta.
Among other things, he spoke about Barcelona's Ansu Fati, who could go the European Championships with the senior squad next summer despite currently being with the U21s.
Ansu Fati at Euro 2020: "He's on the pre-list although he's not with us now. He's a special player who could be called up, why not?"
Pique and the Olympic Games: "It's something I can't control (U21 coach Luis de la Fuente will make the decision). He's already announced his retirement from Spain, which we respect."
Gabriel Paulista: "I'm aware they're applying for a passport, he's still can't be (called up). It's welcome if it is an option."
Dani Olmo: "He's doing really well in his league and above all in the Champions League. We're happy to be able to have him with us."


This page shows automated results of the Perseids 2009, based on visual observations by volunteers astronomers collected through the report form of the International Meteor Organization (IMO). The information on this page is generated fully automatically; for scientific use please refer to manual analyses published in scientific journals (such as WGN). Send your feedback regarding this page to Geert Barentsen.
Page contents:
Page generated: 2010 April 26 at 14:59 UTC.
ZHRmax = 173 based on 14273 reported Perseids, assuming population index r = 2.0.
ZHR (Zenithal Hourly Rate) is the number of meteors an observer would see under a dark sky with the radiant of the shower in zenith.
| Time (UTC) | Solarlon | nINT | nPER | ZHR | |
|---|---|---|---|---|---|
| 2009-07-19 23:30 | 117.277 | 25 | 50 | 5 | ±1 |
| 2009-07-21 17:33 | 118.951 | 31 | 78 | 7 | ±1 |
| 2009-07-23 20:54 | 120.994 | 23 | 60 | 6 | ±1 |
| 2009-07-25 14:10 | 122.637 | 32 | 82 | 7 | ±1 |
| 2009-07-26 06:18 | 123.279 | 35 | 81 | 6 | ±1 |
| 2009-07-26 23:47 | 123.976 | 22 | 80 | 6 | ±1 |
| 2009-07-27 15:10 | 124.588 | 30 | 81 | 8 | ±1 |
| 2009-07-27 23:19 | 124.913 | 32 | 82 | 7 | ±1 |
| 2009-07-28 06:41 | 125.206 | 27 | 82 | 8 | ±1 |
| 2009-07-28 22:22 | 125.831 | 37 | 87 | 9 | ±1 |
| 2009-07-29 00:33 | 125.918 | 27 | 89 | 9 | ±1 |
| 2009-07-29 19:32 | 126.674 | 34 | 82 | 9 | ±1 |
| 2009-07-29 23:59 | 126.851 | 27 | 87 | 9 | ±1 |
| 2009-07-30 10:02 | 127.252 | 30 | 80 | 6 | ±1 |
| 2009-07-31 00:41 | 127.836 | 37 | 80 | 7 | ±1 |
| 2009-07-31 20:57 | 128.643 | 20 | 84 | 11 | ±1 |
| 2009-08-01 07:01 | 129.044 | 17 | 80 | 11 | ±1 |
| 2009-08-02 00:17 | 129.732 | 19 | 86 | 12 | ±1 |
| 2009-08-02 21:13 | 130.567 | 34 | 80 | 12 | ±1 |
| 2009-08-03 12:32 | 131.177 | 17 | 83 | 11 | ±1 |
| 2009-08-04 18:58 | 132.391 | 19 | 66 | 15 | ±2 |
| 2009-08-07 12:40 | 135.012 | 12 | 65 | 21 | ±3 |
| 2009-08-09 00:28 | 136.442 | 16 | 83 | 21 | ±2 |
| 2009-08-09 22:11 | 137.309 | 13 | 80 | 29 | ±3 |
| 2009-08-10 14:43 | 137.970 | 16 | 81 | 21 | ±2 |
| 2009-08-11 00:56 | 138.378 | 12 | 83 | 30 | ±3 |
| 2009-08-11 19:48 | 139.133 | 23 | 80 | 18 | ±2 |
| 2009-08-11 22:26 | 139.238 | 70 | 252 | 31 | ±2 |
| 2009-08-12 00:16 | 139.311 | 101 | 381 | 36 | ±2 |
| 2009-08-12 02:08 | 139.386 | 61 | 237 | 43 | ±3 |
| 2009-08-12 05:33 | 139.522 | 19 | 81 | 38 | ±4 |
| 2009-08-12 08:06 | 139.624 | 54 | 294 | 105 | ±6 |
| 2009-08-12 10:01 | 139.701 | 9 | 94 | 54 | ±6 |
| 2009-08-12 14:13 | 139.869 | 12 | 84 | 145 | ±16 |
| 2009-08-12 16:14 | 139.949 | 19 | 178 | 150 | ±11 |
| 2009-08-12 18:07 | 140.025 | 22 | 257 | 147 | ±9 |
| 2009-08-12 20:19 | 140.113 | 174 | 1495 | 100 | ±3 |
| 2009-08-12 22:06 | 140.184 | 315 | 2754 | 89 | ±2 |
| 2009-08-12 23:53 | 140.255 | 231 | 1399 | 61 | ±2 |
| 2009-08-13 01:54 | 140.336 | 50 | 449 | 78 | ±4 |
| 2009-08-13 04:21 | 140.434 | 16 | 150 | 109 | ±9 |
| 2009-08-13 06:08 | 140.506 | 36 | 429 | 173 | ±8 |
| 2009-08-13 07:59 | 140.579 | 17 | 159 | 89 | ±7 |
| 2009-08-13 20:05 | 141.064 | 55 | 241 | 29 | ±2 |
| 2009-08-13 21:44 | 141.130 | 93 | 479 | 26 | ±1 |
| 2009-08-13 23:42 | 141.209 | 68 | 447 | 26 | ±1 |
| 2009-08-14 01:19 | 141.273 | 25 | 112 | 23 | ±2 |
| 2009-08-14 08:00 | 141.541 | 11 | 80 | 20 | ±2 |
| 2009-08-14 21:24 | 142.077 | 53 | 237 | 14 | ±1 |
| 2009-08-14 23:21 | 142.155 | 80 | 268 | 16 | ±1 |
| 2009-08-15 01:05 | 142.224 | 22 | 93 | 14 | ±1 |
| 2009-08-15 17:25 | 142.879 | 16 | 89 | 18 | ±2 |
| 2009-08-15 21:30 | 143.042 | 50 | 255 | 14 | ±1 |
| 2009-08-15 23:15 | 143.112 | 51 | 235 | 15 | ±1 |
| 2009-08-16 03:19 | 143.275 | 15 | 82 | 15 | ±2 |
| 2009-08-16 21:23 | 143.999 | 25 | 80 | 10 | ±1 |
| 2009-08-16 23:16 | 144.074 | 18 | 83 | 11 | ±1 |
| 2009-08-17 08:15 | 144.434 | 17 | 80 | 10 | ±1 |
| 2009-08-18 03:15 | 145.196 | 38 | 83 | 8 | ±1 |
| 2009-08-18 22:25 | 145.964 | 22 | 86 | 8 | ±1 |
| 2009-08-19 08:26 | 146.366 | 29 | 80 | 7 | ±1 |
| 2009-08-19 23:35 | 146.974 | 20 | 80 | 7 | ±1 |
| 2009-08-20 17:07 | 147.677 | 38 | 80 | 6 | ±1 |
| 2009-08-21 15:22 | 148.570 | 39 | 75 | 5 | ±1 |
| 2009-08-23 17:06 | 150.568 | 27 | 82 | 4 | ±0 |
| 2009-08-24 09:32 | 151.229 | 7 | 21 | 5 | ±1 |
Time is the middle of the interval in Universal Time (UTC), Solarlon is the position of the earth relative to the sun (equinox J2000.0), nINT is the number of reported observing periods and nPER is the reported number of Perseids.
ZHR = (1 + sum nPER) / sum(Teff/C) where Teff is the effective observing time and C is the total correction for limiting magnitude, clouds and zenith correction 1/sin(hR).
| Time (UTC) | Solarlon | nINT | nPER | ZHR | |
|---|---|---|---|---|---|
| 2009-08-12 00:08 | 139.306 | 10 | 40 | 36 | ±6 |
| 2009-08-12 00:20 | 139.314 | 11 | 39 | 43 | ±7 |
| 2009-08-12 00:35 | 139.324 | 12 | 39 | 35 | ±6 |
| 2009-08-12 00:49 | 139.333 | 10 | 45 | 35 | ±5 |
| 2009-08-12 01:04 | 139.343 | 12 | 41 | 41 | ±6 |
| 2009-08-12 01:22 | 139.355 | 10 | 40 | 41 | ±6 |
| 2009-08-12 01:34 | 139.363 | 9 | 37 | 43 | ±7 |
| 2009-08-12 01:47 | 139.372 | 10 | 44 | 44 | ±7 |
| 2009-08-12 02:05 | 139.384 | 13 | 45 | 51 | ±8 |
| 2009-08-12 02:27 | 139.398 | 14 | 39 | 31 | ±5 |
| 2009-08-12 02:50 | 139.414 | 10 | 41 | 62 | ±10 |
| 2009-08-12 04:07 | 139.465 | 8 | 34 | 32 | ±5 |
| 2009-08-12 05:50 | 139.534 | 5 | 36 | 57 | ±9 |
| 2009-08-12 06:47 | 139.572 | 10 | 40 | 52 | ±8 |
| 2009-08-12 07:33 | 139.603 | 7 | 38 | 117 | ±19 |
| 2009-08-12 07:47 | 139.612 | 8 | 35 | 103 | ±17 |
| 2009-08-12 08:06 | 139.624 | 6 | 36 | 149 | ±24 |
| 2009-08-12 08:15 | 139.630 | 7 | 37 | 160 | ±26 |
| 2009-08-12 08:24 | 139.637 | 7 | 38 | 114 | ±18 |
| 2009-08-12 08:40 | 139.647 | 7 | 39 | 69 | ±11 |
| 2009-08-12 09:10 | 139.667 | 5 | 38 | 44 | ±7 |
| 2009-08-12 09:59 | 139.699 | 4 | 45 | 56 | ±8 |
| 2009-08-12 12:03 | 139.782 | 6 | 35 | 87 | ±14 |
| 2009-08-12 14:25 | 139.877 | 9 | 75 | 148 | ±17 |
| 2009-08-12 15:32 | 139.922 | 5 | 65 | 161 | ±20 |
| 2009-08-12 16:01 | 139.941 | 3 | 41 | 163 | ±25 |
| 2009-08-12 16:24 | 139.957 | 7 | 39 | 134 | ±21 |
| 2009-08-12 16:58 | 139.979 | 5 | 76 | 156 | ±18 |
| 2009-08-12 17:25 | 139.997 | 6 | 36 | 166 | ±27 |
| 2009-08-12 18:00 | 140.020 | 4 | 35 | 104 | ±17 |
| 2009-08-12 18:19 | 140.033 | 2 | 54 | 197 | ±27 |
| 2009-08-12 18:23 | 140.036 | 2 | 42 | 142 | ±22 |
| 2009-08-12 18:48 | 140.052 | 7 | 47 | 143 | ±21 |
| 2009-08-12 19:14 | 140.070 | 9 | 39 | 61 | ±10 |
| 2009-08-12 19:31 | 140.081 | 9 | 51 | 107 | ±15 |
| 2009-08-12 19:41 | 140.088 | 15 | 121 | 111 | ±10 |
| 2009-08-12 19:52 | 140.095 | 12 | 91 | 108 | ±11 |
| 2009-08-12 20:02 | 140.102 | 9 | 54 | 87 | ±12 |
| 2009-08-12 20:12 | 140.108 | 22 | 205 | 109 | ±8 |
| 2009-08-12 20:22 | 140.115 | 15 | 103 | 74 | ±7 |
| 2009-08-12 20:31 | 140.121 | 14 | 172 | 117 | ±9 |
| 2009-08-12 20:41 | 140.127 | 28 | 322 | 118 | ±7 |
| 2009-08-12 20:52 | 140.135 | 27 | 228 | 89 | ±6 |
| 2009-08-12 21:02 | 140.141 | 20 | 171 | 113 | ±9 |
| 2009-08-12 21:12 | 140.149 | 35 | 404 | 92 | ±5 |
| 2009-08-12 21:21 | 140.154 | 21 | 169 | 83 | ±6 |
| 2009-08-12 21:31 | 140.161 | 21 | 195 | 93 | ±7 |
| 2009-08-12 21:41 | 140.168 | 23 | 198 | 81 | ±6 |
| 2009-08-12 21:51 | 140.174 | 21 | 182 | 90 | ±7 |
| 2009-08-12 22:01 | 140.181 | 24 | 216 | 87 | ±6 |
| 2009-08-12 22:10 | 140.187 | 28 | 236 | 96 | ±6 |
| 2009-08-12 22:22 | 140.195 | 23 | 196 | 89 | ±6 |
| 2009-08-12 22:30 | 140.200 | 26 | 218 | 91 | ±6 |
| 2009-08-12 22:41 | 140.207 | 36 | 262 | 79 | ±5 |
| 2009-08-12 22:52 | 140.215 | 27 | 214 | 94 | ±6 |
| 2009-08-12 23:00 | 140.220 | 26 | 213 | 89 | ±6 |
| 2009-08-12 23:10 | 140.227 | 38 | 191 | 67 | ±5 |
| 2009-08-12 23:21 | 140.234 | 27 | 187 | 70 | ±5 |
| 2009-08-12 23:30 | 140.240 | 26 | 151 | 70 | ±6 |
| 2009-08-12 23:40 | 140.247 | 20 | 141 | 63 | ±5 |
| 2009-08-12 23:53 | 140.255 | 20 | 160 | 65 | ±5 |
| 2009-08-13 00:05 | 140.263 | 23 | 110 | 51 | ±5 |
| 2009-08-13 00:11 | 140.268 | 9 | 56 | 63 | ±8 |
| 2009-08-13 00:23 | 140.275 | 23 | 146 | 53 | ±4 |
| 2009-08-13 00:36 | 140.284 | 15 | 65 | 51 | ±6 |
| 2009-08-13 00:46 | 140.291 | 11 | 87 | 55 | ±6 |
| 2009-08-13 00:54 | 140.296 | 16 | 87 | 58 | ±6 |
| 2009-08-13 01:08 | 140.305 | 6 | 35 | 63 | ±10 |
| 2009-08-13 01:16 | 140.311 | 4 | 36 | 69 | ±11 |
| 2009-08-13 01:24 | 140.316 | 6 | 50 | 63 | ±9 |
| 2009-08-13 01:39 | 140.326 | 6 | 59 | 73 | ±9 |
| 2009-08-13 01:51 | 140.334 | 6 | 46 | 69 | ±10 |
| 2009-08-13 02:00 | 140.340 | 4 | 55 | 138 | ±18 |
| 2009-08-13 02:10 | 140.347 | 6 | 61 | 81 | ±10 |
| 2009-08-13 02:25 | 140.357 | 6 | 47 | 83 | ±12 |
| 2009-08-13 02:41 | 140.367 | 4 | 37 | 104 | ±17 |
| 2009-08-13 03:00 | 140.380 | 4 | 39 | 84 | ±13 |
| 2009-08-13 03:50 | 140.414 | 5 | 45 | 88 | ±13 |
| 2009-08-13 04:28 | 140.439 | 4 | 42 | 154 | ±23 |
| 2009-08-13 04:48 | 140.452 | 4 | 36 | 115 | ±19 |
| 2009-08-13 05:11 | 140.468 | 5 | 46 | 147 | ±21 |
| 2009-08-13 05:25 | 140.477 | 5 | 41 | 133 | ±21 |
| 2009-08-13 05:51 | 140.494 | 4 | 58 | 191 | ±25 |
| 2009-08-13 06:10 | 140.507 | 3 | 57 | 195 | ±26 |
| 2009-08-13 06:30 | 140.520 | 4 | 58 | 224 | ±29 |
| 2009-08-13 06:40 | 140.527 | 5 | 49 | 143 | ±20 |
| 2009-08-13 06:56 | 140.537 | 4 | 40 | 147 | ±23 |
| 2009-08-13 07:17 | 140.552 | 4 | 37 | 100 | ±16 |
| 2009-08-13 07:34 | 140.563 | 4 | 44 | 132 | ±20 |
| 2009-08-13 07:59 | 140.580 | 4 | 43 | 90 | ±14 |
| 2009-08-13 08:31 | 140.601 | 5 | 38 | 65 | ±10 |
| 2009-08-13 08:53 | 140.615 | 1 | 7 | 66 | ±23 |
Time is the middle of the interval in Universal Time (UTC), Solarlon is the position of the earth relative to the sun (equinox J2000.0), nINT is the number of reported observing periods and nPER is the reported number of Perseids.
ZHR = (1 + sum nPER) / sum(Teff/C) where Teff is the effective observing time and C is the total correction for limiting magnitude, clouds and zenith correction 1/sin(hR).
Data has been received from 191 observers in 34 countries. Thank you for your efforts!
Note: click on the map for an interactive version.
| Observer | Country | Teff | nPER |
|---|---|---|---|
| Tomasz Adam | Poland | 10.83h | 93 |
| Moein Adnani | Iran | 3.00h | 107 |
| Salvador Aguirre | Mexico | 8.50h | 45 |
| Jean-marc Alcaino | France | 3.36h | 69 |
| Mina Alizadeh | Iran | 1.76h | 47 |
| Irene Bachelier | France | 2.84h | 33 |
| Pierre Bader | Germany | 28.10h | 128 |
| Ana Bankovic | Serbia | 5.33h | 155 |
| Geert Barentsen | Belgium | 0.95h | 19 |
| Rafael G. Barrios B. | Venezuela | 1.87h | 46 |
| Manca Behric | Slovenia | 13.99h | 109 |
| Zora Beljic | Serbia | 3.45h | 50 |
| Orlando Benitez Sanchez | Spain | 13.19h | 120 |
| Dinko Brautovi? | Croatia | 1.00h | 6 |
| Emil Brezina | Czech Republic | 0.72h | 3 |
| Vasko Cacanoski | Macedonia | 2.17h | 75 |
| Yi Cao | China | 1.42h | 3 |
| John Catania | Malta | 2.50h | 21 |
| Simiao Cheng | China | 5.43h | 163 |
| Sihao Cheng | China | 2.19h | 63 |
| Marcin Chwala | Poland | 35.93h | 328 |
| Matej Ciganj | Croatia | 2.15h | 31 |
| Filip Colakovic | Serbia | 3.83h | 10 |
| Tom Corstjens | Belgium | 2.00h | 14 |
| Tibor Csorgei | Slovakia | 1.99h | 34 |
| Tibor Csorgei | Slovakia | 0.66h | 5 |
| Lubos Danac | Slovakia | 0.28h | 0 |
| Nadka Dankova | Bulgaria | 0.45h | 8 |
| Dorosz Dariusz | Poland | 2.18h | 29 |
| Biljana Davidovic | Serbia | 4.00h | 62 |
| Arseniy Diachko | Ukraine | 11.05h | 46 |
| Sietse Dijkstra | Netherlands | 0.67h | 3 |
| Sietse Dijkstra | Netherlands | 16.40h | 97 |
| Todor Dimitrov | Bulgaria | 32.68h | 201 |
| Irena Divisova | Czech Republic | 1.50h | 29 |
| Bogdan Djuric | Serbia | 3.83h | 51 |
| Dariusz Dorosz | Poland | 2.83h | 98 |
| Audrius Dubietis | Lithuania | 15.65h | 163 |
| Jaroslaw Dygos | Poland | 12.00h | 131 |
| Garry Dymond | Canada | 1.75h | 28 |
| Claude Fournier | France | 3.22h | 35 |
| Christoph Gerber | Germany | 2.21h | 33 |
| Wei Ge | China | 1.00h | 51 |
| Maryam Ghased | Iran | 3.00h | 115 |
| William Godley | United States | 12.41h | 133 |
| Evgeny Gorbikov | Israel | 1.18h | 7 |
| Sylvie Gorkova | Czech Republic | 9.17h | 68 |
| Mitja Govedic | Slovenia | 27.93h | 271 |
| Daniel Gruen | Germany | 1.68h | 8 |
| Jesus Guerrero | Venezuela | 2.25h | 3 |
| Pavol Habuda | Slovakia | 2.58h | 9 |
| Cathy Hall | Canada | 3.24h | 47 |
| Shy Halatzi | Israel | 3.99h | 87 |
| Barbara Handzlik | Poland | 12.78h | 181 |
| Otto Hanyecz | Hungary | 2.04h | 13 |
| Roberto Haver | Italy | 3.34h | 14 |
| Roberto Haver | Italy | 1.32h | 4 |
| Vilem Heblik | Czech Republic | 31.94h | 142 |
| Robin Hegenbarth | unknown | 2.13h | 11 |
| Veerle Herrygers | Belgium | 1.17h | 7 |
| Ken Hodonsky | United States | 9.33h | 26 |
| Kamil Hornoch | Czech Republic | 2.51h | 21 |
| Lars Jacobs | Belgium | 2.78h | 23 |
| Goran Jakovac | Croatia | 1.75h | 9 |
| Michal Jakubec | Czech Republic | 4.70h | 43 |
| Visnja Jankov | Serbia | 7.17h | 137 |
| Wout Janssens | Belgium | 2.87h | 24 |
| Miroslav Jedlicka | Czech Republic | 0.94h | 6 |
| Le Ji | China | 1.00h | 6 |
| Carl Johannink | Netherlands | 28.09h | 180 |
| Javor Kac | Slovenia | 31.31h | 279 |
| Amirali Kandymov | Ukraine | 3.35h | 3 |
| Amiraly Kandymov | Ukraine | 4.02h | 16 |
| Gyula Kiss | Hungary | 3.75h | 47 |
| Zdenek Komarek | Slovakia | 4.97h | 14 |
| Andrija Kostic | Serbia | 14.21h | 193 |
| Roman Kostenko | Ukraine | 5.96h | 42 |
| Jakub Koukal | Czech Republic | 95.42h | 824 |
| Peter Kozich | unknown | 1.25h | 38 |
| Dovile Krauleidiene | Lithuania | 1.30h | 27 |
| Richard Kramer | United States | 1.63h | 5 |
| Maciej Kwinta | Poland | 16.75h | 92 |
| Delphine Lana-theatre | France | 2.43h | 44 |
| Katarina Lechmanova | Slovakia | 2.50h | 2 |
| Martin Lehotsky | Slovakia | 0.73h | 2 |
| Marko Leustek | Croatia | 3.05h | 27 |
| Peter Van Leuteren | Netherlands | 23.84h | 176 |
| Anna S. Levina | Israel | 15.37h | 213 |
| Xin Li | China | 1.50h | 63 |
| Tomasz Lojek | Poland | 20.88h | 233 |
| Jer Nan Lou | Taiwan | 2.88h | 27 |
| Olivier Lumia | France | 2.47h | 34 |
| Robert Lunsford | United States | 7.99h | 90 |
| Maciej Macidym | Poland | 1.90h | 37 |
| Jose Luis Maestre Garcia | Spain | 5.49h | 60 |
| Boris Majic | Serbia | 3.17h | 64 |
| Muriel Maksoudian | France | 3.19h | 55 |
| Veikko Makela | Finland | 2.18h | 57 |
| Milos Malat | Slovakia | 0.73h | 1 |
| Qiang Ma | China | 1.37h | 51 |
| Pierre Martin | Canada | 32.39h | 638 |
| Antonio Martinez | Venezuela | 6.28h | 20 |
| Mikhail Maslov | Russia | 25.97h | 55 |
| Batlomiej Matuszkiewicz | Poland | 10.25h | 189 |
| Bruce Mccurdy | Canada | 10.35h | 175 |
| Barbara Milovanovic | Serbia | 2.00h | 24 |
| Stasa Milojevic | Croatia | 2.00h | 31 |
| Marin Miocic | Croatia | 1.17h | 14 |
| Jakub Mirocha | Poland | 7.76h | 83 |
| Koen Miskotte | Netherlands | 42.78h | 678 |
| Sabine Wachter | Germany | 8.59h | 33 |
| Adam Musial | United Kingdom | 3.00h | 28 |
| Mohammad Nilforoushan | Iran | 2.00h | 55 |
| Filip Novoselnik | Croatia | 3.67h | 4 |
| Tereza Novotna | Czech Republic | 4.50h | 60 |
| Michal Palo | Slovakia | 2.50h | 3 |
| Anna Pavlova | Ukraine | 8.37h | 50 |
| Dusan Pavlovic | Serbia | 3.16h | 65 |
| Tamara Pavlovic | Yugoslavia | 4.00h | 56 |
| Antonia Penkova-jordanova | Bulgaria | 9.41h | 27 |
| Momchil Petrov | Bulgaria | 0.43h | 15 |
| Alan Pevec | Croatia | 3.15h | 5 |
| Krzysztof Pieszczoch | Poland | 2.80h | 86 |
| Ivica Pletikosa | Croatia | 8.00h | 26 |
| Krzysztof Polakowski | Poland | 9.48h | 208 |
| Robert Pomohaci | Romania | 0.78h | 2 |
| Djordje Rakic | Serbia | 1.33h | 16 |
| Ella Ratz | Israel | 2.50h | 18 |
| Aleksandar Reljic | Serbia | 2.00h | 37 |
| Jurgen Rendtel | Germany | 32.57h | 213 |
| Agnieszka Ruminska | Poland | 3.29h | 94 |
| Gilbert Sanchez | Venezuela | 1.38h | 55 |
| Lukasz Sanocki | Poland | 2.36h | 72 |
| Branislav Savic | Serbia | 2.90h | 17 |
| Branislav Savic | Serbia | 8.12h | 202 |
| Teodora Savic Popovic | Serbia | 3.44h | 94 |
| Alex Scholten | unknown | 1.75h | 45 |
| Ivan M. Sergey | Belarus | 0.75h | 2 |
| Guy Sheffer | Israel | 1.73h | 24 |
| Magdalena Sieniawska | Poland | 23.4h | 292 |
| Costantino Sigismondi | Italy | 1.66h | 5 |
| Andrzej Skoczewski | Poland | 9.67h | 136 |
| Vesna Slavkovic | Yugoslavia | 18.17h | 161 |
| Stanislav Sokol | Slovakia | 0.73h | 0 |
| Paulina Sowicka | Poland | 10.72h | 194 |
| Ulrich Sperberg | Germany | 1.48h | 25 |
| Luka Spiric | Croatia | 1.63h | 28 |
| Jiri Srba | Czech Republic | 0.84h | 23 |
| Michal Stefancik | Slovakia | 4.97h | 9 |
| Marek St?czek | Poland | 1.00h | 33 |
| Kristian Stojsic | Croatia | 4.75h | 26 |
| Milena Stojic | Yugoslavia | 4.85h | 13 |
| Martin Stojanovski | Macedonia | 2.17h | 74 |
| Nikola Stojanovic | Serbia | 8.86h | 42 |
| Nikola Stojanovic | Croatia | 3.67h | 17 |
| Olivera Stojanovic | Croatia | 11.86h | 150 |
| Wesley Stone | United States | 5.23h | 203 |
| Martina Supak | Croatia | 4.25h | 30 |
| Matej Sustr | Slovakia | 0.73h | 5 |
| Michal Sustr | Slovakia | 0.73h | 5 |
| Jiri Svoboda | Czech Republic | 1.93h | 5 |
| Pavel Svozil | Czech Republic | 0.73h | 7 |
| Dana Camelia Talpeanu | Romania | 1.63h | 3 |
| Uros Tanaskovic | Serbia | 1.58h | 19 |
| Michel Vandeputte | Belgium | 84.58h | 908 |
| Masayuki Toda | Japan | 11.86h | 273 |
| Marija Todorovic | Serbia | 1.17h | 16 |
| Simeon Todorov | Bulgaria | 0.57h | 8 |
| Veljko Tomic | Bulgaria | 2.15h | 45 |
| Jhonny Torres | Venezuela | 1.85h | 27 |
| Daniela Urumova | Bulgaria | 8.16h | 38 |
| Hendrik Vandenbruaene | Belgium | 1.17h | 17 |
| Valentin Velkov | Bulgaria | 2.00h | 53 |
| Vilena Velikic | Serbia | 4.25h | 88 |
| Jan Verfl | Czech Republic | 2.06h | 6 |
| Miroslav Vetrik | Slovakia | 0.80h | 1 |
| Denis Vida | Croatia | 8.90h | 30 |
| Myriam Vingerhoets | Belgium | 15.79h | 91 |
| Frank Wachter | Germany | 2.05h | 6 |
| Andreas Waets | Belgium | 1.47h | 27 |
| Ewa Wala | Poland | 16.12h | 163 |
| Krzysztof Walczak | Poland | 5.63h | 89 |
| William Watson | United States | 17.40h | 244 |
| Thomas Weiland | Austria | 35.93h | 105 |
| Xiaofan Wei | China | 2.00h | 53 |
| Mariusz Wisniewski | Poland | 20.34h | 338 |
| Lukasz Wozniak | Poland | 4.33h | 213 |
| Xijun Wu Wu | China | 1.00h | 31 |
| Yingkai Xia | China | 1.00h | 43 |
| Li Xue | China | 5.90h | 225 |
| Quanzhi Ye | China | 0.49h | 3 |
| Ilkka Yrjola | Finland | 1.00h | 5 |
| Weizhou Zeng | China | 5.71h | 138 |
| Xiang Zhan | China | 1.00h | 17 |
| Yu Zhang | China | 2.00h | 48 |
| Jurga Zieniute | Lithuania | 2.50h | 25 |
| Przemyslaw Zoladek | Poland | 4.00h | 31 |
| Dario Zubovic | Croatia | 2.00h | 9 |
Create your own analysis!
Rate intervals: per2009_rate.csv (CSV-format).
Magnitude distributions: per2009_magn.csv (CSV-format).
The information on this page may be distributed freely provided credit is given to the International Meteor Organization (IMO) and, when possible, to the individual observers.
The computer facilities to generate this page are provided by the Urania Public Observatory in Belgium.


John Q.Student
#1212
Section 0001(MWF 8:30am)
Assignment #2
It was a long quick trip. We loaded our vehicel and headed to Northern California for the 4th July weekend for a family reunion. We then made haste to Magic MOuntain.By the time wee returned home, we had travelled some 1300 miles in three and one half days.
After a year's preparation, it was time to go backpacking with the Boy Scouts. We fle to Colorado Springs,toured the Air Force Academy,Pike's Peak,Garden Of The Gods, and the Olympic training center. We chartered a bus to the Philmont Scout Ranch in Northern New Mexico and began our 60 mile backpack trek. Afterwards, we boarded Amtrack's and rode the rails to Kingman, and chartered a bus home.
 In route, we stopped a Nauvoo,Illinois,and Detroit,Michigan. We then boardded Amtrak in Chicago and rode it ot Salt Lake City, where we boarded a bus which returned us to Las Vegas.
WHAT A SUMMER! If only they could all be this great!


1. This API returns in JSON format the image URLs, alt text and page URLs for a set of images relating to a given search string.
2. You can paginate through the responses by adding ?offset=2
parameter to the URL.
3. You can get a list of the ten most recently submitted search strings.
Perform a search with the path https://all-the-images.herokuapp.com/search/<query>
, replacing <query>
with your search string.
Adding ?offset=<page-number>
will paginate the results, 1 being the default, 2 being the second page, etcetera.
View the past ten search terms by visiting https://all-the-images.herokuapp.com/history


Simplified CMS
Ver.1.0
Copyright (c) 2020, 2021 Sora Arakawa
Licensed under the MIT License
Bootstrap
The MIT License (MIT)
Copyright (c) 2011-2020 Twitter, Inc.
Copyright (c) 2011-2020 The Bootstrap Authors
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.
jQuery
Copyright jQuery Foundation and other contributors
Released under the MIT license
http://jquery.org/license


We noticed noticed this record already exists in the database if YES is selected data will be reset are you sure about this?
If you are not sure select NO to close out of the form
We noticed noticed this record already exists in the database if YES is selected data will be reset are you sure about this?
If you are not sure select NO to close out of the form


STARTS MONDAY 19 MARCH 8PM KSA/9PM UAE
In the middle of the desert a carpet of lush green grass grows on the world's most luxurious racecourse. Overlooking the course is a 1.6 kilometre (1 mile) long land-scraper that boasts six star luxury ...
Read More..In the middle of the desert a carpet of lush green grass grows on the world's most luxurious racecourse. Overlooking the course is a 1.6 kilometre ...
Read More..In the middle of the desert a carpet of lush green grass grows on the world's most luxurious racecourse. Overlooking the course is a 1.6 kilometre ...
Read More..In the middle of the desert a carpet of lush green grass grows on the world's most luxurious racecourse. Overlooking the course is a 1.6 kilometre ...
Read More..In the middle of the desert a carpet of lush green grass grows on the world's most luxurious racecourse. Overlooking the course is a 1.6 kilometre ...
Read More..


--- layout: page title: Homeworks permalink: /hw/ ---
Homeworks will be posted below on the day they are released.
The first homework covers intro topics on linear classification and neural networks.
Due Thurs February 2 by 11:59pm EST.
The second homework covers training fully connected nets, using different optimization strategies, and using batch normalization and dropout.
Due Friday February 24 by 11:59pm EST.
The third homework covers training convolutional neural networks.
Due Thurs March 9 by 11:59pm EST.
The fourth homework covers training recurrent neural nets and vizualizing CNN behavior.
Due Thurs March 30 by 11:59pm EST.
Homework assignments maybe submitted after the announced deadline for a deduction of 10% of the total score achieved per late day up to 5 days. After 5 days, the homework will no longer be accepted for a grade unless the student can provide an administrative or medical excuse.
Reading summaries, paper presentations, and any deadlines for the final project will not be accepted after the posted deadlines.
Programming is a creative process. Individuals must reach their own understanding of problems and discover paths to their solutions. During this time, discussions with friends and colleagues are encouraged—you will do much better in the course, and at Tufts, if you find people with whom you regularly discuss problems. But those discussions should take place in English, not in code. If you start communicating in code, you're breaking the rules.
When you reach the coding stage, therefore, group discussions are no longer appropriate. Each program, unless explicitly assigned as a pair or group problem, must be entirely your own work.
Pair and group assignments will be graded in large part on novelty, so copying from another group or third-party code base won't help you anyway.
The homeworks have appeared with some alterations in other courses. Student answers to the homeworks may be available online. These answers may be wrong, or at least confusing. Assignments build on each other, so it is important to write and understand your own code. Submitted assignments will all be run through Tufts' plagiarism detection software.You are warned.


Navigation is how users move between different pages in your app. MobileUI’s navigation follows standard native navigation concepts, like those in iOS.
For use this component you need install with command:
mobileui install page
The operation of this component is very simple, to open a new page just call the function openPage('NAME_FILE_HTML')
and to go
back just call the function backPage()
.
If you need disabled BackButton in your device, just define window.disabledBackButton=true
.
If you need disabled effect when the page is openning in your device, just define window.disabledOpenPageEffect=true
.
For the example above we have the contacts
page:
When you click on an item in the list the contact
page appears:
And when opening the contact
page the function functionOpenContact
will be executed:
For advanced mode you can listener the event openPage
and closePage
.


This Month: Heads Up! Location Change!
The Div was an awesome place to hold our meetings for a long time. The Div is evolving now, and shifting its focus to better serve the Oklahoma Tech Community. Since they are focusing on inspiring a new generation of developers, their facility this month will be used to host a Scratch Camp, and in the future they will focus more on Div Jr.
We are thankful for the awesome time we spent there! However, now we need to meet at a differnt location, so for this month we are going to meet at MetroTech Economic Development Center in Room 114 (view map). For this building on campus you should park in Lot I, and the entrance is either entry 13 or 14.
Here are some maps to help you find us:
* How to get to Metro Tech Springlake Campus
* A Map of the Springlake Campus (pdf)
Its time to take your visualization capabilities to the next level
Processing.js is the sister project of the popular Processing visual programming language, designed for the web. Processing.js makes your data visualizations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins. You write code using the Processing language, include it in your web page, and Processing.js does the rest. It’s not magic, but almost.
Yury is going to help us get started with Processing.js. There is a reason Processing is highly popular with lots of creative people. Processing.js brings the best of visual programming to the web, both for Processing and web developers. Processing can help you achieve practical goals, but it can also be a means for self expression. If you’ve been amazed at some of the cool things happening in the browser, and are interested in being a part of the exciting changes javascript is bringing to modern development; don’t miss this meeting!


[ all classes ]
[ opennlp.tools.formats ]
Coverage Summary for Class: NameFinderCensus90NameStream (opennlp.tools.formats)
| Class | Class, % | Method, % | Line, % |
|---|---|---|---|
| NameFinderCensus90NameStream | 100% (1/ 1) | 40% (2/ 5) | 58.1% (18/ 31) |
1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package opennlp.tools.formats;
19
20 import java.io.IOException;
21 import java.nio.charset.Charset;
22 import java.util.Locale;
23
24 import opennlp.tools.util.InputStreamFactory;
25 import opennlp.tools.util.ObjectStream;
26 import opennlp.tools.util.PlainTextByLineStream;
27 import opennlp.tools.util.StringList;
28 import opennlp.tools.util.StringUtil;
29
30 /**
31 * This class helps to read the US Census data from the files to build a
32 * StringList for each dictionary entry in the name-finder dictionary.
33 * The entries in the source file are as follows:
34 *

35 * SMITH 1.006 1.006 1
36 *

37 *
The first field is the name (in ALL CAPS).
38 *
The next field is a frequency in percent.
39 *
The next is a cumulative frequency in percent.
40 *
The last is a ranking.
41 *

42 *

43 * Note: Do not use this class, internal use only!
44 */
45 public class NameFinderCensus90NameStream implements ObjectStream<StringList> {
46
47 private final Locale locale;
48 private final Charset encoding;
49 private final ObjectStream<String> lineStream;
50
51 /**
52 * This constructor takes an ObjectStream and initializes the class to handle
53 * the stream.
54 *
55 * @param lineStream an ObjectSteam<String> that represents the
56 * input file to be attached to this class.
57 */
58 public NameFinderCensus90NameStream(ObjectStream<String> lineStream) {
59 this.locale = new Locale("en"); // locale is English
60 this.encoding = Charset.defaultCharset();
61 // todo how do we find the encoding for an already open ObjectStream() ?
62 this.lineStream = lineStream;
63 }
64
65 /**
66 * This constructor takes an InputStream and a Charset
67 * and opens an associated stream object with the specified encoding specified.
68 *
69 * @param in an InputStreamFactory for the input file.
70 * @param encoding the Charset to apply to the input stream.
71 * @throws IOException
72 */
73 public NameFinderCensus90NameStream(InputStreamFactory in, Charset encoding)
74 throws IOException {
75 this.locale = new Locale("en"); // locale is English
76 this.encoding = encoding;
77 this.lineStream = new PlainTextByLineStream(in, this.encoding);
78 }
79
80 public StringList read() throws IOException {
81 String line = lineStream.read();
82 StringList name = null;
83
84 if ((line != null) &&
85 (!StringUtil.isEmpty(line))) {
86 String name2;
87 // find the location of the name separator in the line of data.
88 int pos = line.indexOf(' ');
89 if ((pos != -1)) {
90 String parsed = line.substring(0, pos);
91 // the data is in ALL CAPS ... so the easiest way is to convert
92 // back to standard mixed case.
93 if ((parsed.length() > 2) &&
94 (parsed.startsWith("MC"))) {
95 name2 = parsed.substring(0,1).toUpperCase(locale) +
96 parsed.substring(1,2).toLowerCase(locale) +
97 parsed.substring(2,3).toUpperCase(locale) +
98 parsed.substring(3).toLowerCase(locale);
99 } else {
100 name2 = parsed.substring(0,1).toUpperCase(locale) +
101 parsed.substring(1).toLowerCase(locale);
102 }
103 name = new StringList(new String[]{name2});
104 }
105 }
106
107 return name;
108 }
109
110 public void reset() throws IOException, UnsupportedOperationException {
111 lineStream.reset();
112 }
113
114 public void close() throws IOException {
115 lineStream.close();
116 }
117
118 }


Provides a test base class that wraps MSTest assertions in an expect-syntax and provides a chaining mechanism for multiple assertions on the same object
```C# [TestClass] public class MyTests : MSTest.Fluent.TestBase { [TestMethod] public void MyTest() { var actual = 5
Expect(actual).ToEqual(5);
} } ```


A legend is a static control element that can be used to add interactive labels to charts or dashboards. It can be inserted into any widget that supports the Objects component.


Really simple website
" . $whatever . "\n"); print ("
Legal wants disclaimer: By using this website you agree that we track your every movement.


Main Jet Calculator
About & Source
Altitude:
Metres
Feet
Temperature:
Celsius
Farenheit
Jet Size:
Calculate Baseline Jet Size
Calculate Corrected Jet Size


C++ is more active than ever, with the C++17 standard ready, a widely support on C++14 from major compilers and C++20 planning on the way there is a interesting future for the standard.
Modern C++ is great, some people are even calling it a new language, but is not only the language what is evolving the tool-chain is getter better, so doing continuous integration for cross platform projects is simple and effective.
I decide to do a simple project using some of the C++14 features and following the C++ Core Guidelines whenever its possible. The result is available in this repository.
I set some goals to doing this project:
- Project is organized with a logical structure
- Need to be a small C++14 project, but nothing really complicate.
- Will have at least two modules, a library and a program that uses it.
- Modern Unit Tests.
- It should use some third party software.
- CI will be triggered per commit and build using;
- GCC & CLang on Linux
- XCode on OSX
- Visual Studio on Windows
The initial project structure
/lib
/src
/include
/test
/app
/src
/test
/third_party
Nothing complicated, and easy to manage, with a clear meaning of each folder.
The simple program
This program will output when run:
[2017-07-01 11:09:22.766] [console] [info] [main] doing some calculation
[2017-07-01 11:09:22.768] [console] [info] [main] 1 + 2 * 5 - 3 / 4 = 3
This example use a couple of classes defined in the library, Calc and Logger to display a simple calculation.
Doing Unit Tests
I decide to use the wonderful Catch for doing the unit test, as an example:
We are not going into the detail in the implementation of the classes or the test, the repository has all the details about it, lest focus now on the CI.
Build and test in all platform
We are going to use CMake and CTest for creating our build so we start with the main CMakeLists.txt on the root of the project.
First we just set some settings, as that we are going to we require C++14, we will find the Thread library for any tool-chain, we include our directories, but we exlude for the third party other build targets that our dependencies could bring, and finally we set that this CMake project will have tests.
Preparing the third party software
The third part software that we are going to use is:
The third party software is cloned as submodules, so we use their original project structure.
Now we prepare a new CMakeLists.txt under the /third_party folder:
The most import part here is that we export two variables that will have the corresponding directories to add to the include paths for our targets and we push them to the parent scope so we could use them. Additionally for Catch we include a custom function that will allow to auto discover tests.
Bulding the library
For creating our library we add a new CMakeLists.txt under the /lib folder:
Here we set the desired include directories and we built a list of sources and header files, them we create the library and export a couple of variable so we could use them in our application, finally we add the test directory so we build the test for this library.
Testing the library
No we create a new CMakeLists.txt under the /lib/test directory:
We include the test sources and we link the test executable with our Library and the Threads library, finally we out discover the catch tests using the previously imported function in the third party modules.
Building the application
Building the application is now quite simple with a new CMakeLists.txt under the /app directory:
We just include the sources for the app, link with the libraries and include the test folder.
Doing a simple test on the application
For the application itself we are just going to running and check that end successfully, so we create a new CMakeLists.txt under the /app/test directory:
Here we simply run the application and we use the CTest command add_test to run it, if the application fails this test will fail.
CMake will handle it
With this CMake will create our targets and link them together so if we change our lib their test will be build, so the application. If we run the test all required target will be build include the library and the application.
Using CMake to create a project for our tool-chain
To generate the projects, auto discovering everything, including what compiler we are going to use we could just:
If you like to set a implicit compiler set the variable CXX=${COMPILER}, for example COMPILER could be gcc, clang and so on.
Auto detect in Windows usually generate a Visual Studio project since msbuild require it, but in OSX does not generate and XCode project, since is not required for compiling using XCode clang.
Specify build type debug/release
Specify architecture
Generate different project types
Build the project
From the Build folder
Run tests
From the Build folder
This will run all our test and given stats about how long will take, which one fail and so on.
Adding Travis CI
No that we have our project ready we could building in travis for Linux and OSX. We will add this .travis.yml to our project:
This will use a buld matrix to generate the project, build it and do the test for Linux (clang38 / gcc6) and OSX (XCode 8.3 clang) for Debug and Release targets.
Adding Appveyor
Finally we will use Appveyor for Visual Studio on Windows builds adding a appveyor.yml to our project:
In this case we are going to build using Visual Studio 2015 and 2017 with Win32 and x64 architecture and Debug and Release targets.
Summary
So probably this is a more complex setup that initially anticipated but when is done working with it is really simple.
We could add new files just creating them in the right folders, work with our favorite IDE, run our tests and push to our git to get our CI reports.
Some IDE as CLion have a runner for Catch that allow us to run individual test with a couple of clicks, however we could do the same just filtering test by tags in our favorite IDE adding to the arguments of our test application any of the Catch supported command line parameters.
In fact we could even use this jenkins pluging to get our CMake / CTest build, test and reported. But I’ll leave that for other day.
Anyway I think this is something that I’ve really enjoy to learn and I’m sure that will continue to use in future C++ projects.
references
- https://cmake.org/
- https://docs.travis-ci.com/user/languages/cpp/
- https://www.appveyor.com/docs/lang/cpp/
- https://github.com/isocpp/CppCoreGuidelines
- https://github.com/philsquared/Catch
- https://github.com/gabime/spdlog
- https://github.com/cognitivewaves/CMake-VisualStudio-Example
- http://derekmolloy.ie/hello-world-introductions-to-cmake/
- https://cmake.org/Wiki/CMake/Testing_With_CTest
- https://www.appveyor.com/docs/lang/cpp/
- https://docs.travis-ci.com/user/languages/cpp/
- https://github.com/philsquared/Catch/blob/master/docs/build-systems.md
- https://stackoverflow.com/questions/14446495/cmake-project-structure-with-unit-tests


|
| ParameterCollection | Bind [get] |
| | Setting this config option adds or removes data bindings for other configs. More...
|
| |
| virtual object | BindObject [get, set] |
| | Setting this config option adds or removes data bindings for other configs. More...
|
| |
| virtual string | BindString [get, set] |
| | Setting this config option adds or removes data bindings for other configs. More...
|
| |
| virtual string | DefaultBindProperty [get, set] |
| | This property is used to determine the property of a bind config that is just the value. Defaults to 'html'. More...
|
| |
| virtual bool | DefaultListenerScope [get, set] |
| | If true, this component will be the default scope (this pointer) for events specified with string names so that the scope can be dynamically resolved. The component will automatically become the defaultListenerScope if a controller is specified. More...
|
| |
| override Unit | Height [get, set] |
| | The height of this Component in pixels. More...
|
| |
| virtual string | HeightSpec [get, set] |
| | The height of this Component as a CSS value with units. More...
|
| |
| virtual string | Publishes [get, set] |
| | One or more names of config properties that this component should publish to its ViewModel. Some components override this and publish their most useful configs by default. More...
|
| |
| virtual string [] | PublishesArray [get, set] |
| | One or more names of config properties that this component should publish to its ViewModel. Some components override this and publish their most useful configs by default. More...
|
| |
| virtual object | PublishesObject [get, set] |
| | One or more names of config properties that this component should publish to its ViewModel. Some components override this and publish their most useful configs by default. More...
|
| |
| virtual string | Reference [get, set] |
| | Specifies a name for this Component inside its component hierarchy. This name must be unique within its view or its ViewController. See the documentation in Ext.container.Container for more information about references. More...
|
| |
| virtual bool | Session [get, set] |
| | If provided this creates a new Session instance for this component. If this is a Container, this will then be inherited by all child components. More...
|
| |
| virtual string | StyleSpec [get, set] |
| | Additional CSS styles that will be rendered into an inline style attribute when the widget is rendered. More...
|
| |
| virtual string | TwoWayBindable [get, set] |
| | This object holds a map of config properties that will update their binding as they are modified. For example, value is a key added by form fields. The form of this config is the same as publishes. More...
|
| |
| virtual string [] | TwoWayBindableArray [get, set] |
| | This object holds a map of config properties that will update their binding as they are modified. For example, value is a key added by form fields. The form of this config is the same as publishes. More...
|
| |
| virtual object | TwoWayBindableObject [get, set] |
| | This object holds a map of config properties that will update their binding as they are modified. For example, value is a key added by form fields. The form of this config is the same as publishes. More...
|
| |
| virtual string | UserCls [get, set] |
| | One or more CSS classes to add to the component's primary element. This config is intended solely for use by the component instantiator (the "user"), not by derived classes. More...
|
| |
| virtual object | ViewModel [get, set] |
| | The ViewModel is a data provider for this component and its children. The data contained in the ViewModel is typically used by adding bind configs to the components that want present or edit this data. More...
|
| |
| override Unit | Width [get, set] |
| | The width of this Component in pixels. More...
|
| |
| virtual string | WidthSpec [get, set] |
| | The width of this Component as a CSS value with units. More...
|
| |
| ConfigItemCollection | CustomConfig [get] |
| | Collection of custom js config More...
|
| |
| virtual string | ItemID [get, set] |
| | An itemId can be used as an alternative way to get a reference to a component when no object reference is available.


--- creation_epoch:<PHONE_NUMBER> lastmod_epoch:<PHONE_NUMBER> categories: ['Tech Tricks'] title: /dev/one for writing all 1's to a disk --- I found the following command online for writing all 1's to a disk:
tr '\0' '\377' < /dev/zero | dd bs=64K of=/dev/sdz


No book can ever be finished. While working on it we learn just enough to find it immature the moment we turn away from it.
Here it is, the identity function:
function id(x) { return x; }
The launch code is 00000000.
I have two feet.


<fd-product-menu>
component. The user, user
menu and product switcher are passed as inputs to the <fd-shellbar-actions>
component. Data
for each action gets passed as inputs to the <fd-shellbar-action>
component. The response to
clicks on any of these items is handled via callback functions for each object. See the 'collapsible'
example to gain an understanding of how this works.
The shellbar can have 4 different sizes 's' | 'm' | 'l' | 'xl'
.
When a product has multiple links, the product links should collapse into an overflow menu on mobile screens
(s
size).
All actions, except for the user menu, should be collapsed.
ProductSwitchComponent
and ProductMenuComponent
have properties straight from popover
component, so some customisation can be added, by passing inputs ex. [position]="'bottom-end'"
.
size
Input property provided, Shellbar will automatically determine which size to apply based on
the current width of it.
sideNav
property to true. This will remove the responsive paddings applied on different screen
sizes and will align vertically the control button with the items in the Side Navigation. The control button,
situated on the far left hand-side of the Shellbar, is responsible for switching the modes of the Side Navigation
(expanded, condensed and off-screen) and requires the fd-shellbar-side-nav
directive.
[collapseWidth]
input. In this example the breakpoint has been set at 768 pixels.
The shellbar is optimized to be used with central group for the search. This creates a necessity of centering the groups by giving them equal width.
If the design suggests that each group can have own width, developers can pass [groupFlex]
input
property defining for each group whether it can shrink, allowing other groups to grow.


TheSoulbiz is a minimalist Jekyll page. This page is based on the Lagrange theme. The purpose of this theme is to provide a simple, clean, content-focused blogging platform for your personal site or blog. Below you can find everything you need to get started.
Installation Guide: this post will help you get started with installing Lagrange, whether you are completely new to using Jekyll, or simply just migrating to a new Jekyll theme.
Working With Jekyll: this post will acquaint you with how to use Jekyll to create your own site.
Working With Lagrange: this post will acquaint you with how to use Jekyll to create your own site.
This theme is completely free and open source software. You may use it however you want, as it is distributed under the MIT License. If you are having any problems, any questions or suggestions, feel free to tweet at me, or file a GitHub issue.
Written on March 30th, 2017 by Omar Asensio


I am continually amazed at the beautiful, delicate Blue Flax that somehow took hold in my garden. They are awash in color every morning, yet not a single flower remains by the afternoon. They are the very definition of ephemeral.
© Blue Flax Society.


S. Korea’s exports down 9.6 pct in first 20 days of November
South Korea’s exports fell 9.6 percent in the first 20 days of November mainly due to decreased shipments of semiconductors and ships, customs data showed Thursday.
The country’s exports stood at US$28.2 billion in the Nov. 1-20 period, compared with $31.2 billion in the same period last year, according to the Korea Customs Service.
The average daily exports — which reflect working days — also declined 9.6 percent on-year to $1.82 billion.
By product, exports of semiconductors and ships fell 23.6 percent and 65.3 percent, respectively. Outbound shipments of passenger cars and household appliances rose 7.1 percent and 8.7 percent, respectively, according to the data.
Decreased shipments of chips dealt a blow to South Korea, where semiconductors account for nearly one-fifth of exports.
South Korea — home to Samsung Electronics Co., the world’s largest memory chipmaker, and its smaller rival SK hynix Inc. — accounted for more than 60 percent of the global memory market in 2018.
By destination, South Korea’s exports to the United States and the Middle East rose 0.5 percent and 14.4 percent, respectively.
Meanwhile, South Korea’s shipments to China — South Korea’s largest trading partner — and the European Union fell 8.1 percent and 25.3 percent, respectively.
South Korea imported goods worth $27.6 billion in the 20-day period, down 11.2 percent from a year earlier.


{% extends "layout.html" %} {% block title %}Page Not Found{% endblock %} {% block body %}
The requested content was not found.
Return home?


Photo by Zoe Cranfill | Staff Photographer.
Want to learn more about us? Check us out at thepostathens.com, email us at<EMAIL_ADDRESS>or follow our social media below!
© Copyright 2022, The Post, Athens, OH
Want to learn more about us? Check us out at thepostathens.com, email us at<EMAIL_ADDRESS>or follow our social media below!


Authors: Kayukov Ivan and Kalugina Marina, P3202
Login and go to the graph!
{{ response.message }}
Sign in
If you don't have an account,
sign up
now!


Follow these easy steps and make your first step to financing your future.
Answer these questions, so we can determine your investment portfolio!


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 6
Dietary
For the custard, warm the milk, half of the sugar and the vanilla pod in a saucepan over a low to medium heat for 3-4 minutes, or until the sugar has melted.
In a mixing bowl, whisk the egg yolks, flour and the remaining sugar until the mixture resembles a smooth paste. Pour in the warm milk mixture and stir until well combined, then transfer the mixture to a separate saucepan and heat over a very low heat for 10-15 minutes, or until the mixture is thick enough to coat the back of a spoon. Transfer to a bowl, cover with cling film and set aside to cool.
For the gingernut fool, place the rhubarb batons, wine, sugar, jam and vanilla pod into a saucepan and simmer over a medium heat for 4-5 minutes, or until the rhubarb begins to soften. Scoop out the rhubarb and transfer to a baking tray to drain.
Continue to simmer the remaining sugar mixture for 2-3 minutes, or until the volume of liquid has reduced and has the consistency of syrup. Set aside to cool.
Blend the gingernut biscuits in a food processor until they resemble large breadcrumbs.
When the custard has cooled, fold the whipped cream into it.
To serve, spoon some of the rhubarb and syrup into the bottom of each cocktail glass. Sprinkle in some of the biscuit crumbs, then add the custard. Repeat until the glasses are almost full, then top with the remaining rhubarb pieces and drizzle with the syrup. Garnish with a sprinkling of the gingernut crumb and a mint leaf, if desired.


{% extends 'base.html' %} {% block body %} {% load static %}
The lower the score the better!
The scoring system is called the brier score
When you predict you make an estimate of the probability of an event that is between 0 - 100%
when an event happens, the probability of that event happening is now 100%. Conversely, 0% if it did not happen.
The Brier score is equal to the difference between your estimate and its real probability squared.
So if you estimate there to be a 70% chance of X happening and it does happen:
Score = ( real probability - your estimate )^2
(100% - 70%)^2
(0.30)^2
Score = 0.09


Paste or type your text in the box below.
Select changes to make:
Add optional extension:
New name appears here.


What happened to CloudJetty?
CloudJetty was launched in 2009 as an experiment in running a community-maintained buyers' guide for the latest web-based services and applications.
Unfortunately, the pace of development quickly fell short of what was needed to keep up with the rapidly changing SaaS and cloud services scene. For years CloudJetty has been running "in limbo" with no real effort being expended to keep the product current.
Why was that? Two main reasons:
- All our development resources were quickly pre-empted by more immediate revenue-generating opportunities.
- The "killer feature" we had in mind involved integrating purchase and payment for services. Given the lack of standards in the industry, this was either going to be a pipe-dream or require so much development effort that it was infeasible.
So I think the decision to decommission CloudJetty is long overdue. From 10-Nov-2015 the site will no longer be available but will redirect to this goodbye message.
Is it gone for good, or just for now? I don't know, we'll see!
CloudJetty Alternatives?
If you are still looking for cloud applications, then I'd recommend checking out services such as GetApp, which are doing a much better job of being a buyers' guide than CloudJetty ever approached.
Enquiries?
If you have enquiries about CloudJetty or the data that was held in CloudJetty, feel free to contact me at paul@evendis.com.


AP Top Political News at 9:05 a.m. EST
by EndPlayHarris, Warren compete for support from black female voters
Trump's sports kick is about politics, but fans have a say
Trump tried hard to win Ukraine Biden probes, officials say
Whistleblower disputes boil over in impeachment interview
Top Iowa aide to Steyer's campaign resigns after AP report
Ivanka Trump rejects notion family profits from presidency
Bloomberg to pass on Iowa, NH, focus on Super Tuesday states
Trump launches black outreach effort for 2020
The Latest: Bloomberg would focus on Super Tuesday states
Bloomberg's wealth gives him options his rivals don't enjoy


Hello #USERNAME,
Looks like someone tried to sign in to your Discord account from a new location. If it was you, you authorize the login from this site via the link below. If it wasn't you, we recommend that you change your password as soon as possible.
IP-adress: #IP
place: #COUNTRY #CITY
P.S. We strongly recommend that you enable 2-factor authentication (2FA) for your account. Read more at: https://blog.discordapp.com/keeping-discord-safe-and-sound/


+++
title = "Days Gone for Vortex"
linkTitle = "Days Gone for Vortex"
+++
{{< blocks/cover title="Days Gone Support for Vortex" image_anchor="top" height="full" color="red" >}}
{{< /blocks/cover >}}
{{% blocks/lead color="primary" %}}
Days Gone for Vortex (DGV) is a simple extension to add support for Days Gone to the Vortex mod manager. With this extension you can install, remove and manage your Days Gone mods using Vortex, perfect for players already familiar with Vortex.
**This project is unofficial!** We have no association with Nexus Mods nor with PS Studios and is only a community project.
{{% /blocks/lead %}}
{{< blocks/section color="dark" >}}
{{% blocks/feature icon="fa-tools" title="Full Vortex integration" %}}
Manage your Days Gone mods the same way you manage any other Vortex-supported game.
{{% /blocks/feature %}}
{{% blocks/feature icon="fab fa-github" title="Contributions welcome!" url="https://github.com/agc93/vortex-daysgone" %}}
DGV is fully open-source and open to community contributions and fixes!
{{% /blocks/feature %}}
{{% blocks/feature icon="fas fa-cloud-download-alt" title="Supports Most Mods" %}}
You should be able to install almost any mod for Days Gone.
{{% /blocks/feature %}}
{{< /blocks/section >}}
{{< blocks/section >}}
{{< /blocks/section >}}


Three cops investigated in connection to ex-Vancouver detective’s sexual misconduct
Fisher was convicted in 2018 after pleading guilty to kissing two young women who were witnesses in a criminal case
by Katya SlepianThree Vancouver police officers are being investigated in connection to charges against former detective James Fisher.
Vancouver police spokesperson Tania Visintin confirmed the investigation had been handed over to an external agency.
“As part of a thorough investigation conducted by the VPD into the actions of Jim Fisher, concerns about the conduct of three members from Counter Exploitation Unit related specifically to the Fisher investigation were referred to an independent agency for investigation,” Visintin said in an email to Black Press Media.
Visintin was unable to provide the name of the agency conducting the investigation.
Fisher was convicted in 2018 after pleading guilty to kissing two young women who were witnesses in a criminal case he was probing. He was sentenced to 20 months in prison and two years’ probation that August.
Before his arrest and subsequent retirement, Fisher was a 29-year veteran of the force and a member of a team that investigates prostitution, criminal exploitation and child sex abuse.


Issue 53
Welcome to Haskell Weekly! Haskell is an advanced, purely functional programming language. This is a weekly summary of what’s going on in its community. You can subscribe to the email newsletter or the Atom feed.
Want to contribute to Haskell Weekly? Send us a message on Twitter or open an issue on GitHub.
News from the Haskell community
-
One year ago I published the first issue of Haskell Weekly, a free email newsletter about the Haskell programming language. For the first few months I ran it in stealth mode, making sure the idea made sense and ironing out all the kinks.
-
I tried Haskell for 5 years and here’s how it was
Haskell is a great programming language. It requires some effort at the beginning, but you get to learn a very different way of thinking about your problems. At the same time, the ecosystem matured significantly (hopefully signalling a trend) and the language can be great to work with.
-
Open sourcing our new Duckling
One of these rule-based systems is Duckling, our open-sourced probabilistic parser to detect entities like dates and times, numbers, and durations. Due to our extensive growth, Duckling was not scaling as fast as we were. After considering several options, we decided to go with a rewrite in Haskell.
-
I’m going to introduce stutter, a command line tool for generating strings. I’ll first show some examples, then talk a bit about the performance and finally about the implementation (for the Haskell friendly reader).
-
Lifts for free: making mtl typeclasses derivable
While we cannot eliminate the instances entirely without somewhat dangerous techniques like overlapping instances, we can automatically derive them using features of modern GHC, eliminating the truly unnecessary boilerplate.
-
Putting your Haskell to the test
In Haskell, we have a mantra that if your code compiles it ought to work. This is might be more true in Haskell than in other languages. But it’s still a tongue-in-cheek comment that doesn’t quite pass muster.
-
What a Haskell study group is not
In this article, I will share my thoughts on what made our group successful, where we went astray, and in particular on what a Haskell study group should not be as the pitfalls are many but advice for avoiding them, based on actual experience, scant.
-
What’s a monad? Digging into Haskell
Haskell is incredibly powerful, and incredibly complex. I see now why it has the reputation it does. There’s a huge barrier to entry, and it really is vastly different from the set of languages primarily taught and used today.
-
I’m hoping that examples like this will allow Rust users in the future to leverage the power Haskell has, such as infinite lists, in their code or vice versa and allowing Haskell to have a type safe fast language when speed truly is critical.
Package of the week
This week’s package of the week is Chart, a library for generating 2D charts and plots.
Send us a message on Twitter to nominate next week’s package!


Attn: Sir/ Madam, I am the personal account officer to the great late INDUSTRIALIST who had an account in one of the top banks here in South Africa. Forgive my contact because this letter comes to you as a surprise, as you don't know of it's coming before. My contact is for you to please assist to transfer US$125,000.000.00 ( One hundred & twenty- five million United States dollars only) in tranches from a Prime Bank here in South Africa to any oversea's account(s). The account was opened in 1998 and he died in 2003 without a written or oral WILL and since 2003 nobody had operated the account. The account is dormant and the funds floating. If I do not remit this money out urgently it will be forfeited to the bank. Firstly, I must solicit your strictest confidence in this transaction because of my official position and nature of the deal. The business can be concluded in 10 (ten) banking days .I am sure and have confidence of your ability and reliability to prosecute a transaction of this great magnitude. The account holder was a foreigner and no other person knows about this account or anything concerning it, the account has no other beneficiary and until his death he was the accountant of the company. My investigation through the National immigration department proved to me as well that he was single as at the time of his entry into the Republic of South Africa. The credit balance in this account is USD$125 Million ( One Hundred & Twenty five Million United States Dollars only). Your assistance as a foreigner is necessary because the management of the bank will welcome any foreigner who has correct information on this account which I will disclose to you if you are interested to do this business with me.There is no risk in this business if you follow my instructions. Given my position and my personal rapport with the manager of the bank, the funds can be transferred to any account(s) you nominate .I need an assurance from you that this money will be intact pending my arrival to your bank for disbursements. State the A/C Details. A/c No:............ Bank Name:........ A/c Holder:........ Beneficiary Name:... We will start with the first swift wire-transfer of US$25 million( Twenty -five million United States only) Upon successful transfer of the first tranch without any disappointment from your side, you shall apply for the outstanding sum of US $100 Million to the same or other account(s). Armed with correct information as a foreigner and appropriate documentations as we shall arrange I will use my position to secure a prompt conclusion to the transaction. Your duty is to send me the banking coordinates for the transfer while maintaining the required confidentiality . At the conclusion of the transfer you will receive 35%, 5% will be for any expenses both parties incurred in the process of this business and 60% of the funds will be for me. Upon your strong assurance of your full cooperations and receipt of your account details then I will start the process of the funds transfer to your account without further delay. Contact Me immediately for futher details. Thanks for your anticipated cooperations. Yours Faithfully, Mr.Stephen Ajken _________________________________________________________________ See their smiles, hear their laughter with Windows Live Messenger! http://messenger.live.com


Class
LFLF is an object storing all necessary information for the LF-mapping.
LF is an object storing all necessary information for the LF-mapping.
| Defined in | <seqan/Index.h> |
|---|---|
| Signature |
template <typename TText, typename TSpec, typename TConfig>
struct LF;
|
Template Parameters
TText |
The type of the text the LF table is constructed from. |
|---|---|
TSpec |
A possibility to specialize the LF table. Default: void |
TConfig |
A configuration object for easily defining the LF table fibres. |
Interface Function Overview
-
void clear(lfTable);
Resets the LF table. -
void createLF(lfTable, text, sa);
Creates the LF table -
bool empty(lfTable);
Clears the LF table. -
TFibre getFibre(lfTable, fibreTag);
Returns a specific fibre of a LF table. -
lfMapping(lfTable, pos)
Returns the position of an character at a specified position of L in F. L corresponds to the last column of the sorted cyclic rotations of the original text, while F correspond to the first column. -
bool open(lfTable, fileName[, openMode]);
This functions loads a LF table from disk. -
bool save(lfTable, fileName[, openMode]);
This functions saves a LF table to disk.
Interface Functions Detail
void clear(lfTable);
Resets the LF table.
Parameters
lfTable
|
The LF table to be cleared. |
|---|
Data Races
Thread safety unknown!
void createLF(lfTable, text, sa);
Creates the LF table
Parameters
lfTable
|
The LF table to be constructed. |
|---|---|
text
|
The underlying text Types: String. |
sa
|
The suffix array of the LF table underlying text. Types: String, StringSet. |
Returns
TReturn |
Returns a bool which is true on successes and false otherwise. |
|---|
Data Races
Thread safety unknown!
bool empty(lfTable);
Clears the LF table.
Parameters
lfTable
|
The LF table to be checked. |
|---|
Returns
bool |
true if the LF table is empty, false otherwise. |
|---|
Data Races
Thread safety unknown!
TFibre getFibre(lfTable, fibreTag);
Returns a specific fibre of a LF table.
Parameters
fibreTag
|
A tag that identifies the Fibre. Types: LFTableFibres |
|---|---|
lfTable
|
The LF table. |
Returns
TFibre |
A reference to the Fibre object of type Fibre<LF<TText, TSpec, TConfig>, FibrePrefixSums>::Type |
|---|
Data Races
Thread safety unknown!
lfMapping(lfTable, pos)
Returns the position of an character at a specified position of L in
F. L corresponds to the last column of the sorted cyclic rotations of
the original text, while F correspond to the first column.
Parameters
lfTable
|
The LF holding the occurrence and prefix sum table. |
|---|---|
pos
|
The position in L. Types: UnsignedIntegerConcept |
Returns
TReturn |
Returns the position of the character L[c] in F. The returned position is of the same type as pos. Types: The type of the position. |
|---|
Data Races
Thread safety unknown!
bool open(lfTable, fileName[, openMode]);
This functions loads a LF table from disk.
Parameters
lfTable
|
The LF object. |
|---|---|
fileName
|
C-style character string containing the file name. |
openMode
|
The combination of flags defining how the file should be opened. To open a file read-only, write-only or to read and write use OPEN_RDONLY, OPEN_WRONLY, or OPEN_RDWR. To create or overwrite a file add OPEN_CREATE. To append a file if existing add OPEN_APPEND. To circumvent problems, files are always opened in binary mode. Default: OPEN_RDWR | OPEN_CREATE | OPEN_APPEND. |
Returns
bool |
true on success. |
|---|
Data Races
Thread safety unknown!
bool save(lfTable, fileName[, openMode]);
This functions saves a LF table to disk.
Parameters
lfTable
|
The LF object to save. |
|---|---|
fileName
|
C-style character string containing the file name. |
openMode
|
The combination of flags defining how the file should be opened. To open a file read-only, write-only or to read and write use OPEN_RDONLY, OPEN_WRONLY, or OPEN_RDWR. To create or overwrite a file add OPEN_CREATE. To append a file if existing add OPEN_APPEND. To circumvent problems, files are always opened in binary mode. Default: OPEN_RDWR | OPEN_CREATE | OPEN_APPEND. |
Returns
bool |
true on success. |
|---|
Data Races
Thread safety unknown!


Front End Developer Tech Team
3 Days Ago
Chicharrones air plant next level ipsum truffaut meh. Ea roof party chia hashtag, try-hard squid synth tote bag.
Read More


Command Configuration
Add Command


pg_hint_plan -- controls execution plan with hinting phrases in comment of special form.
PostgreSQL uses cost based optimizer, which utilizes data statistics, not static rules. The planner (optimizer) esitimates costs of each possible execution plans for a SQL statement then the execution plan with the lowest cost finally be executed. The planner does its best to select the best best execution plan, but not perfect, since it doesn't count some properties of the data, for example, correlation between columns.
pg_hint_plan makes it possible to tweak execution plans using so-called "hints", which are simple descriptions in the SQL comment of special form.
pg_hint_plan reads hinting phrases in a comment of special form given with the target SQL statement. The special form is beginning by the character sequence "/*+" and ends with "*/". Hint phrases are consists of hint name and following parameters enclosed by parentheses and delimited by spaces. Each hinting phrases can be delimited by new lines for readability.
In the example below , hash join is selected as the joning method and scanning pgbench_accounts by sequential scan method.
postgres=# /*+ postgres*# HashJoin(a b) postgres*# >SeqScan(a) postgres*# */ postgres-# EXPLAIN SELECT * postgres-# FROM pgbench_branches b postgres-# JOIN pgbench_accounts a ON b.bid = a.bid postgres-# ORDER BY a.aid; QUERY PLAN --------------------------------------------------------------------------------------- Sort (cost=31465.84..31715.84 rows=100000 width=197) Sort Key: a.aid -> Hash Join (cost=1.02..4016.02 rows=100000 width=197) Hash Cond: (a.bid = b.bid) -> Seq Scan on pgbench_accounts a (cost=0.00..2640.00 rows=100000 width=97) -> Hash (cost=1.01..1.01 rows=1 width=100) -> Seq Scan on pgbench_branches b (cost=0.00..1.01 rows=1 width=100) (7 rows) postgres=#
The above section mentioned that hints are placed in a comment with special form. This way of hinting is inconvenient for certain cases where queries cannot be edited. For such cases, hints can be placed in a special table named "hint_plan.hints". The table consists of the following columns.
| column | description |
|---|---|
| id | Unique number to identify a row for a hint. This column is filled automatically by sequence. |
| norm_query_string | A pattern matches to the query to be hinted. Constants in the query have to be replace with '?' as in the following example. White space is significant in the pattern. |
| application_name | The value of application_name of sessions to apply the hint. The hint in the example below applies to sessions connected from psql. An empty string means sessions of any application_name. |
| hints | Hint phrase. This must be a series of hints excluding surrounding comment marks. |
The following example shows how to operate with the hint table.
postgres=# INSERT INTO hint_plan.hints(norm_query_string, application_name, hints) postgres-# VALUES ( postgres(# 'EXPLAIN (COSTS false) SELECT * FROM t1 WHERE t1.id = ?;', postgres(# '', postgres(# 'SeqScan(t1)' postgres(# ); INSERT 0 1 postgres=# UPDATE hint_plan.hints postgres-# SET hints = 'IndexScan(t1)' postgres-# WHERE id = 1; UPDATE 1 postgres=# DELETE FROM hint_plan.hints postgres-# WHERE id = 1; DELETE 1 postgres=#
The hint tables is owned by the creator user and having the default previledges at the time of creation. during CREATE EXTENSION. Table hints are prioritized than comment hits.
Hinting phrases are classified into six types based on what kind of object and how they can affect planning. Scaning methods, join methods, joining order, row number correction, parallel query and GUC setting. You will see the lists of hint phrases of each type in Hint list.
Scan method hints enforce specific scanning method on the target table. pg_hint_plan recognizes the target table by alias names if any. They are 'SeqScan' , 'IndexScan' and so on in this kind of hint.
Scan hints are effective on ordinary tables, inheritance tables, UNLOGGED tables, temporary tables and system catalogs. External(foreign) tables, table functions, VALUES clause, CTEs, views and subquiries are not affected.
postgres=# /*+ postgres*# SeqScan(t1) postgres*# IndexScan(t2 t2_pkey) postgres*# */ postgres-# SELECT * FROM table1 t1 JOIN table table2 t2 ON (t1.key = t2.key);
Join method hints enforce the join methods of the joins involving specified tables.
This can affect on joins only on ordinary tables, inheritance tables, UNLOGGED tables, temporary tables, external (foreign) tables, system catalogs, table functions, VALUES command results and CTEs are allowed to be in the parameter list. But joins on views and sub query are not affected.
This hint "Leading" enforces the order of join on two or more tables. There are two ways of enforcing. One is enforcing specific order of joining but not restricting direction at each join level. Another enfoces join direction additionaly. Details are seen in the hint list table.
postgres=# /*+ postgres*# NestLoop(t1 t2) postgres*# MergeJoin(t1 t2 t3) postgres*# Leading(t1 t2 t3) postgres*# */ postgres-# SELECT * FROM table1 t1 postgres-# JOIN table table2 t2 ON (t1.key = t2.key) postgres-# JOIN table table3 t3 ON (t2.key = t3.key);
This hint "Rows" corrects row number misestimation of joins that comes from restrictions of the planner.
postgres=# /*+ Rows(a b #10) */ SELECT... ; Sets rows of join result to 10 postgres=# /*+ Rows(a b +10) */ SELECT... ; Increments row number by 10 postgres=# /*+ Rows(a b -10) */ SELECT... ; Subtracts 10 from the row number. postgres=# /*+ Rows(a b *10) */ SELECT... ; Makes the number 10 times larger.
This hint "Parallel" enforces parallel execution configuration on scans. The third parameter specifies the strength of enfocement. "soft" means that pg_hint_plan only changes max_parallel_worker_per_gather and leave all others to planner. "hard" changes other planner parameters so as to forcibly apply the number. This can affect on ordinary tables, inheritnce parents, unlogged tables and system catalogues. External tables, table functions, values clause, CTEs, views and subqueries are not affected. Internal tables of a view can be specified by its real name/alias as the target object. The following example shows that the query is enforced differently on each table.
postgres=# explain /*+ Parallel(c1 3 hard) Parallel(c2 5 hard) */ SELECT c2.a FROM c1 JOIN c2 ON (c1.a = c2.a); QUERY PLAN ------------------------------------------------------------------------------- Hash Join (cost=2.86..11406.38 rows=101 width=4) Hash Cond: (c1.a = c2.a) -> Gather (cost=0.00..7652.13 rows=1000101 width=4) Workers Planned: 3 -> Parallel Seq Scan on c1 (cost=0.00..7652.13 rows=322613 width=4) -> Hash (cost=1.59..1.59 rows=101 width=4) -> Gather (cost=0.00..1.59 rows=101 width=4) Workers Planned: 5 -> Parallel Seq Scan on c2 (cost=0.00..1.59 rows=59 width=4) postgres=# EXPLAIN /*+ Parallel(tl 5 hard) */ SELECT sum(a) FROM tl; QUERY PLAN ----------------------------------------------------------------------------------- Finalize Aggregate (cost=693.02..693.03 rows=1 width=8) -> Gather (cost=693.00..693.01 rows=5 width=8) Workers Planned: 5 -> Partial Aggregate (cost=693.00..693.01 rows=1 width=8) -> Parallel Seq Scan on tl (cost=0.00..643.00 rows=20000 width=4)
'Set' hint changes GUC parameters just while planning. GUC parameter shown in Query Planning can have the expected effects on planning unless any other hint conflicts with the planner method configuration parameters. The last one among hints on the same GUC parameter makes effect. GUC parameters for pg_hint_plan are also settable by this hint but it won't work as your expectation. See Restrictions for details.
postgres=# /*+ Set(random_page_cost 2.0) */ postgres-# SELECT * FROM table1 t1 WHERE key = 'value'; ...
GUC parameters below affect the behavior of pg_hint_planpg_hint_plan.
| Parameter name | discription | Default |
|---|---|---|
| pg_hint_plan.enable_hint | True enbles pg_hint_plan. | on |
| pg_hint_plan.enable_hint_table | True enbles hinting by table. true or false. | off |
| pg_hint_plan.parse_messages | Specifies the log level of hint parse error. Valid values are error, warning, notice, info, log, debug | INFO |
| pg_hint_plan.debug_print | Controls debug print and verbosity. Valid vaiues are off, on, detailed and verbose. | off |
| pg_hint_plan.message_level | Specifies message level of debug print. Valid values are error, warning, notice, info, log, debug | INFO |
Simplly run "make" in the top of the source tree, then "make install" as appropriate user. The PATH environment variable should be set properly for the target PostgreSQL for this process.
$ tar xzvf pg_hint_plan-1.x.x.tar.gz $ cd pg_hint_plan-1.x.x $ make $ su # make install
Basically pg_hint_plan does not requires CREATE EXTENSION. Simplly loading it by LOAD command will activate it and of course you can load it globally by setting shared_preload_libraries in postgresql.conf. Or you might be interested in ALTER USER SET/ALTER DATABASE SET for automatic loading for specific sessions.
postgres=# LOAD 'pg_hint_plan'; LOAD postgres=#
Do CREATE EXTENSION and SET pg_hint_plan.enable_hint_tables TO on if you are planning to hint tables.
"make uninstall" in the top directory of source tree will uninstall the installed files if you installed from the source tree and it is left available.
$ cd pg_hint_plan-1.x.x $ su # make uninstall
postgres=# /*+ postgres*# HashJoin(a b) postgres*# SeqScan(a) postgres*# */ postgres-# /*+ IndexScan(a) */ postgres-# EXPLAIN SELECT /*+ MergeJoin(a b) */ * postgres-# FROM pgbench_branches b postgres-# JOIN pgbench_accounts a ON b.bid = a.bid postgres-# ORDER BY a.aid; QUERY PLAN --------------------------------------------------------------------------------------- Sort (cost=31465.84..31715.84 rows=100000 width=197) Sort Key: a.aid -> Hash Join (cost=1.02..4016.02 rows=100000 width=197) Hash Cond: (a.bid = b.bid) -> Seq Scan on pgbench_accounts a (cost=0.00..2640.00 rows=100000 width=97) -> Hash (cost=1.01..1.01 rows=1 width=100) -> Seq Scan on pgbench_branches b (cost=0.00..1.01 rows=1 width=100) (7 rows) postgres=#
postgres=# CREATE FUNCTION hints_func(integer) RETURNS integer AS $$ postgres$# DECLARE postgres$# id integer; postgres$# cnt integer; postgres$# BEGIN postgres$# SELECT /*+ NoIndexScan(a) */ aid postgres$# INTO id FROM pgbench_accounts a WHERE aid = $1; postgres$# SELECT /*+ SeqScan(a) */ count(*) postgres$# INTO cnt FROM pgbench_accounts a; postgres$# RETURN id + cnt; postgres$# END; postgres$# $$ LANGUAGE plpgsql;
postgres=# /*+ HashJoin(t1 t1) */
postgres-# EXPLAIN SELECT * FROM s1.t1
postgres-# JOIN public.t1 ON (s1.t1.id=public.t1.id);
INFO: hint syntax error at or near "HashJoin(t1 t1)"
DETAIL: Relation name "t1" is ambiguous.
...
postgres=# /*+ HashJoin(pt st) */
postgres-# EXPLAIN SELECT * FROM s1.t1 st
postgres-# JOIN public.t1 pt ON (st.id=pt.id);
QUERY PLAN
---------------------------------------------------------------------
Hash Join (cost=64.00..1112.00 rows=28800 width=8)
Hash Cond: (st.id = pt.id)
-> Seq Scan on t1 st (cost=0.00..34.00 rows=2400 width=4)
-> Hash (cost=34.00..34.00 rows=2400 width=4)
-> Seq Scan on t1 pt (cost=0.00..34.00 rows=2400 width=4)
postgres=# CREATE VIEW v1 AS SELECT * FROM t2; postgres=# EXPLAIN /*+ HashJoin(t1 v1) */ SELECT * FROM t1 JOIN v1 ON (c1.a = v1.a); QUERY PLAN ------------------------------------------------------------------ Hash Join (cost=3.27..18181.67 rows=101 width=8) Hash Cond: (t1.a = t2.a) -> Seq Scan on t1 (cost=0.00..14427.01 rows=1000101 width=4) -> Hash (cost=2.01..2.01 rows=101 width=4) -> Seq Scan on t2 (cost=0.00..2.01 rows=101 width=4)
postgres=# /*+ MergeJoin(*VALUES*_1 *VALUES*) */ EXPLAIN SELECT * FROM (VALUES (1, 1), (2, 2)) v (a, b) JOIN (VALUES (1, 5), (2, 8), (3, 4)) w (a, c) ON v.a = w.a; INFO: pg_hint_plan: hint syntax error at or near "MergeJoin(*VALUES*_1 *VALUES*) " DETAIL: Relation name "*VALUES*" is ambiguous. QUERY PLAN ------------------------------------------------------------------------- Hash Join (cost=0.05..0.12 rows=2 width=16) Hash Cond: ("*VALUES*_1".column1 = "*VALUES*".column1) -> Values Scan on "*VALUES*_1" (cost=0.00..0.04 rows=3 width=8) -> Hash (cost=0.03..0.03 rows=2 width=8) -> Values Scan on "*VALUES*" (cost=0.00..0.03 rows=2 width=8)
Subqueries in the following context occasionally can be hinted using the name "ANY_subquery".
IN (SELECT ... {LIMIT | OFFSET ...} ...) = ANY (SELECT ... {LIMIT | OFFSET ...} ...) = SOME (SELECT ... {LIMIT | OFFSET ...} ...)
For these syntaxes, planner internally assigns the name to the subquery when planning joins on tables including it, so join hints are applicable on such joins using the implicit name as the following.
postgres=# /*+HashJoin(a1 ANY_subquery)*/ postgres=# EXPLAIN SELECT * postgres=# FROM pgbench_accounts a1 postgres=# WHERE aid IN (SELECT bid FROM pgbench_accounts a2 LIMIT 10); QUERY PLAN --------------------------------------------------------------------------------------------- Hash Semi Join (cost=0.49..2903.00 rows=1 width=97) Hash Cond: (a1.aid = a2.bid) -> Seq Scan on pgbench_accounts a1 (cost=0.00..2640.00 rows=100000 width=97) -> Hash (cost=0.36..0.36 rows=10 width=4) -> Limit (cost=0.00..0.26 rows=10 width=4) -> Seq Scan on pgbench_accounts a2 (cost=0.00..2640.00 rows=100000 width=4)
pg_hint_plan paramters change the behavior of itself so some parameters doesn't work as expected.
pg_hint_plan stops parsing on any error and uses hints already parsed on the most cases. Followings are the typical errors.
Any syntactical errors or wrong hint names are reported as an syntax error. These errors are reported in the server log with the message level which specified by pg_hint_plan.message_level if pg_hint_plan.debug_print is on and aboves.
Object misspecifications results silent ingorance of the hints. This kind of error is reported as "not used hints" in the server log by the same condtion to syntax errors.
The last hint will be active when redundant hints or hints conflicting with each other. This kind of error is reported as "duplication hints" in the server log by the same condition to syntax errors.
Hint comment cannot include another block comment within. If pg_hint_plan finds it, differently from other erros, it stops parsing and abandans all hints already parsed. This kind of error is reported in the same manner as other errors.
The planner does not try to consider joining order for FROM clause entries more than from_collapse_limit. pg_hint_plan cannot affect joining order as expected for the case.
By the nature of pg_hint_plan, it cannot affect some cases that out of scope of the planner like following.
ECPG removes comments in queries written as embedded SQLs so hints cannot be passed form those queries. The only exception is that EXECUTE command passes given string unmodifed. Please consider hint tables for this case.
pg_stat_statements generates a query id ignoring comments. As the result the identical queires with different hints are summerized as the same query.