Contact Information
- Course:
- CRN 22686: MWF 9:40-10:30 in Humanities 201
- CRN 22623: MWF 10:50-11:40 in Gambrell 247
- CRN 11763: MWF 12:00-12:50 in Humanities 202
- Office: LeConte 400D
- Office Hours:
- Monday/Wednesday: 2:30-3:30
- Tuesday/Thursday: 3:00-4:00
- Email Me:
- mlevet who is in the domain email dot sc dot edu
- Syllabus (MWF 9:40-10:30)
- Syllabus (MWF 10:50-11:40)
- Syllabus (MWF 12:00-12:50)
- Getting Started with WileyPlus
- A Note About Quiz Days: I expect that everyone is working through the suggested problems in the book. On quiz days, I will spend the first few minutes of class discussing specific problems from the book that you wish to review (e.g., "I struggled with Problem 15 in Section 1.5. Can you review this?"). I will NOT pick problems from the book to cover in class, as it eats up valuable review time and this is really your responsibility.
- Reminder: Exam 2 is scheduled for 10/15, and Exam 3 is scheduled for 11/19 (the week of Thanksgiving). The exams will not be rescheduled for discretionary reasons, such as travel plans or family gatherings. Please make your travel plans accordingly.
Announcements
- 12/5:
- My office hours next week will be on Sunday 12/9 from 3-4 and Tuesday 12/11 from 3-4. These are the only times I am able to meet next week.
- If you are in my 9:40 class, your final exam is on 12/14 at 9:00 AM in the usual classroom.
- If you are in my 10:50 class, your final exam is on 12/10 at 9:00 AM in the usual classroom.
- If you are in my 12:00 class, your final exam is on 12/12 at 12:30 PM in the usual classroom.
- 11/29: I have compiled frequently missed questions from Exams 1-3 to help you review for the final. The final exam is cumulative, and this study guide is not comprehensive as to what you should study.
- 11/28: Here is the 5.6 and 6.4 Study Guide. Also, here are my notes for Section 6.4; these are intended to supplement lecture, and not replace it.
- 11/25:
- HW16 is now posted. It is due on 11/29. There will be a quiz over 5.6 on 11/30. Folks need some extra practice with u-substitution, so this quiz will stress u-substitution.
- HW17 will be available starting on 11/28. It will be due on 12/4, ahead of our bonus quiz on 12/5. The bonus quiz is completely optional. If you do not wish to take it, then the grade will be dropped. If it is helpful, then it will effectively replace your lowest quiz grade. This will be implemented by having Blackboard drop your lowest three quiz grades.
- If it is to your advantage, the final exam will replace your lowest midterm.
- There will be no additional extra credit opportunities.
- 11/17: Here are the solutions to Friday's quiz: Version A and Version B.
- 11/12:
- HW 15 over section 5.4 is posted. It is due on 11/17 at 11:59 PM.
- Exam 3 will cover 4.2-4.4, 5.1-5.2, 5.4, 6.2-6.3, and 6.6. There will be a certain emphasis on optimization (4.3-4.4).
- Here is the Study Guide for 5.1-5.2 and 5.4.
- 11/10: HW14 over 5.1-5.2 has been posted. It is due on 11/15 at 11:59 PM. We will have a quiz over 5.1-5.2 on 11/16. I will post solutions to the quiz on the course website, so that you can use them to study for the exam.
- 11/8: We will be finishing 6.6 on u-substitution for definite integrals tomorrow. The homework has been extended to 11/13, and the quiz will be on 11/14.
- 11/6: The next homework, covering section 6.6, is now available. It is due on 11/11. We will have a quiz on 11/12 over 6.6. Here is the Study Guide for 6.6.
- 11/3: Here are solutions to yesterday's quiz: Version A and Version B. Please make sure to look over them, and then ask about anything you do not understand ASAP.  So it is important to master this material before then.
- 10/30:
- HW12 over sections 6.2-6.3 is now posted. It is due on 11/6 at 11:59 PM.
- We will have a quiz over 6.2-6.3 on 11/7.
- Here is the Study Guide for 6.2-6.3.
- 10/27: HW11 over section 4.4 is now posted. It is due on 11/1 at 11:59 PM.
- 10/24:
- Per the email from Monday, your next homework is due on 10/28 at 11:59 PM. The next quiz will be on Monday 10/29, covering 4.2 and 4.3 (optimization in one-variable only).
- We will have a quiz on Friday 11/2 covering 4.3 (optimization in two variables) and 4.4.
- Here is the Study Guide for 4.2-4.4.
- 10/13: Here are the solutions to yesterday's quiz: Version A and Version B.
- 10/8:
- Here is the Study Guide for Sections 2.4-2.5, as well as the Study Guide for Section 4.1.
- HW9 over 4.1 is available on WileyPlus. As you work these problems, make sure to (on paper) check whether the derivative changes from positive to negative, or vice versa, around each critical point. It is expected that you show these details on quizzes and exams. You will lose a lot of points if you simply find the critical points and stop.
- 10/3:
- LeConte has re-opened. My office hours resume as normal in LeConte.
- Here is the Study Guide for Sections 2.1-2.3.
- HW7 over 2.1-2.3 is now available. It is due on 10/7 at 11:59 PM. We will have a quiz over 2.1-2.3 on 10/8.
- HW8 over 2.4-2.5 will become available on 10/5 at 1:00 PM. It is due on 10/11 at 11:59 PM.
- HW9 over 4.1 will become available next week and will be due on 10/13 at 11:59 PM.
- We will have a quiz over 2.4-2.5 and 4.1 on Friday 10/12 at the start of class; after which, we will immediately go over the solutions. So if you miss the quiz, you will not be allowed to make it up. Given that our exam is 10/15, I will post solutions to the quiz over the weekend.
- Exam 1 is on 10/15. It will cover 2.1-2.5, 3.3-3.4, and 4.1.
- Keep in mind that the in order to master the material, you need to be actively working problems! This is different than watching someone else (e.g., myself, Jasmine, your tutor, etc.) work the problems.
- 10/2:
- Here is the Study Guide for Sections 3.3-3.4.
- It looks like LeConte will be closed all week. So today and Thursday, I will be holding make-shift office hours on the first floor of Swearingen (in the cafe, or one of the tables by the side entrances). On Wednesday, I will be on the first floor of the Close-Hipp building (space permitting, in the cafe area).
- 9/29: Homework over 3.3-3.4 is now available on WileyPlus. It is due on 10/4 at 11:59 PM. We will have a quiz over 3.3-3.4 on 10/5. Note that folks usually struggle with 3.3-3.4, so please make sure to devote sufficient time to these sections and start early, so that you can come in for help.
- 9/23:
- As a reminder, Exam 1 will be on 9/28. It covers 1.1-1.9 and 3.1-3.2. The Exam has 100 possible points; you will be graded out of 100 points.
- Class on Wednesday 9/26 will be a review day. Come prepared with questions and materials to review. You should have no shortage of problems (the study guides, old quizzes, old WileyPlus homework, and suggested book problems).
- To clarify, storing notes in your graphing calculator is considered an Honor Code Violation. On quiz days, I will be sampling students at random to clear the memory on their graphing calculators. On Exam days, I will need to see each student clear the memory on their graphing calculators before receiving an exam. Anyone caught storing notes in their graphing calculators will be referred to the Office of Academic Integrity, and I will recommend that you receive an F for the course.
- 9/18: Here is the Study Guide for Sections 3.1-3.2. Please make sure you have access to this for class tomorrow (9/19). We will be working on it tomorrow in class. HW5 on 3.1-3.2 will open tomorrow at 1:00 PM and is due on Sunday 9/23 at 11:59 PM. There will be a short 10-minute quiz over 3.1-3.2 on Monday 9/24 in class. We will not be reviewing for this quiz in class.
- 9/15:
- We will have class on Monday 9/17. Attendance will not be taken, and you will not be penalized for missing class. Make your decision to drive back based on safety.
- On Monday, we will be reviewing 1.7 and 1.8. Bring your questions. The quiz over 1.5-1.7 will be on Wednesday 9/19. We will not be reviewing for the quiz on Wednesday, as Monday is our review day.
- Following the spirit of things, my Tuesday office hours are un-cancelled. My office hours this week will be held as normal.
- 9/14:
- HW3 has been extended to Tuesday 9/18 at 11:59 PM. Barring any more university closures, the assignment will not be extended further. To help you with this assignment, I have prepared some Notes for Section 1.7.
- We are not covering 1.8 in lecture. You will still be responsible for this material as per the announcement from 9/12.
- My office hours for Tuesday 9/18 are cancelled. Instead, I will have office hours on Wednesday 9/19 from 2:30-4:30.
- Assuming that USC is open on Tuesday, the Math Tutoring Center will be open as well.
- The quiz over Section 1.5-1.7 will be held on Wednesday 9/19. Due to the recent class cancellations, we will not have time to review beforehand.
- The quiz over Sections 1.8-1.9 will still be held on Friday 9/21.
- 9/12: In light of class being cancelled for the rest of the week, here are some announcements.
- On Monday 9/17, we will have the quiz over Sections 1.5-1.7. I also intend to cover Section 1.8 on Monday.
-
Due to the cancellations, we need to find ways to make up for lost time. Therefore, Section 1.9 will not be covered in lecture. You will be responsible for learning the material on this section. To assist you, I have prepared some notes, as well as the Study Guide for Sections 1.8-1.9. HW4 covering Sections 1.8-1.9 is now posted, and it is due Thursday 9/20 at 11:59 PM. This provides ample time to get your questions answered in office hours, the Math Tutoring Center, SI, etc. Don't hesitate to reach out with any questions on the material.
-
If class on Monday 9/17 is cancelled, the previous bullet point will also apply to Section 1.8. Note that I planned to cover Sections 1.8 and 1.9 together in a single day. Neither section contains a lot of material.
- We will have a quiz over 1.8-1.9 on Friday 9/21.
-
Exam 1 was originally scheduled for 9/24. It is now scheduled for Friday 9/28. This will provide ample time for you to study, to schedule quizzes, and (more importantly) for me to grade and return them so you can use them to study for the exam. Note that the Exam 1 will still cover the same sections, as outlined on the syllabus.
- 9/11: I have extended HW3. It is now due on 9/13 at 11:59 PM. My office hours will resume once campus re-opens.
- 9/10: In light of the campus closures, here are some announcements.
- The quiz over 1.5-1.7 will be held on the first class when we return. Note that HW3 is still due tomorrow evening at 11:59 PM.
- I also encourage you to start reading section 1.8 on function composition, as well as section 1.9 on direct/indirect proportionality.
- As it stands, I still expect to have Exam 1 on 9/24. If this changes, I will let you know.
- My office hours are cancelled for tomorrow.
- 9/8: There will be a quiz over 1.5-1.7 on 9/12.
- 9/6:
- HW3 is now posted on WileyPlus. It is due on 9/11 at 11:59 PM.
- Here is the Study Guide for Sections 1.5-1.7. Note that Problem 8 was the most frequently missed problem on Exam 1 last semester.
- The Math Tutoring Center is now open from 10-4 on Monday-Thursday. This is an excellent, free resource, staffed with Math graduate students (many of whom have taught Math 122). The Math Tutoring Center is on the first floor of LeConte, in the room with the vending machines.
- 9/1: HW2 is now posted on WileyPlus. It is due on 9/6 at 11:59 PM. We will have a quiz on 1.3-1.4 on 9/7. Also, even though there are no classes on Monday 9/3 for Labor Day, I will be holding office hours as usual from 2:30-3:30 PM.
- 8/27: The Study Guide for sections 1.3-1.4 has been uploaded. Make sure you have access to this worksheet for next class (either print it off in advance, or bring an electronic device to access it online). In general, I will not be providing hard-copies of the study guides.
- 8/25:
- The typos in the syllabi have been fixed. The revised versions have been uploaded to both Blackboard and the course website. In particular, note that Exam 2 is on October 15. Also, you have six allotted absences, rather than four absences.
-
Here is the worksheet for sections 1.1-1.2. If you are in the 10:50-11:40 or 12:00-12:50 sections, please bring this worksheet to class on Monday; you should have a hard-copy from class (and if not, you can print one). If you are in the 9:40-10:30 section, I will hand this out on Monday.
This worksheet is your study guide for sections 1.1-1.2. It is intended to supplement the WileyPlus homework and suggested problems from the textbook. Rather than providing a study guide for each exam a week before the exam date, I am providing worksheets as we go, which serve as study guides for individual sections. My rationale for this is that if you learn the material as you go, then studying for the exam should be a matter of maintenance. Unless stated otherwise, the worksheets will neither be collected nor graded. In particular, today's worksheet will neither be collected nor graded.
- Late Adds: If you added the class late, please see Blackboard and the syllabus about getting set up with WileyPlus. Also, please read over section 1.1 and make sure you are comfortable with the material. You are responsible for the material covered last class, but do feel free to come to office hours with any questions you may have after going over the material.
- 8/23: HW1 is now posted on WileyPlus and due on 8/31 at 11:59 PM. We will have our first quiz on 8/31 over sections 1.1-1.2. The homework is due after the quiz, to allow folks who added the class late time to complete the assignment.
Suggested Problems
- Chapter 1
- 1.1: 1-16, 21-30, 35
- 1.2: 1-18, 23-30, 35-39, 42
- 1.3: 8-17, 19-25, 30-40, 45-57
- 1.4: 1-5, 7-25, 26-30, 32-36, 40-45
- 1.5: 1-3, 6-18, 20, 29-33, 38-40
- 1.6: 1-20, 40
- 1.7: 4-10, 13-26
- 1.8: 1-13
- 1.9: 1-16, 20-21, 25-27
- Chapter 3
- 3.1: 1-45
- 3.2: 1-10, 17-28
- Chapter 4
- 4.2: 10-21
- 4.3: 22-25, 34-45
- 4.4: 18-28
- Chapter 5
- 5.1: 4-13, 16, 17
- 5.2: 1-18
- 5.4: 17-21
- Chapter 6
- 6.2: 1-5, 17-39, 53-71
- 6.3: 1-16, 19-20
- 6.6: 2-4, 6-24, 29-30, 34-46


