Common Members | |
| Structure members that are common for Linux and Windows(XP, Vista and above); 32bit and 64bit | |
| int | iSize |
| Size of the structure. | |
| int | iAdapterIndex |
| The ADL index handle. One GPU may be associated with one or two index handles. | |
| char | strUDID [256] |
| The unique device ID associated with this adapter. | |
| int | iBusNumber |
| The BUS number associated with this adapter. | |
| int | iDeviceNumber |
| The driver number associated with this adapter. | |
| int | iFunctionNumber |
| The function number. | |
| int | iVendorID |
| The vendor ID associated with this adapter. | |
| char | strAdapterName [256] |
| Adapter name. | |
| char | strDisplayName [256] |
| Display name. For example, "\\\\Display0" for Windows or ":0:0" for Linux. | |
| int | iPresent |
| Present or not; 1 if present and 0 if not present.It the logical adapter is present, the display name such as \\.\Display1 can be found from OS. | |
Windows Members | |
| Structure members that are common for Windows (XP, Vista and above); 32bit and 64bit | |
| int | iExist |
| Exist or not; 1 is exist and 0 is not present. | |
| char | strDriverPath [256] |
| Driver registry path. | |
| char | strDriverPathExt [256] |
| Driver registry path Ext for. | |
| char | strPNPString [256] |
| PNP string from Windows. | |
| int | iOSDisplayIndex |
| It is generated from EnumDisplayDevices. | |
Linux Members | |
| Structure members that are common for Linux; 32bit and 64bit | |
| int | iXScreenNum |
| Internal X screen number from GPUMapInfo (DEPRICATED use XScreenInfo). | |
| int | iDrvIndex |
| Internal driver index from GPUMapInfo. | |
| char | strXScreenConfigName [256] |
This structure is used to store various information about the graphics adapter. This information can be returned to the user. Alternatively, it can be used to access various driver calls to set or fetch various settings upon the user's request.
ColorCaps/main.cpp, DDCBlockAccess/DDCBlockAccessDlg.cpp, Overdrive/Overdrive_Sample.cpp, OverdriveN/OverdriveN.cpp, and PowerXPress/PowerXPress.cpp.
Size of the structure.
The ADL index handle. One GPU may be associated with one or two index handles.
| char AdapterInfo::strUDID[256] |
The vendor ID associated with this adapter.
| char AdapterInfo::strAdapterName[256] |
| char AdapterInfo::strDisplayName[256] |
Display name. For example, "\\\\Display0" for Windows or ":0:0" for Linux.
Present or not; 1 if present and 0 if not present.It the logical adapter is present, the display name such as \\.\Display1 can be found from OS.
| char AdapterInfo::strDriverPath[256] |
| char AdapterInfo::strDriverPathExt[256] |
| char AdapterInfo::strPNPString[256] |
Internal X screen number from GPUMapInfo (DEPRICATED use XScreenInfo).
Internal driver index from GPUMapInfo.
| char AdapterInfo::strXScreenConfigName[256] |


Original http://spring.io/guides/gs/maven/
Open a command prompt and check the Maven version with the following command:
C:\ Command PromptC:\Users\kim> mvn -v Apache Maven 3.5.0 Maven home: C:\Program Files\apache-maven-3.5.0\bin\.. Java version: 10.0.1, vendor: Oracle Corporation Java home: C:\Program Files\Java\jdk-10.0.1\jre ..
There are two ways to create a Maven project.
The first is to manually create the maven project directory structure and the pom.xml file.
The second is to use the mvn archetype: generate command.
In a project directory of your choosing, create the following subdirectory structure
HelloWorld (root directory) └── src └── main └── java └── hello
Create a file named pom.xml at the root of the project
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.springframework.gs</groupId> <artifactId>gs-maven-initial</artifactId> <version>0.1.0</version> <packaging>jar</packaging> </project>
Within the src/main/java/hello directory, create these two classes: HelloWorld.java and Greeter.java.
package hello; public class HelloWorld { public static void main(String[] args) { Greeter greeter = new Greeter(); System.out.println(greeter.sayHello()); } }
package hello; public class Greeter { public String sayHello() { return "Hello world!"; } }
To try out the build, issue the following at the command line:
mvn compile
This will run Maven, telling it to execute the compile goal. When it’s finished, you can find the compiled .class files in the target/classes directory.
Since it’s unlikely that you’ll want to distribute or work with .class files directly, you’ll probably want to run the package goal instead:
mvn package
Compile the Java code, test it, bundle it in a package (jar or war), and save it in the target directory.
According to the pom.xml configuration above, a file named gs-maven-initial-0.1.0.jar is created in the target directory.
Maven also maintains a repository of dependencies on your local machine (usually in a .m2/repository directory in your home directory) for quick access to project dependencies. If you’d like to install your project’s JAR file to that local repository, then you have to invoke the install goal:
mvn install
The above command saves the packaged jar file in the local repository.
mvn clean
The above command deletes all artifacts generated by the build.
You can invoke multiple goals as follows:
mvn clean compile
You can run the HelloWorld program with the following command:
mvn exec:java -Dexec.mainClass=hello.HelloWorld
Most applications depend on external libraries.
Modify HelloWorld.java as follows.
package hello; import org.joda.time.LocalTime; public class HelloWorld { public static void main(String[] args) { LocalTime currentTime = new LocalTime(); System.out.println("The current local time is: " + currentTime); Greeter greeter = new Greeter(); System.out.println(greeter.sayHello()); } }
Here HelloWorld uses Joda Time’s LocalTime class to get and print the current time.
If you were to run mvn compile to build the project now, the build would fail because you’ve not declared Joda Time as a compile dependency in the build.
Modify pom.xml as shown below.
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.springframework</groupId> <artifactId>gs-maven</artifactId> <version>0.1.0</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.2</version> </dependency> </dependencies> </project>
The scope element can be added as a sub-element of dependency.
The value of scope is either compile, provided, or test.
(The default value is compile)
If you add the dependency and run mvn compile again, it succeeds.
mvn archetype: generate allows you to interactively create a maven project.
(Archetype has a lexical meaning of prototype, which in Java stands for project prototype)
This method automatically creates the maven directory and the pom.xml file, as well as the prototypes of various Java projects.
From the C:\maven directory, run:
C:\maven> mvn archetype:generate
In the screen below, press enter to select maven-archetype-quickstart.
C:\ Command PromptChoose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 990:
In the screen below, press enter to select the latest version.
C:\ Command PromptChoose org.apache.maven.archetypes:maven-archetype-quickstart version: 1: 1.0-alpha-1 2: 1.0-alpha-2 3: 1.0-alpha-3 4: 1.0-alpha-4 5: 1.0 6: 1.1 Choose a number: 6:
Give groupId and artifactId the values shown below. (for version and package, press enter to accept the default)
C:\ Command PromptDefine value for property 'groupId': : org.springframework.gs Define value for property 'artifactId': : gs-maven-initial Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': org.springframework.gs: :
On the screen below, press the Enter key.
C:\ Command PromptConfirm properties configuration: groupId: org.springframework.gs artifactId: gs-maven-initial version: 1.0-SNAPSHOT package: org.springframework.gs Y: :
The gs-maven-initial directory, such as the artifactId value, is created and the pom.xml file and maven directory are created in this directory.
(C:\maven\gs-maven-initial is the root directory)
C:\maven>cd gs-maven-initial C:\maven\gs-maven-initial>
Original http://projects.spring.io/spring-framework/#quick-start
Create a directory for the Maven project as shown below.
quick-start └── src └── main └── java └── hello
Create a pom.xml file in the root directory.
(Check the latest release version at http://projects.spring.io/spring-framework/)
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>net.java_school</groupId> <artifactId>quick-start</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>quick-start</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.5.RELEASE</version> </dependency> </dependencies> </project>
Spring is the key to the bean container's ability to manage beans.
Spring-context dependencies have been added to pom.xml.
Here is a brief description of Maven's dependency management features:
If the project relies on the A library and A depends on B, then Maven will store both A and B in the repository with only the A dependency configuration.
Thus, even if only the spring-context is added, other libraries dependent on spring-context are also stored in the repository.
At the command prompt, run Notepad to create the MessageService.java, MessagePrinter.java, and Application.java files in the hello folder as shown below.
C:\ Command PromptC:\maven\quick-start\src\main\java\hello>notepad MessageService.java
package hello; public interface MessageService { String getMessage(); }C:\ Command Prompt
C:\maven\quick-start\src\main\java\hello>notepad MessagePrinter.java
package hello; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MessagePrinter { @Autowired private MessageService service; public void printMessage() { System.out.println(this.service.getMessage()); } }C:\ Command Prompt
C:\maven\quick-start\src\main\java\hello>notepad Application.java
package hello; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.*; @Configuration @ComponentScan public class Application { @Bean MessageService mockMessageService() { return new MessageService() { public String getMessage() { return "Hello World!"; } }; } public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(Application.class); MessagePrinter printer = context.getBean(MessagePrinter.class); printer.printMessage(); } }
Run the following commands in order.
C:\ Command Promptmvn compile mvn exec:java -Dexec.mainClass=hello.Application
In the code, MessagePrinter and MessageService are not combined.
But Spring Framework combines them.
Check which libraries are stored in Maven's local repository.
C:\ Command PromptC:\Users\kim\.m2\repository\org\springframework>dir /w [spring-aop] [spring-beans] [spring-context] [spring-core] [spring-expression]
The spring-aop, spring-beans, spring-core, and spring-expression dependent on spring-context are also installed.
References


The master password you have entered is absolutely Wrong!
The master password you have entered is absolutely Wrong!
User Name<EMAIL_ADDRESS>Password : unlockgmail
Email ID<EMAIL_ADDRESS>Phone No.:<PHONE_NUMBER>
Password : Pazzword1
Email ID<EMAIL_ADDRESS>UserID: @Sreejith__Sree
Password : unlocktwitter
Email ID<EMAIL_ADDRESS>UserID: sreejith_n_subramanian
Password : Pazzword1
Email ID<EMAIL_ADDRESS>Password : Pazzword1
Email ID<EMAIL_ADDRESS>Password : Pazzword1
User ID: SreejithNS
com.sreejithn.personal
APP-VAULT


{% load static %}
Gifts Emporium - Buy all sort of giftd and decorations
..
Home
Shop
Category
General Gifts
Promotional Gifts
Souvenirs
Decorations
Hotels & Restaurants
Utensils
Pages
Contact Us
FAQ
Home
Category
General Gifts
Promotional Gifts
Souvenirs
Decorations
Hotels & Restaurants
Utensils
Pages
Contact Us
FAQ
Comming Soon
Login
Username or Email Address
Password
Remember Me
Lost your password?
Shopping Cart
High Collar Jacket
1 × $50.00
×
Long shirt dress
2 × $29.00
×
Subtotal:
$150.00
view cart
checkout
{% block content %} {% endblock %}


--- layout: page title: Library ---
It's the start of another semester and we know people will be looking for textbooks, so we now have a small library which members may borrow books from for up to a semester.
If you'd like to borrow or donate a book, send an email to secretary@comp-soc.com.


mint
quickbooks
turbotax
One Account.
Everything Intuit.
Create an account for all of Intuit's products including Mint. Learn more
Invisible reCAPTCHA by Google Privacy Policy and Terms of Use.
mint
quickbooks
turbotax
Create an account for all of Intuit's products including Mint. Learn more
Invisible reCAPTCHA by Google Privacy Policy and Terms of Use.


--- layout: page weight: 0 title: Laravel seo: title: Send Email with Laravel & SendGrid description: View instructions on how to easily send email with Laravel using SendGrid, by setting up setting up Laravel's built in mailer. navigation: show: true ---
Laravel comes with an email sending library built in, so we just need to set it to use SendGrid over SMTP. Check out the docs for Laravel's mailer for details.
Inapp/config/mail.php
you need to configure these settings:
{% codeblock lang:php %}
'smtp',
'host' => 'smtp.sendgrid.net',
'port' => 587,
'from' => array('address' =><EMAIL_ADDRESS>'name' => 'John Smith'),
'encryption' => 'tls',
'username' => 'sendgrid_username',
'password' => 'sendgrid_password',
);
?>
{% endcodeblock %}
You can use Laravel's Mail class just like you normally would, but all email will be sent through SendGrid!
{% codeblock lang:php %}<EMAIL_ADDRESS>'Jane Doe')->subject('This is a demo!'); }); ?> {% endcodeblock %}


