Hi,
I have searched, but very new to this, so apologies if I've missed something obvious.
I'd like to have an EmonTH reporting three temperature figures: bottom of tank, top of tank (both with DS18B20) and ambient (on board sensor).
I've had a look at the EmonTH firmware and see that it doesn't support multiple DS18B20 sensors out of the box - we check if at least one is attached, then read from the first.
I think can manage to get the readings from multiple sensors - getTempC(allAddress[i]) for i in 0..j ?
Do I then just need to modify the Payload struct as follows and it will automagically appear on emoncms.org as an extra input?
typedef struct { int temp; int temp_external1; int temp_external2; int humidity; int battery; } Payload;
If not, I could use a hint on how to update the payload.
Thinking as I type, is it safe to assume that oneWire.search() returns deterministically based on some ordering of the sensor serial numbers? If so, the sensors will retain ordering after a reset, but if not, I need another steer on how to make sure that each physical sensor stays tied to their respective inputs.
Thanks in anticipation,
Re: EmonTH with multiple DS18B20
A few things to consider... or things that I struggled with anyway ... :
best to fix the addresses as I found that the software can behave in a random way otherwise:
Here's my payload:
typedef struct { int channel, TriacFires , Loops;
int vrms, irms, real_power, apparent_power, power_factor,joules,solar_real_power, temperature0, temperature1, temperature2 ;
} PayloadTX; // create structure - a neat way of packaging data for RF comms
PayloadTX emontx;
Three are listed below as examples:
DeviceAddress OutsideTemp={0x28, 0xB0, 0x0E, 0x55, 0x04, 0x00, 0x00, 0x7C};
DeviceAddress TankTop ={0x28, 0x28, 0xF5, 0x4D, 0x04, 0x00, 0x00, 0x9E};
DeviceAddress TankBottom ={0x28, 0xF0, 0x1E, 0x4E, 0x04, 0x00, 0x00, 0xD9};
This checks how many sensors are on the bus:
numberOfDevices= sensors.getDeviceCount();
Serial.print("Temperature sensors found : ");Serial.println(numberOfDevices);
This checks that the sensors are as expected:
if (!sensors.getAddress(OutsideTemp, 0)) Serial.println("Unable to find address for Outside temperature device ... check hard coded address");
if (!sensors.getAddress(TankTop, 2)) Serial.println("Unable to find address for Top of tank temperature device ... check hard coded address");
if (!sensors.getAddress(TankBottom , 1)) Serial.println("Unable to find address for Bottom of tank temperature device ... check hard coded address");
This sets the resolution of each sensor based upon the stated address:
sensors.setResolution(OutsideTemp, 11);
sensors.setResolution(TankTop, 11);
sensors.setResolution(TankBottom, 11);
This verifies that the resolution has been set:
Serial.print("Sensor resolution is set to : ");
Serial.print(sensors.getResolution(OutsideTemp), DEC); Serial.print(" ");
Serial.print(sensors.getResolution(TankTop), DEC); Serial.print(" ");
Serial.println(sensors.getResolution(TankBottom), DEC);
This requests the sensor temperatures:
sensors.requestTemperatures();
This reads the Outside temperature sensor and stores it in a temporary variable:
float temp=(sensors.getTempC(OutsideTemp)); // 3 currently supported. Add or remove units as you see fit
This writes the data into a payload structure multiplying the result by 1, 10 or 100 as there is no way to send fractional data in a payload (you will need to scale it down again at the receiver)
emontx.temperature0=(temp)*ScaleBy;
temp=(sensors.getTempC(TankTop));
emontx.temperature1=(temp)*ScaleBy;
temp=(sensors.getTempC(TankBottom));
emontx.temperature2=(temp)*ScaleBy;
Hope this helps
Ian
Re: EmonTH with multiple DS18B20
Excellent, thanks. I'd missed the whole hardcoding of addresses completely.
Time to get busy with the soldering iron so I can give this a try.
Re: EmonTH with multiple DS18B20
To add to this, I found it useful to keep a log of all my temperature sensors and their respective addresses. So I have labelled them all and have a notepad file with the list of addresses on it. Saves confusion later or having to find their addresses everytime!
Re: EmonTH with multiple DS18B20
Thanks, that's a good tip. I've got a grab bag of ten to play with so it's probably quite a wise idea to churn through them now and document...
I managed to modify the EmonTH default firmware to report two external sensors without too much trouble. I was worried that embedded would be a major departure from my day job but it's all nicely abstracted. The fact that the Pi just passes the extra payload straight through to emoncms which picks it up automatically was the icing on the cake :)
Although it's almost trivial in retrospect, I'm going to attempt a wiki update for this anyway, as I suspect it's a common 'recipe' and I think it's a nice illustration for people like me (technical but no hardware background) that the emon kit is a great way to go...
Re: EmonTH with multiple DS18B20
Please let me know when you have some working code, if you're happy it would be great to push an emonTH multi DS18B20 example to the emonTH github
Re: EmonTH with multiple DS18B20
My emonTH has the DHT22. I'm trying to work out what would happen if my sketch ran on a module with the DS18B20 on board.
Does that come wired to the same OneWire pin as the external sensors, so it would mainly be a question of establishing the address?
Re: EmonTH with multiple DS18B20
I came across this thread while doing a search prior to uploading my own hot water tank monitor solution. It is currently running on two Jeenodes, the Rx has an GLCd type display, but will be ported to a Jeenode Tx and EmonGLCD Rx \ display over the next week or so. I will upload the current code over the weekend.
Re: EmonTH with multiple DS18B20
The plan is to transmit the remote battery voltage back to the display and integrate this into a new screen on the GLCD code.
Likewise the Template code shown in the next post.
/*
Tank Temperature Display
Written by Simon K - 16/11/2014
Last updated: - See footer.
Based on wireless emonGLCD by: Glyn Hudson, Trystan Lea
Builds upon JeeLabs RF12 library and Arduino.
Note that although the physical module is called 'RFM12B',
the library is 'RF12'
*/
//------------------------------------------------------------------------------------------------------------------------------------------------
// emonGLCD Home Energy Monitor example
// emonGLCD documentation http://openEnergyMonitor.org/emon/emonglcd
// Correct time is updated via NanodeRF which gets time from internet
// GLCD library by Jean-Claude Wippler: JeeLabs.org
// 2010-05-28<EMAIL_ADDRESS>http://opensource.org/licenses/mit-license.php
// THIS SKETCH REQUIRES:
// - OneWire library http://www.pjrc.com/teensy/td_libs_OneWire.html
// - DallasTemperature http://download.milesburton.com/Arduino/MaximTemperature
// or https://github.com/milesburton/Arduino-Temperature-Control-Library
// - JeeLib https://github.com/jcw/jeelib
// - RTClib https://github.com/jcw/rtclib
// - GLCD_ST7565 https://github.com/jcw/glcdlib
//
// Other files in project directory (should appear in the arduino tabs above)
// - icons.ino
// - temp_templates.ino
//
//-------------------------------------------------------------------------------------------------------------------------------------------------
#include <JeeLib.h>
#include <GLCD_ST7565.h>
#include <avr/pgmspace.h>
GLCD_ST7565 glcd;
#include <RTClib.h>
// Real time clock (RTC) - used for software RTC to reset kWh counters at midnight
#include <Wire.h>
// Part of Arduino libraries - needed for RTClib
RTC_Millis RTC;
//--------------------------------------------------------------------------------------------
// RFM12B Settings
//--------------------------------------------------------------------------------------------
#define MYNODE 15
// Should be unique on network, node ID 30 reserved for base station
#define freq RF12_868MHZ
// frequency - match to same frequency as RFM12B module (change to 868Mhz or 915Mhz if appropriate)
#define group 200
unsigned long fast_update;
unsigned long slow_update;
double temp,maxtemp,mintemp;
//---------------------------------------------------
// Data structures for transferring data between units
//---------------------------------------------------
typedef struct { int temp1, temp2, temp3; } PayloadTX;
// neat way of packaging data for RF comms
PayloadTX emontx;
// Kept for when I transmit data up to the emoncms site.
// typedef struct { int temp1, temp2, temp3, battery; } PayloadTemp;
// PayloadTemp emontemp;
int hour = 12, minute = 0;
double usekwh = 0;
//int cval_use; Replace with 'top_val' etc.
int top_val;
int mid_val;
int low_val;
int volts =5;
//--------------------------------------------------------------------------------------------
// Flow control
//--------------------------------------------------------------------------------------------
unsigned long last_emontx;
// Used to count time from last emontx update
unsigned long last_emonbase;
// Used to count time from last emontx update
void setup()
{
Serial.begin(9600);
delay(500);
//wait for power to settle before firing up the RF
rf12_initialize(MYNODE, freq, group);
delay(100);
//wait for RF to settle before turning on display
glcd.begin(0x18);
glcd.backLight(200);
}
void loop()
{
if (rf12_recvDone())
{
if (rf12_crc == 0 && (rf12_hdr & RF12_HDR_CTL) == 0) // and no rf errors
{
int node_id = (rf12_hdr & 0x1F);
if (node_id == 10) {emontx = *(PayloadTX*) rf12_data; last_emontx = millis();}
//Assuming 10 is the emonTx NodeID
/*
if (node_id == 12) //Assuming 12 is the emonBase node ID
{
RTC.adjust(DateTime(2012, 1, 1, rf12_data[1], rf12_data[2], rf12_data[3]));
last_emonbase = millis();
}
*/
}
}
//--------------------------------------------------------------------------------------------
// Display update every 200ms
//--------------------------------------------------------------------------------------------
if ((millis()-fast_update)>200)
{
fast_update = millis();
DateTime now = RTC.now();
int last_hour = hour;
hour = now.hour();
minute = now.minute();
top_val = (emontx.temp1);
mid_val = (emontx.temp2);
low_val = (emontx.temp3);
//volts = (emontx.battery);
Serial.print(emontx.temp1);
Serial.println( );
draw_temp_page( "Top" ,top_val, "Mid", mid_val, "Low", low_val);
draw_temperature_volts_footer(temp, volts);
glcd.refresh();
// int LDR = analogRead(LDRpin); (Not used as no LDR fitted).
// Read the LDR Value so we can work out the light level in the room.
// int LDRbacklight = map(LDR, 0, 1023, 50, 250);
// Map the data from the LDR from 0-1023 (Max seen 1000) to var GLCDbrightness min/max
//int LDRbacklight = (50);
// Set back light level as no LDR fitted. Must be between 0 and 255.
//LDRbacklight = constrain(LDRbacklight, 0, 255);
// Constrain the value to make sure its a PWM value 0-255
//if ((hour > 22) || (hour < 5)) glcd.backLight(0); else glcd.backLight(LDRbacklight);
// Turn the back-light off at night.
}
/*
if ((millis()-slow_update)>5000)
{
slow_update = millis();
Temperature sensing removed for now;
sensors.requestTemperatures();
temp = (sensors.getTempCByIndex(0));
if (temp > maxtemp) maxtemp = temp;
if (temp < mintemp) mintemp = temp;
// Temperature sending remove for now.
// emonglcd.temperature = (int) (temp * 100);
// set emonglcd payload
// rf12_sendNow(0, &emonglcd, sizeof emonglcd);
// send temperature data via RFM12B using new rf12_sendNow wrapper -glynhudson
rf12_sendWait(2);
}
*/
}
Re: EmonTH with multiple DS18B20
Requires modifying to add the battery voltage collection and an outside air temperature sensor.
Work in progress. All credit to the original authors, without who's talents I would not have been able to get my head around all this and produce a branch of THEIR code.
#include "utility/font_helvB24.h"
#include "utility/font_helvB14.h"
#include "utility/font_helvB12.h"
#include "utility/font_clR4x6.h"
#include "utility/font_clR6x8.h"
//------------------------------------------------------------------
// Draws a page showing a single power and energy value in big font
//------------------------------------------------------------------
void draw_temp_page(char* upper, double top_val, char* middle, double mid_val, char* lower, double low_val)
{
glcd.clear();
glcd.fillRect(0,0,128,64,0);
char str[50]; //variable to store conversion
glcd.setFont(font_clR6x8);
strcpy(str,upper); // Draw the value of temp1
strcat(str," of Tank:");
glcd.drawString(0,0,str);
strcpy(str,middle);
strcat(str," of Tank:");
glcd.drawString(0,16,str); //was 38
strcpy(str,lower);
strcat(str," of Tank:");
glcd.drawString(0,32,str);
// Top of tank
glcd.setFont(font_helvB12);
itoa((int)top_val,str,10);
strcat(str,"c");
glcd.drawString(80,0,str);
// Middle of tank.
glcd.setFont(font_helvB12);
itoa((int)mid_val,str,10);
strcat(str,"c");
glcd.drawString(80,16,str);
// Bottom of tank.
glcd.setFont(font_helvB12);
itoa((int)low_val,str,10);
strcat(str,"c");
glcd.drawString(80,32,str);
}
//------------------------------------------------------------------
// Draws a footer showing outside ait temperature and the remote battery voltage
//------------------------------------------------------------------
// void draw_temperature_time_footer(double temp, double mintemp, double maxtemp, double hour, double minute)
void draw_temperature_volts_footer(double temp, double volts)
{
glcd.drawLine(0, 47, 128, 47, WHITE); //middle horizontal line
char str[50];
// Draw Temperature
glcd.setFont(font_helvB12);
dtostrf(temp,0,1,str);
strcat(str,"C");
glcd.drawString(0,50,str);
// Draw Volts
glcd.setFont(font_helvB12);
itoa((int)volts,str,10);
strcat(str,"V");
glcd.drawString(80,50,str);
}