Source code for fos_regression
import importlib.util
import pandas as pd
import numpy as np
import json
from io import BytesIO
spec = importlib.util.spec_from_file_location("module.name", "/var/www/HDIM_Stratus/HDIM-Algo/Python_Wrapper/hdim.py")
hdim = importlib.util.module_from_spec(spec)
spec.loader.exec_module( hdim )
[docs]class multiFOS:
""" Base class that handles some of data preparation for FOS regressions.
This class is not responsible for processing raw POST request form-data.
It is assumed that the data has already been converted into a pandas DataFrame.
"""
def _process( self, raw_data, regression_var ):
""" Take in pre-processed data, run a regression via FOS and return the results.
Args:
raw_data: A pandas.DataFrame that contains both the design matrix and
vector of predictors along with any labels.
regression_var: Index of the column in raw_data that contains the vector
of predictors.
Returns:
A pandas.DataFrame containing the regression coefficients corresponding
to the support ( that is non-zero and signigiant coefficients ) along
with the intercept term.
"""
reg_idx = int( regression_var )
Y = raw_data.ix[:,reg_idx]
X = raw_data.ix[:, raw_data.columns != raw_data.columns[reg_idx] ]
col_names = list( raw_data.columns.values )
Y = Y.as_matrix()
X = X.as_matrix()
fos = hdim.X_FOS_d()
fos( X, Y, hdim.SolverType_screen_cd )
coefficients = fos.ReturnCoefficients()
intercept = fos.ReturnIntercept()
support = fos.ReturnSupport()
nz_indices = support.nonzero()[0]
support_coefs = coefficients[ nz_indices ]
# There seems to be an off by one error causing the column names to be
# selected incorrently. Hence the + 1.
col_names = [ col_names[ idx + 1 ] for idx in nz_indices ]
col_names.insert( 0, "Intercept" )
support_coefs = np.insert( support_coefs, 0, intercept )
return( pd.DataFrame( data = support_coefs , index = col_names ).to_json(orient='columns') )
[docs]class csvFOS( multiFOS ):
""" Functor that handles FOS regression for data supplied as a raw .csv
( Comma Seperated Value ) file.
"""
[docs] def __call__( self, file_contents, regression_var ):
""" Run the regression and return the results.
Args:
file_contents: The raw contents of an HTTP POST request where form-data
corresponds to a .csv file containing the design matrix, vector of predictors
and any headers.
regression_var: Index of the column that contains the vector
of predictors.
Returns:
A pandas.DataFrame containing the regression coefficients corresponding
to the support ( that is non-zero and signigiant coefficients ) along
with the intercept term.
"""
return super()._process( self.__load( file_contents ), regression_var )
def __load( self, raw_content ):
""" Dump form-data from an HTTP POST request into a pandas.DataFrame.
Args:
raw_content: Raw form-data from an HTTP POST request where the data
corresponds to a .csv formatted file.
Returns:
pandas.DataFrame containing the contents of the originally .csv file.
"""
return( pd.read_csv( BytesIO( raw_content ) ) )
[docs]class xlsxFOS( multiFOS ):
""" Functor that handles FOS regression for data supplied as a raw .xlsx
( Excel ) file.
"""
[docs] def __call__( self, file_contents, regression_var ):
""" Run the regression and return the results.
Args:
file_contents: The raw contents of an HTTP POST request where form-data
corresponds to a .xlsx file containing the design matrix, vector of predictors
and any headers.
regression_var: Index of the column that contains the vector
of predictors.
Returns:
A pandas.DataFrame containing the regression coefficients corresponding
to the support ( that is non-zero and signigiant coefficients ) along
with the intercept term.
"""
return super()._process( self.__load( file_contents ), regression_var )
def __load( self, raw_content ):
""" Dump form-data from an HTTP POST request into a pandas.DataFrame.
Args:
raw_content: Raw form-data from an HTTP POST request where the data
corresponds to a .xlsx formatted file.
Returns:
pandas.DataFrame containing the contents of the original .xlsx file.
"""
return( pd.read_excel( BytesIO( raw_content ) ) )
[docs]class jsonFOS( multiFOS ):
""" Functor that handles FOS regression for data supplied as a JSON string.
"""
[docs] def __call__( self, json_blob, regression_var ):
""" Run the regression and return the results.
Args:
file_contents: The raw contents of an HTTP POST request where form-data
corresponds to a JSON string containing the design matrix, vector of predictors
and any headers.
regression_var: Index of the column that contains the vector
of predictors.
Returns:
A pandas.DataFrame containing the regression coefficients corresponding
to the support ( that is non-zero and signigiant coefficients ) along
with the intercept term.
"""
return super()._process( self.__load( json_blob ), regression_var )
def __load( self, json_blob ):
""" Dump contents of JSON string into a pandas.DataFrame.
Args:
raw_content: Raw form-data from an HTTP POST request where the data
corresponds to a JSON string.
Returns:
pandas.DataFrame containing the contents of the original JSON string.
"""
return pd.read_json( json_blob, orient='split' )


Network Information
This page contains information about your computer's network interfaces and their connection status.


Our Awesome Mission Statement!
You want a treee in your garden, we are your guys! Hey we will also staple the leaves on your tree for you!
It runs on Fuel, not petrol, and don't tell us otherwise!
No hoses in sight - we don't want a ban!
We have the Power!


What is Monero?
Monero Presentations
Created by Richard Jones
Presentation 10/09/18
Presentation 05/08/19


P
I
G
D
IC
E
G
A
M
E
!
Rules
If player rolls 1,the players turn score becomes 0
If player rolls between 2 and 6, the value is added to their turn score
If player holds, their turn total is added to their total score
The first player to earn 100 points wins
See Rules!
New Game
Start New!
Restart!
Exit
Player 1:
Name
Turn Score :
Total Score :
Roll
Hold
Rolled Dice
Player 2:
Name
Turn Score :
0
Total Score :
0
Roll
Hold