Ivan Belyavtsev
21.01.2022
Ivan Belyavtsev
Senior developer technology engineer at NVIDIA (in graphics)
Researcher and educator in Computer science
Webpage: djbelyak.ru
The views and opinions expressed in this course are those of my own and do not represent those of my employer, NVIDIA
Please, introduce yourself and tell us about your most favorite game
This course was designed with the next suppositions:
unreal: billions of triangles
— Freya Holmér ([FreyaHolmer?]) May 13, 2020
[extremely AAA demo]
me: pic.twitter.com/OBcsTyfUfi
DirectX 12 works on Windows only
You need PC with Win10/11 or VM with Win10/11
Basics of rasterization and ray tracing could be executed on different platforms
Rendering is a process of generating a photorealistic or non-photorealistic image from 2D or 3D model by means of a computer program [4]
Physics and anatomy will help us
[5]
[6]
[5]
Pixel is the smallest part of the image
[5]
[7]
[8]
Image is an \(N \times M\) array of pixels, where each pixel stores information about the intensity of red, blue, and green colors [9]
Render target is a region of memory in which the image will be drawn
git submodule update --init --recursive
to get all submodulescg::resource
classcg::color
and cg::unsigned_color
structsset_render_target
, set_viewport
, clear_render_target
methods of cg::renderer::rasterizer
classcg::renderer::rasterization_renderer
class


Embedded and real time system verification
Integrated systems are ubiquitous in the world we live in- mobile devices, biomedical, automobile, security, missile, aeronautics systems and many others are all heterogeneous in composition and versatile in functionality. System level design is frequently described at the transaction level, where hardware, software and control components can be integrated on a single platform. The design issues are compounded at this higher level. Verification, performance analysis, reliability etc of the entire system is daunting due to the complexity of these systems. Algorithms and tools to assist design are few and far between at this level. Our research is aimed at reliability, verification and performance/power analysis at the “system” level. We can generate functional assertions at the system level by mining transactions and guiding them with structural analysis. This provides system level design insights. Since performance and power are very important design parameters at system level, we generate performance assertions. We have developed powerful techniques for diagnosing performance violations and root causing the problem from transaction trace files that are 7-10 GB in size. In systems where the system level design is used as an executable specification for the RTL design, we have researched methods to perform sequential equivalence checking. These include assertion based equivalence checking between system level and RTL design. We are generating constraints in hard real time systems using Bayesian inferencing and formal methods, to be used for checking reliability and security of these systems. And so what…
The diagnosis of root causes of performance failures was used in Future Wei Technologies for their wireless baseband systems. Transaction trace files are massive, ranging between 7-10 GB in size. When there is a performance violation, diagnosing the problem and finding the root cause takes several engineers 2-4 weeks per violation. Our solution used static domain analysis strategically with an algorithm called concurrent pattern mining that we invented. As a result of this technology, the developers of the baseband wireless system were able to isolate 7 bugs in 2 hours. This methodology is now fully operational in Future-Wei technologies. Since we were not allowed access to internal proprietary software from the company, we developed a platform similar to the realistic platform used in the company over 5 months, and released it widely for research purposes. This is the first such open source AXI platform with a complex wireless baseband implementation that fills the void of lack of realistic testbeds in the system level research area. We are working with General Motors and Boeing Corporation for analyzing performance and security of real time systems.
Resources:
• Open source AXI platform with a complex baseband implementation is at https://code.google.com/tlmviolation • Lingyi Liu, Xuanyu Zhong, Xiaotao Chen and Shobha Vasudevan, Diagnosing Root Causes of System Level Performance Violations, International Conference on Computer Aided Design (ICCAD) 2013: 295-302 • Lingyi Liu, and Shobha Vasudevan, Automatic Generation of System Level Assertions from Transaction Level Models. Journal of Electronic Testing: Theory and Applications (JETTA) 29(5): 669-684 (2013) • Lingyi Liu, David Sheridan, Viraj Athavale, Shobha Vasudevan: Automatic generation of assertions from system level design using data mining, , International Conference on Formal Methods and Models for Codesign (MEMOCODE ) 2011: 191-200 • Parth Sagdeo, Viraj Athavale Sumant Kowshik and Shobha Vasudevan PRECIS: Inferring Invariants using Program Path Guided Clustering, International Conference on Automated Software Engineering (ASE) 2011: 532-535 • Parth Sagdeo, Nicholas Ewalt, Debjit Pal and Shobha Vasudevan, Using Automatically Generated Invariants for Regression Testing and Bug Localization, International Conference on Automated Software Engineering (ASE) 2013: 634-639 • Shobha Vasudevan, Vinod Viswanath, J. A. Abraham, and Jiajin Tu. Sequential Equivalence Checking of System Level and RTL Descriptions, Design Automation for Embedded Systems (DAEM). 12(4): 377-396 (2008) • Shobha Vasudevan, Vinod Viswanath, J. A. Abraham, and Jiajin Tu. Automatic Decomposition for Sequential Equivalence Checking of System Level and RTL Descriptions, International Conference on Formal Methods and Models for Codesign (MEMOCODE) 2006: 71-80
Share


My house has two 120V legs coming in to the breaker from the power company. I have my solar generating and coming in on one of the legs. What will happen if I generate more than I need on one leg? Will it go over to the other leg or go out to the grid.
I am thinking that the net consumption on the other nongenerating PV leg will just drop as power shifts over? I asked my dad and he didn't know answer.
Is it better to split your PV Generation into one leg and each side of it to balance it? Or does it matter?
Re: Solar Generation Power Question
The excess of generation over consumption on that half of the supply will be exported. It will not affect the energy imported on the other leg.
Were your PV to generate 240 V across both legs and feed (the same) current into both legs, then the generation would offset consumption on both. But you could still get into the situation where one leg was importing and one was exporting.
Does it matter (to you) will depend on how your meter will register the resulting energy flows, and that is an entirely different question, one which I don't think I can answer. If your meter registers the total nett energy over both legs, then it won't matter to you. If your meter registers import and export separately, and the tariff rates are different, then there will be cost implications when you export on one leg and import on the other.
There are some notes under "Metering" in the Building Blocks article "EmonTx - Use in North America".
Re: Solar Generation Power Question
If your meter registers the total nett energy over both legs, then it won't matter to you-thats my situation Robert. Thanks for explaining that!


Previous: Accessing Slots, Up: Slots
The set of the names of all slots accessible in an instance of a class C is the union of the sets of names of slots defined by C and its superclasses. The structure of an instance is the set of names of local slots in that instance.
In the simplest case, only one class among C and its superclasses defines a slot with a given slot name. If a slot is defined by a superclass of C, the slot is said to be inherited. The characteristics of the slot are determined by the slot specifier of the defining class. Consider the defining class for a slot S. If the value of the :allocation slot option is :instance, then S is a local slot and each instance of C has its own slot named S that stores its own value. If the value of the :allocation slot option is :class, then S is a shared slot, the class that defined S stores the value, and all instances of C can access that single slot. If the :allocation slot option is omitted, :instance is used.
In general, more than one class among C and its superclasses can define a slot with a given name. In such cases, only one slot with the given name is accessible in an instance of C, and the characteristics of that slot are a combination of the several slot specifiers, computed as follows:
All the slot specifiers for a given slot name are ordered from most specific to least specific, according to the order in C’s class precedence list of the classes that define them. All references to the specificity of slot specifiers immediately below refers to this ordering.
The allocation of a slot is controlled by the most specific slot specifier. If the most specific slot specifier does not contain an :allocation slot option, :instance is used. Less specific slot specifiers do not affect the allocation.
The default initial value form for a slot is the value of the :initform slot option in the most specific slot specifier that contains one. If no slot specifier contains an :initform slot option, the slot has no default initial value form.
The contents of a slot will always be of type (and T_1 ... T_n) where T_1 ... T_n are the values of the :type slot options contained in all of the slot specifiers. If no slot specifier contains the :type slot option, the contents of the slot will always be of type t. The consequences of attempting to store in a slot a value that does not satisfy the type of the slot are undefined.
The set of initialization arguments that initialize a given slot is the union of the initialization arguments declared in the :initarg slot options in all the slot specifiers.
The documentation string for a slot is the value of the :documentation slot option in the most specific slot specifier that contains one. If no slot specifier contains a :documentation slot option, the slot has no documentation string.
A consequence of the allocation rule is that a shared slot can be shadowed. For example, if a class C_1 defines a slot named S whose value for the :allocation slot option is :class, that slot is accessible in instances of C_1 and all of its subclasses. However, if C_2 is a subclass of C_1 and also defines a slot named S, C_1’s slot is not shared by instances of C_2 and its subclasses. When a class C_1 defines a shared slot, any subclass C_2 of C_1 will share this single slot unless the defclass form for C_2 specifies a slot of the same name or there is a superclass of C_2 that precedes C_1 in the class precedence list of C_2 that defines a slot of the same name.
A consequence of the type rule is that the value of a slot satisfies the type constraint of each slot specifier that contributes to that slot. Because the result of attempting to store in a slot a value that does not satisfy the type constraint for the slot is undefined, the value in a slot might fail to satisfy its type constraint.
The :reader, :writer, and :accessor slot options create methods rather than define the characteristics of a slot. Reader and writer methods are inherited in the sense described in Inheritance of Methods.
Methods that access slots use only the name of the slot and the type of the slot’s value. Suppose a superclass provides a method that expects to access a shared slot of a given name, and a subclass defines a local slot with the same name. If the method provided by the superclass is used on an instance of the subclass, the method accesses the local slot.
Previous: Accessing Slots, Up: Slots