How it has been done
Using Kimono, it's possible to gather part of the dialogue which constitutes the contest of every sentence containing the word "NSA" (1075 sentences containing this word with the relative link to the context) from the links grouped before on Subzin. These links are inserted in Kimono and the crawl is activated. The result is a datatest in which in every line there is a sentence (5375 total sentences). All those sentences are copied in the website Textalyser, which allows to have a list with the most common words with the number of times they appear in the text. Only those with a frequency major than 6 have been selected. Then these ones have been divided in one of these two categories: "connected to NSA" (keywords) or "other words". The keywords and their frequency are used to create the bubble chart.
At this point a script, created with the programming language Python, search all the keywords inside each dialogue and, if they appear together, the script creates a line in a chart: the first column (source) is filled with a keyword, and the second one (target) with one other keyword found in the same dialogue. Therefore in the chart a line is created everytime two keywords are together in the same dialogue and each line can appear twice or more, that is everytime the two words are found together in a dialogue. This table is used to create a map with Gephi: each node is a keyword and if two keywords are in the same speech, they are connected with a line.


Rotation 4:
Main Focus: Rasberry Pi
:
Using a format from maker case, I downloaded a design and inserted it into CorelDraw. I made my CorelDraw sheet 4 by 4 and inserted the design, and made it hariline, as well as adding text, which I did not use hairline thickness with. Saving this design, I took it to the laser printer, and manipulated the settings. The print worked, and I glued the pieces together. Here it is!
Focus 2: Rastering a coaster, made from corkboard, with the Laser Printer. I created a design on corel draaw, and after manipulating the dimensions and size I printed.
Focus 3:Rastering a tall glass. I first made the design on CorelDraw, using LOBSTER, my favorite font. One thing that differed from mynormal engraving, was that the CorelDraw file had to be sideways so it could be printed on the glass which was held by the rotary on the laser printer. Looking back, I would have moved the file up on the sheet first, in order to avoid the text printing so low on the glass.
Focus 4:Making a Press and Fit Kit: I first made the design on CorelDraw, making multiple shapes, and cutting out rectangles on each which would function as the slots for the other shapes to fit in to. These slots had to be the same width as the thickness of the cardboard. I t worked well, but the shapes were a bit smaller than I would have preffered.
Home Page
About me
Rotation 1
Rotation 2
Rotation 3
Rotation 4
Rotation 5
Rotation 6
Rotation 7: Skateboard
Rotation 8
Rotation 9
Final Project
Original Files