Let's talk about a language that doesn't suck
npm
Javascript Package Manager
Node Package Manager
npm install request
fetch a package called request
A package to add padding to a string
Removed by its author
In the C++ community, we were slightly amused
auto left_pad(std::string_view str, int n, char fill = ' ') {
auto padded = right_pad(str, n, fill);
std::rotate(padded.begin(),
padded.begin() + str.size(),
padded.end());
return padded;
}
That's a rotate!
left-pad/index.js
function leftPad (str, len){
var i = -1;
len = len - str.length;
while (++i < len) {
str = ' ' + str;
}
return str;
}
How long would it take you to write an implementation that is:
npm install left-pad
takes a few seconds
Package Managers (npm cargo, pip, etc) are tools that allow to consumme and produce sharable code trivially
C++ developers are not superior beings
We just have terrible tools
A program consists of [...] translation units linked together.
The text of the program is kept in units called source files [...].
A source file together with all the headers [...] is called a translation unit.
A program consists of one or more translation units linked together.
A module unit is a translation unit [...]
🦄 A program consists of module units linked together. 🦄
A translation unit consists of a sequence of declarations.
A declaration is said to be a definition of each entity that it defines.
Every program shall contain exactly one definition of every [...] function or variable that is odr-used in that program outside of a discarded statement.
boost::asio::tcp::socket socket(...);
This is what I want
asio.lib
tcp.o
tcp.cppm
module boost.asio.tcp;
boost::asio::tcp
socket
Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.
libfoo
System A (Development)
libfoo
System B (Deployment)
find_package(boost::thread)
What does boost::thread
mean ?
template
concept
/ Generic programminginline
auto
deduced return typeconstexpr
/ consteval
cmake -DCMAKE_TOOLCHAIN_FILE=msvc-x64.cmake
Prefer expressing semantics in C++ code!
#include <iostream>
int main() {
std::cout << "Hello Word\n";
}
#include <iostream>
int main() {
std::cout << "Hello Word\n";
}
npm install lodash-modularized
+<EMAIL_ADDRESS>added 197 packages from 6 contributors
and audited 1459 packages in 32.069s
This is complex.
#include <iostream>
int main() {
std::cout << "Hello Word\n";
}
This is chaotic.
fill_buffer();
// flush_buffer(); //Only useful on the zx spectrum, I think
write_next_line();
fill_buffer();
#ifdef 0
flush_buffer();
#endif
write_next_line();
fill_buffer();
#ifdef COMMODORE64
flush_buffer();
#endif
write_next_line();
fill_buffer();
#ifdef __linux__
flush_buffer();
#endif
write_next_line();
#ifdef __linux__
#define LPCTSTR const char*
#endif
HANDLE open_file(LPCTSTR fileename) {
#ifdef DEBUG
log("Opening {}", fileename);
#endif
#ifdef WIN32
return CreateFile(fileename,
GENERIC_READ, FILE_SHARE_READ,
nullptr, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, nullptr);
#elif __linux__
return open(fileename, O_RDONLY);
#else
#error "Platform not supported"
#endif
}
#ifdef __linux__
#define LPCTSTR const char*
#endif
HANDLE open_file(LPCTSTR filename) {
#ifdef DEBUG
log("Opening {}", fileename);
#endif
#ifdef WIN32
return CreateFile(filename,
GENERIC_READ, FILE_SHARE_READ,
nullptr, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, nullptr);
#elif __linux__
return open(fileename, O_RDONLY);
#else
#error "Platform not supported"
#endif
}
#ifdef __linux__
#define LPCTSTR const char*
#endif
HANDLE open_file(LPCTSTR filename) {
#ifdef WIN32
return CreateFile(filename,
GENERIC_READ, FILE_SHARE_READ,
nullptr, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, nullptr);
#elif __linux__
return open(fileename, O_RDONLY);
#else
#error "Platform not supported"
#endif
}
HANDLE open_file(LPCTSTR filename) {
return CreateFile(filename,
GENERIC_READ, FILE_SHARE_READ,
nullptr, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, nullptr);
}
void* open_file(const char* filename) {
return CreateFileA(filename,
GENERIC_READ, FILE_SHARE_READ,
nullptr, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, nullptr);
}
??? open_file(const char* name) {
if constexpr (???) {
return CreateFileA(name,
GENERIC_READ,
FILE_SHARE_READ,
nullptr,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
nullptr);
}
else if constexpr (???) {
return open(name, O_CREAT | O_RDONLY);
}
static_assert(???, "Platform not supported");
}
export module cor3ntin.sys_info;
export namespace cor3ntin::sys_info {
#ifdef WIN32
constexpr bool is_win32 = true;
#else
constexpr bool is_win32 = false;
#endif
#ifdef __unix__
constexpr bool is_posix = true;
#else
constexpr bool is_posix = false;
#endif
}
import cor3ntin.sys_info;
??? open_file(const char* name) {
using namespace cor3ntin;
if constexpr (sys_info::is_win32) {
return CreateFileA(name,
GENERIC_READ,
FILE_SHARE_READ,
nullptr,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
nullptr);
}
else if constexpr (sys_info::is_posix) {
return open(name, O_CREAT | O_RDONLY);
}
static_assert(sys_info::is_posix || sys_info::is_win32,
"Platform not supported");
}
using native_handle =
std::conditional_t <
sys_info::is_win32,
void* ,
int
> ;
import cor3ntin.sys_info;
native_handle open_file(const char* name) {
using namespace cor3ntin;
if constexpr (sys_info::is_win32) {
return CreateFileA(name,
GENERIC_READ,
FILE_SHARE_READ,
nullptr,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
nullptr);
}
else if constexpr (sys_info::is_posix) {
return open(name, O_CREAT | O_RDONLY);
}
static_assert(sys_info::is_posix || sys_info::is_win32,
"Platform not supported");
}
export module cor3ntin.posix;
export namespace cor3ntin::posix {
int open(const char *path, int oflag);
}
#define
to declare constants.
module;
#ifdef __unix__
# include <fcntl.h>
#endif
export module cor3ntin.posix;
export namespace cor3ntin::posix {
int open(const char *path, int oflag);
#ifdef O_RDONLY
#define __O_RDONLY O_RDONLY
# undef O_RDONLY
constexpr int O_RDONLY = __O_RDONLY;
# undef __O_RDONLY
#else
constexpr int O_RDONLY = -1;
#endif
}
#ifdef __linux__
#include <sys/stat.h>
#include <fcntl.h>
#endif
module cor3ntin.posix;
#ifdef __linux__
namespace cor3ntin::posix {
int open(const char *path, int oflag) {
return ::open(path, oflag);
}
}
#endif
import <type_traits>
import cor3ntin.posix;
import cor3ntin.win32;
import cor3ntin.sys_info;
export module cor3ntin.io;
export namespace cor3ntin::io {
using native_handle = std::conditional_t <sys_info::is_win32,
void*, int>;
native_handle open_file(const char* name) {
using namespace cor3ntin;
if constexpr (sys_info::is_win32) {
return win32::CreateFileA(name, /*...*/);
}
else if constexpr (sys_info::is_posix) {
return posix::open(name, posix::O_CREAT | posix::O_RDONLY);
}
static_assert(sys_info::is_posix || sys_info::is_win32,
"Platform not supported");
}
}
native_handle
open_file(const char* name) requires sys_info::is_win32 {
using namespace cor3ntin::win32;
return CreateFileA(name, /*..*/);
}
native_handle
open_file(const char* name) requires sys_info::is_posix {
using namespace cor3ntin::posix;
return open(name, O_CREAT | O_RDONLY);
}
#[cfg(unix)]
fn open_file(name: String) {}
#[cfg(windows)]
fn open_file(name: String) {}
constexpr
vcpkg install windows10-sdk
[package]
name = "rustls"
version = "0.15.2"
edition = "2018"
description = "Rustls is a modern TLS library written in Rust."
homepage = "https://github.com/ctz/rustls"
repository = "https://github.com/ctz/rustls"
categories = ["network-programming", "cryptography"]
[dependencies]
base64 = "0.10"
log = "0.4.4"
ring = "0.16.5"
sct = "0.6.0"
webpki = "0.21.0"
A few developers
A few thousands lines of C code
A few thousands developers
250 millions lines of C++ Code
That's Cute !
NPM > 1 Million packages
10 millions users
30 billions downloads. Per day
This is necessary to maintain the common understanding of packages names and versions