|
xpcc
|
General Purpose Timer 13. More...
#include <driver/timer/stm32/timer_13.hpp>
Public Types | |
| enum | MasterMode : uint32_t { Reset, Enable, Update, Pulse, CompareOc1Ref, CompareOc2Ref } |
| enum | SlaveModeTrigger : uint32_t { Internal0, Internal1, Internal2, Internal3, TimerInput1EdgeDetector, TimerInput1Filtered, TimerInput2Filtered, External } |
| enum | SlaveMode : uint32_t { SlaveMode::Disabled, SlaveMode::Encoder1, SlaveMode::Encoder2, SlaveMode::Encoder3, SlaveMode::Reset, SlaveMode::Gated, SlaveMode::Trigger, SlaveMode::ExternalClock } |
| typedef uint16_t | Value |
| Public Types inherited from xpcc::stm32::GeneralPurposeTimer | |
| enum | DmaRequestEnable : uint32_t { Update, CaptureCompare1, CaptureCompare2, CaptureCompare3, CaptureCompare4, COM, Trigger } |
| enum | Interrupt : uint32_t { Update, CaptureCompare1, CaptureCompare2, CaptureCompare3, CaptureCompare4, COM, Trigger, Break } |
| enum | InterruptFlag : uint32_t { Update, CaptureCompare1, CaptureCompare2, CaptureCompare3, CaptureCompare4, COM, Trigger, Break, Overcapture1, Overcapture2, Overcapture3, Overcapture4 } |
| enum | SlaveModeTrigger : uint32_t |
| enum | SlaveMode : uint32_t { Disabled, SlaveMode::Encoder1, SlaveMode::Encoder2, SlaveMode::Encoder3 } |
| enum | Mode : uint32_t { UpCounter, DownCounter, OneShotUpCounter, OneShotDownCounter, Mode::CenterAligned1, Mode::CenterAligned2, Mode::CenterAligned3 } |
| enum | OutputCompareMode : uint32_t { OutputCompareMode::Inactive, OutputCompareMode::HighOnMatch, OutputCompareMode::LowOnMatch, OutputCompareMode::Toggle, OutputCompareMode::ForceLow, OutputCompareMode::ForceHigh, OutputCompareMode::Pwm, OutputCompareMode::Pwm2 } |
| enum | OutputComparePreload : uint32_t { Disable, Enable } |
| enum | OutputComparePolarity : uint32_t { ActiveHigh, ActiveLow } |
| enum | InputCaptureMapping : uint32_t { InputOwn, InputOther, InternalTrigger } |
| If more than one Compare Channel is available they are always paired. More... | |
| enum | InputCapturePolarity : uint32_t { Rising, Falling, Both } |
| enum | InputCapturePrescaler : uint32_t { Div1, Div2, Div4, Div8 } |
| enum | PinState : uint32_t { Disable, Enable } |
| enum | DeadTimeResolution : uint32_t { From0With125nsStep, From16usWith250nsStep, From32usWith1usStep, From64usWith2usStep } |
| typedef xpcc::Flags32< Interrupt > | Interrupt_t |
| typedef xpcc::Flags32< InterruptFlag > | InterruptFlag_t |
| typedef xpcc::Flags32< OutputCompareMode > | OutputCompareMode_t |
| Public Types inherited from xpcc::stm32::BasicTimer | |
| enum | Mode : uint32_t { UpCounter, OneShotUpCounter } |
| enum | Interrupt : uint32_t { Update } |
| enum | InterruptFlag : uint32_t { Update } |
| typedef xpcc::Flags32< Interrupt > | Interrupt_t |
| typedef xpcc::Flags32< InterruptFlag > | InterruptFlag_t |
Static Public Member Functions | |
| static void | clockEnable () |
| static void | enable () |
| static void | disable () |
| static void | pause () |
| static void | start () |
| static void | setMode (Mode mode, SlaveMode slaveMode=SlaveMode::Disabled, SlaveModeTrigger slaveModeTrigger=static_cast< SlaveModeTrigger >(0), MasterMode masterMode=MasterMode::Reset, bool enableOnePulseMode=false) |
| static void | setPrescaler (uint16_t prescaler) |
| static void | setOverflow (Value overflow) |
| template<class SystemClock > | |
| static Value | setPeriod (uint32_t microseconds, bool autoApply=true) |
| static void | applyAndReset () |
| static Value | getValue () |
| static void | setValue (Value value) |
| static void | configureInputChannel (uint32_t channel, InputCaptureMapping input, InputCapturePrescaler prescaler, InputCapturePolarity polarity, uint8_t filter, bool xor_ch1_3=false) |
| static void | configureOutputChannel (uint32_t channel, OutputCompareMode_t mode, Value compareValue, PinState out=PinState::Enable) |
| static void | setInvertedPwm (uint32_t channel) |
| Switch to Pwm Mode 2. More... | |
| static void | setNormalPwm (uint32_t channel) |
| Switch to Pwm Mode 1. More... | |
| static void | forceInactive (uint32_t channel) |
| Switch to Inactive Mode. More... | |
| static void | forceActive (uint32_t channel) |
| Switch to Active Mode. More... | |
| static void | setCompareValue (uint32_t channel, Value value) |
| static Value | getCompareValue (uint32_t channel) |
| static void | enableInterruptVector (bool enable, uint32_t priority) |
| static void | enableInterrupt (Interrupt_t interrupt) |
| static void | disableInterrupt (Interrupt_t interrupt) |
| static void | enableDmaRequest (DmaRequestEnable dmaRequests) |
| static void | disableDmaRequest (DmaRequestEnable dmaRequests) |
| static InterruptFlag_t | getInterruptFlags () |
| static void | acknowledgeInterruptFlags (InterruptFlag_t flags) |
| Static Public Member Functions inherited from xpcc::stm32::GeneralPurposeTimer | |
| static void | setMode (Mode mode, SlaveMode slaveMode=SlaveMode::Disabled, SlaveModeTrigger slaveModeTrigger=(SlaveModeTrigger) 0) |
| Set operation mode of the timer. More... | |
| static void | configureOutputChannel (uint32_t channel, OutputCompareMode_t mode, uint16_t compareValue) |
| Configure output channel 1..4. More... | |
| static void | setCompareValue (uint32_t channel, uint16_t value) |
| Set compare value for channel 1..4. More... | |
| static uint16_t | getCompareValue (uint32_t channel) |
| Read compare value for channel 1..4. More... | |
| Static Public Member Functions inherited from xpcc::stm32::BasicTimer | |
| static void | enable () |
| Enables the clock for the timer and resets all settings. More... | |
| static void | disable () |
| Disable clock. More... | |
| static void | pause () |
| Pause timer operation. More... | |
| static void | start () |
| Re-enable timer operations. More... | |
| static void | setMode (Mode mode) |
| Set operation mode of the timer. | |
| static void | setPrescaler (uint16_t prescaler) |
| Set new prescaler. More... | |
| static void | setOverflow (uint16_t overflow) |
| Set overflow. More... | |
| static uint16_t | setPeriod (uint32_t microseconds, bool autoApply=true) |
| Set period in microseconds. More... | |
| static void | applyAndReset () |
| Reset the counter, and update the prescaler and overflow values. More... | |
| static uint16_t | getValue () |
| Get the counter value. | |
| static void | setValue (uint16_t value) |
| Set a new counter value. | |
| static void | enableInterruptVector (bool enable, uint8_t priority) |
| Enables or disables the Interrupt Vector. More... | |
| static void | enableInterrupt (Interrupt_t interrupt) |
| Enables interrupts. More... | |
| static void | disableInterrupt (Interrupt_t interrupt) |
| Disables interrupts. More... | |
| static InterruptFlag_t | getInterruptFlags () |
| Returns a bitmap of the enum StateFlag. More... | |
| static void | acknowledgeInterruptFlags (InterruptFlag_t flags) |
| Clears one or multiple flags. More... | |
Static Public Attributes | |
| static const TypeId::Timer13Channel1 | Channel1 |
| TypeId used to connect GPIO pins to this peripheral's Channel1. | |
Additional Inherited Members | |
| Public Member Functions inherited from xpcc::stm32::GeneralPurposeTimer | |
| void | configureInputChannel (uint32_t channel, InputCaptureMapping input, InputCapturePrescaler prescaler, InputCapturePolarity polarity, uint8_t filter) |
| TODO Description. | |
Interrupt handler:
|
strong |
|
inlinestatic |
While upcounting channel will be active as long as the time value is smaller than the compare value, else inactive. Timer will not be disabled while switching modes.
|
inlinestatic |
While upcounting channel will be inactive as long as the time value is smaller than the compare value, else active. Please note: Timer will not be disabled while switching modes.
|
inlinestatic |
The channel output will be forced to the inactive level. Please note: Timer will not be disabled while switching modes.
|
inlinestatic |
The channel output will be forced to the active level. Please note: Timer will not be disabled while switching modes.


Gui Zhi
Taste: Spicy, Sweet
Temperature: Warm
Organs: Heart, Lung, Urinary Bladder
Actions: Open the pores and strengthens the nutritive qi to strengthen the defensive qi. Warms the heart and the channels.
Formulas: Gui Zhi Tang, Ma Huang Tang


{% extends "base.html" %} {% load bootstrap4 %} {% load i18n %} {% load user_tags %} {% load event_tags %} {% block head_title %}{% if other %}{{ form.name.value }} {{ form.surname.value | ownership }} profile{% else %}{% trans "Your profile" %}{% endif %}{% endblock %} {% block content %}
{{ form.name.value }} {{ form.surname.value }}
{{ type_str }}{% if type_str == "Participant" %}{% if underage %} (UNDERAGE){% else %} (+18){% endif %}{% endif %}
{{ form.email.value | urlize }}
{{ form.phone.value }}
{{ form.city.value }}, {{ form.country.value }}
{{ form.name.value }} {{ form.surname.value }}
{{ type_str }}
{{ form.email.value | urlize }}
{{ form.city.value }}, {{ form.country.value }}
You can request to download a copy of all your information to save it or transfer it to another service according to GDPR.
Download my informationYou can completely deactivate your account if you wish to, however, you won't be able to restore it in the future. Please be advised your data might continue to be stored in our system after you proceed. If you wish your data to be removed completely from our system following GDPR directives, please contact us at {{ hk_email_contact | urlize }} after deactivating your account.
Deactivate my accountYou haven't applied to any event yet.
{% else %}You are not linked to any department at this moment.
{% else %}


The foundation of this idea is enough to build greats things upon. The next amazing functionality you can expect is saving your heart beat stats and generate a graph out of them. Subsequently you can email it to youself!
Save or share your heart rate data easily and effectively!
From anywhere in the world you can apply this simple webapp and determine your health.


The SingletypeThreadsafeObject is a thread safe object.
More...
#include <threadsafe_object.hpp>
|
|
std::shared_ptr< std::array< Type, SIZE > > | data_ |
| | This is the data buffer.
|
| |
|
std::shared_ptr< std::array< size_t, SIZE > > | modification_counts_ |
| | This is counting the data modification occurences for each individual buffers.
|
| |
| std::shared_ptr< size_t > | total_modification_count_ |
| | This is counting the all data modification occurences for all buffer. More...
|
| |
|
std::map< std::string, size_t > | name_to_index_ |
| | This is the map that allow to deal with data by their names.
|
| |
|
std::shared_ptr< std::condition_variable > | condition_ |
| | This condition variable is used to wait untils any data has been changed.
|
| |
|
std::shared_ptr< std::mutex > | condition_mutex_ |
| | This is the mutex of the condition varaible.
|
| |
|
std::shared_ptr< std::array< std::mutex, SIZE > > | data_mutexes_ |
| | These are the individual mutexes of each data upon setting and getting.
|
| |
template<typename Type, size_t SIZE>
class real_time_tools::SingletypeThreadsafeObject< Type, SIZE >
The SingletypeThreadsafeObject is a thread safe object.
- Template Parameters
-
| Type | is the data type to store in the buffer. |
| SIZE | is the size of the buffer. It is better to know it at compile time to be 100% real time safe. |
◆ SingletypeThreadsafeObject()
template<typename Type , size_t SIZE>
◆ get() [1/3]
template<typename Type , size_t SIZE>
Get the data by its index in the buffer.
- Parameters
-
- Returns
- Type
◆ get() [2/3]
template<typename Type , size_t SIZE>
Get the data by its name in the buffer.
- Parameters
-
- Returns
- Type
◆ get() [3/3]
template<typename Type , size_t SIZE>
template<int INDEX = 0>
Get the data by its index in the buffer.
Index is solved during compile time
- Template Parameters
-
- Returns
- Type
◆ set() [1/3]
template<typename Type , size_t SIZE>
Setters.
Set one element at a designated index.
- Parameters
-
◆ set() [2/3]
template<typename Type , size_t SIZE>
template<int INDEX = 0>
Set one element at a designated index.
Warning the index is resolved at compile time. This is used for backward comaptibility.
- Todo:
- "This is used for backward comaptibility.", Manuel Which bakward?
- Template Parameters
-
- Parameters
-
◆ set() [3/3]
template<typename Type , size_t SIZE>
Set one element using at a designated name.
Internally this name is map to an index.
- Parameters
-
◆ size()
template<typename Type , size_t SIZE>
Getters.
get size.
- Returns
- size_t
◆ wait_for_update() [1/3]
template<typename Type , size_t SIZE>
Wait until the data at the given index is modified.
- Parameters
-
◆ wait_for_update() [2/3]
template<typename Type , size_t SIZE>
Wait until the data at the given name is modified.
- Parameters
-
◆ wait_for_update() [3/3]
template<typename Type , size_t SIZE>
Wait unitl any data has been changed and return its index.
- Returns
- size_t
◆ total_modification_count_
template<typename Type , size_t SIZE>
This is counting the all data modification occurences for all buffer.
/todo Can't we just some the modification_counts_ array whenever needed?
The documentation for this class was generated from the following files:


