Step 3: Discovery
Discovery validates and expands upon the initial project definition. Deeper understanding is developed through design research focused on business and customer needs. Technical investigation also happens in this phase. These activities serve as the foundation for product concept exploration.
Outputs
- Discovery Report
Leads
- Project Team POC
- Project Team Leads
- VA Product Lead
Participants
- Engineering
- Full stack engineer
- Site reliability engineer
- Front-end developer
- Engineering lead
- Data scientist
- Content Strategist
- VA Product Lead
- VA Content Writers
- VA SMEs
- Design researcher
- UX Designer
VA Stakeholder Engagement
- Participate in working sessions to provide business requirements, validate design concepts, and provide feedback to vets.gov team as needed.
- Provide requested documentation and timely responses to questions as requested.
- Provide introductions / access to end users as available.
- Provide any available feedback or data about end users
- Develop launch communication plan
- Provide input for sunset strategy for systems and content
Engineering
- Identify all required data elements.
- Identify data collection needs and data-driven goals. (For example, tracking completion rates for a form, or top search terms.)
- Identify related systems. Plan for rebuild, or integration. (For example, sending an electronic disability claim.)
- Define system architecture including data, security, integrations and services
Search
- Identify current user search terms on Google, VA.gov
- Identify initial keyword list
Content
- Define goals for content. What do users need?
- Review existing content, online and off. What can be incorporated? What needs to be newly created?
- Define feature set – the content elements that will be included in this release.
- Use vets.gov Style Guide in creating new content and revising any that’s reused.
Design Research
- Review existing research to determine how much additional research is required.
- Create a research plan
- Conduct research
- Synthesize findings
- Document findings
- Share with larger core vets.gov team and with the business partner team
Design
- Heuristic audit


Workshop
Building a JBoss BPM Travel Agency
Now that we have logged in, everything is running, we can start by creating the last two (2)
guided rules needed for form field validation. We want to make sure that the user only submits
the available to and from destinations for travel that we support.
You will find that most of the JBoss BPM Travel Agency artifacts have been provided, just a
couple of validation rules need to be created and a partial process needs to be finished. Let's
get started, shall we?
Lab 02 - Create Guided Rules
Lab Goal
To create guided rules for form field validation for JBoss BPM Travel Agency
Creating guided rules
- Start by creating new guided rule:
AUTHORING -> PROJECT AUTHORING -> NEW ITEM -> GUIDED RULE
RESOURCE NAME: InvalidToDestination
PACKAGE: default
- don't check the DSL box, click on
+OK
Creating guided rules
- Before writing the rule we need to import the needed model
- We need a few objects for this rule:
CONFIG tab on the bottom of rule
Creating guided rules
- Let's add the Rejection object:
NEW ITEM button at top, select Rejection
- click on
+OK
Creating guided rules
- Repeat the same to add
TravelDetails
:
CONFIG tab on the bottom of rule
NEW ITEM button at top, select TravelDetails
- click on
+OK
Creating guided rules
- Your
CONFIG
tab should look like this:
Creating guided rules
- Now return to the
Editor
tab an start designing our rule
- Click on condition (WHEN)
GREEN PLUS ICON
top right
- Select
TravelDetails
and click +OK
Creating guided rules
- Click on line
'There is a TravelDetails'
- Select
toDestination
in 'Add a restriction to a field'
Creating guided rules
- Select
'is not contained in...'
from pull-down menu
- click on
pencil mini icon
and click on 'Literal value'
in pop-up
Creating guided rules
- Enter text in field:
Edinburgh, Glasgow
Creating guided rules
- The action (THEN) is a two part action
- The first action is to put a Rejection fact into memory
- We will use this to decide in the process if the field was valid:
- click on action (THEN)
GREEN PLUS ICON
on far right
- select
Rejection
and click +OK
- click on
Insert Rejection
, add BOUND VARIABLE: 'fact0'
, click on SET
Creating guided rules
- Your rule should look just like below
- Next we add a reason for the rejection
Creating guided rules
- This reason will be used to report why the destination was rejected:
- click on
Insert Rejection
, select ADD FIELD: reason
- click on
PENCIL MINI ICON
, select FIELD VALUE: Literal value
Creating guided rules
- REASON:
Sorry!!! We do not provide service to this destination.
- Your rule should look just like below
Creating guided rules
- Now we add a second action (THEN) to log our actions
- click on action (THEN)
GREEN PLUS ICON
on far right
- select
Add free form DRL
and click +OK
Creating guided rules
- Now we add a second action (THEN) to log our actions
- click on action (THEN)
GREEN PLUS ICON
on far right
- select
Add free form DRL
and click +OK
- Enter text:
System.out.println("Rejected due to invalid To Destination.");
Creating guided rules
- Expand the 'show options' and add attributes (use GREEN PLUS ICON on right):
DIALECT: MVEL
RULEFLOW-GROUP: rejection
Save your guided rule
- Rule should look like shown below
- Save the rule with comment message
Create validation rule
Now you will create another rule that is quite similar to the previous rule, just this
time we will be creating a rule to validate the data field:
FROM DESTINATION
Creating guided rules
- Start by creating new guided rule:
AUTHORING -> PROJECT AUTHORING -> NEW ITEM -> GUIDED RULE
RESOURCE NAME: InValidFromDestination
PACKAGE: default
- don't check the DSL box, click on
+OK
Creating guided rules
- Before writing the rule we need to import the needed model
- We need a few objects for this rule:
CONFIG tab on the bottom of rule
Creating guided rules
- Let's add the Rejection object:
NEW ITEM button at top, select Rejection
- click on
+OK
Creating guided rules
- Repeat the same to add
TravelDetails
:
CONFIG tab on the bottom of rule
NEW ITEM button at top, select TravelDetails
- click on
+OK
Creating guided rules
- Repeat the same to add
BookingObject
:
CONFIG tab on the bottom of rule
NEW ITEM button at top, select BookingObject
- click on
+OK
Creating guided rules
- Your
CONFIG
tab should look like this:
Creating guided rules
- Now return to the
Editor
tab an start designing our rule
- Click on condition (WHEN)
GREEN PLUS ICON
top right
- Select
TravelDetails
and click +OK
Creating guided rules
- Click on line
'There is a TravelDetails'
- Select
fromDestination
in 'Add a restriction to a field'
Creating guided rules
- Select
'is not contained in...'
from pull-down menu
- click on
pencil mini icon
and click on 'Literal value'
in pop-up
Creating guided rules
- Enter text in field:
London, Gatwick, Farnborough
Creating guided rules
- The action (THEN) is a two part action
- The first action is to put a Rejection fact into memory
- We will use this to decide in the process if the field was valid:
- click on action (THEN)
GREEN PLUS ICON
on far right
- select
Rejection
and click +OK
- click on
Insert Rejection
, add BOUND VARIABLE: 'fact0'
, click on SET
Creating guided rules
- Your rule should look just like below
- Next we add a reason for the rejection
Creating guided rules
- This reason will be used to report why the destination was rejected:
- click on
Insert Rejection
, select ADD FIELD: reason
- click on
PENCIL MINI ICON
, select FIELD VALUE: Literal value
Creating guided rules
- REASON:
Sorry!!! We do not provide service from this destination.
- Your rule should look just like below
Creating guided rules
- Now we add a second action (THEN) to log our actions
- click on action (THEN)
GREEN PLUS ICON
on far right
- select
Add free form DRL
and click +OK
Creating guided rules
- Now we add a second action (THEN) to log our actions
- click on action (THEN)
GREEN PLUS ICON
on far right
- select
Add free form DRL
and click +OK
- Enter text:
System.out.println("Rejected due to invalid From Destination.");
Creating guided rules
- Expand the 'show options' and add attributes (use GREEN PLUS ICON on right):
DIALECT: MVEL
RULEFLOW-GROUP: rejection
Save your guided rule
- Rule should look like shown below
- Save the rule with comment message
Building the Travel Agency
(next up, completing a BPM process...)
- Racing Camel with BPM and Red Hat JBoss Fuse


Collaborate on new storyline for Chelos
Assist in providing hardware and software solutions enabling delivery of the latest Kloves technologies…
25
Vincent Lawson
IT Department
Audio Technology for TV
Help to maintain the QA environment, assist in design, write & execute tests of audio coding & audio processing…
25
Vincent Lawson
IT Department
Restock merchandize at the welcome customer store
Assist in providing hardware and software solutions enabling delivery of the latest Kloves technologies…
25
Monique Clarke
IT Department
@Dirk Diggler Thank you for a magnificent job on the welcome aboard pamphlets! #designexpert
25
Broadcast Professional Products
Assist in providing hardware and software solutions enabling delivery of the latest Kloves technologies…
25
Vincent Lawson
IT Department
Create slideshow from presentation deck
Assist in providing hardware and software solutions enabling delivery of the latest Kloves technologies…
25
Vincent Lawson
IT Department
Natasha Vargas validated Dirk Diggler’s skill sets UX/UI, Front-end Development
25