Dear Colleagues,
It is our great pleasure to announce that the PNC 2019 Annual Conference and Joint Meetings (PNC 2019) will be held in Nanyang Technological University, Singapore from October 15th-18th, 2019. The main theme of the PNC 2019 is “Regionality and Digital Humanities: South-South Connections.”
The PNC 2019 serves as an opportunity for researchers and developers to facilitate information exchanges among institutions of higher education in the Pacific Rim through computing and communications technology. PNC explores issues of information and technology exchange, interdisciplinary collaboration, and the development of the cultural knowledge contents. The technical program of PNC 2019 will include invited keynote, paper presentations, workshops and poster session. Authors are invited to submit an anonymous 6-8 pages technical paper manuscript in double-column IEEE format. (The style guide is included in the downloadable templates.) The proceedings of the conference will be submitted to IEEE Xplore Digital Library for indexing.
Topics for submission include but are not limited to:
- Regionality
- Artificial Intelligence
- Biodiversity
- Communication
- Data Science
- Digital Cultural Heritage
- Geospatial Information Systems (GIS)
- Digital Humanities
- Archaeology
- Area Studies
- Digital Archives
- Digital Museums
- Digital Libraries
- e-Learning
- Linguistics
- Literature
- Spatial History
- Visual Arts
- South-South Connections
- Climate Change
- Information Technology
- Network Infrastructure
- Sustainable Development
Submission Categories
- Full Paper (6-8 pages)
- Poster, Demo & Art Work (1 page)
Full Paper Submission
Authors are invited to submit full papers through the online submission system by Jun 30, 2019 (extended). The final manuscript (camera ready) should be ready by August 31, 2019. Submissions must be original and should not have been published previously while being evaluated for this conference. The paper length is 6-8 pages, including figures and tables but not including references. All submitted papers must conform to the IEEE Xplore Format for conference proceedings.
As the reviewing will be blind, papers must not include authors' names and affiliations. Furthermore, self-references that reveal the author's identity, e.g., "We previously showed (Smith, 1991) ..." must be avoided. Instead, use citations such as "Smith previously showed (Smith, 1991) ..." Papers that do not conform to these requirements will be rejected without review.
Papers should not refer, for further detail, to documents that are not available to the reviewers. For example, do not omit or redact important citation information to preserve anonymity. Instead, use third person or named reference to this work, as described above (“Smith showed” rather than “we showed”).
Artwork, Poster and Vendor Submission
Artists, designers and practice-based researchers engaging in computational and communications media and technology are invited to submit proposals for exhibiting work that responds to this year's conference themes of “Regionality, Digital Humanities and South-South Connections”. Authors are invited to submit abstracts (max. 500 words) by Jun 30, 2019. For the poster competition, participants are required to give an oral orientation. The best poster award will be selected after evaluation by the Grading Committee. Vendors or Institutions are welcome to take this opportunity to show research results that are related to the conference main theme.
Important dates
| Submission Deadline (extended) | Jun 30, 2019 | |
| Notification of Acceptance (extended) | July 31, 2019 | |
| Final version due | August 31, 2019 | Conference | October 15–18, 2019 |
Hosts
Co-Hosts and sponsors
Technical Sponsor
About Pacific Neighborhood Consortium (PNC)
Since 1993, the PNC has been committed to enhancing digital research and interaction among researchers, educators, and professionals around the Pacific Rim nations. The importance and contribution of the PNC has been widely recognized by the digital and information technology community. For more information, please refer to the PNC Homepage at http://pnclink.org/.Contact
| PNC Secretariat | |
|---|---|
|<EMAIL_ADDRESS>| |
| Website | http://pnclink.org/ |
| Tel | +886-2-27898894 |
| Fax | +886-2-27885259 |
| P.O. Box 1-76 Nankang, Taipei 115, Taiwan |


{% include "modules/component/link-group01.html" %}
{% include "modules/component/link-group02.html" %}
{% include "modules/component/list-news.html" %}
{% include "modules/component/sidebar-news.html" %}


Watchdog sues FBI over facial recognition secrecy
by AFPWASHINGTON: A civil liberties watchdog Thursday sued the FBI and other federal agencies claiming the government is improperly withholding information on how it uses a facial recognition database of millions of Americans.
“Because of the FBI’s secrecy, little is known about how the agency is supercharging its surveillance activities with face recognition technology,” said Kade Crockford of the American Civil Liberties Union in a statement.
“The public has a right to know when, where, and how law enforcement agencies are using face recognition technology, and what safeguards, if any, are in place to protect our rights.”
The ACLU lawsuit naming the FBI, Justice Department and Drug Enforcement Administration said the agencies “failed to produce any responsive documents” in response to a Freedom of Information Act request.
Activists believe the FBI is currently collecting biometric data on people’s faces, irises, walking patterns, and voices, and has a database of at least 640 million images of adults in the United States.
“Face and other biometric surveillance technologies can enable undetectable, persistent, and suspicionless surveillance on an unprecedented scale,” Crockford said.
“This dystopian surveillance technology threatens to fundamentally alter our free society into one where we’re treated as suspects to be tracked and monitored by the government 24/7.”
Backers of facial recognition say it is a useful tool that can make it easier to catch criminals and ensure safety at airports and venues with large crowds.
But privacy and civil liberties activists say the technology remains flawed and could ensnare innocent people.
San Francisco has banned the use of the technology by official agencies, and some researchers have warned of errors, notably in identifying minorities, and of the creation of large databases which could be breached or hacked.
The lawsuit filed in Massachusetts asks the government to turn over information on what data it has and who can access it.
The Justice Department did not immediately respond to a query on the complaint.


The SecureDrop Project brand assets are included here. Use them responsibly.
Default Download SVG
Black Download SVG
White Download SVG
Download SVG and PNG files
Identihub Project


“IT’S NOT WHO WE ARE UNDERNEATH, BUT WHAT WE DO THAT DEFINES US.”
Batman
So I said "MotherF**ker" alot during this...
How does JavaScript compare to HTML and CSS?
You know when start going to the gym and in the begining its hard, but eventually you get fit and it gets easier. Well this is HTML & CSS. JavaScript is the increase in reps and more weight you add to take your training to the next level. When you do this it leaves you sore, tired and frustrated in the begining but eventually you get fitter and it becomes easier. Right now I'm at the lying on the floor covered in anti-flamme and heat bags wishing my body would stop hurting stage. This will pass the more I do it but right now it been emotional.
Explain control flow and loops using an example process from everyday life, for example 'waking up' or 'brushing your teeth'.
When you write code it goes top down so if I wanted to make a code that told me what time of the day I should eat lunch, I would tell it the time it needs to know when lunch is and what the next action is, which would be scream "EAT SOMETHING NOW" through my computer. I would then need to set it up so it knows what the time is now so it can check periodially to make sure it sceams at me at the right time. So the code goes "Do I scream now" it checks the present time and sees its not 12pm yet, then circles back to do the same loop say every 30 mins till it does get to 12pm.
I would liken this to my alarm going of at 5.30am so I can meditate for 15 mins eveery morning Monday - Friday. Its loop aka action repeated frequently at the same time very work day.
Explain the difference between accessing data from arrays and objects.
Ok this is gonna be a short one. Objects list objects as a linear line thing, while Arrays let you list things in a pretty ordered way.
Explain what functions are and why they are useful.
I can't do the thing unless I tell javascript what teh tthing is and its function. For example, is it a Varible? Then you tell JS that it is giving it the function "var". Its like telling the checkout operator how you're going to pay for your groceries, they can't serve the next person until you pay, so you have to tell the server how you're going to pay and then complete the purchase. Once you're done you can runaway into the night with your bottle of red and 3 blocks of chocolate without judgement.


{% extends "layout.html" %} {% import "bootstrap/wtf.html" as wtf %} {% block body %}
All the Administrator features and settings can be controlled from here.


is transforming our world, changing the way we do business, the way we learn, the way we communicate,
and even the way we entertain ourselves.The IT discipline addresses the integration, design, deployment, and management of computing and networking resources and services,
as well as the development of technology infrastructures in organizations.
The field of IT has applications ranging across the entire economic spectrum.
IT specialists solve complex software and hardware problems that require fundamental knowledge and competencies and utilize the processes of needs assessment, technology transfer, and user support.