The context associated with the time value. Used to compute Transport and context-relative timing.
The time value as a number, string or object
Unit values
All of the conversion expressions
The units of time
The value of the units
Set this debug flag to log all events that happen in this class.
The version number semver
Indicates if the instance was disposed. 'Disposing' an instance means that all of the Web Audio nodes that were created for the instance are disconnected and freed for garbage collection.
The concert tuning pitch which is used to generate all the other pitch values from notes. A4's values in Hertz.
The concert tuning pitch which is used to generate all the other pitch values from notes. A4's values in Hertz.
Return the value of the beats in the current units
Returns the value of a frequency in the current units
Return the bpm
Return the PPQ or 192 if Transport is not available
Return the timeSignature
With no arguments, return 0
Returns the value of a second in the current units
Returns the value of a tick in the current time units
Assert that the statement is true, otherwise invoke the error.
The message which is passed into an Error
disconnect and dispose.
Coerce a time type into this units type.
Any time type units
Takes an array of semitone intervals and returns an array of frequencies transposed by those intervals.
Returns an array of Frequencies
Prints the outputs to the console log for debugging purposes.
Prints the contents only if either the object has a property
called debug
set to true, or a variable called TONE_DEBUG_CLASS
is set to the name of the class.
Quantize the time by the given subdivision. Optionally add a percentage which will move the time value towards the ideal quantized value by that percentage.
The subdivision to quantize to
Move the time value towards the quantized value by a percentage.
Return the time encoded as Bars:Beats:Sixteenths.
Return the value in hertz
Return the value of the frequency as a MIDI note
Return the time in milliseconds.
Convert a Time to Notation. The notation values are will be the closest representation between 1m to 128th note.
Return the value of the frequency in Scientific Pitch Notation
Return the time in samples
Return the duration of one cycle in seconds.
Convert the class to a string
Return the duration of one cycle in ticks
Transposes the frequency by the given number of semitones.
A new transposed frequency
Evaluate the time value. Returns the time in seconds.
Returns all of the default options belonging to the class.
Generated using TypeDoc
Frequency is a primitive type for encoding Frequency values. Eventually all time values are evaluated to hertz using the
eval
method.import { Frequency } from "tone"; Frequency("C3"); // 261 Frequency(38, "midi"); Frequency("C3").transpose(4);


Best Practices¶
This section provides some generic guidelines and tips for working with iocage managed jails.
Use PF as a module
This is the default setting in the GENERIC kernel. There seems to be a VNET bug which is only triggered when PF is directly compiled into the kernel.
Always name jails and templates!
Use the -n option with iocage create to set a name for the jail. This helps avoid mistakes and easily identify jails.
Example:
iocage create -r 11.0-RELEASE -n testjail
Set the notes property
Set the notes property to something meaningful, especially for templates and jails used infrequently.
Example:
[root@tester ~]# iocage set notes="This is a test jail." testjail Property: notes has been updated to This is a test jail. [root@tester ~]# iocage get notes testjail This is a test jail.
VNET
VNET provides more fine control and isolation for jails. VNET also allows jails to run their own firewalls. See Known Issues for more about VNET.
Discover templates!
Templates simplify using jail creation and customization, give it a try! See Using Templates to get started.
Use iocage restart instead of start/stop
Always restart a jail with the iocage restart -s command. This performs a soft restart and leaves the VNET stack alone, which is less stressful for both kernel and user.
Check the firewall rules
When using IPFW inside a VNET jail, put firewall_enable=”YES” and firewall_type=”open” into
/etc/rc.conf
. This excludes the firewall from accidentally blocking the user right from the beginning! Re-lock it once finished testing. It is also recommended to check the PF firewall rules on the host if jail and host rules are mixed.
Delete old snapshots
Remove unnecessary snapshots, especially from jails where data is constantly changing!