ABOUT ME
Brief Introduction
Hello, my name is Shanythia Richards, I have been what feels like a vagabond for years; I recently quit the only job I truly enjoyed recently to pursue the career I have been preparing myself for unknowingly for years. A relaxing hobby was turning into currently something more significant than I could have ever imagined. I am very excited to see my skills refined for the workforce. ( soon to be revamped )
Education & Work History
HOPE WORKS , Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ut risus urna. Sed convallis risus velit, vitae gravida est vulputate nec. Nullam quam elit, mollis sed feugiat ac, aliquam at massa. s turpis.
Pottery Barn Outlet, Responsible for receiving and processing new merchandise, making sure received items were undamaged during shipping before being placed on the sales floor. Keeping the stockroom clean and organized, I occasionally trained new hires on how to process efficiently.
Soft & Hard Skills
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ut risus urna. Sed convallis risus velit, vitae gravida est vulputate nec. Nullam quam elit, mollis sed feugiat ac, aliquam at massa. s turpis.
Contact Me
---


We're sorry but vuex-memory-game doesn't work properly without JavaScript enabled. Please enable it to continue.
vuex-memory-game
A simple memory game built with Vue.js, VueX, Tachyons.css and lots of Love.
See code on GitHub


Home
Work
Company
Careers
Log in
Sign Up
Home
GitHub
Glot.io
Stack Exchange
LinkedIn
Twitter
Blog
Music Stream
danucalovj.github.io
Home
+
=
Repositories
Semantic UI
Semantic empowers designers and developers by creating a shared vocabulary for UI.
Github
Website
Node.js
A JavaScript runtime built on Chrome's V8 JavaScript engine. Run server-side JavaScript code.
Github
Website
jQuery
jQuery: The Write Less, Do More, JavaScript Library for simplifying JavaScript code.
Github
Website
Bootstrap
Build responsive, mobile-first projects with the world's most popular front-end component library.
Github
Website