1. Molecular System¶
To begin a calculation with MoHa, the first step is to build a Hamiltonian of a system, either molecular system or model system. In most cases, we work with a molecular system.
In terms of second quantisation operators, a general Hamiltonian can be written as
The construction of molecular Hamiltonian usually set up in three steps.
First, construct a molecular geometry.
Second, generate a basis set for the molecular.
Finally, compute all kinds of one body terms and two body terms with that basis to define a Hamiltonian.
1.1. Molecular Geometry¶
Molecule is a system consist with nucleus and electrons. For quantum chemistry calculation in MoHa, we will always used the Born-Oppenheimer approximation, which assume that the motion of atomic nuclei and electrons in a molecule can be separated
The module molecule
in MoHa actually only contains imformation of the
nuclear. To build a water molecule with MoHa, we can specify the molecular object by
load the molecular geometry from .xyz file.
3
water
8 0.0000000000 -0.143225816552 0.0000000
1 1.638036840407 1.136548822547 -0.000000000000
1 -1.638036840407 1.136548822547 -0.000000000000
mol = IOSystem.from_file('water.xyz')
1.2. Basis Set¶
MoHa supports basis sets consisting of generally contracted Cartesian Gaussian functions. MoHa is using the same basis set format as NWChem, and the basis sets can be downloaded from the EMSL webpage (https://bse.pnl.gov/bse/portal).
STO-3G EMSL basis set of hydrogen and oxygen:
# STO-3G EMSL Basis Set Exchange Library 8/21/18 3:24 AM
# Elements References
# -------- ----------
# H - Ne: W.J. Hehre, R.F. Stewart and J.A. Pople, J. Chem. Phys. 2657 (1969).
# Na - Ar: W.J. Hehre, R. Ditchfield, R.F. Stewart, J.A. Pople,
# J. Chem. Phys. 2769 (1970).
# K,Ca - : W.J. Pietro, B.A. Levy, W.J. Hehre and R.F. Stewart,
# Ga - Kr: J. Am. Chem. Soc. 19, 2225 (1980).
# Sc - Zn: W.J. Pietro and W.J. Hehre, J. Comp. Chem. 4, 241 (1983) + Gaussian.
# Y - Cd: W.J. Pietro and W.J. Hehre, J. Comp. Chem. 4, 241 (1983). + Gaussian
#
BASIS "ao basis" PRINT
#BASIS SET: (3s) -> [1s]
H S
3.42525091 0.15432897
0.62391373 0.53532814
0.16885540 0.44463454
#BASIS SET: (6s,3p) -> [2s,1p]
O S
130.7093200 0.15432897
23.8088610 0.53532814
6.4436083 0.44463454
O SP
5.0331513 -0.09996723 0.15591627
1.1695961 0.39951283 0.60768372
0.3803890 0.70011547 0.39195739
END
1.3. Hamiltonian¶
The core mechanical quantities of a chemistry system is the Hamiltonian. Hamiltonian operator should include the kinetic energy and potential energy terms of all atomic nuclei and all electrons. It is generally assumed that the molecule is in a vacuum and adiabatic state in isolation. At this time, the interaction potential energy between the nucleus and the electron in the molecule is only related to distance from each other and time independent. Its expression is:
The formula contains five terms:
Kinetic energy of electrons.
Kinetic energy of atomic nuclei.
Nuclear attraction.
Repulsive between nuclei.
Repulsive between electrons.
\(m_i\) is the mass of electron. \(M_\alpha\) and \(Z_\alpha\) refer to the mass and charge of atomic nucleus. \(R_{\alpha\beta}\), \(r_{i\alpha}\) and \(r_{ij}\) is the distance between two nucleus, atomic nuclei and electron and two electrons respectively. The explicit representation of Laplacian operator is:
To build a Hamiltonian object, MoHa can load the molecular geometry and and basis from file format.
mol,orbs = IOSystem.from_file('h2o.xyz','sto-3g.nwchem')
ham = Hamiltonian.build(mol,orbs)
Hamiltonian object has attributes of different operators use the following conventions for variable names. The following are defined by setting up the Hamiltonian by default:
ham.operators['nuclear_repulsion']
ZeroElectronOperator
object with the nuclear repulsion energy integrals.
ham.operators['overlap']
OneElectronOperator
object with the overlap integrals.
ham.operators['kinetic']
OneElectronOperator
object with the kinetic energy integrals.
ham.operators['nuclear_attraction']
OneElectronOperator
object with the nuclear attraction integrals.
ham.operators['electron_repulsion']
TwoElectronOperator
object with the electron repulsion integrals.
They offer the key ingredient for the following calculations.


This lab will guide you to set up AWS IoT Greengrass v2 on the device you previously set up.
Using SSH
ssh <user>@<device>
With Keybord and Monitor
Open the terminal app.
Enter these commands into the device shell:
wget -O- https://apt.corretto.aws/corretto.key | sudo apt-key add -
sudo add-apt-repository 'deb https://apt.corretto.aws stable main'
sudo apt-get update; sudo apt-get install -y java-1.8.0-amazon-corretto-jdk
java -version
curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
unzip greengrass-nucleus-latest.zip -d GreengrassCore && rm greengrass-nucleus-latest.zip
Greengrass v2 has the ability to self-install and configure, but needs access credentials. Additionally, this installer will create an IoT thing, thing group, and IAM roles. Provide these values through shell variables. The AWS CLI credentials can be the same as you used in the host setup or can be newly created for just this role. The installer will not save these values. Using shell variables eliminates the need to install the CLI on the device.
| shell var | description |
|---|---|
| AWS_ACCESS_KEY_ID | ID for account to create resources |
| AWS_SECRET_ACCESS_KEY | secret key |
| AWS_DEFAULT_REGION | region to use – us-west-2 for this workshop |
| THING_NAME | device name for this Greengrass Core |
| GROUP_NAME | name for the Greengrass Group |
| ROLE_NAME | name of IAM role for the core |
| ROLE_ALIAS | alias used to refer to role to allow role to change |
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_DEFAULT_REGION=us-west-2
export THING_NAME=jetson
export GROUP_NAME=jetsonGroup
export ROLE_NAME=MyGreengrassV2Role
export ROLE_ALIAS=MyGreengrassCoreTokenExchangeRoleAlias
sudo -E java -Dlog.store=FILE \
-jar ./GreengrassCore/lib/Greengrass.jar \
--aws-region $AWS_DEFAULT_REGION \
--root /greengrass/v2 \
--thing-name $THING_NAME \
--thing-group-name $GROUP_NAME \
--tes-role-name $ROLE_NAME \
--tes-role-alias-name $ROLE_ALIAS \
--component-default-user ggc_user:ggc_group \
--provision true \
--setup-system-service true
sudo chmod 755 /greengrass/v2 && sudo chmod 755 /greengrass


Windows Media Test Subscription Service
Click here to add song to library
Then goto the media library pane to play the song


Just enter any URL to an MP3 .pls playlist (often titled as winamp playlist / stream) and let me do the rest for you. Just remember: Don't close this tab or your stream will stop to play.
Full URL to your playlist file:
Lets play this!


“Peering at you from the top of a dark pine tree with its staring yellow eye, the grackle is certainly uncanny. There, very early in the spring, you may hear its cracked and wheezy whistle, for, being aware that however much it may look like a crow it belongs to another family, it makes a ridiculous attempt to sing. When a number of grackles lift up their voices at once, some one has aptly likened the result to a ‘good wheel-barrow chorus!’ The grackle's mate alone appreciates his efforts as, standing on tiptoe, with half-spread wings and tail, he pours forth his craven soul to her through a disjointed larynx. With all their faults, and they are numerous, let it be recorded of both crows and grackles that they are as devoted lovers as turtle-doves.”
Neltje Blanchan, Bird Neighbours


Stochastic simulations¶
Stochastic simulations with compartment models and age structure. Has Gillespie and tau-leaping implemented.
pyross.stochastic.stochastic_integration¶
-
class
pyross.stochastic.
stochastic_integration
¶ - Integrators used by stochastic models:
Gillespie and tau-leaping
-
calculate_total_reaction_rate
()¶
-
SSA_step:
Gillespie Stochastic Simulation Step (SSA)
-
simulate_gillespie:
Performs stochastic simulation using the Gillespie algorithm
-
check_for_event
()¶
-
simulate_gillespie_events
()¶
-
tau_leaping_update_timesteps
()¶
-
check_for_event
()
-
simulate_gillespie
()¶ Performs the stochastic simulation using the Gillespie algorithm. 1. Rates for each reaction channel r_i calculated from current state. 2. The timestep tau is chosen randomly from an exponential distribution P ~ e^-W au. 3. A single reaction occurs with probablity proportional to its fractional rate constant r_i/W. 4. The state is updated to reflect this reaction occuring and time is propagated forward by au Stops if population becomes too small.
- Parameters
contactMatrix (python function(t)) – The social contact matrix C_{ij} denotes the average number of contacts made per day by an individual in class i with an individual in class j
Tf (float) – Final time of integrator
Nf (Int) – Number of time points to evaluate.
seedRate (python function, optional) – Seeding of infectives. The default is None.
- Returns
t_arr (np.array(Nf,)) – Array of time points at which the integrator was evaluated.
out_arr (np.array) – Output path from integrator.
-
simulate_tau_leaping
()¶ Tau leaping algorithm for producing stochastically correct trajectories https://doi.org/10.1063/1.2159468 This method can run much faster than the Gillespie algorithm 1. Rates for each reaction channel r_i calculated from current state. 2. Timestep au chosen such that Delta r_i < epsilon Sum r_i 3. Number of reactions that occur in channel i ~Poisson(r_i au) 4. Update state by this amount
- Parameters
contactMatrix (python function(t)) – The social contact matrix C_{ij} denotes the average number of contacts made per day by an individual in class i with an individual in class j
Tf (float) – Final time of integrator
Nf (Int) – Number of time points to evaluate.
nc (optional) – The default is 30
epsilon (float, optional) – The acceptable error in each step. The default is 0.03
tau_update_frequency (optional) –
seedRate (python function, optional) – Seeding of infectives. The default is None.
- Returns
t_arr (np.array(Nf,)) – Array of time points at which the integrator was evaluated.
out_arr (np.array) – Output path from integrator.
pyross.stochastic.SIR¶
-
class
pyross.stochastic.
SIR
¶ Susceptible, Infected, Removed (SIR) Ia: asymptomatic Is: symptomatic
…
-
parameters
¶ - Contains the following keys:
- alpha: float, np.array (M,)
fraction of infected who are asymptomatic.
- beta: float
rate of spread of infection.
- gIa: float
rate of removal from asymptomatic individuals.
- gIs: float
rate of removal from symptomatic individuals.
- fsa: float
fraction by which symptomatic individuals self isolate.
- Type
dict
-
M
¶ Number of compartments of individual for each class. I.e len(contactMatrix)
- Type
int
-
Ni
¶ Initial number in each compartment and class
- Type
np.array(3*M, )
-
rate_matrix:
Calculates the rate constant for each reaction channel.
-
simulate:
Performs stochastic numerical integration.
-
Ia
()¶ - Parameters
data (data files) –
- Returns
‘Ia’
- Return type
Asymptomatics population time series
-
Is
()¶ - Parameters
data (data files) –
- Returns
‘Is’
- Return type
symptomatics population time series
-
R
()¶ - Parameters
data (data files) –
- Returns
‘R’
- Return type
Removed population time series
-
S
()¶ - Parameters
data (data files) –
- Returns
‘S’
- Return type
Susceptible population time series
-
simulate
()¶ Performs the Stochastic Simulation Algorithm (SSA)
- Parameters
S0 (np.array) – Initial number of susceptables.
Ia0 (np.array) – Initial number of asymptomatic infectives.
Is0 (np.array) – Initial number of symptomatic infectives.
contactMatrix (python function(t)) – The social contact matrix C_{ij} denotes the average number of contacts made per day by an individual in class i with an individual in class j
Tf (float) – Final time of integrator
Nf (Int) – Number of time points to evaluate.
method (str, optional) – SSA to use, either ‘gillespie’ or ‘tau_leaping’. The default is ‘gillespie’.
nc (TYPE, optional) –
epsilon (TYPE, optional) –
tau_update_frequency (TYPE, optional) –
seedRate (python function, optional) – Seeding of infectives. The default is None.
- Returns
‘X’: output path from integrator, ‘t’: time points evaluated at, ‘event_occured’ , ‘param’: input param to integrator.
- Return type
dict
-
pyross.stochastic.SIkR¶
-
class
pyross.stochastic.
SIkR
¶ Susceptible, Infected, Removed (SIkR) method of k-stages of I .. attribute:: parameters
- Contains the following keys:
- beta: float
rate of spread of infection.
- gI: float
rate of removal from infectives.
- fsa: float
fraction by which symptomatic individuals self isolate.
- kI: int
number of stages of infection.
- type
dict
-
M
¶ Number of compartments of individual for each class. I.e len(contactMatrix)
- Type
int
-
Ni
¶ Initial number in each compartment and class
- Type
np.array((kI + 1)*M, )
-
rate_matrix:
Calculates the rate constant for each reaction channel.
-
simulate:
Performs stochastic numerical integration.
-
I
()¶ - Parameters
data (data files) –
- Returns
‘E’
- Return type
Exposed population time series
-
R
()¶ - Parameters
data (data files) –
- Returns
‘R’
- Return type
Removed population time series
-
S
()¶ - Parameters
data (data files) –
- Returns
‘S’
- Return type
Susceptible population time series
pyross.stochastic.SEIR¶
-
class
pyross.stochastic.
SEIR
¶ Susceptible, Exposed, Infected, Removed (SEIR) Ia: asymptomatic Is: symptomatic .. attribute:: parameters
- Contains the following keys:
- alpha: float, np.array (M,)
fraction of infected who are asymptomatic.
- beta: float
rate of spread of infection.
- gIa: float
rate of removal from asymptomatic individuals.
- gIs: float
rate of removal from symptomatic individuals.
- fsa: float
fraction by which symptomatic individuals self isolate.
- gE: float
rate of removal from exposed individuals.
- type
dict
-
M
¶ Number of compartments of individual for each class. I.e len(contactMatrix)
- Type
int
-
Ni
¶ Initial number in each compartment and class
- Type
np.array(4*M, )
-
rate_matrix:
Calculates the rate constant for each reaction channel.
-
simulate:
Performs stochastic numerical integration.
-
E
()¶ - Parameters
data (data files) –
- Returns
‘E’
- Return type
Exposed population time series
-
Ia
()¶ - Parameters
data (data files) –
- Returns
‘Ia’
- Return type
Asymptomatics population time series
-
Is
()¶ - Parameters
data (data files) –
- Returns
‘Is’
- Return type
symptomatics population time series
-
R
()¶ - Parameters
data (data files) –
- Returns
‘R’
- Return type
Removed population time series
-
S
()¶ - Parameters
data (data files) –
- Returns
‘S’
- Return type
Susceptible population time series
pyross.stochastic.SEI5R¶
-
class
pyross.stochastic.
SEI5R
¶ Susceptible, Exposed, Infected, Removed (SEIR) The infected class has 5 groups: * Ia: asymptomatic * Is: symptomatic * Ih: hospitalized * Ic: ICU * Im: Mortality
S —> E E —> Ia, Is Ia —> R Is —> Ih, R Ih —> Ic, R Ic —> Im, R
-
parameters
¶ - Contains the following keys:
- alpha: float, np.array (M,)
fraction of infected who are asymptomatic.
- beta: float
rate of spread of infection.
- gE: float
rate of removal from exposeds individuals.
- gIa: float
rate of removal from asymptomatic individuals.
- gIs: float
rate of removal from symptomatic individuals.
- gIh: float
rate of removal for hospitalised individuals.
- gIc: float
rate of removal for idividuals in intensive care.
- fsa: float
fraction by which symptomatic individuals self isolate.
- fhfloat
fraction by which hospitalised individuals are isolated.
- sa: float, np.array (M,)
daily arrival of new susceptables. sa is rate of additional/removal of population by birth etc
- hh: float, np.array (M,)
fraction hospitalised from Is
- cc: float, np.array (M,)
fraction sent to intensive care from hospitalised.
- mm: float, np.array (M,)
mortality rate in intensive care
- Type
dict
- M: int
Number of compartments of individual for each class. I.e len(contactMatrix)
- Ni: np.array(8*M, )
Initial number in each compartment and class
-
rate_matrix:
Calculates the rate constant for each reaction channel.
-
simulate:
Performs stochastic numerical integration.
-
E
()¶ - Parameters
data (data files) –
- Returns
‘E’
- Return type
Exposed population time series
-
Ia
()¶ - Parameters
data (data files) –
- Returns
‘Ia’
- Return type
Asymptomatics population time series
-
Ic
()¶ - Parameters
data (data files) –
- Returns
‘Ic’
- Return type
ICU hospitalized population time series
-
Ih
()¶ - Parameters
data (data files) –
- Returns
‘Ic’
- Return type
hospitalized population time series
-
Im
()¶ - Parameters
data (data files) –
- Returns
‘Ic’
- Return type
mortality time series
-
Is
()¶ - Parameters
data (data files) –
- Returns
‘Is’
- Return type
symptomatics population time series
-
R
()¶ - Parameters
data (data files) –
- Returns
‘R’ (Removed population time series)
R = N(t) - (S + E + Ia + Is + Ih + Ic)
-
S
()¶ - Parameters
data (data files) –
- Returns
‘S’
- Return type
Susceptible population time series
-
population
()¶ - Parameters
data (data files) –
- Returns
- Return type
population
-
pyross.stochastic.SEAI5R¶
-
class
pyross.stochastic.
SEAI5R
¶ Susceptible, Exposed, Activates, Infected, Removed (SEAIR) The infected class has 5 groups: * Ia: asymptomatic * Is: symptomatic * Ih: hospitalized * Ic: ICU * Im: Mortality
S —> E E —> Ia, Is Ia —> R Is —> Ih, R Ih —> Ic, R Ic —> Im, R .. attribute:: parameters
- Contains the following keys:
- alpha: float, np.array (M,)
fraction of infected who are asymptomatic.
- beta: float
rate of spread of infection.
- gIa: float
rate of removal from asymptomatic individuals.
- gIs: float
rate of removal from symptomatic individuals.
- fsa: float
fraction by which symptomatic individuals self isolate.
- gE: float
rate of removal from exposeds individuals.
- gA: float
rate of removal from activated individuals.
- gIh: float
rate of hospitalisation of infected individuals.
- gIc: float
rate hospitalised individuals are moved to intensive care.
- type
dict
-
M
¶ Number of compartments of individual for each class. I.e len(contactMatrix)
- Type
int
-
Ni
¶ Initial number in each compartment and class.
- Type
np.array(9*M, )
-
rate_matrix:
Calculates the rate constant for each reaction channel.
-
simulate:
Performs stochastic numerical integration.
-
A
()¶ - Parameters
data (data files) –
- Returns
‘A’
- Return type
Activated population time series
-
E
()¶ - Parameters
data (data files) –
- Returns
‘E’
- Return type
Exposed population time series
-
Ia
()¶ - Parameters
data (data files) –
- Returns
‘Ia’
- Return type
Asymptomatics population time series
-
Ic
()¶ - Parameters
data (data files) –
- Returns
‘Ic’
- Return type
ICU hospitalized population time series
-
Ih
()¶ - Parameters
data (data files) –
- Returns
‘Ic’
- Return type
hospitalized population time series
-
Im
()¶ - Parameters
data (data files) –
- Returns
‘Ic’
- Return type
mortality time series
-
Is
()¶ - Parameters
data (data files) –
- Returns
‘Is’
- Return type
symptomatics population time series
-
R
()¶ - Parameters
data (data files) –
- Returns
‘R’ (Removed population time series)
R = N(t) - (S + E + A + Ia + Is + Ih + Ic)
-
S
()¶ - Parameters
data (data files) –
- Returns
‘S’
- Return type
Susceptible population time series
-
population
()¶ - Parameters
data (data files) –
- Returns
- Return type
population
pyross.stochastic.SEAIRQ¶
-
class
pyross.stochastic.
SEAIRQ
¶ Susceptible, Exposed, Asymptomatic and infected, Infected, Removed, Quarantined (SEAIRQ) Ia: asymptomatic Is: symptomatic A: Asymptomatic and infectious
-
parameters
¶ - Contains the following keys:
- alpha: float, np.array(M,)
fraction of infected who are asymptomatic.
- beta: float
rate of spread of infection.
- gIa: float
rate of removal from asymptomatic individuals.
- gIs: float
rate of removal from symptomatic individuals.
- gE: float
rate of removal from exposed individuals.
- gA: float
rate of removal from activated individuals.
- fsa: float
fraction by which symptomatic individuals self isolate.
- tEfloat
testing rate and contact tracing of exposeds
- tAfloat
testing rate and contact tracing of activateds
- tIa: float
testing rate and contact tracing of asymptomatics
- tIs: float
testing rate and contact tracing of symptomatics
- Type
dict
-
M
¶ Number of compartments of individual for each class. I.e len(contactMatrix)
- Type
int
-
Ni
¶ Initial number in each compartment and class
- Type
np.array(6*M, )
-
rate_matrix:
Calculates the rate constant for each reaction channel.
-
simulate:
Performs stochastic numerical integration.
-
A
()¶ - Parameters
data (data files) –
- Returns
‘A’
- Return type
Activated population time series
-
E
()¶ - Parameters
data (data files) –
- Returns
‘E’
- Return type
Exposed population time series
-
Ia
()¶ - Parameters
data (data files) –
- Returns
‘Ia’
- Return type
Asymptomatics population time series
-
Is
()¶ - Parameters
data (data files) –
- Returns
‘Is’
- Return type
symptomatics population time series
-
Q
()¶ - Parameters
data (data files) –
- Returns
‘Q’
- Return type
Quarantined population time series
-
R
()¶ - Parameters
data (data files) –
- Returns
‘R’
- Return type
Removed population time series
-
S
()¶ - Parameters
data (data files) –
- Returns
‘S’
- Return type
Susceptible population time series
-
pyross.stochastic.SEAIRQ_testing¶
-
class
pyross.stochastic.
SEAIRQ_testing
¶ Susceptible, Exposed, Asymptomatic and infected, Infected, Removed, Quarantined (SEAIRQ) Ia: asymptomatic Is: symptomatic A: Asymptomatic and infectious
-
parameters
¶ - Contains the following keys:
- alpha: float, np.array(M,)
fraction of infected who are asymptomatic.
- beta: float
rate of spread of infection.
- gIa: float
rate of removal from asymptomatic individuals.
- gIs: float
rate of removal from symptomatic individuals.
- gE: float
rate of removal from exposed individuals.
- gA: float
rate of removal from activated individuals.
- fsa: float
fraction by which symptomatic individuals self isolate.
- ars: float
fraction of population admissible for random and symptomatic tests
- kapE: float
fraction of positive tests for exposed individuals
- Type
dict
-
M
¶ Number of compartments of individual for each class. I.e len(contactMatrix)
- Type
int
-
Ni
¶ Initial number in each compartment and class
- Type
np.array(6*M, )
-
testRate
¶ number of tests per day and age group
- Type
python function(t)
-
rate_matrix:
Calculates the rate constant for each reaction channel.
-
simulate:
Performs stochastic numerical integration.
-
A
()¶ - Parameters
data (data files) –
- Returns
‘A’
- Return type
Activated population time series
-
E
()¶ - Parameters
data (data files) –
- Returns
‘E’
- Return type
Exposed population time series
-
Ia
()¶ - Parameters
data (data files) –
- Returns
‘Ia’
- Return type
Asymptomatics population time series
-
Is
()¶ - Parameters
data (data files) –
- Returns
‘Is’
- Return type
symptomatics population time series
-
Q
()¶ - Parameters
data (data files) –
- Returns
‘Q’
- Return type
Quarantined population time series
-
R
()¶ - Parameters
data (data files) –
- Returns
‘R’
- Return type
Removed population time series
-
S
()¶ - Parameters
data (data files) –
- Returns
‘S’
- Return type
Susceptible population time series
-


* Only designs which have actually shipped to customers, or which have been published on the web, in marketing materials, etc.
ClusterStor Manager is the 'single pane of glass' management software which ships with the ClusterStor Parallel Storage System by Seagate Technology.
I worked with a small team of talented Architects, Engineers and Product Owner to design, implement and integrate this product UI and responsive dashboard into the ClusterStor Manager product. I created the logo, header image, overall layout, graphics, as well as information architecture and design of each individual view. We built it with custom HTML5 and CSS3 that I wrote along with Dojo JS and our custom backend framework.
Behind the scenes UX work included taking input directly from customers, creating user profiles, incorporating Accessibility features and progressive enhancements. Interaction Design work included sketches, wireframes, and functional prototypes.
The dashboard received rave reviews from customers and was featured at numerous SuperComputing conferences, which I also helped to present.
Sonexion System Manger is monitoring and management software for the Sonexion Scale-Out Lustre Storage System.
Sonexion System Manager is Cray's re-branded product based on ClusterStor Manager. With input from Cray, I designed and implemented the product logo, theme colors and overall look and feel. Cray supplied the 'blue swish' image in the middle of the header area as well as their official logo and asked that it be incorporated, which I did to produce the final design.
StorView is enclosure management software from (the former) Xyratex, now owned by Seagate. I believe this product may be EOL (End of Life), although it still seems to be widely available online.
StorView was one of the first products (with a pre-existing UI) that I worked on after joining Xyratex. I designed graphical enclosure views, topological overlays, modal screen UIs, and icons.
Although StorView was re-designed and later versions were prototyped, these products did not end up being shipped, and so have not been included in this collection. It does account for the more dated appearance of some of the screens, however.
The following gallery contains a selection of images from various marketing materials, including white paper and datasheet illustrations, tradeshow presentation graphics, brochure designs, iconography, and other graphical assets which I've created, some very recently and others going back several years or more.
information Click images in the galleries below for a closer view, when images are enlarged click them again to return to the portfolio.
Disclaimer: The names ClusterStor, ClusterStor Service Console, and StorView are © Seagate Technology. The names Sonexion, Sonexion Service Console are © Cray, Inc. Product images are shown for demonstration purposes only.
information Thank you for taking the time to view my design portfolio. Please continue to browse using the links provided below, view my resume, or contact me now.


|
CVM-S5
|
Main header file for CVM-S5 library. More...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <math.h>
#include "etree.h"
#include "proj_api.h"
Go to the source code of this file.
Classes | |
| struct | cvms5_point_t |
| struct | cvms5_properties_t |
| struct | cvms5_configuration_t |
| struct | cvms5_vs30_map_config_t |
| struct | cvms5_model_t |
| struct | vs30_mpayload_t |
Macros | |
| #define | M_PI 3.14159265358979323846 |
| #define | SUCCESS 0 |
| #define | FAIL 1 |
Typedefs | |
| typedef struct cvms5_point_t | cvms5_point_t |
| typedef struct cvms5_properties_t | cvms5_properties_t |
| typedef struct cvms5_configuration_t | cvms5_configuration_t |
| typedef struct cvms5_vs30_map_config_t | cvms5_vs30_map_config_t |
| typedef struct cvms5_model_t | cvms5_model_t |
| typedef struct vs30_mpayload_t | vs30_mpayload_t |
Functions | |
| int | cvms5_init (const char *dir, const char *label) |
| int | cvms5_finalize () |
| int | cvms5_version (char *ver, int len) |
| int | cvms5_query (cvms5_point_t *points, cvms5_properties_t *data, int numpts) |
| int | read_configuration (char *file, cvms5_configuration_t *config) |
| int | get_vs30_based_gtl (cvms5_point_t *point, cvms5_properties_t *data) |
| void | print_error (char *err) |
| void | read_properties (int x, int y, int z, cvms5_properties_t *data) |
| int | try_reading_model (cvms5_model_t *model) |
| int | read_vs30_map (char *filename, cvms5_vs30_map_config_t *map) |
| double | get_vs30_value (double longitude, double latitude, cvms5_vs30_map_config_t *map) |
| double | calculate_density (double vs) |
| void | linear_interpolation (double percent, cvms5_properties_t *x0, cvms5_properties_t *x1, cvms5_properties_t *ret_properties) |
| void | bilinear_interpolation (double x_percent, double y_percent, cvms5_properties_t *four_points, cvms5_properties_t *ret_properties) |
| void | trilinear_interpolation (double x_percent, double y_percent, double z_percent, cvms5_properties_t *eight_points, cvms5_properties_t *ret_properties) |
Variables | |
| const char * | version_string = "CVM-S5" |
| int | is_initialized = 0 |
| char | vs30_etree_file [128] |
| char | iteration_directory [128] |
| cvms5_configuration_t * | configuration |
| cvms5_model_t * | velocity_model |
| cvms5_vs30_map_config_t * | vs30_map |
| projPJ | cvms5_latlon |
| projPJ | cvms5_utm |
| projPJ | cvms5_aeqd |
| double | cos_rotation_angle = 0 |
| double | sin_rotation_angle = 0 |
| double | total_height_m = 0 |
| double | total_width_m = 0 |
| double | cos_vs30_rotation_angle = 0 |
| double | sin_vs30_rotation_angle = 0 |
Main header file for CVM-S5 library.
Delivers CVM-S5 which consists of Po Chen and En-Jui Lee's full 3D tomographic results with a Vs30-based GTL as per Po Chen and Geoff Ely.
| #define FAIL 1 |
Defines a return value of failure
| #define M_PI 3.14159265358979323846 |
Defines pi
| #define SUCCESS 0 |
Defines a return value of success
| typedef struct cvms5_configuration_t cvms5_configuration_t |
The CVM-S5 configuration structure.
| typedef struct cvms5_model_t cvms5_model_t |
The model structure which points to available portions of the model.
| typedef struct cvms5_point_t cvms5_point_t |
Defines a point (latitude, longitude, and depth) in WGS84 format
| typedef struct cvms5_properties_t cvms5_properties_t |
Defines the material properties this model will retrieve.
| typedef struct cvms5_vs30_map_config_t cvms5_vs30_map_config_t |
The configuration structure for the Vs30 map.
| typedef struct vs30_mpayload_t vs30_mpayload_t |
Contains the Vs30 and surface values from the UCVM map.
| void bilinear_interpolation | ( | double | x_percent, |
| double | y_percent, | ||
| cvms5_properties_t * | four_points, | ||
| cvms5_properties_t * | ret_properties | ||
| ) |
Bilinearly interpolates the properties.
Bilinearly interpolates given a x percentage, y percentage, and a plane of data properties in origin, bottom-right, top-left, top-right format.
| x_percent | X percentage. |
| y_percent | Y percentage. |
| four_points | Data property plane. |
| ret_properties | Returned data properties. |
| double calculate_density | ( | double | vs | ) |
Calculates density from Vs.
Calculates the density based off of Vs. Based on Nafe-Drake scaling relationship.
| vs | The Vs value off which to scale. |
| int cvms5_finalize | ( | ) |
Cleans up the model (frees memory, etc.)
Called when the model is being discarded. Free all variables.
| int cvms5_init | ( | const char * | dir, |
| const char * | label | ||
| ) |
Initializes the model
Initializes the CVM-S5 plugin model within the UCVM framework. In order to initialize the model, we must provide the UCVM install path and optionally a place in memory where the model already exists.
| dir | The directory in which UCVM has been installed. |
| label | A unique identifier for the velocity model. |
| int cvms5_query | ( | cvms5_point_t * | points, |
| cvms5_properties_t * | data, | ||
| int | numpoints | ||
| ) |
Queries the model
Queries CVM-S5 at the given points and returns the data that it finds. If GTL is enabled, it also adds the Vs30 GTL as described by Po Chen.
| points | The points at which the queries will be made. |
| data | The data that will be returned (Vp, Vs, density, Qs, and/or Qp). |
| numpoints | The total number of points to query. |
| int cvms5_version | ( | char * | ver, |
| int | len | ||
| ) |
Returns version information
Returns the version information.
| ver | Version string to return. |
| len | Maximum length of buffer. |
| int get_vs30_based_gtl | ( | cvms5_point_t * | point, |
| cvms5_properties_t * | data | ||
| ) |
Retrieves the vs30 value for a given point.
Gets the GTL value using the Wills and Wald dataset, given a latitude, longitude and depth.
| point | The point at which to retrieve the property. Note, depth is ignored. |
| data | The material properties at the point specified, or -1 if not found. |
| double get_vs30_value | ( | double | longitude, |
| double | latitude, | ||
| cvms5_vs30_map_config_t * | map | ||
| ) |
Gets the Vs30 value at a point
Given a latitude and longitude in WGS84 co-ordinates, we find the corresponding e-tree octant in the Vs30 map e-tree and read the value as well as interpolate bilinearly.
| longitude | The longitude in WGS84 format. |
| latitude | The latitude in WGS84 format. |
| map | The Vs30 map structure as defined during the initialization procedure. |
| void linear_interpolation | ( | double | percent, |
| cvms5_properties_t * | x0, | ||
| cvms5_properties_t * | x1, | ||
| cvms5_properties_t * | ret_properties | ||
| ) |
Linearly interpolates two cvms5_properties_t structures
Linearly interpolates given a percentage from x0 to x1, a data point at x0, and a data point at x1.
| percent | Percent of the way from x0 to x1 (from 0 to 1 interval). |
| x0 | Data point at x0. |
| x1 | Data point at x1. |
| ret_properties | Resulting data properties. |
| void print_error | ( | char * | err | ) |
Prints out the error string.
Prints the error string provided.
| err | The error string to print out to stderr. |
| int read_configuration | ( | char * | file, |
| cvms5_configuration_t * | config | ||
| ) |
Reads the configuration file.
Reads the configuration file describing the various properties of CVM-S5 and populates the configuration struct. This assumes configuration has been "calloc'ed" and validates that each value is not zero at the end.
| file | The configuration file location on disk to read. |
| config | The configuration struct to which the data should be written. |
| void read_properties | ( | int | x, |
| int | y, | ||
| int | z, | ||
| cvms5_properties_t * | data | ||
| ) |
Retrieves the value at a specified grid point in the model.
Retrieves the material properties (whatever is available) for the given data point, expressed in x, y, and z co-ordinates.
| x | The x coordinate of the data point. |
| y | The y coordinate of the data point. |
| z | The z coordinate of the data point. |
| data | The properties struct to which the material properties will be written. |
| int read_vs30_map | ( | char * | filename, |
| cvms5_vs30_map_config_t * | map | ||
| ) |
Reads the specified Vs30 map from UCVM.
Reads the format of the Vs30 data e-tree. This file location is typically specified in the configuration file of the model.
| filename | The e-tree's file location from which to read. |
| map | The outputted map configuration structure. |
| void trilinear_interpolation | ( | double | x_percent, |
| double | y_percent, | ||
| double | z_percent, | ||
| cvms5_properties_t * | eight_points, | ||
| cvms5_properties_t * | ret_properties | ||
| ) |
Trilinearly interpolates the properties.
Trilinearly interpolates given a x percentage, y percentage, z percentage and a cube of data properties in top origin format (top plane first, bottom plane second).
| x_percent | X percentage |
| y_percent | Y percentage |
| z_percent | Z percentage |
| eight_points | Eight surrounding data properties |
| ret_properties | Returned data properties |
| int try_reading_model | ( | cvms5_model_t * | model | ) |
Attempts to malloc the model size in memory and read it in.
Tries to read the model into memory.
| model | The model parameter struct which will hold the pointers to the data either on disk or in memory. |
| cvms5_configuration_t* configuration |
Configuration parameters.
| double cos_rotation_angle = 0 |
The cosine of the rotation angle used to rotate the box and point around the bottom-left corner.
| double cos_vs30_rotation_angle = 0 |
The cosine of the Vs30 map's rotation.
| projPJ cvms5_aeqd |
Proj.4 Vs30 map projection holder.
| projPJ cvms5_latlon |
Proj.4 latitude longitude, WGS84 projection holder.
| projPJ cvms5_utm |
Proj.4 UTM projection holder.
| int is_initialized = 0 |
Set to 1 when the model is ready for query.
| char iteration_directory[128] |
Location of Po and En-Jui's latest iteration files.
| double sin_rotation_angle = 0 |
The sine of the rotation angle used to rotate the box and point around the bottom-left corner.
| double sin_vs30_rotation_angle = 0 |
The sine of the Vs30 map's rotation.
| double total_height_m = 0 |
The height of this model's region, in meters.
| double total_width_m = 0 |
The width of this model's region, in meters.
| cvms5_model_t* velocity_model |
Holds pointers to the velocity model data OR indicates it can be read from file.
| const char* version_string = "CVM-S5" |
The version of the model.
| char vs30_etree_file[128] |
Location of the ucvm.e e-tree file.
| cvms5_vs30_map_config_t* vs30_map |
Holds the configuration parameters for the Vs30 map.


What is it?
This is a gallery with examples of how many things you can do using the xbox-controller-node
.
Get xbox-controller-node
https://www.npmjs.com/package/xbox-controller-node
npm install xbox-controller-node
GitHub
Fork it and contribute!
See the project


{% extends 'gallery/base.html' %} {% load static %} {% block content %} {%if edit %}
{{document_name}}
Use this field to rename the document.
Changes registered document type.
Please give a description of what your document does, which data sources it uses etc. You can format this text using Markdown.
Please select spac(es) to publish your document.
Tags make your document more discoverable as people can search & screen for them.
Please specify the data sources your document uses. This makes it easier for people to find documents relevant for them.


groupee
Home
(current)
Events
Dodgers @ Giants NLDS GM1
10/8/21 (6:37PM PST)
Oracle Park, San Francisco, CA
Dodgers @ Giants NLDS GM1
10/8/21 (6:37PM PST)
Oracle Park, San Francisco, CA
Dodgers @ Giants NLDS GM1
10/8/21 (6:37PM PST)
Oracle Park, San Francisco, CA
Invitees
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Finish


Martin Keown urges Arsenal to consider Mauricio Pochettino appointment
Martin Keown believes Arsenal should consider appointing Mauricio Pochettino as their new manager
by Transfer AgentMartin Keown has urged Arsenal to consider a controversial approach for former Tottenham Hotspur manager Mauricio Pochettino.
The ex-Argentina international was sacked by Spurs on Tuesday night after a difficult start to the Premier League season for the north London side.
Pochettino’s dismissal still came as a surprise given that he had led Tottenham to their first-ever Champions League final last season.
The former Espanyol boss had also led Tottenham to a top-four finish in the last four seasons, something which Arsenal haven’t been able to emulate.
Current Arsenal manager Unai Emery is under pressure at The Emirates following their below-par start to the top-flight campaign.
The Gunners are in sixth place in the Premier League table following a run of one win in their last six games.
Emery’s handling of the Granit Xhaka fall-out as well as his tactical decisions during games have led to criticism of the Spanish head coach.
Former Arsenal defender Keown believes the Gunners should show ambition by making an approach for Pochettino.
“There’s no need to panic at Arsenal, we are getting close to panic by the way, because we’re not having the best of seasons, but the powers that be at the top of the club should be seriously considering Pochettino,” Keown told the Daily Mail.
“I have a lot of admiration for what he did at Tottenham, the way he nurtured those young players and he didn’t spend a great deal of money.
“I don’t think Tottenham spent enough.”
Arsenal appointed Emery as Arsene Wenger’s replacement in May 2018 after previous stints in charge of Paris Saint-Germain, Spartak Moscow, Sevilla and Valencia.
The Gunners finished in fifth place in Emery’s first full season in charge.


{% if title %}
{{ title }} - Apfell
{% else %}
Apfell
{% endif %}
Manage Operations
Operational Configuration
Analytics Dashboard
Browser Script Management
C2 Profiles Management
Database Management
Payload Management
Global Configuration
Base Artifacts Management
Operations Management
Transform Management
Operational Views
Active Callbacks
All Callbacks
Comments
Credentials
Keylogs
Files
Screencaptures
Search
Create Components
Create Payload
Instantiate C2 Profile
Services
Host Files
API
RESTful API
C2 Documentation
Payload Type Command Help
Reporting
ATT&CK Mappings
Generate PDF
Reporting Artifacts
{% if name %}
({{name}})
Logout
Settings
{% if links.current_operation != "" %}
{{links.current_operation}}
{% else %}
Select an operation!
{% endif %}
{% else %}
Login
{% endif %}
{% block body %}{% endblock %}


Authors: Christos Argyropoulos
Source: FERMAT, Volume 2, Article 2, Mar.-Apr., 2014
Abstract: The objective of this paper is to focus on reviewing the recent advances in research on metamaterial and plasmonic absorbers. Metamaterials provide excellent flexibility, robustness and tunability to efficiently control and manipulate the absorption of electromagnetic energy in unprecedented ways compared to natural absorbing materials. They are mainly fabricated by using ultrathin metallic parts and their operation is based on physical mechanisms that are different from those of the conventional microwave absorbers which are usually quite bulky, since they typically utilize lossy magnetodielectric materials. The unique metallic nature of metamaterials and their ultrathin dimensions can lead to novel functionalities when combined with their highly absorbing properties, such as manipulation of absorption of electromagnetic radiation and the reciprocal effect of thermal emission of electromagnetic waves, which occurs when they are heated. All the presented electromagnetic absorber designs can be scaled up or down to both low and high frequencies, to operate at microwaves, THz, infrared and optics. This can be achieved by just changing the dimensions and properties of each device depending on the particular application. It will be shown that these devices provide an ideal platform for taming and controlling the absorption by metallic structures in unique ways. The use of absorbers based on metamaterial and plasmonic structures can lead to the design of new bolometers, efficient energy harvesting devices and novel thermophotovoltaic structures.
Index Terms: Metamaterials, Plasmonics, Absorption, Solar cells, Bolometers, Photovoltaic technology.
View PDF
Electromagnetic Absorbers Based on Metamaterial and Plasmonic Devices


--- layout: default ---
RISD has instituted guidelines for raising complaints about harassment, including sexual harassment.
File an Anonymous Report or a Confidential Report
Employees who wish to anonymously inform the College of a case of sexual misconduct by a RISD student or employee may report an incident anonymously. Individuals can use the Whistleblower Form available at XXX
Contact the RISD Public Safety anonymously at 401-454-XXXX
You can contact Elizabeth Tierney or a Deputy Title IX Coordinator.
There are informal options available to employees to try to address certain misconduct. There are many kinds of informal methods to resolve complaints, as noted below. One option, mediation, may be particularly useful for allegations of sexual misconduct (other than assault).
Mediation is a confidential process in which both the complainant and the respondent are helped by a trained mediator to reach a resolution. Mediation is designed to resolve complaints quickly, efficiently and to the mutual satisfaction of all parties involved. Mediators are trained to be neutral and not to take sides with either person. Resolutions reached are often put into writing. They are not kept by the mediator. They also are not kept by RISD, nor are they monitored or enforced by the Institute, unless specifically stated in the written agreement. Formal mediation can be especially useful where there are differences in perception or values or when the complainant wants to protect one's privacy. This is a voluntary process for everyone involved and will be pursued only with the consent of both parties. It is important to note that mediation is not appropriate for certain cases, including those involving allegations of sexual assault, even on a voluntary basis.
In cases where mediation is deemed to be an option, a complainant wishing to pursue mediation should contact the Human Resources office.
To pursue a formal complaint, an employee should submit a complaint in writing to the Human Resources Office on campus or to the Dean of Students Office (for students).
An employee complaint will be reviewed and a decision will be made as to how RISD will respond. RISD will conduct an investigation of a complaint of sexual misconduct. Investigations are done by an impartial investigator, giving notice to the person who allegedly offended and providing a reasonable opportunity for that person to respond to the major elements of the complaint and information presented. An investigation and decision on a complaint can lead to serious disciplinary action, which may include termination.
In a sexual misconduct matter, the complainant and respondent can appeal a decision on the complaint. Such appeal must be in writing, filed promptly with the Human Resources Office, and state the reasons supporting the appeal.
For further information, see: XXXXXXXXXXXXXXXX


Recruitment and Staffing
Change your Role
Select your Role
Jobseeker
Recruiter
Username
Password
Login
Forgot Password
Sign Up
Looking for Job? Let me help you..


(0:01:25) Change the Color of Text
(0:02:33) Use CSS Selectors to Style Elements
(0:04:33) Use a CSS Class to Style an Element
mix id and class selectors
paragraph
paragraph
paragraph
paragraph
paragraph
paragraph
paragraph
paragraph
paragraph
paragraph


In any robotics application, sensor calibration is really important - removing biases from sensors and estimating their position in some coordinate frame. Yet usually we don't really think about sensor calibration as something cool or even essential, despite it probably having more of an influcence on correctness than tuning a neural network might. To put it succintly - if your sensor isn't calibrated correctly, you'll get garbage results, no matter what algorithm you throw at it.
This blog is all about sensor calibration for robotics - what it is, techniques for calibration, validation, and anything else. I'll be covering cameras, LIDARs, radars, IMUs, and any other kinds of sensors you could think of. In addition, I'll cover new and emerging research and patents in sensor calibration that are becoming more mainstream.
A little about me: I'm a software engineer at the Toyota Research Institute working on calibration / localization / mapping. Previously I worked as a software engineer at Iris Automation building out software tools for vision-based collision avoidance systems. In addition, I'm working on my Master's degree in Robotics at the University of Michigan - Ann Arbor.
If yu have any questions or ideas for posts / sensors, feel free to drop me a DM on Twitter or Linkedin.
Thanks for reading!


|
Apache log4cxx
Version 0.10.0
|
This class represents the location of a logging statement. More...
Public Member Functions | |
| LocationInfo (const char *const fileName, const char *const functionName, int lineNumber) | |
| Constructor. More... | |
| LocationInfo () | |
| Default constructor. More... | |
| LocationInfo (const LocationInfo &src) | |
| Copy constructor. More... | |
| LocationInfo & | operator= (const LocationInfo &src) |
| Assignment operator. More... | |
| void | clear () |
| Resets location info to default state. More... | |
| const std::string | getClassName () const |
| Return the class name of the call site. More... | |
| const char * | getFileName () const |
| Return the file name of the caller. More... | |
| int | getLineNumber () const |
| Returns the line number of the caller. More... | |
| const std::string | getMethodName () const |
| Returns the method name of the caller. More... | |
| void | write (log4cxx::helpers::ObjectOutputStream &os, log4cxx::helpers::Pool &p) const |
Static Public Member Functions | |
| static const LocationInfo & | getLocationUnavailable () |
Static Public Attributes | |
| static const char *const | NA |
When location information is not available the constant NA is returned. More... | |
| static const char *const | NA_METHOD |
This class represents the location of a logging statement.
| LocationInfo | ( | const char *const | fileName, |
| const char *const | functionName, | ||
| int | lineNumber | ||
| ) |
Constructor.
| LocationInfo | ( | ) |
Default constructor.
| LocationInfo | ( | const LocationInfo & | src | ) |
Copy constructor.
| src | source location |
| void clear | ( | ) |
Resets location info to default state.
| const std::string getClassName | ( | ) | const |
Return the class name of the call site.
| const char* getFileName | ( | ) | const |
Return the file name of the caller.
| int getLineNumber | ( | ) | const |
Returns the line number of the caller.
|
static |
| const std::string getMethodName | ( | ) | const |
Returns the method name of the caller.
| LocationInfo& operator= | ( | const LocationInfo & | src | ) |
Assignment operator.
| src | source location |
| void write | ( | log4cxx::helpers::ObjectOutputStream & | os, |
| log4cxx::helpers::Pool & | p | ||
| ) | const |
|
static |
When location information is not available the constant NA
is returned.
Current value of this string constant is ?.
|
static |


欢迎！
15852
Total Sales
Last week's Sales 235
956
New Orders
Last week's Orders 59
20544
Unique Visitors
Last month's Visitors 1026
5210
New Users


I'm A Celeb viewers spot Dec Donnelly get very distracted by glam female rangers
Declan Donnelly had viewers in hysterics as his head was turned during the launch of 'm A Celebrity: Extra Camp
by Irishmirror.ieDeclan Donnelly had I'm A Celebrity viewers in hysterics on Sunday night as they spotted his hilarious reaction to two female rangers who had popped briefly into the studio.
It came as Dec and his co-presenter Ant McPartlin appeared on spin off show Extra Camp after wrapping up the main launch show.
The team were playing a game to celebrate Ant's birthday and two glamorous female rangers walked on set to deliver props.
The IAC crew are usually men and the Geordie duo noticed the difference straight away.
"They are not the normal rangers!" cried Ant, before waving after them.
Dec, however, jumped out of his seat and asked: "Where did you get those rangers?" before a laughing Ryan Thomas had to pull him back down.
Eagle eyed viewers at home immediately clocked the blunder.
"If my future husband doesn’t react to me the way dec reacted to the new rangers what’s the point #ImACeleb " said one.
"Dec eyeing up the rangers, actually can’t cope," laughed a third.
"I don't know what’s funnier @antanddec ’s (especially Dec’s) reaction to the pretty rangers on extra camp or @adamthomas21 laughing his a*** off about it," added a fourth
The presenters were in great spirits after an action-packed opener to the 2019 series of I'm A Celeb.
The launch saw the celebs plank walking, sky-diving and facing bugs within hours of the show starting.
Tomorrow night looks set to be just as thrilling with Caitlyn Jenner and Kate Garraway faced to take on the first Bushtucker Trial.
Caitlyn, who is taking home the largest fee this year, impressed viewers with her courageous attitude and support of her fellow campmates.
The US star was unphased at the prospect of jumping out of a helicopter and was the only one not to jump out of a jeep screaming when the celebs realised they'd been joined by a huge spider.
Find out how Caitlyn and Kate cope with their joint trial when I'm A Celebrity returns tonight at 9pm on ITV


. PERMANENT MIDNIGHT A film review by Christopher Null Copyright 1998 Christopher Null
Well, there's nothing like missing a fad by a few years to show how *really* behind the curve you are. PERMANENT MIDNIGHT, the new film about the rise and fall... well, mostly the fall... of TV writer Jerry Stahl should prove to be the final nail in the short-lived, and now painful-to-watch, genre: the drug movie.
Perhaps best known as the chief influence behind the TV show "ALF," MIDNIGHT is a simplistic retelling of Stahl's tell-all autobiography. Ben Stiller, the only remotely passable part of this film, plays Stahl with gusto, but twenty minutes of Stiller going berserk as a strung-out junkie are more than enough.
Sadly, that's all this movie is: a whopping 85 minutes of Stiller on heroin. There's precious little about his life before or after his addiction. It's just a few pages out of the life of a junkie. And I couldn't have cared less. Plot development? Ha! First-time director Veloz obviously feels it's beneath him.
Maybe the worst part of MIDNIGHT is that it's told completely in flashback, as Stahl reminisces to some blonde girl who picks him up at a fast food joint. Played by Maria Bello, this outta-nowhere character is so devoid of, well, of *anything* that my cat could have played her with the same conviction. Bello had best start rethinking that "ER" departure, *pronto*.
I won't waste any more time droning about how bad PERMANENT MIDNIGHT is. But I will say one thing: at least it explains a lot about "ALF."
RATING: *1/2
|------------------------------| \ ***** Perfection \ \ **** Good, memorable film \ \ *** Average, hits and misses \ \ ** Sub-par on many levels \ \ * Unquestionably awful \ |------------------------------|
MPAA Rating: R
Director: David Veloz Producer: Jane Hamsher, Don Murphy Writer: David Veloz Starring: Ben Stiller, Elizabeth Hurley, Maria Bello
http://www.permanentmidnight.com
-Christopher Null /<EMAIL_ADDRESS>/ Writer-Producer / http://www.filmcritic.com
-- Christopher Null /<EMAIL_ADDRESS>/ http://www.filmcritic.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


NHibernate Unit Test
A simple unit test using Category and Product from Northwind - check the test result to see the SQL used (in particular, only one "INSERT" in the first unit of work).
Hidden here is the NHibernate configuration and session factory (because the UnitOfWork calls SessionManager which is a lazily loaded singleton). More commonly, there's a test setup/Initialize (or Application_Start) which initializes this.
[TestMethod]
public void TestWithUnitOfWork()
{
int newProductId;
using (var uow = new UnitOfWork())
{
//let's read
var categoryManager = new CategoryRepository(uow.Current);
var productManager = new ProductRepository(uow.Current);
var category = categoryManager.LoadProxy(2);
//No SQL (unless we did a Session.Get)
//add a product
var p = new Product
{
Category = category, //the proxy, just with Id
ProductName = "Eggs",
UnitPrice = 3,
QuantityPerUnit = "6"
};
//No SQL to get category
productManager.SaveOrUpdate(p); //save product
//No SQL even after "Save"
uow.Commit();
//SQL= INSERT INTO [Products] ... on commit
newProductId = p.Id;
}
//second unit of work (=new session and transaction), just to clean up
using (var uow = new UnitOfWork())
{
var productManager = new ProductRepository(uow.Current);
Product p = productManager.GetById(newProductId);
//SQL= SELECT * FROM [Products] WHERE ...
productManager.Delete(p);
//SQL= DELETE FROM [Products] WHERE ...
uow.Commit();
}
}


RapidDive
@rapiddive
RapidDive is an extension development company. Where we rope your thoughts into actions.
null
<EMAIL_ADDRESS>http://rapiddive.com/
Ahmedabad
Available for hire
Work.
fiximage
Fix Image if the cache folder is not found
PHP
3
2
catchtheweb-barclay-epdq-payment-gateway
Barclay card ePDQ Payment gateway is an easy way to integrate ePDQ payment gateway from Barclay. It is tested on test framework.
PHP
0
1
composer-version-constraint
Latest composer throwing version constraint error for Could not parse version constraint 5.5.33 as ^5.2: Invalid version string "^5.2"
PHP
0
1
easypay
easypay
null
0
0
icecat-sdk
ICE Cat SDK for fetch of Product based on EAN.
PHP
0
1
module-composer-dep
Magento2 Composer Deployment for extension or composer repo. Simplified through your own marketplace or e-commerce.
null
0
0
rapiddive.github.io
undefined
null
0
0
Forks.
framework
Core Framework
PHP
0
0
gitignore
A collection of useful .gitignore templates
null
0
0
magento2-import-export-sample-files
Default Magento 2 CE import / export CSV files & sample files for Firebear Improved Import / Export extension
null
0
0
magento2-phpstorm-templates
PHPStorm Live template preferences for Magento 2 Projects
null
0
0
magento2-productdesignr
Magento 2 Product Designer Tool
JavaScript
0
0
magento2-samples
[ONLY Magento 2.0.x Compatible] Code samples for Magento developers
PHP
0
0
pipeline-scripts
Pipeline scripts for CI
Shell
0
0
product-import
Fast product import library for Magento 2
PHP
0
0
public-apis
A collective list of free APIs for use in software and web development.
null
0
0
Blog.


{{searchResult}}
Hi!, The game You want to join has reached it's maximum player
limit,but you can still join the general game,
click join if you want to do just that
Hi!, The game cannot start now because
the number of players is not yet up to
three, Please wait or invite Friends


Animals targeted in ‘occult’ attacks in the New Forest
A dead ewe and church door were found with Satanic symbols painted on them.
Occult symbols have been painted on a killed sheep and on the door of a church in a spate of attacks in the New Forest which are believed to be linked.
A sheep and two cows have been attacked as well as well as Satanic symbols painted on the door of St Peter’s Church in Bramshaw, Hampshire.
In the first incident, a dead ewe which had suffered a puncture wound to its side was found in Penn Common Road, Bramshaw, on November 19.
A local resident, who does not wish to be named, found the sheep with a pentagram painted on its side, a star on its face as well as an inverted cross and the number 666 which is linked to the devil.
“Why would somebody do this to a sheep, the poor thing. There are some strange people around.”
A Hampshire Police spokesman said that a heifer and two calves have also been found with wounds in the Bramshaw and Linwood areas.
And on November 20 the graffiti of an inverted cross and the number 666 was found on the church door.
Rev David Bacon, vicar of Bramshaw, said: “The church door has been cleaned and needed redecorating but that’s just a pain.
“The attacks on the animals have left people quite disturbed and scared, particularly people who have animals in the forest.
“We have had very very minor incidents in the past, little bits of graffiti, it doesn’t happen very often, nothing like this.”
“We are looking at the circumstances of each one to see if they are linked, and to see how these animals came to be injured.”
Tony Hockley, chairman of the Commoners Defence Association (CDA) which represents those who keep animals in the New Forest, said: “Any harm to Commoners’ animals is a huge concern.
“Commoning in the New Forest is a voluntary activity and many do it around our day jobs so any attack on any animal is a huge deterrent to continuing allowing animals to graze in the New Forest so anything like this is extremely worrying for the future of the New Forest.”
Mr Hockley said he was not aware of a history of occult incidents in the area but added: “The New Forest, like many rural areas, has a historical association with witchcraft so that draws some people and some of the local shops trade on that but it’s normally more about fairies.”


{% extends "templates/layout-question.html" %} {% block page_title %} Which country were you born in? {% endblock %} {% block question_number %}3{% endblock %} {% block previous_url %}country-live{% endblock %} {% block next_url %}speak-english{% endblock %} {% block question_content %}


Create stateful jQuery plugins using the same abstraction as all jQuery UI widgets.
Want to learn more about the widget factory? Check out the API documentation.


Ready-made,customizable,HTML landing page sections
All modulz are built mobile-first for maximum device compatibility.
Support for IE8, mobile and tablet devices.screenreaders and color blind.
On different screen sizes, fonts automagically scale with the viewport.
Make any design your own using the Style Editor. Personalize fonts. colors, and layouts to create the custom look you want.
China will come up with its own smart car standards, traffic rules. laws and regulations relating to safety. according to the China Industry Innovation Alliance for the Intelli-gent and Connected Vehicles.
LiJun.a China Academy of Engi-neering academician and also director of the alliance's experts'committee. said that China will also launch design guidance for smart cars, smart map architec-ture and standards for test grounds.
Li said the smart car industry is able to enlarge the current car industry by 1 trillion yuan ($158.15 billion) and also able to boost fast development in 5C. internet of cars, big data, artificial intelligence and new-energy vehicles.
Zhang Junyi.a partner with NIO Capital, said that the smart car is the trend for the car industry and China's auto sector will usher in a new key development stage with the improvement of infrastructure.technology. policies and laws.
Learn How to Improve Your Personal Business Li Jun.a China Academy of Engineering academician and also director of the alliance's experts' committee, said that China will also launch design guidance for smart cars. smart map architecture and standards for test grounds.
Choose Between Two Beautifully Designed Color Schemes. China will come up with its own smart car standards, traffic rules, laws and reg-ulations relating to safety, according to the China Industry Innovation Alliance for the Intelligent and Connected Vehicles.
Our Awesome Crew Our unique online teaching style makes learning easy for everyone.Whether you are trying to land a new job.brush up on your skills.
Contacts Make any design your own using the Style Editor. Personalize fonts, colors. and layouts to create the custom look you want
360 King Street
Feastrvale Trevose.PA 19057
(755)564-84-12
youname@mail.com