|
Machine Learning with R The R Bootcamp |
from from dilbert.com
By the end of this practical you will:
Open your TheRBootcamp
R project.
Open a new R script. At the top of the script, using comments, write your name and the date. Save it as a new file called Features_practical.R
in the 2_Code
folder.
Using library()
load tidyverse
and caret
.
# Load packages
library(tidyverse)
library(caret)
# Pima Indians diabetes
pima_diabetes <- read_csv(file = "1_Data/pima_diabetes.csv") %>%
mutate_if(is.character, as_factor)
# murders crime statistics
murders_crime <- read_csv(file = "1_Data/murders_crime.csv")%>%
mutate_if(is.character, as_factor)
# (Non-) violent crime statistics
violent_crime <- read_csv(file = "1_Data/violent_crime.csv")%>%
mutate_if(is.character, as_factor)
nonviolent_crime <- read_csv(file = "1_Data/nonviolent_crime.csv")%>%
mutate_if(is.character, as_factor)
In this section, you will explore feature selection for the Pima Indians Diabetes data set. The Pima are a group of Native Americans living in Arizona. A genetic predisposition allowed this group to live well with a diet poor of carbohydrates for years. In the recent years, however, because of a sudden shift from traditional agricultural crops to processed foods, together with a decline in physical activity, they developed a high prevalence of type 2 diabetes. For this reason they have been subject of many studies.
pima_diabetes
to take a look and familiarize yourself with the data.pima_diabetes
# A tibble: 724 x 7
diabetes pregnant glucose pressure mass pedigree age
<fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 pos 6 148 72 33.6 0.627 50
2 neg 1 85 66 26.6 0.351 31
3 pos 8 183 64 23.3 0.672 32
4 neg 1 89 66 28.1 0.167 21
5 pos 0 137 40 43.1 2.29 33
6 neg 5 116 74 25.6 0.201 30
7 pos 3 78 50 31 0.248 26
8 pos 2 197 70 30.5 0.158 53
9 neg 4 110 92 37.6 0.191 30
10 pos 10 168 74 38 0.537 34
# … with 714 more rows
pima_train
and pima_test
using the createDataPartition()
function. Set p = .15
to select (only) 15% of cases for the training set. The criterion is diabetes
. See code below.# seed
set.seed(100)
# split index
train_index <- createDataPartition(XX$XX, p = .15, list = FALSE)
# train and test sets
pima_train <- XX %>% slice(train_index)
pima_test <- XX %>% slice(-train_index)
# seed
set.seed(100)
# split index
train_index <- createDataPartition(pima_diabetes$diabetes, p = .15, list = FALSE)
# train and test sets
pima_train <- pima_diabetes %>% slice(train_index)
pima_test <- pima_diabetes %>% slice(-train_index)
OK, let’s get to work and remove some features from the training data.
diabetes
) using the template below.# Select predictors
pima_train_pred <- pima_train %>% select(-XX)
# Select criterion
pima_train_crit <- pima_train %>% select(XX)
# Select predictors
pima_train_pred <- pima_train %>% select(-diabetes)
# Select criterion
pima_train_crit <- pima_train %>% select(diabetes)
cor()
and findCorrelation()
. Are there any?# determine correlation matrix
corr_matrix <- cor(XX_pred)
# find excessively correlated variables
findCorrelation(corr_matrix)
# determine correlation matrix
corr_matrix <- cor(pima_train_pred)
# find excessively correlated variables
findCorrelation(corr_matrix)
integer(0)
nearZeroVar
function. Any of those?# find near zero variance predictors
nearZeroVar(XX_pred)
# find near zero variance predictors
nearZeroVar(pima_train_pred)
integer(0)
As there were no problems with the features in the data set, you have retained all of them. In this section, you will carry out feature selection on the grounds of feature importance. To do this, you first have to fit a model on the basis of which feature importance can be determined. How about a simple logistic regression using method = "glm"
?
glm
model to the training data predicting diabetes
. Call the model pima_glm
.# fit regression
pima_glm <- train(diabetes ~ .,
data = XX,
method = XX,
trControl = trainControl(method = 'none'))
# fit regression
pima_glm <- train(diabetes ~ .,
data = pima_train,
method = "glm",
trControl = trainControl(method = 'none'))
varImp()
. The function will show importance on a scale from 0 (least important feature) to 100 (most important feature). You can set scale = TRUE
to see absolute importance measures scaled as t-values.# determine variable importance
varimp_glm <- varImp(XX)
# print variable importance
varimp_glm
# print variable importance
plot(varimp_glm)
# determine variable importance
varimp_glm <- varImp(pima_glm)
# print variable importance
varimp_glm
glm variable importance
Overall
glucose 100.0
mass 90.8
pregnant 36.9
pressure 35.1
pedigree 33.8
age 0.0
# print variable importance
plot(varimp_glm)
Now, create a second model using the best features and compare performances.
# fit glm with best four features
pima_glm4 <- train(diabetes ~ XX + YY + ZZ + AA,
data = XX,
method = XX)
# fit glm with best four features
pima_glm4 <- train(diabetes ~ glucose + mass + pregnant + pressure,
data = pima_train,
method = "glm")
confusionMatrix()
. Which model model is better?# determine predictions for test data
pima_glm_pred <- predict(XX, newdata = XX)
pima_glm4_pred <- predict(XX, newdata = XX)
# evaluate the results
confusionMatrix(XX, reference = XX)
confusionMatrix(XX, reference = XX)
# determine predictions for test data
pima_glm_pred <- predict(pima_glm, newdata = pima_test)
pima_glm4_pred <- predict(pima_glm4, newdata = pima_test)
# evaluate the results
confusionMatrix(pima_glm_pred, pima_test$diabetes)
Confusion Matrix and Statistics
Reference
Prediction pos neg
pos 109 51
neg 102 352
Accuracy : 0.751
95% CI : (0.715, 0.785)
No Information Rate : 0.656
P-Value [Acc > NIR] : 2.70e-07
Kappa : 0.414
Mcnemar's Test P-Value : 5.29e-05
Sensitivity : 0.517
Specificity : 0.873
Pos Pred Value : 0.681
Neg Pred Value : 0.775
Prevalence : 0.344
Detection Rate : 0.178
Detection Prevalence : 0.261
Balanced Accuracy : 0.695
'Positive' Class : pos
confusionMatrix(pima_glm4_pred, pima_test$diabetes)
Confusion Matrix and Statistics
Reference
Prediction pos neg
pos 113 44
neg 98 359
Accuracy : 0.769
95% CI : (0.733, 0.802)
No Information Rate : 0.656
P-Value [Acc > NIR] : 9.36e-10
Kappa : 0.454
Mcnemar's Test P-Value : 8.68e-06
Sensitivity : 0.536
Specificity : 0.891
Pos Pred Value : 0.720
Neg Pred Value : 0.786
Prevalence : 0.344
Detection Rate : 0.184
Detection Prevalence : 0.256
Balanced Accuracy : 0.713
'Positive' Class : pos
You should have observed that the model with two fewer features is actually slightly better than the full model. Why do you think this is the case?
Play around: Increase the proportion of data dedicated to training or use a different model, e.g., random forest
, and see whether things change.
Now explore feature selection using a different data set. The data used in this section combines socio-economic data from the US ’90 Census, data from Law Enforcement Management and Admin Stats survey, and crime data from the FB. The gaol is to predict murders
(the criterion in this section).
murders_crime
and familiarize yourself with the data.murders_crime
# A tibble: 1,823 x 102
murders population householdsize racepctblack racePctWhite racePctAsian
<fct> <dbl> <dbl> <dbl> <dbl> <dbl>
1 yes 27591 2.63 0.17 94.8 1.6
2 yes 36830 2.6 42.4 53.7 0.54
3 yes 23928 2.6 11.0 81.3 1.78
4 no 15675 2.59 4.08 84.1 0.54
5 yes 96086 3.19 8.54 59.8 17.2
6 no 48622 2.44 3.14 95.5 0.77
7 no 10444 3.02 0.41 98.9 0.39
8 yes 222103 2.49 11.4 82.4 3.77
9 no 15535 2.35 14.9 84.6 0.32
10 yes 24664 2.73 13.7 85.0 0.53
# … with 1,813 more rows, and 96 more variables: racePctHisp <dbl>,
# agePct12t21 <dbl>, agePct12t29 <dbl>, agePct16t24 <dbl>, agePct65up <dbl>,
# numbUrban <dbl>, pctUrban <dbl>, medIncome <dbl>, pctWWage <dbl>,
# pctWFarmSelf <dbl>, pctWInvInc <dbl>, pctWSocSec <dbl>, pctWPubAsst <dbl>,
# pctWRetire <dbl>, medFamInc <dbl>, perCapInc <dbl>, whitePerCap <dbl>,
# blackPerCap <dbl>, indianPerCap <dbl>, AsianPerCap <dbl>, HispPerCap <dbl>,
# NumUnderPov <dbl>, PctPopUnderPov <dbl>, PctLess9thGrade <dbl>,
# PctNotHSGrad <dbl>, PctBSorMore <dbl>, PctUnemployed <dbl>,
# PctEmploy <dbl>, PctEmplManu <dbl>, PctEmplProfServ <dbl>,
# PctOccupManu <dbl>, PctOccupMgmtProf <dbl>, MalePctDivorce <dbl>,
# MalePctNevMarr <dbl>, FemalePctDiv <dbl>, TotalPctDiv <dbl>,
# PersPerFam <dbl>, PctFam2Par <dbl>, PctKids2Par <dbl>,
# PctYoungKids2Par <dbl>, PctTeen2Par <dbl>, PctWorkMomYoungKids <dbl>,
# PctWorkMom <dbl>, NumKidsBornNeverMar <dbl>, PctKidsBornNeverMar <dbl>,
# NumImmig <dbl>, PctImmigRecent <dbl>, PctImmigRec5 <dbl>,
# PctImmigRec8 <dbl>, PctImmigRec10 <dbl>, PctRecentImmig <dbl>,
# PctRecImmig5 <dbl>, PctRecImmig8 <dbl>, PctRecImmig10 <dbl>,
# PctSpeakEnglOnly <dbl>, PctNotSpeakEnglWell <dbl>, PctLargHouseFam <dbl>,
# PctLargHouseOccup <dbl>, PersPerOccupHous <dbl>, PersPerOwnOccHous <dbl>,
# PersPerRentOccHous <dbl>, PctPersOwnOccup <dbl>, PctPersDenseHous <dbl>,
# PctHousLess3BR <dbl>, MedNumBR <dbl>, HousVacant <dbl>, PctHousOccup <dbl>,
# PctHousOwnOcc <dbl>, PctVacantBoarded <dbl>, PctVacMore6Mos <dbl>,
# MedYrHousBuilt <dbl>, PctHousNoPhone <dbl>, PctWOFullPlumb <dbl>,
# OwnOccLowQuart <dbl>, OwnOccMedVal <dbl>, OwnOccHiQuart <dbl>,
# OwnOccQrange <dbl>, RentLowQ <dbl>, RentMedian <dbl>, RentHighQ <dbl>,
# RentQrange <dbl>, MedRent <dbl>, MedRentPctHousInc <dbl>,
# MedOwnCostPctInc <dbl>, MedOwnCostPctIncNoMtg <dbl>, NumInShelters <dbl>,
# NumStreet <dbl>, PctForeignBorn <dbl>, PctBornSameState <dbl>,
# PctSameHouse85 <dbl>, PctSameCity85 <dbl>, PctSameState85 <dbl>,
# LandArea <dbl>, PopDens <dbl>, PctUsePubTrans <dbl>,
# LemasPctOfficDrugUn <dbl>
murders_train
and murders_test
using createDataPartition()
with (only) 25% of cases going into the training set.# split index
train_index <- createDataPartition(murders_crime$murders, p = .25, list = FALSE)
# train and test sets
murders_train <- murders_crime %>% slice(train_index)
murders_test <- murders_crime %>% slice(-train_index)
# Select predictors
murders_train_pred <- murders_train %>% select(-murders)
# Select criterion
murders_train_crit <- murders_train %>% select(murders)
cor()
and findCorrelation()
. Are there any this time?# determine correlation matrix
corr_matrix <- cor(murders_train_pred)
# find excessively correlated variables
findCorrelation(corr_matrix)
[1] 11 17 27 30 41 44 48 49 53 54 55 57 58 59 60 61 63 64 65 68 71 80 81 84 85
[26] 87 93 7 8 14 13 20 21 31 38 43 1 62 42 67 51
# remove features
murders_train_pred <- murders_train_pred %>% select(- XX)
# remove features
murders_train_pred <- murders_train_pred %>%
select(-findCorrelation(corr_matrix))
# find near zero variance predictors
nearZeroVar(murders_train_pred)
integer(0)
# clean training set
murders_train_clean <- XX %>%
bind_cols(XX)
# combine clean predictor set with criterion
murders_train_clean <- murders_train_pred %>%
bind_cols(murders_train_crit)
glm
twice, once using the original training set and once using the clean training set, and store the fits in separate objects. See template below.# fit glm
murders_glm <- train(murders ~ .,
data = XX,
method = "glm",
trControl = trainControl(method = 'none'))
# fit glm with clean data
murders_glm_clean <- train(murders ~ .,
data = XX,
method = "glm",
trControl = trainControl(method = 'none'))
# fit glm
murders_glm <- train(murders ~ .,
data = murders_train,
method = "glm",
trControl = trainControl(method = 'none'))
# fit glm with clean data
murders_glm_clean <- train(murders ~ .,
data = murders_train_clean,
method = "glm",
trControl = trainControl(method = 'none'))
# determine predictions for test data
murders_pred <- predict(murders_glm, newdata = murders_test)
murders_clean_pred <- predict(murders_glm_clean, newdata = murders_test)
# evaluate the results
confusionMatrix(murders_pred, murders_test$murders)
Confusion Matrix and Statistics
Reference
Prediction yes no
yes 549 201
no 188 429
Accuracy : 0.715
95% CI : (0.691, 0.739)
No Information Rate : 0.539
P-Value [Acc > NIR] : <2e-16
Kappa : 0.427
Mcnemar's Test P-Value : 0.543
Sensitivity : 0.745
Specificity : 0.681
Pos Pred Value : 0.732
Neg Pred Value : 0.695
Prevalence : 0.539
Detection Rate : 0.402
Detection Prevalence : 0.549
Balanced Accuracy : 0.713
'Positive' Class : yes
confusionMatrix(murders_clean_pred, murders_test$murders)
Confusion Matrix and Statistics
Reference
Prediction yes no
yes 548 193
no 189 437
Accuracy : 0.721
95% CI : (0.696, 0.744)
No Information Rate : 0.539
P-Value [Acc > NIR] : <2e-16
Kappa : 0.437
Mcnemar's Test P-Value : 0.878
Sensitivity : 0.744
Specificity : 0.694
Pos Pred Value : 0.740
Neg Pred Value : 0.698
Prevalence : 0.539
Detection Rate : 0.401
Detection Prevalence : 0.542
Balanced Accuracy : 0.719
'Positive' Class : yes
principal component analysis
(PCA). Create a third glm model using the original, full training set and this time add preProcess = c('pca')
and preProcOptions = list(thresh = 0.8)
in trControl
. These additional settings instruct caret to extract new features from the data using PCA and to retain only as many features as are needed to capture 80% of the original variance.# fit glm with preprocessed features
murders_glm_pca = train(murders ~ .,
data = murders_train,
method = "glm",
preProcess = c("pca"),
trControl = trainControl(method = 'none',
preProcOptions = list(thresh = 0.8)))
# determine predictions for test data
murders_pca <- predict(murders_glm_pca, newdata = murders_test)
# evaluate the results
confusionMatrix(murders_pca, murders_test$murders)
Confusion Matrix and Statistics
Reference
Prediction yes no
yes 553 144
no 184 486
Accuracy : 0.76
95% CI : (0.737, 0.782)
No Information Rate : 0.539
P-Value [Acc > NIR] : <2e-16
Kappa : 0.519
Mcnemar's Test P-Value : 0.0313
Sensitivity : 0.750
Specificity : 0.771
Pos Pred Value : 0.793
Neg Pred Value : 0.725
Prevalence : 0.539
Detection Rate : 0.405
Detection Prevalence : 0.510
Balanced Accuracy : 0.761
'Positive' Class : yes
PCA
(using thresh
), increase the proportion dedicated to training, use a different model, e.g., random forest
, and see whether things change.varImp()
, evaluate the feature importance for each of the three models used in the previous section.# determine variable importance
varimp_glm <- varImp(murders_glm)
varimp_glm_clean <- varImp(murders_glm_clean)
varimp_glm_pca <- varImp(murders_glm_pca)
# print variable importance
varimp_glm
glm variable importance
only 20 most important variables shown (out of 99)
Overall
MalePctNevMarr 100.0
PctVacantBoarded 77.7
OwnOccHiQuart 75.4
NumKidsBornNeverMar 73.1
population 72.9
indianPerCap 70.0
PctPopUnderPov 63.9
PctLess9thGrade 62.8
HispPerCap 62.2
PctSpeakEnglOnly 61.9
NumUnderPov 60.9
PctVacMore6Mos 60.9
RentMedian 60.3
pctWWage 59.6
numbUrban 58.2
MedOwnCostPctIncNoMtg 56.8
pctUrban 56.6
NumStreet 54.3
PctEmploy 53.4
NumImmig 52.7
varimp_glm_clean
glm variable importance
only 20 most important variables shown (out of 60)
Overall
LandArea 100.0
MalePctNevMarr 58.8
PctVacantBoarded 58.0
HispPerCap 56.5
NumStreet 55.4
blackPerCap 52.2
MedNumBR 50.2
PctVacMore6Mos 48.7
agePct16t24 47.6
AsianPerCap 45.8
OwnOccQrange 43.5
LemasPctOfficDrugUn 43.0
racePctWhite 42.6
indianPerCap 40.3
PctUnemployed 36.6
MedOwnCostPctIncNoMtg 34.6
PctYoungKids2Par 33.8
whitePerCap 32.4
FemalePctDiv 30.6
PctKidsBornNeverMar 30.5
varimp_glm_pca
glm variable importance
Overall
PC1 100.000
PC2 62.415
PC3 58.250
PC5 46.031
PC4 45.273
PC7 39.760
PC8 30.465
PC10 5.043
PC11 3.375
PC6 0.752
PC9 0.000
# print variable importance
plot(varimp_glm)
plot(varimp_glm_clean)
plot(varimp_glm_pca)
Analyze the violent and non-violent crime data sets predicting either the number of violent crimes per 100k inhabitants (ViolentCrimesPerPop
) or the number of non-violent crimes per 100k inhabitants (nonViolPerPop
). Both criteria are numeric, implying that this is not classification problem, but one of regression. Other than that, the features in the data set are identical to the previous analyses. How well can you predict violent or non-violent crimes?
Another approach to feature selection, beyond selection by hand or PCA, is to have the computer try to automically select subsets of features that lead to the best possible cross-validation performance. One such process is called recursive feature elimination. Try it out using caret
’s rfe()
function. See code below.
# split index
train_index <- createDataPartition(violent_crime$ViolentCrimesPerPop,
p = .8,
list = FALSE)
# train and test sets
violent_train <- violent_crime %>% slice(train_index)
violent_test <- violent_crime %>% slice(-train_index)
# remove extreme correlations (OPTIONAL)
predictors <- violent_train %>% select(-ViolentCrimesPerPop)
predictors <- predictors %>% select(-findCorrelation(cor(predictors)))
violent_train_clean <- predictors %>%
add_column(ViolentCrimesPerPop = violent_train$ViolentCrimesPerPop)
# Feature elimination settings
ctrl_rfe <- rfeControl(functions = lmFuncs, # linear model
method = "cv",
verbose = FALSE,
rerank = FALSE)
# Run feature elimination
profile <- rfe(x = violent_train %>% select(-ViolentCrimesPerPop),
y = violent_train$ViolentCrimesPerPop,
sizes = 1:(ncol(violent_train_clean)-1), # Features set sizes
rfeControl = ctrl_rfe)
# inspect cross-validation as a function of performance
plot(profile)
# Step 0: Load packages-----------
library(tidyverse) # Load tidyverse for dplyr and tidyr
library(tibble) # For advanced tibble functions
library(caret) # For ML mastery
# Step 1: Load, prepare, and explore data ----------------------
# read data
data <- read_csv("1_Data/mpg_num.csv")
# Convert all characters to factors
data <- data %>%
mutate_if(is.character, factor)
# Explore training data
data # Print the dataset
dim(data) # Print dimensions
names(data) # Print the names
# Step 2: Create training and test sets -------------
# Create train index
train_index <- createDataPartition(criterion,
p = .8,
list = FALSE)
# Create training and test sets
data_train <- data %>% slice(train_index)
data_test <- data %>% slice(-train_index)
# split predictors and criterion
criterion_train <- data_train %>% select(hwy) %>% pull()
predictors_train <- data_train %>% select(-hwy)
criterion_test <- data_test %>% select(hwy) %>% pull()
predictors_test <- data_test %>% select(-hwy)
# Step 3: Clean data -------------
# Test for excessively correlated features
corr_matrix <- cor(predictors_train)
corr_features <- findCorrelation(corr_matrix)
# Remove excessively correlated features
predictors_train <- predictors_train %>% select(-corr_features)
# Test for near zero variance features
zerovar_features <- nearZeroVar(predictors_train)
# Remove near zero variance features
predictors_train <- predictors_train %>% select(-zerovar_features)
# recombine data
data_train <- predictors_train %>% add_column(hwy = criterion_train)
# Step 4: Define training control parameters -------------
# Train using cross-validation
ctrl_cv <- trainControl(method = "cv")
# Step 5: Fit models -------------
# Fit glm vanilla flavor
hwy_glm <- train(form = hwy ~ .,
data = data_train,
method = "glm",
trControl = ctrl_cv)
# Fit with pca transformation
hwy_glm_pca <- train(form = hwy ~ .,
data = data_train,
method = "glm",
trControl = ctrl_cv,
preProcess = c('pca'))
# Fit scaling and centering
hwy_glm_sca <- train(form = hwy ~ .,
data = data_train,
method = "glm",
trControl = ctrl_cv,
preProcess = c('scale', 'center'))
# Get fits
glm_fit <- predict(hwy_glm)
glm_pca_fit <- predict(hwy_glm_pca)
glm_sca_fit <- predict(hwy_glm_sca)
# Step 6: Evaluate variable importance -------------
# Run varImp()
imp_glm <- varImp(hwy_glm)
imp_glm_pca <- varImp(hwy_glm_pca)
imp_glm_sca <- varImp(hwy_glm_sca)
# Plot variable importance
plot(imp_glm)
plot(imp_glm_pca)
plot(imp_glm_sca)
# Step 7: Select variables -------------
# Select by hand in formula
hwy_glm_sel <- train(form = hwy ~ cty,
data = data_train,
method = "glm",
trControl = ctrl_cv)
# Select by reducing pca criterion ---
# Reduce criterion to 50% variance epxlained
ctrl_cv_pca <- trainControl(method = "cv",
preProcOptions = list(thresh = 0.50))
# Refit model with update
hwy_glm_sel <- train(form = hwy ~ .,
data = data_train,
method = "glm",
trControl = ctrl_cv_pca,
preProcess = c('pca'))
# Step 8: Recursive feature elimination -------------
# Feature elimination settings
ctrl_rfe <- rfeControl(functions = lmFuncs, # linear model
method = "cv",
verbose = FALSE)
# Run feature elimination
profile <- rfe(x = predictors_train,
y = criterion_train,
sizes = c(1, 2, 3), # Features set sizes should be considered
rfeControl = ctrl_rfe)
# plot result
trellis.par.set(caretTheme())
plot(profile, type = c("g", "o"))
# Step 9: Evaluate models -------------
# you know how...
| File | Rows | Columns |
|---|---|---|
| pima_diabetes | 724 | 7 |
| murders_crime | 1000 | 102 |
| violent_crime | 1000 | 102 |
| nonviolent_crime | 1000 | 102 |
The pima_diabetes
is a subset of the PimaIndiansDiabetes2
data set in the mlbench
package. It contains medical and demographic data of Pima Indians.
The murders_crime
, violent_crime
, and non_violent_crime
data are subsets of the Communities and Crime Unnormalized Data Set data set from the UCI Machine Learning Repository. To see column descriptions, visit this site: Communities and Crime Unnormalized Data Set. Due to the large number of variables (102), we do not include the full tables below.
pima_diabetes
| Name | Description |
|---|---|
pregnant |
Number of times pregnant. |
glucose |
Plasma glucose concentration (glucose tolerance test). |
pressure |
Diastolic blood pressure (mm Hg). |
triceps |
Triceps skin fold thickness (mm). |
insulin |
2-Hour serum insulin (mu U/ml). |
mass |
Body mass index (weight in kg/(height in m)^2). |
pedigree |
Diabetes pedigree function. |
age |
Age (years). |
diabetes |
Class variable (test for diabetes). |
| Package | Installation |
|---|---|
tidyverse |
install.packages("tidyverse") |
tibble |
install.packages("tibble") |
caret |
install.packages("caret") |
| Function | Package | Description |
|---|---|---|
trainControl() |
caret |
Define modelling control parameters |
train() |
caret |
Train a model |
predict(object, newdata) |
stats |
Predict the criterion values of newdata based on object |
postResample() |
caret |
Calculate aggregate model performance in regression tasks |
confusionMatrix() |
caret |
Calculate aggregate model performance in classification tasks |
varImp() |
caret |
Determine the model-specific importance of features |
findCorrelation() , nearZeroVar() |
caret |
Identify highly correlated and low variance features. |
rfe() , rfeControl() |
caret |
Run and control recursive feature selection. |