Redmi Note 8 Pro review: Great hardware limited by poor software choices
Source: Apoorva Bhardwaj/Android Central
You know how this goes. Xiaomi knows how to roll out a phone that offers great value for money, but for whatever reason the brand just isn't able to deliver software that's free from clutter. Xiaomi has managed to hold onto its crown as India's largest handset manufacturer for two years in a row, but Realme has made considerable gains in the country over the last 15 months.
The result is a frenetic launch cycle as both brands try to outdo one another. Xiaomi rolled out the Redmi Note 7 Pro, and Realme introduced the Realme 3 Pro. Xiaomi came out with the Redmi K20 series, and Realme launched the Realme X. To say that this year has been particularly busy in India's budget segment would be an understatement.
As we get to the tail end of 2019, Xiaomi and Realme are back at it. This time, both brands are debuting phones with 64MP cameras at the back. Realme got a headstart in the Realme XT, and Xiaomi is now introducing the Redmi Note 8 Pro. This time around, both devices have near-identical features, a near-identical design aesthetic, and 64MP cameras at the back. Let's see if Xiaomi still has the advantage.
You get what you pay for
Redmi Note 8 Pro
Bottom line: The Redmi Note 8 Pro gets a lot right: the Helio G90T is a great addition on the hardware front, as is the 64MP camera and 20MP front shooter. You also get great value, but the downside is the software — the phone is still on Pie, there's bloatware everywhere, and the MIUI 11 update won't be here until the end of the year.
The Good
- Great value
- Robust hardware
- Excellent battery life
- 64MP camera is a great addition
The Bad
- MIUI lacks polish
- Endless bloatware
- Still on Pie
Redmi Note 8 Pro Hardware
Source: Apoorva Bhardwaj/Android Central
The first thing you'll notice with the Redmi Note 8 Pro is just how similar it is to the Realme XT. Both phones have glass backs, and nearly identical gradient finishes. The design itself is markedly different from the Redmi Note 7 Pro, and it is easy to see the similarities between the phone and the Reedmi K20 series. The Gamma Green edition of the Redmi Note 8 Pro in particular is stunning.
Like its predecessor, the Redmi Note 8 Pro also features a mid-frame that's made out of plastic, and the front and rear panels of glass are protected by Gorilla Glass 5. The phone has a larger 4500mAh battery, however, and that has made it considerably heavier, coming in at 200g. The new camera housing at the back holds three sensors and the fingerprint reader — the macro lens sits underneath the LED flash module — and it juts considerably from the chassis. It does make the phone wobble when laid flat on a surface, and the positioning of the fingerprint sensor isn't ideal. It now sits higher than where your finger normally rests at the back, so you have to stretch your finger to access the reader.
Source: Apoorva Bhardwaj/Android Central
The in-hand feel is pretty great thanks to the curved sides, but the glass back does make the phone prone to fingerprint smudges. The power and volume buttons are on the right and easily accessible, and you get decent tactile feedback.
There are two slots on the left side of the phone; one holds two SIM cards, and the other a MicroSD card. You also get a 3.5mm jack at the bottom next to the USB-C port, and the IR blaster sits at the top. There's a single speaker at the bottom, and it just doesn't get loud enough for everyday use. Furthermore, it's easy to muffle the sound coming out of the speaker when gaming.
Robust hardware with a new gaming-focused chipset that ticks all the right boxes.
The front of the Redmi Note 8 Pro is similar to what we've seen this year from the brand — there's a tiny waterdrop cutout, thin bezels at the bottom, and a wide grille on top. The screen itself is larger than the one on the Redmi Note 7 Pro, with the phone now featuring a 6.53-inch IPS LCD panel. The resolution is the same at FHD+ (2340 x 1080), and the display quality is also unchanged. Colors are cool out of the box, and you have to manually tweak the color balance to get the panel to a more natural tone.
The panel itself is decent in its own right, but it isn't quite as good as the OLED display you get on the Realme XT. Furthermore, Xiaomi is still offering a traditional fingerprint module, while the XT has an in-screen solution that works just as reliably.
| Specs | Redmi Note 8 Pro |
|---|---|
| Software | Android 9.0 Pie |
| Display | 6.53-inch (2340x1080) IPS LCD |
| Chipset | 2.05GHz MediaTek Helio G90T |
| RAM | 6GB/8GB |
| Storage | 64GB/128GB |
| Rear Camera 1 | 64MP, ƒ/1.9 (primary) |
| Rear Camera 2 | 8MP, ƒ/2.2 (wide-angle) |
| Rear Camera 3 | 2MP, ƒ/2.4 (portrait) |
| Rear Camera 4 | 2MP, ƒ/2.4 (macro) |
| Front Camera | 20MP, ƒ/2.0 |
| Security | Rear fingerprint |
| Battery | 4500mAh, 18W |
| Connectivity | Wi-Fi 802.11 ac, BT5.0 |
| Colors | Gamma Green, Halo White, Shadow Black |
| Dimensions | 161.4 x 76.4 x 8.8mm |
| Weight | 200g |
Interestingly, Xiaomi went with MediaTek instead of Qualcomm for the Redmi Note 8 Pro. The phone is the first to be powered by the 12nm Helio G90T. MediaTek hasn't fared well in the mid-range segment, but it's looking to change that with the G90T, its first chipset optimized for gaming. The chipset features a two-core cluster with two Cortex A76 cores at 2.05GHz and six energy-efficient A55 cores at 2.0GHz, and ARM's Mali G76 GPU.
The Helio G90T is aimed at the mid-range segment, so it's going up against the likes of the Snapdragon 730G, Qualcomm's take on a gaming-centric chipset. The G90T manages to outmatch the regular 730 in synthetic tests, and almost comes close to last year's Snapdragon 845. That's a big deal when you consider the segment the Redmi Note 8 Pro is targeted at, and shows just how much power is on offer here.
The G90T is in a class of its own in terms of gaming, but there is an issue with overheating. The Redmi Note 8 Pro got uncomfortably hot after just 20 minutes of gaming, and Xiaomi's decision to add liquid cooling to bring down the thermals makes sense now.
On the battery side of things, the 4500mAh battery on the Redmi Note 8 Pro is more than adequate for a full day's worth of use. I routinely got two days of usage between charges, and the highlight this time around is 18W fast charge delivered over Quick Charge 4.0+. It is great to see Xiaomi offer fast charging options in this category, and you even get an 18W charger in the box.
Redmi Note 8 Pro Camera
Source: Apoorva Bhardwaj/Android Central
One of the standout features on the Redmi Note 8 Pro is the 64MP camera at the back. The primary sensor is joined by three other modules: an 8MP ultra-wide lens, 2MP portrait lens, and a 2MP macro shooter. If that arrangement sounds familiar, it's because Realme also uses the same exact array on the Realme XT.
It is coincidental that these two rivals somehow ended up with quad camera designs with the exact same hardware, but it is great news for customers as there's more choice if you're looking to pick up a phone with a 64MP shooter.
Source: Harish Jonnalagadda/Android Central
The 64MP Samsung GW1 sensor takes astounding photos in daylight, as you can see above. You get great colors with wide dynamic range, and the detail is preserved after zooming in as well. The phone also takes usable shots in artificial lighting, but it does struggle in low-light scenarios.
Furthermore, there's a noticeable difference in image quality between the main and ultra-wide lenses. You get decent shots at 2x zoom thanks to the larger 64MP shooter, and while the ultra-wide lens adds more versatility, it's clear that the portrait and macro lenses are there purely for marketing. I was able to get one or two usable shots out of the macro lens, but the effort involved in doing so makes it more of a hassle than an useful addition.
Redmi Note 8 Pro Software
Source: Apoorva Bhardwaj/Android Central
You know that the only reason Xiaomi is able to sell its devices for so less is because of ads. You get ads all over the interface in MIUI, and that's now a "feature" that's unique to Xiaomi. But with the Redmi Note 8 Pro, the bloatware situation is on an entirely different level.
The sheer amount of bloatware on this phone is mind-boggling — I haven't used any phone that has this much bloatware installed.
You get the usual set of Xiaomi services installed out of the box — Mi Credit, Mi Pay, Mi Video, Notes, Music, Mi Store, and Mi Community — and that's fine. But you also get a folder that includes Paytm, Facebook, Amazon, Netflix, Dailyhunt, Gaana, WPS Office, and Opera Mini. That's not all either; there's a secondary folder with "games" that you may find of interest, including Ludo Master, Dust Settle, Pop Shooter Blast, and Block Puzzle Guardian.
Xiaomi is now teaming up with Amazon, so you get two different apps for Alexa installed out of the box, with Xiaomi touting that the Redmi Note 8 Pro is the first phone in India to "offer" Alexa out of the box. The bloatware journey on the Redmi Note 8 Pro isn't done yet, because you also get two social networking apps: Helo and Likee. The latter has over 100 million installs and has an Editor's Choice award on the Play Store.
Source: Harish Jonnalagadda/Android Central
I've never heard of Likee before, but after launching the app for the first time it started playing a video that was wildly inappropriate. The fact that I couldn't find a list of four thumbnails that didn't have some kind of sexual content tells you everything you need to know about Likee. Xiaomi's audience skews younger, and for the brand chose to pre-install something like this on its latest phone is a misguided move.
Source: Harish Jonnalagadda/Android Central
I wanted to make sure I didn't opt in somewhere during the configuration, so I reset the Redmi Note 8 Pro and set up the phone as new. As you can see from the screenshots below, Likee and Hike are provided by Redmi, and there's no way to opt out of installing these apps. Even if you set up your phone as new, both apps will be installed as soon as you connect to a Wi-Fi network. Yes, you can uninstall both Helo and Likee, but the fact that they're pre-installed in the first place makes it infuriating.
Glance is back, showing ads when you're in the lock screen. And if you're not careful during initial configuration, you could end up installing even more "services," including the likes of TikTok, Khata Book, Videobook, Vigo Lite, and UC Mini. Regardless of what you do in MIUI, you'll see ads somewhere. Then there's the spam notifications. Xiaomi services like Mi Video and Music send a decent number of notifications over the course of the day, and it gets real annoying very fast.
Xiaomi's latest phone won't get the brand's latest software for two more months.
Xiaomi launched MIUI 11 alongside the Redmi Note 8 Pro, so you'd assume that the brand will offer the latest iteration of its skin on its latest phone out of the box. That isn't the case, and what makes the situation even more infuriating is that the Redmi Note 8 Pro will be the last phone to pick up the MIUI 11 build, a full two months from now. If that isn't a failure on th product side, I don't know what else is. Xiaomi is rolling out the update to 27 other phones before the Redmi Note 8 Pro, and it just isn't evident why customers picking up the phone will have to wait so long to use the latest software skin.
Furthermore, the Redmi Note 8 Pro comes with Pie out of the box, and there's no mention of Android 10. It is feasible we'll see the update alongside MIUI 11, but that hasn't been confirmed by Xiaomi, and given the brand's record in this area, it's safe to assume that you'll have to wait a while before you're on the latest version of Android.
Redmi Note 8 Pro Should you buy it?
Source: Apoorva Bhardwaj/Android Central
I've been reviewing Xiaomi products for over five years now. In that time, I used every single phone the manufacturer has released. I also ended up recommending dozens of Xiaomi products to friends and family, accompanied by a caveat around the software. That hasn't changed with the Redmi Note 8 Pro, but the sheer amount of bloatware on the phone makes me want to reconsider.
For my money, I'd pay a little more and get the Realme XT.
Then there's the fact that the phone won't receive the MIUI 11 update for another two months. Xiaomi's decision to monetize its phones via ads and pre-installed apps comes at the cost of user experience, and for a brand that prides itself on listening to its community, it has failed in this area.
You shouldn't have to put up with this much bloatware just to use a phone with a decent camera and great hardware. That's particularly true in India, where there's plenty of choice. If you need a phone with a 64MP camera, the Realme XT is the better option. Sure, it costs more money, but you're getting better software — I didn't think I'd ever say that of ColorOS — and an OLED panel with an in-screen fingerprint sensor. Right now, the Realme XT is the phone to beat in India's budget segment, and that should give Xiaomi pause.
3.5 out of 5
When seen against the Redmi Note 7 Pro, Xiaomi has managed to deliver in a lot of key areas with the Redmi Note 8 Pro. The Helio G90T is plenty fast in day-to-day use, the new design looks much more premium, and the 64MP camera has a lot to offer. That said, the Realme XT also has the same sensor, and it manages to do a better job taking photos. You won't see ads in the interface, the bloatware situation is much more manageable, and overall it's just a much better product.
You get what you pay for
Redmi Note 8 Pro
Same great value, same old software drawbacks.
The Redmi Note 8 Pro gets a lot right: the Helio G90T is a great addition on the hardware front, as is the 64MP camera and 20MP front shooter. You also get great value, but the downside is the software — the phone is still on Pie, there's bloatware everywhere, and the MIUI 11 update won't be here until the end of the year.
We may earn a commission for purchases using our links. Learn more.