My Name is Rosa Marquez the third
A Jack of all trades
Age-84
Mexican
The youngest of 13
Passions
Jeeping/Off-roading
Dare Devil
3-D Engineer
Gaming
Sky Diving
Cat-Dog lover
SFX Makeup
ballon pilot
Rosa Marquez the Third
This is my cat Natsu
This is my Jeep
These are my Dogs
My Cow Balloon


Anonymity
Anonymity is a form of privacy.
We need a system that can allow a person to anonymously participate in a conversation without exposing their identity.
Similar to how in elections, we do not attach the identity of the person with the vote that they cast. There is a
somewhat strict process for identity verification and once the identity is verified and implicitly understood to
represent a singular unique person that by design could not also be a different person.
ODIN can confirm that a person participating in a conversation or other registration or request of some type, that their
identity remains concealed, but the app or registration can receive the input from the user knowing it is a real
verified unique human person.
Anonymous content creation versus original content
A problem that exists, with respect to propaganda, is the production of propaganda content, delivered by vehicle of meme images among other ways.
A meme image is an easily-digestible piece of content. It is like the sugar of content on the internet. It's a short, quick hit of something funny or otherwise interesting. For many people, we don't even realize how we've become seduced by this sugar-like information.
It is therefore effective to use memes as a vehicle to inject propaganda. Information that is politically charged, or otherwise tribalistic in nature, for the purpose of dividing and conquering.
This is part of the larger part of propaganda, which is: the art of fabricating false realities with propaganda.
With respect to the meme portion of things, one way to thwart the spreading of memes would be to identify the source. Kind of like the episode of The Office where Michael is spreading lies about everyone around the office.
Then at the end of the episode they do a trace of the lies and it leads back to Michael. The OC came from Michael.
It would be useful therefore, if we could trace the origins of memes. You see a meme of some kind. You open it up and the full history of the meme, as it exists.
The original copy has an author associated with it.
Then the author shares it to some messageboard. Then 100 people see it, and a handful of them Save the meme for later sharing purposes.
of these handful, they go on to share it on new forum threads on another date, and share the meme. This act of sharing now has a history of the original share plus this secondary share.
and so on and so forth.
And each time something gets shared, the share history follows that thing, with a record of the identifier of the persons that shared is before.
what would be the point of this? So that we could trace the author of the OC, where it came from, but without revealing the personal identity of the person.
How do we reconcile: the need for anonymity with the need to know the author of malicious content?
Even though the sharing of the file has a history, the history need not be viewable publicly. In stead, the sharing of the meme is simply recorded and attached to this person's conversation history in the conversation public space,
and if other people see content that they don't like, they can flag it / report it. If enough flags or reports happen on a persons content then it can hurt their reputation.
This is all for the conversation app


There are many options available with us for adding a commenting system in our jekyll website, These are-
- disqus
- discourse
- google-plus
- staticman
- custom
I chose staticman as my commenting system because it allows posting comments without any log-in required as in facebook and others.
Also it will then push the comment to website repository and save it in _data
files.
Steps for integrating Staticman comments in jekyll
- Allow Staticman push access to your GitHub repository by clicking on Settings, then the Collaborators tab and adding
staticmanapp
as a collaborator. - To accept the pending invitation visit:
https://api.staticman.net/v1/connect/{your GitHub username}/{your repository name}
. Examplehttps://api.staticman.net/v1/connect/holianh/holianh.github.io
- Some changes to
_config.yml
file-- add comments provider as staticman
comments: provider: "staticman" staticman: allowedFields : ['name', 'email', 'url', 'message'] branch : # "master", "gh-pages" commitMessage : "New comment." filename : comment-{@timestamp} format : "yml" moderation : false path : "_data/comments/{options.slug}" requiredFields : ['name', 'email', 'message'] transforms: email : "md5" generatedFields: date: type : "date" options: format : "iso8601"
- add comments provider as staticman
- You can turn on or off moderation, if on then you have to accept the pull request, close the issue and then your comment will be posted, if off then comment will be posted directly.
Tip : Enable comments in every post you want it enabled on by adding comment: true
or add the default value in _config.yml
Tip: Remember to give correct path for your comments storage.
Steps to add facebook comments to jekyll-
- Change comments provider to
facebook
and you are done.
After using facebook comment system, I replaced my provider from staticman to facebook. Facebook comment system is far better than staticman for now. It is clean, fast and easy. Built in moderation system.
Adding App Id (optional)
Create your app in facebook developer console. You will get app id for your account add that app id to config.yml
Giving sorting order for facebook comments
- Add a new key value pair in
comments > facebook
by key asorder_by
and value asreverse_time
ortime
(default issocial
). Read here more on fb sorting
comments:
facebook:
appid :
num_posts : 10
colorscheme: "light"
order_by : "reverse_time"
- Now get this field and add to your
comments.html
file inside _includes, add the following liquid

Adding disqus to your jekyll website
Disqus is a great commenting system as it provides you with a dashboard for all the comments posted and many other analytics beside that.

Change provider in _config.yml
to disqus and paste the shortname for your website. And you are done!
Leave a comment