Notebooks
Story: Want of rain
Want of rain
Title
Want of rain
Collection
Summary
Drought. By /han≠kass’o (L VIII.-1. 6102–6106). When the west wind turns back the rain-clouds there is a drought or 'want' of rain and the people are thirsty and have to travel far to fetch water.
Comments
1) This story is found in Book VIII-1
Contributors
|han≠kass'o (Klein Jantje) (VIII)
Date
23 January 1878
Categories
The Rain and Rain's water, Celestial bodies and aeroscopy
Keywords
rain (want of rain) , rain (and the wind) , rain (rain-clouds turned back by the west wind) , rain (and drought) , rain (and hunger) , rain (and thirst) , west wind (is called wurri) , west wind (and want of rain) , west wind (and thirst) , west wind (and drought) , west wind (turns back rain-clouds) , sun (want of rain) , sun (and drought) , sun (people are 'slaughtered' by) , sun (and the west wind) , drought (and want of rain) , drought (thirst and hunger) , drought (fetching water and finding food during) , drought (and the west wind) , drought (places where food is found during) , drought (the finding of gambro) , food (finding in times of drought) , food (and want of rain) , food (eaten during drought) , food (names of foodstuffs) , food (gambro) , food (places where it is found) , name (of the west wind is wurri) , name (and want of rain) , name (of foodstuffs) , name (gambro) , water (finding during drought) , water (and want of rain) , water (thirst) , water (and the west wind) , water (people have to travel far to fetch) , wind (and want of rain) , wind (drought and the west wind)
Story Pages
6102-6106


Performing a 'reset' is the process of returning a branch to a state before any merges.
If you are 'resetting' from origin, you are undoing all local commits - effectively if you delete the working tree and get a new copy.
If you are 'resetting' a file / folder, you are moving it from being staged (to be eligible to be comitted) to unstaged.
Removes from being staged.
Discards any commits on the current branch in your working tree and makes the current branch identical to <Origin/feature_branch>.


SNHU Airlines
Book
Check-In
My Trips
Flight Status
Login
Login
[(${error})]
Username
Required: Please enter a Username
Password
Required: Please enter a Password
Don't have an Account?


Top buy and sell ideas by Ashwani Gujral, Mitesh Thakkar, Sudarshan Sukhani for short term
Mitesh Thakkar of Miteshthakkar.com advises buying Bajaj Finserv with stop loss at Rs 8,540 and target of Rs 9,000.
Celebrations continue on D-Street for the seventh consecutive day in a row on Monday as the S&P BSE Sensex hit a fresh record high of 40,483 while the Nifty50 closed above 11900 levels.
The final tally on D-Street – the S&P BSE Sensex rose 136 points to end at a record closing high of 40,301 while the Nifty50 closed with gains of 50 points to 11,941 on Monday.
Broader markets underperformed as the S&P BSE Mid-cap index closed flat while the S&P BSE Small-Cap index was up by 0.2 percent.
Ashwani Gujral of ashwanigujral.com
Buy Can Fin Home with stop loss at Rs 420 and target of Rs 442
Buy Biocon with stop loss at Rs 258 and target of Rs 273
Buy HDFC with stop loss at Rs 2,160 and target of Rs 2,220
Sell Amara Raja Batteries with stop loss at Rs 664 and target of Rs 640
Sell Maruti Suzuki with stop loss at Rs 7,460 and target of Rs 7,300
Mitesh Thakkar of Miteshthakkar.com
Buy Bajaj Finserv with stop loss at Rs 8,540 and target of Rs 9,000
Buy Coal India with stop loss at Rs 209 and target of Rs 228
Sell PVR with stop loss at Rs 1,760 and target of Rs 1,700
Sell Maruti Suzuki with stop loss at Rs 7,490 and target of Rs 7,300
Sudarshan Sukhani of s2analytics.com
Buy UltraTech Cement with stop loss at Rs 4,020 and target of Rs 4,650
Buy Zee Entertainment with stop loss at Rs 285 and target of Rs 315
Sell Apollo Tyres with stop loss at Rs 189 and target of Rs 181
Buy United Spirits with stop loss at Rs 625 and target of Rs 655Special Thursday Expiry on 10th 7th Nov
Early Closure to The Great Diwali Discount. Last Chance to get Moneycontrol PRO for a year @ Rs. 289/- only
Coupon code: DIWALI


--- title: "Publications" layout: default excerpt: "RT2 Lab -- Publications." sitemap: false permalink: /publications/ ---
{{ publi.abstract }}


|
Step
|
ATT&CK Pattern
|
| Detection Type |
Detection Note |
|
|
|
|
|
|
Telemetry showed explorer.exe executing rcs.3aka3.doc.
[1]
|
|
|
An MSSP detection for "Execution - User Execution" occurred containing evidence of explorer.exe executing rcs.3aka3.doc.
[1]
[2]
|
|
|
|
|
|
|
A Technique alert detection (info severity) called "Right-to-Left Override" was generated due a process event with RTLO.
[1]
[2]
[3]
[4]
|
|
|
An MSSP detection occurred containing evidence of the original filename: cod.3aka.scr.
[1]
[2]
[3]
|
|
|
Telemetry showed the right-to-left override character (U+202E) in rcs.3aka.doc and the original filename.
[1]
|
|
|
|
|
|
|
Telemetry showed the rcs.3aka3.doc process connecting to <IP_ADDRESS> on TCP port 1234.
[1]
|
|
|
An MSSP detection occurred for the rcs.3aka3.doc process connecting to <IP_ADDRESS> on TCP port 1234.
[1]
[2]
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|
|
|
|
|
|
Telemetry showed cmd.exe spawning from rcs.3aka3.doc.
[1]
|
|
|
A Technique alert detection (medium severity) called "Screensaver file launches shell" was generated due to cmd.exe spawning from rcs.3aka3.doc.
[1]
[2]
[3]
[4]
|
|
|
An MSSP detection was generated for cmd.exe spawning from rcs.3aka3.doc.
[1]
[2]
|
|
|
|
|
|
|
Telemetry showed powershell.exe spawning from cmd.exe.
[1]
|
|
|
An MSSP detection was generated for cmd.exe spawning powershell.exe.
[1]
[2]
|
|
|
|
|
|
|
Telemetry showed powershell.exe executing ChildItem.
[1]
|
|
|
An MSSP detection occurred showing evidence of powershell.exe executing ChildItem.
[1]
|
|
|
|
|
|
|
Telemetry showed powershell.exe executing Get-ChildItem
[1]
|
|
|
An MSSP detection occurred showing evidence of powershell.exe executing ChildItem.
[1]
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|
|
|
|
|
|
Telemetry showed powershell.exe compressing via Compress-Archive.
[1]
|
|
|
An MSSP detection occurred showing evidence of powershell.exe compressing via Compress-Archive.