Research area. My research focuses on Home Network
Measurement and Security.
This includes measuring home broadband performance,
studying devices in a home network, finding security vulnerabilities
and evaluating privacy concerns, as well as measuring wireless
performance to various devices.
Current Work. I am currently studying security vulnerabilies of
home networks with embedded devices.  The availability of high broadband
access speeds enables us to control them remotely, turning the network
from a Cloud to a Fog. In fact, by 2020, it is estimated that each
home will contain 20 connected devices. But such devices are insecure,
easily hackable, leak private data, and lack control.
Our aim is to study the security, privacy, and control of such smart-home
networks. Our approach to this problem is to measure the performance
and security of home networks; propose and implement a feasible
solution in a controlled setting; evaluate and reiterate our work in
practice.
Recent Publications.
-
A Case Study of Traffic Demand Response to Broadband Service-Plan Upgrades
S. Grover, R. Ensafi, N. Feamster
PAM 2016. [pdf]
-
The Internet of Unpatched Things (Talk)
S. Grover, N. Feamster
FTC PrivacyCon 2016. [pdf, YouTube]
-
Peeking Behind the NAT: An Empirical Study of Home Networks
S. Grover, M. Park, S. Sundaresan, S. Burnett, H. Kim, B. Ravi, N. Feamster
ACM SIGCOMM IMC 2013. [pdf, ppt]
-
Panoptes: Detecting Malware Activity in Home Networks
S. Grover, N. Feamster
UbiComp HomeSys 2013. Poster. [pdf]
-
mPaaS: Delivering Mobile Platforms as a Cloud Service
A. Gupta, S. Grover
USENIX NSDI 2013. Poster and Demonstration. [pdf]
-
FlowQoS: QoS for the Rest of Us
M. S. Seddiki, M. Shahbaz, S. Donovan, S. Grover, M. Park, N. Feamster, Y. Song
ACM SIGCOMM HotSDN 2014. [pdf]
-
Facade: High-Throughput, Deniable Censorship Circumvention Using Web Search
B. Jones, S. Burnett, N. Feamster, S. Donovan, S. Grover, S. Gunasekaran, K. Habak,
USENIX FOCI 2014 [pdf]
Conferences
-
A Case Study of Traffic Demand Response to Broadband Service-Plan Upgrades
S. Grover, R. Ensafi, N. Feamster
Passive and Active Measurement Conference (PAM)
Greece. March 2016. [pdf]
-
Facade: High-Throughput, Deniable Censorship Circumvention Using Web Search
B. Jones, S. Burnett, N. Feamster, S. Donovan, S. Grover, S. Gunasekaran, K. Habak,
USENIX Workshop on Free and Open Communication on the Internet
(FOCI)
San Diego, CA. August 2014. [pdf]
-
FlowQoS: QoS for the Rest of Us
M. S. Seddiki, M. Shahbaz, S. Donovan, S. Grover, M. Park, N. Feamster, Y. Song,
ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN)
Chicago, IL. August 2014. [pdf]
-
Peeking Behind the NAT: An Empirical Study of Home Networks
S. Grover, M. Park, S. Sundaresan, S. Burnett, H. Kim, B. Ravi, N. Feamster
ACM SIGCOMM Internet Measurement Conference
Barcelona, Spain, October 2013. [pdf,ppt]
-
Experimental Study of Mobility in the Soccer Field with Application to Real-Time Athlete Monitoring
V. Sivaraman, S. Grover, A. Kurusingal, A. Dhamdhere, A. Burdett
IEEE Wireless \& Mobile Computing, Networking and Communications (WiMob)
Niagara Falls, Canada, November 2010. Best Paper Award [pdf, alt]
-
A Real Time Face Tracking System using Rank Deficient Face Detection and Motion Estimation
V. Saxena, S. Grover, S. Joshi
IEEE Cybernetic Intelligent Systems (CIS)
London, UK, September 2008. [pdf, alt]
Journals
-
Performance Evaluation of Wireless Body Area Network using Cross Layer Approach
S. Grover
Master's Thesis, Indian Institute of Technology Roorkee
Roorkee, June 2010. [pdf]
-
An Experimental Study of Wireless Connectivity and Routing in Ad-hoc Sensor Networks for Real-Time Soccer Player Monitoring
V. Sivaraman, A. Dhamdhere, H. Chen, A. Kurusingal, S. Grover
Ad Hoc Networks (Elsevier)
May 2013. [pdf]
Talks/Posters
-
The Internet of Unpatched Things (Talk)
S. Grover, N. Feamster
Federal Trade Commission - PrivacyCon Washington D.C. January 2016. [pdf, mp4]
-
Panoptes: Detecting Malware Activity in Home Networks
S. Grover, N. Feamster
UbiComp Workshop on Design, Technology, Systems and Applications for the Home (HomeSys), Poster
Zurich, Switzerland. September 2013. [pdf]
-
mPaaS: Delivering Mobile Platforms as a Cloud Service
A. Gupta, S. Grover
USENIX Symposium on Networked Systems Design and Implementation (NSDI), Poster and Demonstration
Lombart, IL. April 2013. [pdf]
Academics
PhD (2012 - Current)
Computer Science
Princeton University
Advisor: Prof. Nick Feamster
Current GPA: 3.874/4.00
Integrated Dual Degree (2005 - 2010)
B.Tech, Electronics and Communication Engineering (ECE)
M. Tech Wireless Communication (WC)
Indian Institute of Technology (IIT), Roorkee
Thesis: Performance Evaluation of WBAN using Cross Layer Approach
CGPA: 8.062/10
Honors
Under Construction
Teaching
- COS126: Introduction to Computer Science, under Prof. Douglas Clark, Spring 2015
- CS351: Computer Networks, under Prof. Patrick Traynor, Fall 2013
Courses completed
- Software Defined Networks with Prof. Nick Feamster, Fall 2014
- Advanced Computer Networks with Prof. Mostafa Ammar, Fall 2013
- Network Security with Prof. Patrick Traynor, Spring 2013
- Practical Machine Learning with Prof. Héctor Corrada Bravo, Fall 2012
- Theory of Algorithms with Prof. Aravind Srinivasan, Fall 2012
Academic Affiliations
- NOISE lab, Princeton University [link]
- MUSE group, INRIA Paris [link]
Interesting Projects
Under Construction
Favorites


8.3. The Splay Tree (WORK IN PROGRESS)¶
Like the AVL tree, the splay tree is not actually a distinct data structure, but rather reimplements the BST insert, delete, and search methods to improve the performance of a BST. The goal of these revised methods is to provide guarantees on the time required by a series of operations, thereby avoiding the worst-case linear time behavior of standard BST operations. No single operation in the splay tree is guaranteed to be efficient. Instead, the splay tree access rules guarantee that a series of \(m\) operations will take \(O(m log n)\) time for a tree of \(n\) nodes whenever \(m \geq n\). Thus, a single insert or search operation could take \(O(n)\) time. However, \(m\) such operations are guaranteed to require a total of \(O(m \log n)\) time, for an average cost of \(O(\log n)\) per access operation. This is a desirable performance guarantee for any search-tree structure.
Unlike the AVL tree, the splay tree is not guaranteed to be height balanced. What is guaranteed is that the total cost of the entire series of accesses will be cheap. Ultimately, it is the cost of the series of operations that matters, not whether the tree is balanced. Maintaining balance is really done only for the sake of reaching this time efficiency goal.
The splay tree access functions operate in a manner reminiscent of the move-to-front rule for self-organizing lists, and of the path compression technique for managing a series of Union/Find operations. These access functions tend to make the tree more balanced, but an individual access will not necessarily result in a more balanced tree.
Whenever a node \(S\) is accessed (e.g., when \(S\) is inserted, deleted, or is the goal of a search), the splay tree performs a process called splaying. Splaying moves \(S\) to the root of the BST. When \(S\) is being deleted, splaying moves the parent of \(S\) to the root. As in the AVL tree, a splay of node \(S\) consists of a series of rotations. A rotation moves \(S\) higher in the tree by adjusting its position with respect to its parent and grandparent. A side effect of the rotations is a tendency to balance the tree. There are three types of rotation.
A single rotation is performed only if \(S\) is a child of the root node. The single rotation is illustrated by Figure 8.4.1. It basically switches \(S\) with its parent in a way that retains the BST property. While Figure 8.4.1 is slightly different from Figure 8.3.2, in fact the splay tree single rotation is identical to the AVL tree single rotation.
Unlike the AVL tree, the splay tree requires two types of double rotation. Double rotations involve \(S\), its parent (call it \(P\)), and \(S\) ‘s grandparent (call it \(G\)). The effect of a double rotation is to move \(S\) up two levels in the tree.
The first double rotation is called a \(zigzag rotation\). It takes place when either of the following two conditions are met:
\(S\) is the left child of \(P\), and \(P\) is the right child of \(G\).
\(S\) is the right child of \(P\), and \(P\) is the left child of \(G\).
In other words, a zigzag rotation is used when \(G\), \(P\), and \(S\) form a zigzag. The zigzag rotation is illustrated by Figure 8.4.2.
The other double rotation is known as a zigzig rotation. A zigzig rotation takes place when either of the following two conditions are met:
\(S\) is the left child of \(P\), which is in turn the left child of \(G\).
\(S\) is the right child of \(P\), which is in turn the right child of \(G\).
Thus, a zigzig rotation takes place in those situations where a zigzag rotation is not appropriate. The zigzig rotation is illustrated by Figure 8.4.3. While Figure 8.4.3 appears somewhat different from Figure 8.3.3, in fact the zigzig rotation is identical to the AVL tree double rotation.
Note that zigzag rotations tend to make the tree more balanced, because they bring subtrees \(B\) and \(C\) up one level while moving subtree \(D\) down one level. The result is often a reduction of the tree’s height by one. Zigzig promotions and single rotations do not typically reduce the height of the tree; they merely bring the newly accessed record toward the root.
Splaying node \(S\) involves a series of double rotations until \(S\) reaches either the root or the child of the root. Then, if necessary, a single rotation makes \(S\) the root. This process tends to re-balance the tree. Regardless of balance, splaying will make frequently accessed nodes stay near the top of the tree, resulting in reduced access cost. Proof that the splay tree meets the guarantee of \(O(m \log n)\) is beyond the scope of our study.
Example 8.4.1
Consider a search for value 89 in the splay tree of Figure 8.4.4 (a). The splay tree’s search operation is identical to searching in a BST. However, once the value has been found, it is splayed to the root. Three rotations are required in this example. The first is a zigzig rotation, whose result is shown in Figure 8.4.4 (b). The second is a zigzag rotation, whose result is shown in Figure 8.4.4 (c). The final step is a single rotation resulting in the tree of Figure 8.4.4 (d). Notice that the splaying process has made the tree shallower.