{% comment %} Beware: this is a small convenience that appears in most Jekyll sites. However, the gem `jekyll-paginate` has been deprecated and **you can't use a paginator with a permalink**. But it still works. You need to configure the two variables below (`paginator_page` and `list_page`) to match the variable `paginate_path` you've set in your `_config.yml`. --- In order to work, use this component like this: ```html {% for post in paginator.posts %}


3
Judgment on Judah and Jerusalem
1 For behold, the Lord GOD of hosts
is taking away from Jerusalem and from Judah
support and supply,
all support of bread,
and all support of water;
2 the mighty man and the soldier,
the judge and the prophet,
the diviner and the elder,
3 the captain of fifty
and the man of rank,
the counselor and the skillful magician
and the expert in charms.
4 And I will make boys their princes,
and infants shall rule over them.
5 And the people will oppress one another,
every one his fellow
and every one his neighbor;
the youth will be insolent to the elder,
and the despised to the honorable.
6 For a man will take hold of his brother
in the house of his father, saying:
“You have a cloak;
you shall be our leader,
and this heap of ruins
shall be under your rule”;
7 in that day he will speak out, saying:
“I will not be a healer;
in my house there is neither bread nor cloak;
you shall not make me
leader of the people.”
8 For Jerusalem has stumbled,
and Judah has fallen,
because their speech and their deeds are against the LORD,
defying his glorious presence.
9 For the look on their faces bears witness against them;
they proclaim their sin like Sodom;
they do not hide it.
Woe to them!
For they have brought evil on themselves.
10 Tell the righteous that it shall be well with them,
for they shall eat the fruit of their deeds.
11 Woe to the wicked! It shall be ill with him,
for what his hands have dealt out shall be done to him.
12 My people—infants are their oppressors,
and women rule over them.
O my people, your guides mislead you
and they have swallowed up the course of your paths.
13 The LORD has taken his place to contend;
he stands to judge peoples.
14 The LORD will enter into judgment
with the elders and princes of his people:
“It is you who have devoured the vineyard,
the spoil of the poor is in your houses.
15 What do you mean by crushing my people,
by grinding the face of the poor?”
declares the Lord GOD of hosts.
16 The LORD said:
Because the daughters of Zion are haughty
and walk with outstretched necks,
glancing wantonly with their eyes,
mincing along as they go,
tinkling with their feet,
17 therefore the Lord will strike with a scab
the heads of the daughters of Zion,
and the LORD will lay bare their secret parts.
18 In that day the Lord will take away the finery of the anklets, the headbands, and the crescents;
19 the pendants, the bracelets, and the scarves;
20 the headdresses, the armlets, the sashes, the perfume boxes, and the amulets;
21 the signet rings and nose rings;
22 the festal robes, the mantles, the cloaks, and the handbags;
23 the mirrors, the linen garments, the turbans, and the veils.
24 Instead of perfume there will be rottenness;
and instead of a belt, a rope;
and instead of well-set hair, baldness;
and instead of a rich robe, a skirt of sackcloth;
and branding instead of beauty.
25 Your men shall fall by the sword
and your mighty men in battle.
26 And her gates shall lament and mourn;
empty, she shall sit on the ground.


#assign subtitle = "Monitoring"> <#assign monitoring = "true">
Monitoring
...(under construction)...


Reçu le : Samedi 07 Mars 2020
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley not only five centuries.


Before Change
)
),
)
if result.exit_code == 0:
paths.extend(result.stdout.decode().splitlines())
return BinaryPaths(binary_name=request.binary_name, paths=paths)
def rules():
After Change
if result.exit_code != 0:
return binary_paths
found_paths = result.stdout.decode().splitlines()
if not request.test_args:
return dataclasses.replace(binary_paths, paths=[BinaryPath(path) for path in found_paths])
results = await MultiGet(
Get(
FallibleProcessResult,
UncacheableProcess(
Process(argv=[path, *request.test_args], description=f"Test binary {path}.")
),
)
for path in found_paths
)
return dataclasses.replace(
binary_paths,
paths=[
BinaryPath.fingerprinted(path, result.stdout)


Lorem ipsum for university websites
Please note, this is not final copy. Please do not use it in live websites.
Academic world-class institution scholarly global impact challenge. Intelligence, ingenuity esquire respect community engagement. Laureate emiratus graduands chancellor citizen procession quadrangle. Network fellow teaching grand modernisation region distinguished emeritus nobel.
Bilateral intellectual exchange higher education performance excellence relevant uni. Capabilities, experience, position student experience forefront beyond global. Strategic guidelines affiliates fuel students discovery alumnus. Number one transnational cherish cultivate forefront diverse technology law candidates emerging agenda traditional. Rigour public-spiritied societal research freedom. Rankings underpinning standards world-class mutually corporation meeting.
Reputation attributes foundations expenditure excellence internationally health fostering grand fields. Interdisciplinary century faculty core best minds. Significant holistic cross-country borders, fundamental policy trials proud endeavours awards. Academies professor holistic approach legion honour Vice-Chancellor bedell transformational. Insight inspirational cohort contribution landscape society fuel knowledge cross-section illuminating stimulation honour. Collegiate Authority leading culture mental project self-sustaining musuem community.


I am
Enthusiastic
I'm a Developer, Engineer and a Generalist.
Enthusiastic
I'm a Developer, Engineer and a Generalist.
Everything necessary to solve a given problem.
E.g. Visual Studio, WordPress, After effects, Affinity, Git, Azure.
Nature, Pondering and People.
Challenges and sitting at the bleeding edge of technology excites me.
Pushing myself to learn.
Trying new things is where I'm at.
Problem solving.
Full stack Development. Using HTML, CSS, JavaScript, C#, PHP, Python, and I do whatever it takes to achieve the goal.
Graphics Design. Using Affinity and Adobe products.
SEO and Adwords


NetworkHostAndPort(host: String, port: Int)
Tuple of host and port. Use NetworkHostAndPort.parse on untrusted data.
host - a hostname or IP address. IPv6 addresses must not be enclosed in square brackets.
host
port - a valid port number.
port


Crystal 0.14.1 has been released!
The major feature is a built-in playground made by @bcardiff.
The Playground
The new playground is an excellent way to try ideas, test code, understand its execution, and teach Crystal to others.
You start the playground like this:
$ crystal play Listening on http://localhost:8080
You then open your browser at http://localhost:8080/
and you will be presented with a screen like this:
You write code on the left pane, and after you stop typing it will compile and execute it.
Every expression’s value will be shown on the right pane, and if the program has output it is shown in a bottom pane you can show by clicking the icon below the right pane.
If an expression is executed multiple times, the right pane will show how many times it was executed, and clicking on that it will open a table with all values.
If you use a tuple as an expression, the table will show a column for each of this values. In this way you can quickly see the relationship between multiple values in every iteration.
The right pane reacts “live” to code execution. For example if you use sleep 1.second
inside
a loop you will see values appearing every second.
The playground has access to the whole standard library, so you can use things like http clients
and servers in it. You can also require
files that are provided by shards
you mention in
your shards.yml
file, so you can play with that code too.
You can find more examples and use cases in the About section at the top right corner. You can also adjust a couple of settings, like whether to automatically compile code or not, and easily share it as a gist.
Implementation
When you execute crystal play
an http server is started. When you use the playground,
it connects to that http server via a websocket, and code you type is sent through it.
You can see what the server does with your code if you start the playground with crystal play --verbose
.
For example, if you type this code:
The console will show this output:
I, [2016-03-21 14:55:17 -0300 #2379] INFO -- : /client WebSocket connected as session=1 I, [2016-03-21 14:55:17 -0300 #2379] INFO -- : Request to run code (session=1, tag=1). a = 1 b = a + 2 I, [2016-03-21 14:55:17 -0300 #2379] INFO -- : Code instrumentation (session=1, tag=1). a = $p.i(1, 1) b = $p.i(a + 2, 2) I, [2016-03-21 14:55:17 -0300 #2379] INFO -- : Instrumented code compilation started ... I, [2016-03-21 14:55:18 -0300 #2379] INFO -- : Code execution started (session=1, tag=1, ... I, [2016-03-21 14:55:18 -0300 #2379] INFO -- : /agent/1/1 WebSocket connected (session=1, ... I, [2016-03-21 14:55:18 -0300 #2379] INFO -- : Code execution ended (session=1, tag=1, ...
Some lines in your code are transformed to doing $p.i(...)
. $p
is initialized
to a class that will send that data over the websocket, together with line number
information, and will finally appear on the right pane.
Thanks to the fact the the compiler is written in Crystal and it provides APIs to transform AST nodes, and the standard library provides http server and websockets implementation, the resulting playground implementation is about 600 lines of Crystal code. The other half is made with javascript and HTML.
As the screenshots say: Happy Crystalling ♥


Application Template Organization
Introduction
When I have approached an idea for an application in Windows I have settled on Microsoft Foundation Class (MFC) as the starting point. Most of the applications are simple in that they require only one "document". There may be one or more load components, store components, display components, print components and some processing before, during or after any of these components. Some applications start with a blank window, some may start with a dialog box.
Applications may just start, process, and finish without human intervention. Others need input from humans in the form of requests or commands. Some of these request require the human to input data and in the MFC world that is usually done in a dialog box or edit window or windows somewhere in the window controlled by the application.
The Basic MFC Application Organization
If one uses Visual Studio to create a new application and just creates a minimal app without too many bells and whistles four main modules (classes) are created:
While not a Microsoft Engineer the following is my understanding of the purpose and utility of each module. The Application module is the starting point, contains some initialization, creates the Main Frame, Document and View objects and starts message handling. Messages are the fluid in the MFC world for moving data around among the basic modules of the program.
The Main Frame module constructs the window components that we see on the screen. Components such as the border, the menu bar, the tool bar, the status border at the bottom of the window and the blank window. It manages the window's position on the screen and the window's size. Since messages are generated by left mouse and right mouse clicks on components of the menu and tool bar this module must initialize that process also. The library contains a Toolbar module that allows one to add buttons and drop down lists to the toolbar. Some of those features are described in the CMainFrm Module.
The "document" object appears to be the place where most of the commands and some of the processing should be handled but that is just my opinion. In most of my applications I handle the initial command response in the document module but quickly transfer control to the actual processing to the domain that is intimately involved with nature of the processing. Note that the "serialize" function is intended to do loading and storing and that functionality (although changed) supports the notion that commands are to be handled in the "document" module. A description of the serialization process is found in the "Serialize Operations" discussion.
The "view" object by its very name has something to do with the display and printing that application needs to do. But as I've learned over time, this is not as easy as it sounds. Back when I started in this business the output medium was a roll of paper. Output was done by sending characters to that paper. This was really easy to do and output statements were placed in line with the code gathering the output. We only needed to worry about the width of the paper and that was accomplished by counting characters, only 80 or a bit fewer would fit as there was only one font, the print head on the device. Now there may be as many as 900 different fonts, most of which are variable length, the window itself may be any size, wide and short, narrow and long, medium and medium. So how does one manage to make a presentable output with so many variables. My answer has been to separate the output generation from the output presentation. A discussion of the organization of the program for printing is contained in the Display or Print Operations page.
Over the years I've tried various schemes to tame the application. The version of the schemes used in the template involves base classes for all four main components with commonly used features in the base classes. Other sections describe the gist of the base classes and how load and store data from/to a file and how output to the display and printer is accomplished. Output should be easy and it almost is with the organization suggested herein.


The control supports having a custom CSS class name using the className option, which is used in this case to render the control on the right.
.olControlPanZoomBar { right: 46px; top: 4px; }


The following is a detailed description of the API. Please see the program named mypro.c for an example of the use of the API in dynamic mode.
stim_init
NAMEstim_cleanup
stim_init - allocates resources for RTStim APISYNOPSIS
#include stim.h
int stim_init(sched_struct *event);DESCRIPTION
This function initializes the RTStim API by creating a shared memory region between rt_stim (kernel-space) and stim (user-space). It also opens fifos between these two programs. The addresses and handles for these resources are returned in event.RETURN VALUE
On success 0 is returned. On failure 1 is returned.
NAME
stim_cleanup - deallocate resources for RTStim APISYNOPSIS
#include stim.h
int stim_cleanup(sched_struct *event);DESCRIPTION
This function deallocates the shared memory regions and fifos which were allocated by stim_init.RETURN VALUE
Always returns 0.
sched_events
NAME
sched_events - schedules a number of events to occurSYNOPSIS
#include stim.h
int sched_events(sched_struct event , int start, int end);DESCRIPTION
This function schedules events. The user-space code written by the user will call this function in advance of the desired scheduling times. Multiple events may be scheduled with one use of sched_events. The variables start and end refer to the first and last elements of the ctrl_struct which defines the type of event and its characteristics.RETURN VALUE
Always returns 0.
load_image_list
NAMEload_sound_list
load_image_list - loads images (.bmp files)SYNOPSIS
#include stim.h
int load_image_list(d_struct *ds, sched_struct *event, int first, int last, char* dir_path);DESCRIPTION
This function loads the image files (and palettes) listed in the file named image_list.txt. The variables first and last refer to image files as listed in image_list.txt. The variable dir_path is the path to the directory containing the files image_list.txt and sound_list.txt.RETURN VALUE
On success 0 is returned. On failure 1 is returned.
NAME
load_sound_list - loads sounds (.wav files)SYNOPSIS
#include stim.h
int load_sound_list(d_struct *ds, sched_struct *event, int first, int last, char * dir_path);DESCRIPTION
This function loads the sound files (.wav files) listed in the file named sound_list.txt. The variables first and last refer to sound files as listed in sound_list.txt. The variable dir_path is the path to the directory containing the files image_list.txt and sound_list.txt.RETURN VALUE
On success 0 is returned. On failure 1 is returned.
responseNAME
response - writes collected responses to a fileSYNOPSIS
#include stim.h
int response(sched_struct *event, char *dir_path);DESCRIPTION
This function writes the collected responses to a file named response.txt in the stimulus directory. The variable dir_path is the path to the directory containing the files image_list.txt and sound_list.txt.RETURN VALUE
Always returns 0.


The profiled code ran for {{TotalTime}}ms. Of this, {{GCOverheadTime}}ms were spent on garbage collection (that's {{GCOverheadTimePercent}}%).
The dynamic optimizer was active for {{SpeshTimePercent}}% of the program's run time.
| Executing Code |
{{ExecutingTimePercent}}%
({{ExecutingTime}}ms)
|
| Garbage Collection |
{{GCTimePercent}}%
({{GCTime}}ms)
|
| Dynamic Optimization |
{{SpeshTimePercent}}%
({{SpeshTime}}ms)
|
In total, {{EntriesWithoutInline}} call frames were entered and exited by the profiled code. Inlining eliminated the need to create {{EntriesInline}} call frames (that's {{InlinePercent}}%).
| Interpreted Frames |
{{InterpFramesPercent}}%
({{InterpFrames}})
|
| Specialized Frames |
{{SpeshFramesPercent}}%
({{SpeshFrames}})
|
| JIT-Compiled Frames |
{{JITFramesPercent}}%
({{JITFrames}})
|
The profiled code did {{GCRuns}} garbage collections. There were {{FullGCRuns}} full collections involving the entire heap.
The average nursery collection time was {{NurseryAverage}}ms. The average full collection time was {{FullAverage}}ms. On average, {{AverageParticipants}} threads participated in GC.
Scalar replacement eliminated {{ScalarReplacements}} allocations (that's {{ScalarReplacementPercent}}%).
Of {{OptimizedFrames}} specialized or JIT-compiled frames, there were {{DeoptOnes}} deoptimizations (that's {{DeoptOnePercent}}% of all optimized frames).
There was no global deoptimization triggered by the profiled code.
There was one global deoptimization triggered by the profiled code.
There were {{DeoptAlls}} global deoptimization triggered by the profiled code.
There was no On Stack Replacement performed while executing the profiled code (normal if the code lacks long-running loops with many iterations).
There was one On Stack Replacement performed while executing the profiled code.
There were {{OSRs}} On Stack Replacements performed while executing the profiled code.
| Name | Entries | Inclusive Time | Exclusive Time | Interp / Spesh / JIT |
|---|---|---|---|---|
|
{{routine.Name}} {{routine.File}}:{{routine.Line}} |
{{routine.Entries}} |
{{routine.InclusiveTimePercent}}%
({{routine.InclusiveTime}}ms)
|
{{routine.ExclusiveTimePercent}}%
({{routine.ExclusiveTime}}ms)
|
OSR
|
{{Current.name == '' ? '<anon>' : Current.name}}
{{File}}:{{Line}}
| Calls (Inlined) |
{{Entries}}
{{Entries}} +
{{InlineEntries}} ({{InlinePercent}}%)
|
| Interpreted Calls |
{{InterpPercent}}%
({{InterpEntries}})
|
| Specialized Calls |
{{SpeshPercent}}%
({{SpeshEntries}})
|
| JIT-Compiled Calls |
{{JITPercent}}%
({{JITEntries}})
|
| Name | Calls | Time In Callee | Interp / Spesh / JIT | Inlined |
|---|---|---|---|---|
|
{{callee.Name}} {{callee.File}}:{{callee.Line}} |
{{callee.Calls}} |
{{callee.TimePercent}}%
({{callee.Time}}ms)
|
|
{{callee.InlinedPercent}}%
{{callee.InlinedPercent}}%
|
| Name | Allocations | Allocating Routines |
|---|---|---|
| {{alloc.Name}} |
{{alloc.Allocations}}
|
View |
| Start Time | Run | Full | Time | Nursery: Retained / Promoted / Freed |
|---|---|---|---|---|
| {{gc.StartTime}}ms | {{gc.Run}} |
{{gc.Time}}ms
|
{{gc.RetainedKilobytes}}KB /
{{gc.PromotedKilobytes}}KB /
{{gc.ClearedKilobytes}}KB ...
{{gc.Gen2Roots}} gen2 roots
|
On Stack Replacement detects routines containing hot loops that are being interpreted, and replaces them with specialized or JIT-compiled code.
| Routine | On Stack Replacements |
|---|---|
|
{{osr.Name}} {{osr.File}}:{{osr.Line}} |
{{osr.Count}}
|
No OSR was performed during this profile.
Local deoptimization happens when a guard in specialized or JIT-compiled code fails. Since the code was produced assuming the guard would hold, the VM falls back to running the safe, but slower, interpreted code.
| Routine | Deoptimizations |
|---|---|
|
{{deopt.Name}} {{deopt.File}}:{{deopt.Line}} |
{{deopt.Count}}
|
No local deoptimizations occurred during this profile.
Global deoptimization happens when an event occurs that renders all currently type-specialized or JIT-compiled code on the call stack potentially invalid. Mixins - changing the type of an object in place - are a common reason.
| Routine | Deoptimizations |
|---|---|
|
{{deopt.Name}} {{deopt.File}}:{{deopt.Line}} |
{{deopt.Count}}
|
No global deoptimizations occurred during this profile.


{{template "header.html" .Header}}
An e-mail will be sent with the title: {{.Site}} message from {{.Sender}}. It won't contain any contact details for you, you will have to add them.


class: center, middle, main-title # Intro to statistical modeling These notes will show an overview of statistical modeling. We will cover how to model outcomes of various varieties and briefly discuss the pros and cons of various modeling approaches. --- ## Fundamentals of modeling So, you have some data. Now you need to write down a model of how the variables in the data interact with each other. - Why do I need a model? - because you're interested in either predicting some outcome variable (like sales) - or because you're interested in understanding a causal relationship (e.g. between advertising and sales) --- ### The types of variables in a model 1. Outcome variable (typically denoted **y**), aka: - response variable - dependent variable - target variable 1. Covariates (typically denoted **x**), aka: - predictors - features - independent variables - control variables 1. Parameters (typically denoted **β** or **θ**): - map covariates into outcomes 1. Error term (typically denoted **ε**), aka: - unobservables - distrubance term --- ### What is a model? A **model** is a mapping between covariates, parameters, unobservables, and outcomes. It is the "production function" that generates the outcome we are interested in. Most generally, the model is: y = f(x,θ,ε) The model can be as simple as y = β
0
+ β
1
x
1
+ β
2
x
2
+ ε or it can be as complex as y = β
0
x
1
(β
1
)
β
2
x
2
e
ε
A model can even have a θ that is *infinite-dimensional*. We call this a **non-parametric** model. (Equivalently, a non-parametric model is one in which we do not make any assumption about the distribution from which ε is drawn.) --- ## The types of variables Variables can be: - continuous - binary - categorical (ordered) - categorical (unordered) - integers (i.e. counts) Note that both dependent and independent variables can be of these types --- ## Modeling dependent variables For each type of dependent variable, we can come up with a statistical model to describe the relationship between the dependent variable and the covariates and unobservables. All models fall under two umbrellas: 1. Parametric 1. Nonparametric - The advantage of a parametric model is that one can interpret the model by looking at the parameters. The disadvantage is that it may not always be flexible enough to fit the data perfectly. - The advantage of a nonparametric model is that it typically fits the data better. The disadvantage is that it may not be readily interpretable. --- ## Continuous dependent variables A variable is **continuous** if it takes on any real number over some range (typically the entire real number line or the positive real numbers) **Examples:** sales, earnings, number of page clicks, etc. The table below lists examples of parametric and nonparametric models appropriate for dependent variables that are continuous. | Parametric | Nonparametric | |--|--| | OLS | regression tree (forest, etc.) | | Quantile regression | support vector machine (including k-nearest neighbor) | | naive Bayes regression | Artificial Neural Network (ANN) | | | genetic programming (GP) | | | ... | --- ## Binary dependent variables A variable is **binary** if it only takes on two values (without loss of generality: 0 or 1) **Examples:** product was purchased by customer (or not), individual has cancer (or not), loan is in default (or not) | Parametric | Nonparametric | |--|--| | Logistic regression | classification tree (forest, etc.) | | Probit regression | support vector classifier | | naive Bayes classification | Artificial Neural Network (ANN) | | | genetic programming (GP) | | | ... | --- ## Ordered categorical dependent variables (aka Ordinal variables) A variable is **ordered categorical** if it takes on a finite (typically small) set of values (without loss of generality: 0, 1, ..., K) and where *order matters* (i.e. K > K-1 > K-2 > ... > 1 > 0). Values are mutually exclusive, so that each observation in the data belongs to one and only one category. **Example 1:** consumer has "interest" in a product by either: (0) not clicking on it; (1) clicking on it but not adding it to the cart; (2) adding it to the cart but not purchasing it; (3) purchasing it once; or (4) purchasing it multiple times **Example 2:** a loan is either: (0) neither in default nor foreclosure; (1) in default but not in foreclosure; or (2) in foreclosure | Parametric | Nonparametric | |--|--| | Ordered logistic regression | ordinal trees | | Ordered probit regression | support vector ordinal regression | | | ANN | | | GP | | | ... | --- ## Unordered categorical dependent variables A variable is **unordered categorical** if it takes on a finite (typically small) set of values (without loss of generality: 0, 1, ..., K) but where *there is no inherent ordering among the categories*. Values are mutually exclusive, so that each observation in the data belongs to one and only one category. **Example 1:** consumer can purchase: (0) no handbags; (1) Louis Vuitton handbags; (2) Coach handbags; (3) Other designer handbags; or (4) non-designer ("generic") handbags **Example 2:** a person can choose to live in either: (0) Oklahoma City metro area; (1) Tulsa metro area; or (2) somewhere else in Oklahoma The algorithms here are exactly the same as for binary dependent variables, except that now there are multiple categories. | Parametric | Nonparametric | |--|--| | Multinomial logistic regression | classification tree (forest, etc.) | | Multinomial probit regression | support vector classifier | | naive Bayes classification | Artificial Neural Network (ANN) | | | genetic programming (GP) | | | ... | --- ## Integer-valued dependent variables A variable is **integer-valued** if it takes on values in the set of integers (0, 1, 2, ..., ∞). Sometimes data that has this property is referred to as **count data**. **Example 1:** consumer can smoke 0, 1, or more cigarettes in a day. **Example 2:** a soccer team can score 0, 1, ..., 8 goals in a game. **Example 3:** a city can experience 0, 1, or more vehicle accidents in a day. Depending on the setting, some researchers will simply assume log-normality of the dependent variable in this case. Again, a choice like this really depends on the exact case. The parametric algorithms for modeling count data are a bit different from before, but the nonparametric algorithms are quite similar: | Parametric | Nonparametric | |--|--| | Poisson regression | regression tree (forest, etc.) | | Negative binomial regression | support vector machine | | zero-inflated count models | Artificial Neural Network (ANN) | | zero-truncated count models | genetic programming (GP) | | | ... | --- ## Independent variables As mentioned previously, we can have all kinds of independent variables. Some helpful things to know about independent variables: - don't treat an ordered categorical variable as a continuous variable - use "one-hot" encoding of categorical variables (equivalently `as.factor()` in R) - if using a liner regression model, it is sometimes helpful to create polynomial functions of continuous covariates - interacting two binary covariates (or a binary and a continuous covariate) can also be helpful ** How you specify your right hand side variables depends a lot on the goal of your model (i.e. prediction vs. causality)** --- ## Observational vs. Experimental data **Observational data** is data that has been collected for no particular purpose. - e.g. Census household survey data, twitter stream, Dow Jones stock prices, etc. **Experimental data** is data that scientists have set up where certain units are randomly assigned to take on certain values of a variable of interest (the **treatment variable**) **Causal inference** (as opposed to prediction) is the idea that we can figure out if **x** causes **y** by comparing units that were treated with those that were not treated. Causal inference requires knowing the "counterfactual": "What would have happened to units in the control group if they had been treated?" --- ## Estimating statistical models in R, Python, and Julia Libraries and functions (`library::function`) | Algorithm | R | Python | Julia | |--|--|--|--| | OLS | `base::lm` | `statsmodels::OLS` | `GLM::glm` | | trees | `rpart::rpart` | `sklearn::tree` | `DecisionTree::build_tree` | | k-nearest neighbor | `caret::knn3` | `sklearn::KNeighborsClassifier` | `NearestNeighbors::knn` | | SVM | `e1071::svm` | `sklearn::svm` | `LIBSVM::svmtrain` | | naive Bayes | `e1071::naiveBayes` | `sklearn::GaussianNB` | `NaiveBayes::HybridNB` | | ANN | `nnet::nnet` | `sklearn::neural_network` | `Knet::train` | | genetic prog. | `rgp::geneticProgramming` | `gplearn::est_gp.fit` | `GeneticAlgorithms::runga` | | logistic/probit regression | `base::glm` | `sklearn::linear_model.LogisticRegression` | `GLM::glm` | | ordered logit/probit | `MASS:polr` | `mord::LogisticIT` | `LowRankModels::OrderedMultinomialLoss` | | multionmial logit/probit | `nnet::multinom` | same as logistic | `SciKitLearn::LogisticRegression` | | Poisson regression | `base::glm` | `statsmodels::GLM` | `GLM::glm` | --- ## Useful Links - [Multiclass classification](https://en.wikipedia.org/wiki/Multiclass_classification) - [One-hot encoding](https://en.wikipedia.org/wiki/One-hot) - [Genetic programming example in R](https://www.kaggle.com/olegtereshkin/genetic-programming-r-example/code)


We provide great Service
The occupational traffic permit is one of the most important things in the company
when carrying out freight transport. In fact, it is a
prerequisite for doing business traffic at all.
-
Web design
Here you can find all
web design and all of yours
designing meterials -
Health and study
Here you can find all
your primary health your
good health and education -
Packaging
Consistency in packaging
matter a lot. Give your attention
match design elements -
Content writing
It can be understood
that your fonts, sizes, headings,
sub-headings, and button
First see how to expand
or our demo
Best Feature in the world
Here you get the best featured in the world and you can do the best thing
when carrying out freight transport. In fact, it is a
-
Customer
The occupational traffic permit is one things in the company How do you a commercial traffic permit for freight transport to your business?
-
Provider
The occupational traffic permit is one things in the company How do you a commercial traffic permit for freight transport to your business?


| Values |
| COMPONENT_ATTACHED |
an event of this kind is broadcast whenever a component is
attached to a frame
|
| COMPONENT_DETACHING |
an event of this kind is broadcast whenever a component is
detaching from a frame
|
| COMPONENT_REATTACHED |
an event of this kind is broadcast whenever a component is
attached to a new model.
|
| FRAME_ACTIVATED |
an event of this kind is broadcast whenever a component gets
activated
|
| FRAME_DEACTIVATING |
an event of this kind is broadcasted immediately before the
component is deactivated
|
| CONTEXT_CHANGED |
an event of this kind is broadcast whenever a component changes
its internal context (i.e., the selection).
|
| FRAME_UI_ACTIVATED |
an event of this kind is broadcast by an active frame when it
is getting UI control (tool control).
|
| FRAME_UI_DEACTIVATING |
an event of this kind is broadcast by an active frame when it
is losing UI control (tool control).
|
| Values' Details |
COMPONENT_ATTACHED
COMPONENT_ATTACHED,
- Description
- an event of this kind is broadcast whenever a component is
attached to a frame
This is almost the same as the instantiation of the component
within that frame. The component is attached to the frame
immediately before this event is broadcast.
- See also
- XFrame::setComponent()
|
|
COMPONENT_DETACHING
COMPONENT_DETACHING,
- Description
- an event of this kind is broadcast whenever a component is
detaching from a frame
This is quite the same as the destruction of the component
which was in that frame. At the moment when the event is broadcast
the component is still attached to the frame but in the next
moment it won't.
- See also
- XFrame::setComponent()
|
|
COMPONENT_REATTACHED
COMPONENT_REATTACHED,
- Description
- an event of this kind is broadcast whenever a component is
attached to a new model.
In this case the component remains the same but operates
on a new model component.
|
|
FRAME_ACTIVATED
FRAME_ACTIVATED,
- Description
- an event of this kind is broadcast whenever a component gets
activated
Activations are broacast from the top component which was
not active before, down to the inner most component.
- See also
- XFrame::activate()
|
|
FRAME_DEACTIVATING
FRAME_DEACTIVATING,
- Description
- an event of this kind is broadcasted immediately before the
component is deactivated
Deactivations are broadcast from the innermost component which
does not stay active up to the outer most component which does not
stay active.
- See also
- XFrame::deactivate()
|
|
CONTEXT_CHANGED
CONTEXT_CHANGED,
- Description
- an event of this kind is broadcast whenever a component changes
its internal context (i.e., the selection).
If the activation status within a frame changes, this counts as
a context change too.
- See also
- XFrame::contextChanged()
|
|
FRAME_UI_ACTIVATED
FRAME_UI_ACTIVATED,
- Description
- an event of this kind is broadcast by an active frame when it
is getting UI control (tool control).
- See also
- XFrame::activate()
|
|
FRAME_UI_DEACTIVATING
FRAME_UI_DEACTIVATING,
- Description
- an event of this kind is broadcast by an active frame when it
is losing UI control (tool control).
- See also
- XFrame::deactivate()
|
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


Head Office: Bengaluru Address: 1467, 1ST Floor, 17th Main Road, Muneshwara Block, Banashankari, Bengaluru, Karnataka- 560026 Tel:<PHONE_NUMBER>6,<PHONE_NUMBER>
Branch Office : Rajasthan Address: No 6, Gaytri Building opp. M.I.Road Jaipur Rajasthan Tel: 0141–4022231
Branch Office : Andaman Address: Bhavani complex, near durga mandir, nayagaon, port blair south andaman 744106
Branch Office : Bengaluru Address: No 3 , Ground Floor No 19 Sarvice Road , Nagarabavi, Bangalore Karnataka -560026 Tel:<PHONE_NUMBER>5,<PHONE_NUMBER>0,<PHONE_NUMBER>
Branch Office : Sirsi Address: Nayak Building, Hospete Road, Sirsi, Uttara Kannada, 581 401 Tel :<PHONE_NUMBER>,<PHONE_NUMBER>0


Welcome to the javascript coding quiz. The faster and more accurately you answer the questions the better your score will be. Good luck!


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import uk.gov.hmrc.hmrcfrontend.views.html.components._ @import uk.gov.hmrc.icedsubscriptionfrontend.views.html.helpers._ @this(layout: Layout, hmrcPageHeading: HmrcPageHeading, p: p, paragraph: paragraph, heading2: heading2, bulletList: bulletList, link: link) @()(implicit messages: Messages, requestHeader: RequestHeader) @layout(pageTitle = Some(messages("service.pageTitle.format", messages("successfullyEnrolled.heading"))), showSignOutLink = true) { @hmrcPageHeading(PageHeading(text = messages("successfullyEnrolled.heading"))) @paragraph("successfullyEnrolled.para.1.1") @paragraph("successfullyEnrolled.para.1.2")


8.2. Using java.util.regexThe mechanics of wielding regular expressions with java.util.regex are fairly simple, with the functionality provided by only two classes, an interface, and an unchecked exception: java.util.regex.Pattern java.util.regex.Matcher java.util.regex.MatchResult java.util.regex.PatternSyntaxException Informally, I'll refer to the first two simply as "pattern" and "matcher," and in many cases, these are the only classes we'll use. A Pattern object is, in short, a compiled regular expression that can be applied to any number of strings, and a Matcher object is an individual instance of that regex being applied to a specific target string. New in Java 1.5, MatchResult encapsulates the data from a successful match. Match data is available from the matcher itself until the next match attempt, but can be saved by extracting it as a MatchResult. PatternSyntaxException is thrown when an attempt is made to use an illformed regular expression (one such as [oops) that's not syntactically correct). It extends java.lang.IllegalAgumentException and is unchecked. Here's a complete, verbose example showing a simple match: public class SimpleRegexTest { public static void main(String[] args) { String myText = "this is my 1st test string"; String myRegex = "\\d+\\w+"; // This provides for \d+\w+ java.util.regex.Pattern p = java.util.regex.Pattern.compile(myRegex); java.util.regex.Matcher m = p.matcher(myText); if (m.find()) { String matchedText = m.group(); int matchedFrom = m.start(); int matchedTo = m.end(); System.out.println("matched [" + matchedText + "] " + "from " + matchedFrom + " to " + matchedTo + "."); } else { System.out.println("didn't match"); } } } This prints 'matched [1st] from 12 to 15.'. As with all examples in this chapter, names I've chosen are italicized. The parts shown in bold can be omitted if import java.util.regex.*; is inserted at the head of the program, as with the examples in Chapter 3 (☞ 95). Doing so is the standard approach, and makes the code more manageable. The rest of this chapter assumes the import statement is always supplied. The object model used by java.util.regex is a bit different from most. In the previous example, notice that the Matcher object m, after being created by associating a Pattern object and a target string, is used to launch the actual match attempt (with its find method), and to query the results (with its group, start, and end methods). This approach may seem a bit odd at first glance, but you'll quickly get used to it. |


Installing GNU/Linux on Macbook!
Introduction
This article is about setting up GNU/Linux based operating system like Ubuntu, Kali Linux, ParrotSec OS, etc in your Macbook along with your mac’s macOS. If you are GNU/Linux fan and have no idea about how to setup in your Macbook, this article might be helpful.