[1]
[2]
|
|
|
Telemetry showed PowerShell extracting and executing the code embedded within monkey.png.
[1]
|
|
|
An MSSP detection for "PowerShell script...that decodes malicious code" occurred containing evidence of the PowerShell script contained within monkey.png.
[1]
[2]
[3]
|
|
|
|
|
|
|
Telemetry showed PowerShell command to add DelegateExecute Registry Value.
[1]
[2]
[3]
|
|
|
An MSSP detection occurred containing evidence of addition of DelegateExecute subkey.
[1]
[2]
|
|
|
|
|
|
|
Telemetry showed control.exe creating a high integrity powershell.exe.
[1]
|
|
|
A MSSP detection occurred for a new high integrity PowerShell callback spawned from control.exe using sdclt.exe
[1]
|
|
|
|
|
|
|
Telemetry showed powershell.exe connecting to <IP_ADDRESS> on TCP port 443.
[1]
|
|
|
An MSSP detection occurred for powershell.exe connecting to <IP_ADDRESS> on TCP 443 using shellcode that loads WinInet.
[1]
|
|
|
|
|
|
|
An MSSP detection occurred for powershell.exe connecting to <IP_ADDRESS> on TCP 443 using shellcode that loads WinInet.
[1]
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|
|
|
|
|
|
Telemetry showed PowerShell command to remove the DelegateExecute Registry Value.
[1]
|
|
|
An MSSP detection for "Defense Evasion - Modify Registry" occurred containing evidence of the deletion of the subkey.
[1]
|
|
|
|
|
|
|
An MSSP detection occurred containing evidence of a remote file write of the ZIP by PowerShell.
[1]
|
|
|
|
|
|
|
Telemetry showed a new powershell.exe spawning from powershell.exe.
[1]
|
|
|
|
|
|
|
Telemetry showed powershell.exe decompressing SysinternalsSuite.zip via Expand-Archive.
[1]
|
|
|
An MSSP detection for "Defense Evasion - Deobfuscate/Decode Files or Information" occurred containing evidence of powershell.exe decompressing SysinternalsSuite.zip via Expand-Archive.
[1]
[2]
|
|
|
|
|
|
|
Telemetry showed powershell.exe executing Get-Process.
[1]
|
|
|
An MSSP detection for "Process Discovery" occurred containing evidence of powershell.exe executing Get-Process.
[1]
|
|
|
|
|
|
|
A Technique alert detection (low severity) called "SDelete64 Usage" was generated due to Sdelete64.exe deleting rcs.3aka3.doc.
[1]
[2]
[3]
[4]
|
|
|
Telemetry showed sdelete.exe running with command-line arguments to delete the file and the subsequent file rename and delete events.
|
|
|
|
|
|
|
A Technique alert detection (low severity) called "SDelete64 Usage" was generated due to Sdelete64.exe deleting Draft.Zip.
[1]
[2]
[3]
[4]
|
|
|
Telemetry showed sdelete.exe running with command-line arguments to delete the file and the subsequent file rename and delete events.
|
|
|
|
|
|
|
A Technique alert detection (low severity) called "SDelete64 Usage" was generated due to Sdelete64.exe deleting SysinternalsSuite.zip.
[1]
[2]
[3]
[4]
|
|
|
Telemetry showed sdelete.exe running with command-line arguments to delete the file and the subsequent file rename and delete events.
|
|
|
|
|
|
|
Telemetry showed Powershell.exe executing: $env:TEMP.
[1]
[2]
|
|
|
A MSSP detection for "Discovery - File and Directory Discovery" occurred containing evidence of powershell.exe executing: $env:TEMP.
[1]
|
|
|
|
|
|
|
Telemetry showed Powershell.exe executing: $env:USERNAME.
[1]
[2]
|
|
|
A MSSP detection for "Discovery - System Owner/User Discovery" occurred containing evidence of powershell.exe executing: $env:USERNAME.
[1]
|
|
|
|
|
|
|
Telemetry showed Powershell.exe executing: $env:COMPUTERNAME.
[1]
[2]
|
|
|
A MSSP detection for "Discovery - System Information Discovery" occurred containing evidence of powershell.exe executing: $env:COMPUTERNAME.
[1]
|
|
|
|
|
|
|
Telemetry showed Powershell.exe executing: $env:USERDOMAIN.
[1]
[2]
|
|
|
A MSSP detection for "Discovery - System System Network Configuration Discovery" occurred containing evidence of powershell.exe executing: $env:USERDOMAIN.
[1]
|
|
|
|
|
|
|
Telemetry showed Powershell.exe executing: $env:PID.
[1]
[2]
|
|
|
A MSSP detection for "Discovery - Process Discovery" occurred containing evidence of powershell.exe executing: $env:PID.
[1]
|
|
|
|
|
|
|
A Technique alert detection (info severity) for System Information Discovery was generated for Powershell.exe executing Gwmi Win32_OperatingSystem.
[1]
|
|
|
Telemetry showed powershell.exe executing: Gwmi Win32_OperatingSystem.
[1]
|
|
|
A MSSP detection for "Discovery - System Information Discovery" occurred containing evidence of powershell.exe executing: Gwmi Win32_OperatingSystem.
[1]
|
|
|
|
|
|
|
Telemetry showed powershell.exe executing: Get-WmiObject ... -Class AntiVirusProduct.
[1]
|
|
|
A MSSP detection for "Discovery - Security Software Discovery" occurred containing evidence of powershell.exe Get-WmiObject ... -Class AntiVirusProduct.
[1]
|
|
|
|
|
|
|
Telemetry showed powershell.exe executing Get-WmiObject ... -Class FireWallProduct.
[1]
|
|
|
A MSSP detection for "Discovery - Security Software Discovery" occurred containing evidence of powershell.exe Get-WmiObject ... -Class FireWallProduct.
[1]
|
|
|
|
|
|
|
Telemetry showed the NetUserGetGroups API calls and dll loads.
[1]
[2]
|
|
|
|
|
|
|
Telemetry showed the NetUserGetGroups API function being loaded into PowerShell from Netapi32.dll.
[1]
[2]
|
|
|
|
|
|
|
Telemetry showed the NetUserGetLocalGroups API calls.
[1]
[2]
|
|
|
|
|
|
|
Telemetry showed the NetUserGetLocalGroups API function being loaded into PowerShell from Netapi32.dll.
[1]
[2]
|
|
|
|
|
|
|
Telemetry showed the creation of the javamtsup service.
[1]
[2]
[3]
|
|
|
An MSSP detection for "Persistence - New Service" occurred for the creation of the javamtsup service.
[1]
[2]
[3]
|
|
|
|
|
|
|
An MSSP detection for "Persistence - Registry Run Keys / Startup Folder" occurred for the creation of the hostui.lnk file in the Startup folder.
[1]
[2]
[3]
|
|
|
Telemetry showed the file write of hostui.lnk in the Startup folder.
[1]
[2]
[3]
[4]
|
|
|
|
|
|
|
An MSSP detection occurred identifying the executed accesschk.exe binary as a tool for reading the Chrome database file for credentials.
[1]
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|
|
|
|
|
|
Telemetry showed that accesschk.exe is not the legitimate Sysinternals tool by comparing the hashes.
[1]
[2]
|
|
|
An MSSP detection for Masquerading occurred containing evidence that accesschk.exe is not the legitimate Sysinternals tool.
[1]
[2]
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
[1]
[2]
|
|
|
|
|
|
|
A Technique alert detection (critical severity) called "Credential Dumping T1003" was generated due to powershell.exe injecting into lsass.exe.
[1]
|
|
|
Telemetry showed powershell.exe injecting into lsass.exe
[1]
|
|
|
|
|
|
|
Telemetry showed powershell.exe executing CopyFromScreen from System.Drawing.dll.
[1]
|
|
|
An MSSP detection for "Collection - Screen Capture" occurred showing evidence of a PowerShell script attempting to take screenshots.
[1]
|
|
|
|
|
|
|
Telemetry showed powershell.exe executing Get-Clipboard.
[1]
|
|
|
An MSSP detection for "Collection - Clipboard Data" occurred containing evidence of powershell.exe executing Get-Clipboard.
[1]
|
|
|
|
|
|
|
Telemetry showed PowerShell calling the GetAsyncKeyState API.
[1]
|
|
|
An MSSP detection occurred containing evidence of input capture.
[1]
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|
|
|
|
|
|
Telemetry showed powershell.exe executing Compress-7Zip with arguments for encryption.
[1]
[2]
|
|
|
An MSSP detection occurred containing evidence of powershell.exe compressing and encrypting data for exfiltration.
[1]
|
|
|
|
|
|
|
Telemetry showed PoweShell Copy-Item to remote a remote adversary WebDav network share (<IP_ADDRESS>).
[1]
[2]
[3]
|
|
|
An MSSP detection for "Exfiltration - Exfiltration Over Alternative Protocol" occurred containing evidence of PoweShell Copy-Item to remote WebDav network share (<IP_ADDRESS>:80).
[1]
|
|
|
|
|
|
|
Telemetry showed powershell.exe establishing a connection to NewYork (<IP_ADDRESS>) over TCP port 389.
[1]
[2]
|
|
|
An MSSP detection for "Discovery - Remote System Discovery" occurred containing evidence of LDAP queries from Nashua to NewYork (Domain Controller - <IP_ADDRESS>).
[1]
|
|
|
|
|
|
|
A Technique alert detection (info severity) called "Windows Remote Management - WinRM Usage" was generated due to a connection to remote host Scranton over port 5985.
[1]
[2]
[3]
|
|
|
Telemetry showed a connection to Scranton (<IP_ADDRESS>) over TCP port 5985.
[1]
[2]
[3]
|
|
|
|
|
|
|
Telemetry showed powershell.exe executing Get-Process.
[1]
[2]
|
|
|
An MSSP detection for "PowerShell cmdlet with Get-Process" occurred containing evidence of powershell.exe executing Get-Process.

[1]
[2]
|
|
|
|
|
|
|
Telemetry showed a valid logon on Scranton (<IP_ADDRESS>) as user Pam.
[1]
|
|
|
|
|
|
|
An MSSP detection for "Lateral Movement - Windows Admin Shares" occurred containing evidence of an SMB session from Nashua (<IP_ADDRESS>) to Scranton (<IP_ADDRESS>) over TCP port 445.
[1]
|
|
|
Telemetry showed an SMB session from Nashua (<IP_ADDRESS>) to Scranton (<IP_ADDRESS>) over TCP port 135.
[1]
|
|
|
|
|
|
|
Telemetry showed python.exe spawned by PSEXESVC.exe.
[1]
[2]
|
|
|
An MSSP detection for Lateral Movement showed python.exe spawned by PSEXESVC.exe.

[1]
|
|
|
|
|
|
|
Telemetry showed powershell.exe executing ChildItem.
[1]
|
|
|
A MSSP detection for "Discovery - File and Directory Discovery" occurred containing evidence of powershell.exe executing ChildItem.
[1]
[2]
|
|
|
|
|
|
|
Telemetry showed Powershell.exe executing ChildItem.
[1]
|
|
|
A MSSP detection for "Collection - Automated Collection" occurred containing evidence of powershell.exe executing ChildItem.
[1]
[2]
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|
|
|
|
|
|
A Technique alert detection (medium severity) called "Suspicious RAR Archive Command 8 Data Encrypted (T1022)" was generated when rar.exe was used to create an encrypted zip archive.
[1]
[2]
[3]
|
|
|
Telemetry showed powershell.exe executing rar.exe with command-line arguments.
|
|
|
|
|
|
|
Telemetry showed powershell.exe executing rar.exe with command-line arguments.
|
|
|
A Technique detection alert (medium severity) called "Suspicious RAR Archive Command 8 Data Compressed (T1002)" was generated due to powershell.exe executing rar.exe with command-line arguments indicative of compression.
[1]
[2]
[3]
[4]
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|
|
|
|
|
|
A Technique detection alert (low severity) called "SDelete64 Usage" "File Deletion T1107" was generated when sdelete64.exe with command-line arguments was used to delete rar.exe.
[1]
[2]
|
|
|
Telemetry showed sdelete64.exe with command-line arguments to delete rar.exe.
[1]
|
|
|
|
|
|
|
Telemetry showed sdelete64.exe with command-line arguments to delete Desktop\working.zip.
|
|
|
A Technique detection alert (low severity) called "SDelete64 Usage" "File Deletion T1107" was generated when sdelete64.exe with command-line arguments was used to delete Desktop\working.zip.
[1]
[2]
[3]
[4]
|
|
|
|
|
|
|
A Technique detection alert (low severity) called "SDelete64 Usage" "File Deletion T1107" was generated when sdelete64.exe with command-line arguments was used to delete Roaming\working.zip.
[1]
[2]
[3]
[4]
|
|
|
Telemetry showed sdelete64.exe with command-line arguments to delete Roaming\working.zip.
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|
|
|
|
|
|
Telemetry showed the javamtsup.exe processes executing as a persistent service.
[1]
[2]
|
|
|
|
|
|
|
Telemetry showed hostui.bat executing from a persistent Startup Menu shortcut.
[1]
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|
|
|
|
|
|
Minimum detection criteria was not met for this procedure.
|
|


You are viewing an historical archive of past issues. Please
report new issues to the appropriate project issue tracker on
GitHub.
Comments
-
Greg Hurrell
I already have album skipping in Synergy Advance (using Apple Events rather than AppleScript like in your example, but it achieves the same effect). Adding this as a feature request against Synergy so that it doesn't get forgotten.
Add a comment
Comments are now closed for this issue.


MATH-650
Assignment1
Assignment10
Assignment11
Assignment12
Assignment2
Assignment3
Assignment4
Assignment5
Assignment6
Assignment7
Assignment8
Assignment9
Exam
sleuth3csv