A collection of short thoughts
Without method and more method, we are afraid the chaos which is in us will reveal itself. And yet these methods only make things worse.
Christopher Alexander, 1979, The Timeless Way of Building
Any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes.
Goodhart, Charles (1981). “Problems of Monetary Management: The U.K. Experience”. Anthony S. Courakis (ed.), Inflation, Depression, and Economic Policy in the West. Rowman & Littlefield: 111–146. as cited by Wikipedia
When small data beats big data" by Julian Faraway and Nicole Augustin… but we struggle to provide realistic assessments of uncertainty. Also consider the problem that big data suggests a massive number of hypotheses with less protection against the danger of false positive results.
Quinn NortonRight now my field must tackle describing a world where falling in love, going to war and filling out tax forms looks the same; it looks like typing.
G. M. Trevelyan, Bias in HistoryMany who burnt heretics in the ordinary way of their business were otherwise excellent people.
Admiral Grace Hopper (created human-readable source code, against all conventional wisdom)It’s easier to ask forgiveness than than it is to get permission.
Jack BogerThe poverty of time makes beggars of us all
Daniel Dennett, Intuition Pumps and Other Tools for Thinkingunless you have an indefinitely extensible repertoire of ways to use your candidate belief (if that is what it is) in different contexts, it is not a belief in any remotely recognizable sense.
VoxIf the intent is to insult, then is it really such a shock that people could feel insulted?
Gary WillsBut this, too, was a minor threat. Langone was simply threatening to withhold money. Now, as the pope prepares a major encyclical on climate change, to be released this summer, the billionaires are spending a great deal of their money in a direct assault on him. They are calling in their chits, their kept scientists, their rigged conferences, their sycophantic beneficiaries, their bought publicists to discredit words of the pope that have not even been issued: “He would do his flock and the world a disservice by putting his moral authority behind the United Nations’ unscientific agenda on the climate,” they say. They do not know exactly what the pope is going to say in his forthcoming encyclical on preserving God’s creation, but they know what he will not say. He will not deny that the poor suffer from actions that despoil the earth. Everything he has said and done so far shows that Francis always stands for the poor.
Solicitor General Donald B. Verrilli Jr.I think it’s important to understand that if this Court concludes that this issue should be left to the political process, what the Court will be saying is that the demeaning, second-class status that gay and lesbian couples now inhabit in states that do not provide for marriage is consistent with the equal protection of the laws. That is not a wait-and-see. That is a validation.
Hon.Jed S. RakoffAlthough the United States accounts for about 5 percent of the world’s population, it houses nearly 25 percent of the world’s prison population.
Montaigne, Essays (M.A. Screech, tr.)Let us concede this much to the political order: to suffer kings patiently when unworthy, to hide their vices and to encourage their indifferent actions with our approbation – while their authority needs our support.
Senator Bernie Sanders, quoted in NYTIf an institution is too big to fail, it is too big to exist, and that is the bottom line.
Anwen Crawford in the New YorkerNever mind if the obscenities were imagined—“Louie Louie” promised its listeners stronger stuff. As a member of the Flint Junior Woman’s Club argued, with admirable logic, in a 1965 letter to J. Edgar Hoover, it hardly mattered what the actual lyrics were when “every teenager in the country ‘heard’ the obscene not the copywritten [sic] lyric.”
Thoreau, Journal, May 6, 1854The music of all creatures has to do with their loves, even of toads and frogs. Is it not the same with man?
Thomas B. Edson in NYTInsofar as conservatives identify the erosion of the traditional family as a cause of civic disorder, the erosion is not limited to minority communities in Democratic cities. These trends are increasingly characteristic of white communities in red states.
Lady Britomart, Major Barbara by G.B. ShawIt is only in the middle classes, Stephen, that people get into a state of dumb helpless horror when they find that there are wicked people in the world. In our class, we have to decide what is to be done with wicked people; and nothing should disturb our self possession.
Lynn Vavreck in NYTIt appears as if the giant party difference in support for abortion under any and all conditions is an artifact of the way the typical abortion survey question is constructed.
Thorstein Veblen, Theory of the Leisure Classall canons of reputability and decency, and all standards of consumption, are traced back by insensible gradations to the usages and habits of thought of the highest social and pecuniary class—the wealthy leisure class.
There is something to be said about going for fat, complacent industries.
Herbert Hovencamp, speaking of stodgy incumbent wireless providers, quoted in NYT
“I think the answer is, it’s okay to addict people as long as your business model doesn’t depend on it,” he said, as if finally finding the answer to a problem that had long seemed without a solution. “That’s the answer,” he added. “That’s the answer.” by Andrew Thompson
David Brooks in NYTThe family and the group are the essential social unit.
KrugmanAmerica didn’t need to make hard choices in the aftermath of crisis. What they needed, instead, was hard thinking — a willingness to understand that this was a special environment, that the usual rules don’t apply in a persistently depressed economy, one in which government borrowing doesn’t compete with private investment and costs next to nothing.
Data That Threatened to Break PhysicsYou make a check list: timing, receiver, GPS, transmitter from the receiver to the detector, … you check everything.
KrugmanIs there a moral here? I think it is that the world is a very complicated place, and it’s way too easy to miss what you should see even if your analytical framework is pretty decent. For me, at least, the great crisis came as a surprise but not a shock, something I didn’t see coming but not a deep problem for my sense of how the world works. Still, I do wish I’d paid more attention to the right things.
Politics are possible in the church, as in the university, because power is dispersed and the combatants are protected from dismissal.
Adam Gopnik
New YorkerDaniel Dennett, Intuition Pumps and Other Tools for ThinkingThis shared property, the meaning (of the two sentences in their respective languages), or the content (of the beliefs they express), is a central topic in philosophy and cognitive science. This aboutness that, for example, sentences, pictures, beliefs, and (no doubt) some brain states exhibit, is known in philosophical jargon as intentionality , an unfortunate choice as a technical term, since outsiders routinely confuse it with the everyday idea of doing something intentionally (as in “Are your intentions honorable?”).
The Family That Couldn’t Say Hippopotamus - Issue 24: Error - NautilusThis linkage reveals the absorbing paradox at the heart of language’s origins. As hardwired as it is, language is a distributed object, both across the human brain and across generations of people. And it is precisely the chaotic hot-potato toss of words and grammar that yields the order and beauty that we see today. In the realm of language, as in other things, modern science is showing us that we are not the pilots of our own sealed ship, but are actors in a play, each able to contribute a verse.
I proposed folk psychology as a term for the talent we all have for interpreting the people around us— and the animals and the robots and even the lowly thermostats— as agents with information about the world they act in ( beliefs ) and the goals ( desires ) they strive to achieve, choosing the most reasonable course of action, given their beliefs and desires. Some researchers like to call folk psychology “theory of mind” (or just TOM), …
Daniel Dennett, Intuition Pumps and Other Tools for ThinkingThe power and ease of use of folk psychology is due, I have argued, to the simplifying assumptions that enable it. It is like an idealized model in science— maximally abstract and stripped down to the essentials.
Gail Collins, in. NYTEveryone who operates in the public world and gets mail knows that a small percentage of the American population is completely out of its mind. It’s always been that way. The founding fathers probably received letters from people who believed King George was living in a barn down the road and spying on the local militia while disguised as a burro. The difference now, of course, is that the Internet and social media make them a lot more visible and noisy.
The UK is now a failed stateThe so-called “West Lothian Question” - the thorny issue of Westminster MPs sitting in Scotland, Wales or Northern Ireland being able to have a say over matters that affect only England - will finally be settled, once and for all, with the dissolution of the United Kingdom.
Rebecca Goldstein quoted in Brain PickingsThe nature of reality that spills forth from Einstein’s physics is so much more startling than the simplistic, undergraduate-beloved shibboleth: everything is relative to subjective points of view. In Einstein’s physics, there is no passage of time, no unidirectional flow from the fixed past and toward the uncertain future. The temporal component of space-time is as static as its spatial components; physical time is as still as physical space. It is all laid out, the whole spread of events, in the tenseless four-dimensional space-time manifold.
Amy Davidson in the New YorkerThere has been some realization that collecting and connecting dots when everything and anything looks like a dot is less than illuminating.
KrugmanWhat was really lethal was the interaction between size and complexity. Financial institutions had become chimeras: part bank, part hedge fund, part insurance company, and so on. This complexity let them evade regulation, yet be rescued from the consequences when their bets went bad. And bankers’ ability to have it both ways helped set America up for disaster.
Harold Bloom, The Daemon Knows: Literary Greatness and the American SublimeI weary of scholars neighing against Ahab, who is magnificent in his heroism. Would they have him hunt for more blubber? His chase has Job’s Leviathan in view, a quarry representing Yahweh’s sanctified tyranny of nature over man.
Brooke Foss Westcott, D.D., D.C.L Bishop of Durham, Late Regius Professor of Divinity, Cambridge, and Canon of WestminsterIt is not too much to say that no formula which expresses clearly the thought of one generation, can convey the same meaning to the generation which follows.
Thorstein Veblen, Theory of the Leisure ClassA reconciliation between the two conflicting requirements is effected by a resort to make-believe.
The Optogenetics Breakthrough - The New YorkerChristof Koch, at the Allen Institute, likens Deisseroth to Galileo, whose early improvements of the telescope afforded a huge advance in our understanding of the cosmos. Even so, like Galileo’s telescope, which opened up the immensity of space, Deisseroth’s technologies have helped reveal how little we know about the brain—what Koch calls “by far the most complex piece of organized matter in the known universe.”
Adam Gopnik in New YorkerWe were, however, doomed, and knew it. The constitution of parents and children may, like the British one, be unwritten, but, as the Brits point out, that doesn’t make it less enforceable or authoritative. The unwritten compact that governs family life says somewhere that children who have waited long enough for a dog and want one badly enough have a right to have one. I felt as the Queen must at meeting an unpleasant Socialist Prime Minister: it isn’t what you wanted, but it’s your constitutional duty to welcome, and pretend.
Stewart Brand, AeonThe way the public hears about conservation issues is nearly always in the mode of ‘Beloved Animal Threatened With Extinction’.
TPMIt is one of the key features of early 21st century political campaigns and political life in general that every political figure requires a chorus of dedicated partisans who lay down the equivalent of covering fire in their leader’s defense. Sometimes this happens with a political figure who attracts intense loyalty. But that’s seldom required. Partisans on both sides of the political divide will generally rush to the defense of almost any political figure on their team, even if the person isn’t terribly well liked or even if they’re getting grief for something that is pretty hard to defend.
G.B. Shaw, PygmalianGalatea never does quite like Pygmalion: his relation to her is too godlike to be altogether agreeable.
Daniel Dennett, Intuition Pumps and Other Tools for ThinkingWhen we treat each other as intentional systems, we are similarly finessing our ignorance of the details of the processes going on in each other’s skulls (and in our own!) and relying, unconsciously, on the fact that to a remarkably good first approximation, people are rational.
A Discourse on the Love of our Country by Richard Price, delivered on Nov. 4, 1789, at the Meeting-House in the Old Jewry, to the Society for Commemorating the Revolution in Great BritainThe potentates of this world are sufficiently apt to consider themselves as possessed of an inherent superiority which gives them a right to govern and makes mankind their own; and this infatuation is almost every where fostered in them by the creeping sycophants about them and the language of flattery which they are continually hearing.
Isaiah Berlin, The Hedgehog and the FoxPlato, Lucretius, Pascal, Hegel, Dostoevsky, Nietzsche, Ibsen, Proust are, in varying degrees, hedgehogs; Herodotus, Aristotle, Montaigne, Erasmus, Molière, Goethe, Pushkin, Balzac, Joyce are foxes.
Ursula K. Le Guin, The Wave in the MindThe idea that objective observation can be performed only by an observer totally free of subjectivity involves an ideal of inhuman purity which we now recognise as being, fortunately, unattainable.
Annie Dillard, The Writing LifeAnd I thought he was foolish, this man in his seventies, who had no idea what you must do. But the fanaticism of my twenties shocks me now. As I feared it would.
Isaiah Berlin, The Hedgehog and the FoxWith great force he argues that only those orders or decisions issued by the commanders now seem particularly crucial (and are concentrated upon by historians) which happened to coincide with what later actually occurred; whereas a great many other exactly similar, perfectly good orders and decisions, which seemed no less crucial and vital to those who were issuing them at the time, are forgotten because, having been foiled by unfavourable turns of events, they were not, because they could not be, carried out, and for this reason now seem historically unimportant.
G.B. Shaw, Preface to Man and SupermanAnd yet, instead of exclaiming “Send this inconceivable Satanist to the stake,” the respectable newspapers pith me by announcing “another book by this brilliant and thoughtful writer.” And the ordinary citizen, knowing that an author who is well spoken of by a respectable newspaper must be all right, reads me, as he reads Micah, with undisturbed edification from his own point of view. It is narrated that in the eighteen-seventies an old lady, a very devout Methodist, moved from Colchester to a house in the neighborhood of the City Road, in London, where, mistaking the Hall of Science for a chapel, she sat at the feet of Charles Bradlaug for many years, entranced by his eloquence, without questioning his orthodoxy or moulting a feather of her faith. I fear I shall be defrauded of my just martyrdom in the same way.
Joseph Campbell in conversation with Bill Moyers, The Power of MythRead other people’s myths, not those of your own religion, because you tend to interpret your own religion in terms of facts— but if you read the other ones, you begin to get the message.
NYTWhatever shape Liston was in, he did turn out to be child-friendly, fulfilling Michael Feldman’s wish for him to visit his school. “I was the first Jewish student in the school, and for show-and-tell, I brought a black former heavyweight champion,” he said.
Jeffrey Toobin in the New Yorkerthe great French gift for producing courteous children is more than met by the rage and misery that most French children feel about the discipline necessary to produce the manners (it’s why they riot at eighteen);
Joseph Campbell in conversation with Bill Moyers, The Power of MythYou know, we have a tremendous amount of information about this subject, but there is a place where the information stops.
Daniel Mendholsohn inNYRBWe have been dreaming of robots since Homer.
Balzac, Z. Marcas (tr. Linda Asher, Carol Cosman and Jordan Stump)Doing his utmost, deploying all his energy, a young man setting out from zero can wind up after ten years somewhere below where he started. Today, talent needs the kind of luck that favors the incompetent; in fact, if a skilled man rejects the vile arrangements that bring success to rampant mediocrity, he will never get on at all.
Isaiah Berlin, The Hedgehog and the FoxThis violent contradiction between the data of experience, from which he could not liberate himself, and which, of course, all his life he knew alone to be real, and his deeply metaphysical belief in the existence of a system to which they must belong, whether they appear to do so or not, this conflict between instinctive judgement and theoretical conviction – between his gifts and his opinions – mirrors the unresolved conflict between the reality of the moral life, with its sense of responsibility, joys, sorrows, sense of guilt and sense of achievement – all of which is nevertheless illusion – and the laws which govern everything, although we cannot know more than a negligible portion of them – so that all scientists and historians who say that they do know them and are guided by them are lying and deceiving – but which nevertheless alone are real.
John Cassidy in New YorkerThese days, political scientists, evolutionary biologists, and even government regulators are obliged to grasp best-response equilibria and other aspects of game theory. Whenever a government agency is considering a new rule—a set of capital requirements for banks, say, or an environmental regulation—one of the first questions it needs to ask is whether obeying the rules leads to a Nash equilibrium. If it doesn’t, the new policy measure is likely to prove a failure, because those affected will seek a way around it.
DylanI’m glad for my songs to be honored like this. But you know, they didn’t get here by themselves. It’s been a long road and it’s taken a lot of doing. These songs of mine, they’re like mystery stories, the kind that Shakespeare saw when he was growing up. I think you could trace what I do back that far. They were on the fringes then, and I think they’re on the fringes now. And they sound like they’ve been on the hard ground.
Hilary Mantel in NYTI say to the cast, “Henry didn’t know he was going to have six wives. Each time he thought, here’s the girl for me.” People smile, but they grasp the essential thing. The characters don’t know their own fates. They can’t learn a lesson from themselves, and draw a moral. We have scripts, but they don’t.
Hamilton, Federalist № 1So numerous indeed and so powerful are the causes which serve to give a false bias to the judgment, that we, upon many occasions, see wise and good men on the wrong as well as on the right side of questions of the first magnitude to society. This circumstance, if duly attended to, would furnish a lesson of moderation to those who are ever so much persuaded of their being in the right in any controversy.
Khaled Diab in Al JazeeraFar from marking the “end of imperialism”, what we are witnessing today, a century after the implosion of the Ottoman empire, is its resurgence. In this new scramble for the Middle East, we are witnessing the petty sultans of the region’s crumbling states trying to hold on to their micro-empires; non-state armed groups trying to usurp them; Iran and the emerging powers of the Gulf seeking to expand their spheres of influence; and the US’ long-standing hegemony being challenged by the new-old kid on the block, Russia, and newcomer China.
Peter Brown in NautilusAnd, it seemed, he never elaborated elsewhere. After his death, his son Samuel published a new edition of Arithmetica that included all of the notes that Fermat had made in its margins. These observations, typically stated without proof, posed an irresistible challenge. Within a few years, readers had confirmed every one—except the statement about higher-dimension Pythagorean triples. It was the “last” unsubstantiated claim.
Joseph Campbell in conversation with Bill Moyers, The Power of Mythwhen you think about what people are actually undergoing in our civilization, you realize it’s a very grim thing to be a modern human being.
Yanis Varoufakis, quoted in NYTBetting on the flip of a coin involves high risk, but the potential outcomes and probability are known. “Uncertainty is when you can’t know all the outcomes or the probability with which each potential outcome will occur,” he said. “This is deep uncertainty.”
Oliver Sachs in NYTOnly in the realm of mishearing — at least, my mishearings — can a biography of cancer become a biography of Cantor (one of my favorite mathematicians), tarot cards turn into pteropods, a grocery bag into a poetry bag, all-or-noneness into oral numbness, a porch into a Porsche, and a mere mention of Christmas Eve a command to “Kiss my feet.”
Joe Drape in NYTHe was bouncing down the lane as if jumping from one trampoline to another, and no one was going to catch him.
Julian Jaymes, quoted by Veronique Greenwood in NautilusThe book sets its sights high from the very first words. “O, what a world of unseen visions and heard silences, this insubstantial country of the mind!” Jaynes begins. “A secret theater of speechless monologue and prevenient counsel, an invisible mansion of all moods, musings, and mysteries, an infinite resort of disappointments and discoveries.”
E.O. Wilson, The Meaning of Human ExistenceHere indeed is a major difference between people and ants: where we send our young men to war, ants send their old ladies. No moral lesson there, unless you are looking for a less expensive form of elder care.
Thoreau, Journal Jun. 19, 1854These are the clover days. The light of June is not golden but silvery, not a torrid but somewhat temperate heat. See it reflected from the bent grass and the under sides of leaves.
James Satler, quoted in New Yorker“Life passes into pages if it passes into anything,” he once wrote. It has nowhere else to go. The pages, at least, will have some permanence.
Thoreau, Journal Jun. 26, 1854We now have roses on the land and lilies on the water,— both land and water have done their best,— now just after the longest day. Nature says, “You behold the utmost I can do.” And the young women carry their finest roses on the other hand. Roses and lilies. The floral days. The highest, intensest color belongs to the land, the purest, perchance, to the water.
Thoreau, Journal Jun. 29, 1854In my experience nothing is so opposed to poetry— not crime— as business. It is a negation of life.
Thoreau, Journal, Jul 3, 1854Nature is reported not by him who goes forth consciously as an observer, but in the fullness of life. To such a one she rushes to make her report.
Robert Hackett in NautilusBarricelli saw his computer organisms as a blueprint of life—on this planet and any others. “The question whether one type of symbio-organism is developed in the memory of a digital computer while another type is developed in a chemical laboratory or by a natural process on some planet or satellite does not add anything fundamental to this difference,” he wrote. A month after Barricelli began his experiments on the IAS machine, Crick and Watson announced the shape of DNA as a double helix. But learning about the shape of biological life didn’t put a dent in Barricelli’s conviction that he had captured the mechanics of life on a computer. Let Watson and Crick call DNA a double helix. Barricelli called it “molecule-shaped numbers.”
Rachel Wilkinson in NarrativelyTo understand the story of the Three Little Pigs, one must comprehend what each of the characters knows. For a machine to replicate this understanding, it needs to recognize these individual sets of characters’ knowledge. It needs a single set to represent the pig’s knowledge of the world, another for the wolf’s, along with a representation of the mental state the wolf is trying to get the pig into — the deception. These contexts can be layered infinitely, and Fahlman is building a system that contains them.
Thoreau, Journal, Jul. 15, 1854The youth gets together his materials to build a bridge to the moon, or perchance a palace or temple on the earth, and at length the middle-aged man concludes to build a wood-shed with them.
Madison, Federalist 37When the Almighty himself condescends to address mankind in their own language, his meaning, luminous as it must be, is rendered dim and doubtful by the cloudy medium through which it is communicated.
Thoreau, Journal, Jul. 30, 1854After midsummer we have a belated feeling as if we had all been idlers, and are forward to see in each sight and hear in each sound some presage of the fall, just as in middle age man anticipates the end of life.
Thoreau, Journal Aug. 8, 1854I only know myself as a human entity, the scene, so to speak, of thoughts and affections, and am sensible of a certain doubleness by which I can stand as remote from myself as from another. However intense my experience, I am conscious of the presence and criticism of a part of me which, as it were, is not a part of me, but spectator, sharing no experience, but taking note of it, and that is no more I than it is you. When the play—it may be the tragedy of life—is over, the spectator goes his way. It was a kind of fiction, a work of the imagination only, so far as he was concerned.
Yanis Varoufakis, The Global MinotaurNothing humanizes us like aporia –that state of intense puzzlement in which we find ourselves when our certainties fall to pieces; when suddenly we get caught in an impasse, at a loss to explain what our eyes can see, our fingers can touch, our ears can hear. At those rare moments, as our reason valiantly struggles to fathom what the senses are reporting, our aporia humbles us and readies the prepared mind for previously unbearable truths. And when the aporia casts its net far and wide to ensnare the whole of humanity, we know we are at a very special moment in history. September 2008 was just such a moment.
Thoreau, Journal, Aug. 21, 1854The sound of the crickets gradually prevails more and more. I hear the year falling asleep.
Federalist, LVIIThe third charge against the House of Representatives is, that it will be taken from that class of citizens which will have least sympathy with the mass of the people, and be most likely to aim at an ambitious sacrifice of the many to the aggrandizement of the few.
Justice Douglas, concurring in Engle v. Vitale (1962)There cannot be freedom of religion, safeguarded by the state, and intervention by the church or its agencies in the state’s domain or dependency on its largesse… . The great condition of religious liberty is that it be maintained free from sustenance, as also from other interferences, by the state. For when it comes to rest upon that secular foundation it vanishes with the resting.
Ursula K. Le Guin, The Wave in the Mindafter I got into my sixties my faculty of respect atrophied.
Daniel Dennett, Intuition Pumps and Other Tools for ThinkingNeuroscience is the attempt to reverse engineer the brain.
Jacob Burckhardt, The Civilization of the Renaissance in ItalyAt the root of the practice may be a beautiful, humane sentiment; the utterance of it, especially in the poets, is, as a rule, of equivocal sincerity.
Bertrand Russell, Freedom and Official PropagandaWilliam James used to preach the “will to believe.” For my part, I should wish to preach the “will to doubt.” None of our beliefs are quite true; all have at least a penumbra of vagueness and error. The methods of increasing the degree of truth in our beliefs are well known; they consist in hearing all sides, trying to ascertain all the relevant facts, controlling our own bias by discussion with people who have the opposite bias, and cultivating a readiness to discard any hypothesis which has proved inadequate. These methods are practised in science, and have built up the body of scientific knowledge.
Zia Haider Rahman, In the Light of What We KnowWhat is the good life? How to live? This ancient question of philosophy can remain academic to a man only until the day it comes at him in the form: How am I to live?
E.O. Wilson, The Meaning of Human Existencethe history of philosophy when boiled down consists mostly of failed models of the brain.
Bob Dylan, quoted by David Remnick in the New Yorker“Try to sit down and write something like that. There’s a magic to that, and it’s not Siegfried and Roy kind of magic, you know? It’s a different kind of a penetrating magic. And, you know, I did it. I did it at one time. … You can’t do something forever. I did it once, and I can do other things now. But I can’t do that.”
Walter De Maria, quoted in Camille Paglia, Glittering ImagesEvery good work should have at least ten meanings.
Matt Peterson in The AtlanticAs Alexander Bessmertnykh, a former Soviet foreign minister, put it, “In real life, so it appears, events, our relations and our policies depend more on accidents, coincidences and acting on very little real knowledge of what is going on. We have been through so many crises in this way.”