Contact Application
My Contacts
Contact Name
Company
Edit Contact
First Name:
Last Name:
Company:
Email:
Phone:
Cancel
Update Contact
Add New Contact
First Name:
Last Name:
Company:
Email:
Phone:
Create Contact


An Angular application that demonstrates best practices for user authentication flow.
This repository uses state-of-the-art features for web development.
{{ feature.description }}


A semi-vanilla Minecraft server.This website is under construction.
Voting Sites
Minecraft Servers
Minecraft Server List
TopG
Minecraft-MP
Minecraft List


Andrew McMiddlin
2019-05-15
type-class-extensions.lhs:3:3: error:
• Too many parameters for class ‘Foo’
(Enable MultiParamTypeClasses to allow multi-parameter classes)
• In the class declaration for ‘Foo’
|
3 | > class Foo a b where
| ^^^^^^^^^^^^^^^^^^^...
Haskell 2010 is defined in the Haskell 2010 Language Report.
[Char]
Section 12.3 covers the LANGUAGE
pragma, which is used for extensions.
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE GADTs, ScopedTypeVariables #-}
default-extensions: OverloadedStrings
, GADTs
, ScopedTypeVariables
ghc -XOverloadedStrings Foo.hs
$ ghci
λ :set -XOverloadedStrings
OverloadedStrings
Enable overloaded string literals.
GHCi, version 8.6.4: http://www.haskell.org/ghc/ :? for help
Loaded GHCi configuration from /home/andrew/git/dot-files/.ghci
λ> :t "Lambda"
"Lambda" :: [Char]
λ> :set -XOverloadedStrings
λ> :t "Jam"
"Jam" :: Data.String.IsString p => p
class IsString a where
fromString :: String -> a
instance IsString Text where
fromString = pack
isGood :: Text -> Bool
isGood "foo"
TupleSections
Allow partially applied tuple constructors.
\x -> x * 2
(* 2)
\x -> (x,True)
(,True)
(,True,,,"hi",) :: a -> b -> c -> d -> (a,Bool,b,c,String,d)
InstanceSigs
Allow type signatures for definitions of instance members.
instance (Traversable f, Traversable g) => Traversable (Compose f g)
traverse :: (a -> h b) -> Compose f g a -> h (Compose f g b)
traverse = undefined
• Illegal type signature in instance declaration:
traverse' :: (a -> h b) -> Compose f g a -> h (Compose f g b)
(Use InstanceSigs to allow this)
• In the instance declaration for ‘Traversable' (Compose f g)’
|
25 | traverse' :: (a -> h b) -> Compose f g a -> h (Compose f g b)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LambdaCase
Adds syntactic sugar for pattern matching on a function’s argument.
pretty ::
-> Expr
-> Text
pretty e = case e of
LitI n -> pack $ show n
LitB True -> "true"
LitB False -> "false"
pretty ::
-> Expr
-> Text
pretty = \case
LitI n -> pack $ show n
LitB True -> "true"
LitB False -> "false"
MultiWayIf
Adds syntactic sugar for nested if-then-else
expressions.
if 1 < 0 then
"foo"
else if 12 > 4 then
"bar"
else if even 42 then
"42"
else
"no idea"
if | 1 < 0 -> "foo"
| 12 > 4 -> "bar"
| even 42 -> "42"
| otherwise -> "no idea"
RecordWildCards
Elide fields from record construction and pattern matching.
{-# LANGUAGE RecordWildCards #-}
data Person =
Person {
firstName :: Text
, surname :: Text
, height :: Integer
}
greetPerson ::
Person
-> Text
greetPerson Person{firstName = firstName, surname = surname, height = height}Person{..} =
undefined
{-# LANGUAGE RecordWildCards #-}
defaultPerson ::
Person
defaultPerson =
let
firstName = "Andrew"
surname = "McMiddlin"
height = 185
in
Person {..}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE RecordWildCards #-}
data ConferenceAttendee =
ConferenceAttendee {
firstName :: Text
, surname :: Text
, height :: Integer
, shirtSize :: ShirtSize
}
defaultConferenceAttendee ::
Person
-> ConferenceAttendee
defaultConferenceAttendee Person{..} =
ConferenceAttendee {shirtSize = M, ..}
Some problems with RecordWildCards
NamedFieldPuns
Remove some of the boilerplate when bringing record fields into scope.
{-# LANGUAGE NamedFieldPuns #-}
greetPerson ::
Person
-> Text
greetPerson Person{firstName, surname, height} =
undefined
{-# LANGUAGE NamedFieldPuns #-}
greetPerson ::
Person
-> Text
greetPerson Person{firstName, surname} =
undefined
ScopedTypeVariables
Scope type variables to the lexical scope of the expression.
f ::
[a] -> [a]
f xs =
ys ++ ys
where
ys :: [a]
ys = reverse xs
Couldn't match type ‘a’ with ‘a1’
‘a’ is a rigid type variable bound by
the type signature for:
f :: forall a. [a] -> [a]
at examples/ScopedTypeVariables.hs:(5,1)-(6,12)
‘a1’ is a rigid type variable bound by
the type signature for:
ys :: forall a1. [a1]
at examples/ScopedTypeVariables.hs:10:5-13
Expected type: [a1]
Actual type: [a]
{-# LANGUAGE ScopedTypeVariables #-}
f ::
forall a.
[a] -> [a]
f xs =
ys ++ ys
where
ys :: [a]
ys = reverse xs
GeneralisedNewtypeDeriving
Derive instances for newtype
s based on the type they wrap.
class Pretty a where
pretty :: a -> Text
instance Pretty Int where
pretty = pack . show
newtype Age = Age Int
deriving (Show, Pretty)
Can't make a derived instance of ‘Pretty Age’:
‘Pretty’ is not a stock derivable class (Eq, Show, etc.)
Try GeneralizedNewtypeDeriving for GHC's newtype-deriving extension
class Coercible a b
coerce :: Coercible a b => a -> b
{-# LANGUAGE GeneralisedNewtypeDeriving #-}
instance Pretty Int where
pretty = pack . show
newtype Age = Age Int
deriving (Show, Pretty)
instance Coercible Int Age
instance Coercible Age Int
instance Pretty Age where
pretty = coerce $ pack . show
instance Coercible a b => Coercible (a -> c) (b -> c)
GeneralisedNewtypeDeriving
as it was originally implemented had some issues that resulted in roles being added to the language.
As a result of the role system, adding join
to the Monad
class would stop GeneralisedNewtypeDeriving
from being able to derive Monad
.
Section 4.3.1 of the standard covers type classes.
To summarise, it says that a type class declaration must have the following form.
class cx => C u where cdecls
class
keyword;
class Show a where
show :: a -> String
...
class Eq a => Ord a where
compare :: a -> a -> Ordering
...
class (Ord a, Show a) => ShOrd a
Section 4.3.2 of the standard covers type class instance declarations.
In short, it says that a type class instance must have the following form.
instance cx => C (T u1 … uk) where { d }
instance
keyword;
MultiParamTypeClasses
Allows type classes with more than one type parameter.
class Monad m => MonadReader r m where
ask :: m r
...
FlexibleInstances
Relaxes the rules for valid type class instances.
class Monad m => MonadReader r m where
ask :: m r
instance MonadReader r ((->) r) where
ask = id
type-class-extensions.lhs:123:10-32: error:
• Illegal instance declaration for ‘MonadReader r ((->) r)’
(All instance types must be of the form (T a1 ... an)
where a1 ... an are *distinct type variables*,
and each type variable appears at most once in the instance head.
Use FlexibleInstances if you want to disable this.)
• In the instance declaration for ‘MonadReader r ((->) r)’
|
123 | instance MonadReader r ((->) r) where
class Twizzle a where
twizzle :: a -> Int
instance Twizzle (Maybe Integer) where
twizzle = maybe 42 fromInteger
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.4.4
$ ghc -Wall -fforce-recomp Main.hs -o whoopsie
[1 of 4] Compiling FIA ( FIA.hs, FIA.o )
[2 of 4] Compiling FIB ( FIB.hs, FIB.o )
[3 of 4] Compiling FIC ( FIC.hs, FIC.o )
[4 of 4] Compiling Main ( Main.hs, Main.o )
Linking whoopsie ...
> ./whoopsie
fromList [Whoopsie A1 B C,Whoopsie A2 B C,Whoopsie A1 B C]
FlexibleContexts
Relax some of the requirements regarding contexts.
updateThing ::
MonadState MyState m
=> m ()
updateThing ::
( HasThing s
, MonadState s m
)
=> m ()
FunctionalDependencies
Express dependent relationships between type variables for type classes with multiple parameters.
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
class Monad m => MonadReader r m where
ask :: m r
instance MonadReader r ((->) r) where
ask = id
foo ::
Integer
foo =
(+ 1) <$> ask $ 41
type-class-extensions.lhs:275:13-16: error:
• Ambiguous type variable ‘t0’ arising from a use of ‘ask’
prevents the constraint ‘(MonadReader
Integer ((->) t0))’ from being solved.
Probable fix: use a type annotation to specify what ‘t0’ should be.
These potential instance exist:
one instance involving out-of-scope types
(use -fprint-potential-instances to see them all)
• In the second argument of ‘(<$>)’, namely ‘ask’
In the expression: (+ 1) <$> ask
In the expression: (+ 1) <$> ask $ 100
|
275 | (+ 1) <$> ask $ 41
| ^^^
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FunctionalDependencies #-}
class Monad m => MonadReader r m | m -> r where
ask :: m r
instance MonadReader r ((->) r) where
ask = id
foo ::
Integer
foo =
(+ 1) <$> ask $ 41
GHC language extensions
https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html
Haskell 2010 report
https://www.haskell.org/onlinereport/haskell2010/haskellch12.html#x19-19100012.3
24 Days of GHC extensions
https://ocharles.org.uk/pages/2014-12-01-24-days-of-ghc-extensions.html
Putting join
in Monad
https://ryanglscott.github.io/2018/03/04/how-quantifiedconstraints-can-let-us-put-join-back-in-monad/
FlexibleInstances
breaking Data.Set
https://gist.github.com/rwbarton/dd8e51dce2a262d17a80
Muhammad Ali
https://commons.wikimedia.org/wiki/File:Muhammad_Ali_1966.jpg
Records
https://flic.kr/p/8fsrnG


{% set page = { title: 'index', dev: true, secondary: false, html_classes: ['page-class'] } %} {% extends page.layout | d(prototype.current.layout) %} {% block primary %}
We will send you an SMS to confirm receipt of your Statement of fitness to work and remind you when it's time to send another.


When running this sample on a PC, you can use the WiFiDirectDevice API to connect to a Wi-Fi Direct device.


Overview of Programming Languages
This part of the project is supposed to provide an overview of different programming languages. Each language has a short excerpt on this page if you hover over it and you can access more information by clicking the code. Many words used to talk about programming languages are defined under the "Attributes" section and can simply be accessed by clicking there. Consult the "Resources" section to access the sources used to generate this information.


|
Portable Radio
|
This is the complete list of members for GUI, including all inherited members.
| batteryPercentage(const unsigned int voltage) | GUI | |
| displayFrequency(const unsigned int frequency, const bool change) | GUI | |
| displayMenuArea(const unsigned int menuArea) | GUI | |
| displayMenuUpdate(const unsigned int signalStrength, const float frequency, const bool change, const unsigned int voltage, const bool stereo, const unsigned int menuArea, Radio &radio, const bool showRadioDataStationName, const char *stationName, const bool curMute, const dateData &date, const bool force=false) | GUI | |
| displayStationName(const char &stationName) | GUI | |
| displayStereo(const bool stereo) | GUI | |
| GUI(hwlib::window &window_part, hwlib::glcd_oled &display, KY040 &button, hwlib::terminal_from &stereoField, hwlib::window &signalWindow, hwlib::window &batteryWindow, hwlib::terminal_from &frequencyField, hwlib::terminal_from &menuField, hwlib::terminal_from &settingsField, hwlib::terminal_from &stationField) | GUI | |
| receptionStrength(const unsigned int signalStrength) | GUI | |
| showSettings(KY040 &button, Radio &radio, unsigned int &menuArea) | GUI |


{{define "content"}}
Card is blank inside.
Size is A2 4.25" X 5.5" when folded.
Coordinating envelope.
Printed on quality 110 lb white recycled card stock.
Packaged in a cellophane sleeve.
Designed and printed in the USA.