Check for Update
Overview
Use this dialog to see if a new version of TradeX is available. This will show you the current version you have installed along with the most recent version available. It will display a message
letting you know if a newer version is available.


NodeJS Web
Home
Express
Callback Functions
Node Package Manager
Command Line
Quiz
Stop Music
Start Music
NodeJS Quiz
Submit Answer
Hint
Back to home


Directed by Michael Bay. Starring: Mark Wahlberg, Nicola Peltz, Stanley Tucci, Kelsey Grammer, Jack Reynor, T.J. Miller, Bingbing Li. 12A cert, 165 mins.
In Hollywood last week, the skies darkened, the streams ran bitter and a green haze rose from the soil. Strange creatures slunk from the woods, their laughter borne on a foul-smelling wind, and danced horribly while the moon was gibbous.
And close to the hour of midnight, the wise men consulted their books, and asked what the meaning of these baleful signs could be. And then their eyes fell on the following words, scratched by ancient hands in a spidery script: “Michael Bay has used a metaphor.”
The new Transformers film, which contains robots that turn into dinosaurs and a weapon that makes people explode, freeze and burst into flames all at the same time, begins with something that is – and there is no other word for it – clever.
It’s a funny, throwaway sequence about the state of the movies, and it suggests that Bay, the director of four Transformers films, Pearl Harbor and Armageddon, and a man credited more often with killing popular cinema than any other filmmaker working today, is ready to fight for his place in the pantheon.
Mark Wahlberg plays Cade Yeager – Cade Yeager! – a Texan inventor who’s always on the lookout for scrap he can refit and tart up. He goes into a derelict cinema (“Thanks for 79 great years!”, reads the marquee) and discovers a battered truck inside, caked in plaster, dusty but salvageable.
“The movies nowadays,” shrugs the theatre’s owner, who’s in his 70s – and, we soon learn, senile and incontinent.  I liked this one,” he adds, waving at a poster for Howard Hawks’ El Dorado – which is, as Bay well knows, itself a remake. But Cade sees potential in the wreckage, and spends his last few dollars on the truck – which turns out, of course, to be a Transformer, and their ticket to excitement and glamour. But when he drives it home, his 17-year-old daughter Tessa (Nicola Peltz) is dismayed. Cade says: “I’m asking you to look at the junk and see the treasure.”
Transformers: Age of Extinction is unabashed junk, but when historians dig it up it in hundreds of years, they’ll find much of value. Bay is openly positioning his film – his entire method and aesthetic, really – as the only hope for cinema’s survival in the era of the box-set and video-game.
In a sense, he’s right to do so: there are scenes in his latest film that simply can’t be understood, let alone enjoyed, on a screen less than 30 feet tall and without speakers on all sides, giving your eyeballs and eardrums an ecstatic pulverising.
But there’s a conversation with America’s movie culture going on here, too: most conspicuously with the Monument Valley of John Ford’s westerns, which Bay uses as a hideout for the heroic Autobots, but also with the open roads of Monte Hellman and Dennis Hopper, the fractured families of Steven Spielberg, and the golden plains of Terrence Malick, all of which appear – refitted and tarted up – in Bay’s movie.
Age of Extinction never comes close to touching those directors’ best work, and spends much time grubbing around many miles below their worst, but it’s at least goofily conscious of them, and brazen enough to identify itself as the next step.
There’s not much to report re: plot. A corrupt government agent (Kelsey Grammer) colludes with a technology mogul (Stanley Tucci) to build an army of controllable Transformers using a special space metal that’s truly and honestly called Transformium. A hitch: some lumps of leftover Decepticon are stirred into the mix, and the army turns sentient and evil.


A British charity providing food and to homeless people across the UK. More info here.
Save the Children helps children in 120 countries for their basic needs and rights. More info here.
Cancer Research UK researches better treatments for all types of cancer, and also provides resources for people affected by cancer. More info here.
If you prefer to send us a gift directly, use the button below. We pledge 50% of our gifts to charity!
DONATE


vignettes/sparse_matrix_strategy.Rmd
sparse_matrix_strategy.Rmd
Given a large sparse matrix X
, we want to compute some matrix multiplications associated with a scaled \(\tilde{X}\). We notice that after scaling, X
becomes a dense matrix and is not possible for a sparse matrix multiplication. So we construct formulae to apply sparse matrix multiplication first on a standardized X
since standardization does not affect its sparsity. Then we perform centering to get the same result.
There are two types of matrix multiplications we want to investigate:
Compute \(\tilde{X}b\), where \(\tilde{X}\) is an n by p scaled matrix and \(b\) is a p vector.
Compute \(\tilde{X}^Ty\), where \(\tilde{X}\) is an n by p scaled matrix and \(y\) is an n vector.
This strategy has a decent performance when computing both \(\tilde{X}b\) and \(\tilde{X}^Ty\), compared to simple matrix multiplication %*%
.
Suppose we want to compute \(\tilde{X}b\), where \(\tilde{X}\) is a scaled n by p matrix and \(b\) is a p vector. Our goal is to express \(\tilde{X}b\) into a term involving unscaled \(X\) matrix multiplication to achieve sparse matrix operation.
\[\begin{equation} \begin{aligned} \tilde{X}b &= \sum_{j=1}^{p} \tilde{X}_{\cdot j} b_j \\ &= \sum_{j=1}^{p} \frac{X_{\cdot j}-\mu_j}{\sigma_j}b_j \\ &= \sum_{j=1}^{p}\frac{X_{\cdot j}}{\sigma_j}b_j - \sum_{j=1}^{p} \frac{\mu_j}{\sigma_j}b_j \\ &= X b / \sigma - \mu^Tb/\sigma, \end{aligned} \end{equation}\]
where \(\mu\) is a p-vector of column means, and \(\sigma\) is a p-vector of column standard deviations.
Suppose we want to compute \(\tilde{X}^Ty\), where \(\tilde{X}\) is a scaled n by p matrix and \(y\) is an n vector. Similarly, we express \(\tilde{X}^Ty\) using unscaled \(X\) so that we can perform sparse matrix multiplication. We have the following:
\[\begin{equation} \begin{aligned} \tilde{X}^Ty &= \sum_{i=1}^{n} \tilde{X}_{i.}y_i \\ &= \sum_{i=1}^{n} \frac{X_{i.} - \mu}{\sigma}y_i \\ &= \frac{1}{\sigma}\sum_{i=1}^{n}X_{i.}y_i - \frac{\mu}{\sigma}\sum_{i=1}^{n} y_i \\ &= \frac{1}{\sigma}(X^Ty) - \frac{\mu}{\sigma}y^T 1, \end{aligned} \end{equation}\]
where \(\mu\) is a p-vector of column means, and \(\sigma\) is a p-vector of columnwise standard deviations.
We simulate an n = 1000
by p = 10000
matrix X
at sparsity \(99\%\), i.e. \(99\%\) entries are zeros. We compare results between normal matrix computation and our sparse strategy as well as comparing speed using microbenchmark.
create_sparsity_mat <- function(sparsity, n, p) {
nonzero <- round(n*p*(1-sparsity))
nonzero.idx <- sample(n*p, nonzero)
mat <- numeric(n*p)
mat[nonzero.idx] <- 1
mat <- matrix(mat, nrow=n,ncol=p)
return(mat)
}
n <- 1000
p <- 10000
X.dense <- create_sparsity_mat(0.99,n,p)
X.sparse <- as(X.dense,"dgCMatrix")
X.tilde <- susieR:::set_X_attributes(X.dense) #returns a scaled X if input is a dense matrix
X <- susieR:::set_X_attributes(X.sparse) #return an unsacled sparse X if input is a sparse matrix
#but computes column means and standard deviations
The final results of two methods when computing \(\tilde{X}b\) are very close.
compute_Xb_benchmark <- microbenchmark(
dense = (use.normal.Xb <- X.tilde%*%b),
sparse = (use.sparse.Xb <- susieR:::compute_Xb(X,b)),
times = 20,unit = "s")
Our sparse strategy demonstrates an obvious advantage over the normal matrix multiplication in computing \(\tilde{X}b\).
autoplot(compute_Xb_benchmark)
# Coordinate system already present. Adding new coordinate system, which will replace the existing one.
The final results of two methods when computing \(\tilde{X}^Ty\) are almost the same.
compute_Xty_benchmark = microbenchmark(
dense = (use.normal.Xty <- t(X.tilde)%*%y),
sparse = (use.sparse.Xty <- susieR:::compute_Xty(X, y)),
times = 20,unit = "s")
Our sparse strategy evidently has a better performance than the normal method in computing \(\tilde{X}^Ty\).
autoplot(compute_Xty_benchmark)
# Coordinate system already present. Adding new coordinate system, which will replace the existing one.