I STILL KNOW WHAT YOU DID LAST SUMMER RATING: 6 / 10 --> Barely recommendable
For more reviews and movie trivia, go to http://surf.to/joblo
Kevin Williamson-less sequel to the US$107 million original I KNOW WHAT YOU DID LAST SUMMER (7.5/10). This follow-up features the tightest shirt in the West, Jennifer Love Hewitt, a dash of Brandy (the singer, that is), and British director Danny Cannon at the helm, the man behind the abominable JUDGE DREDD (5.5/10).
PLOT: One year after the original summer murders in her hometown, Julie (Hewitt) has yet to overcome her fears, but has managed to move onto College, a new love interest and a new spicy roommate. After winning a trip to the Bahamas, Julie and her newfound friends find themselves in a similar predicament as the psycho fisherman with hook as hand, slices and guts his way to their extinction. Screams and murders ensue.
CRITIQUE: The paper-thin plot, the cheap thrills, and all of the clinging wet shirts that you could shake a stick at, make this follow-up to the slick original, a standard 90's horror fare without much to get excited about. Jennifer Love Hewitt returns as the girl who can never seem to button her blouse all the way to the top in this transparent sequel, which never seems to take off from its predecessor's solid base.
Many of the killings in this film are pretty obvious, while the plot seemed ridden with holes. For example, we are never told why the killer is killing everyone in his path in this one. Or for that matter, how everyone on the island suddenly disappears within a 24-hour period. Then again, horror films weren't exactly known for their Oscar worthy scripts, but this one just doesn't seem to bring anything original to the table. The dialogue was standard and dull, the acting was there but not fascinating, and the mystery of the killer wasn't as cool as it could have been.
Having said that, I did enjoy some of the murders in this film, Jeffrey Combs' standout performance as the pissed-off hotel owner, and the continued creepiness of the killer's fisherman's outfit. Also, Mekhi Phifer was funny as the horny guy who just can't seem to get laid, and Freddie Prinze actually acts a little in this one. Also, I will admit that I did not turn away at the umpteen shots of Jennifer Love Hewitt in her cut-off tight shirts and bikinis. For further analyses of her extremely ample assets, please visit this hilarious gentleman's homepage at http://jenlovehewitt.simplenet.com/ who minutely breaks her success down into a couple of specific prize possessions. This film also delivered the most rain in any film since the stunning SEVEN (8.5/10). All in all, it's okay as a generic piece of 90's horror game, with the cheap thrills and fun kills for showcase. On the other hand, it doesn't really attain any of the mystery of the original, but then again, most sequels don't.
Little Known Facts about this film and its stars: Jennifer Love Hewitt once dated actor Joey Lawrence. She has released two CDs, "Let's Go Bang" in 1995 and "Love Songs" in 1992 under Love Hewitt. She also plays Sarah Reeves in TV "Party of Five" series, alongside the SCREAM (8/10) queen herself Neve Campbell. Jennifer's bust size is reported to be 36C. Jennifer also has her own romantic comedy screenplay "Marry Me Jane" in development at New Line Cinema. It's about a wedding planner who falls for one of her betrothed clients. Brandy also stars in her own TV sitcom called "Moesha". She went with the NBA's Kobe Bryant to his high school prom. Kobe is best known for jumping from high school straight to the NBA. Both Hewitt and Brandy have reportedly signed on for a third installment of Last Summer.
Review Date: November 14, 1998 Director: Danny Cannon Writers: Trey Callaway and Stephen Gaghan Producers: William S. Beasley, Stokely Chaffin, Erik Feig and Neal H. Moritz Actors: Jennifer Love Hewitt as Julie James Brandy Norwood as Karla Wilson Freddie Prinze Jr. as Ray Bronson Mekhi Phifer as Tyrell Martin Matthew Settle as Will Benson Genre: Horror Year of Release: 1998
Visit JoBlo's Movie Emporium http://surf.to/joblo
(c) 1998 Berge Garabedian
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


Upload your robot!
Robot Name
Brain
Upload Tank Body
OR
Generate Tank Body
Tank Turret
OR
Generate Tank Turret


You have completed all the questions about your role as a Parent/Guardian. Please return to the Profile page, where you can add/edit or update details about your dependent(s).
You have completed all the questions about your dependent. We will use this information to contact you about upcoming studies and emerging resources that will be of interest based on the details you provided.
If you have another dependent to enroll, you can return to the profile page. Otherwise we recommend you check out our list of active studies, or search through the available services and resources.
You have completed all the questions about yourself. We will use this information to contact you about upcoming studies and emerging resources that will be of interest based on the details you provided.
Thank you for providing us with your information.
Now we recommend you check out our list of active studies, or search through the available services and resources.
You can continue to edit any unlocked questionnaires by selecting them from the column on the left.


--- layout: post title: Beirut l The Penalty date: 2011-01-18 07:22:00.000000000 +09:00 type: post parent_id: '0' published: true password: '' status: publish categories: [] tags: [] meta: _original_post_id: '40194449' _original_import_author: sheepless_ original_post_id: '40194449' _wp_old_slug: '40194449' author: login: mouthless email<EMAIL_ADDRESS>display_name: mouthless first_name: '' last_name: '' excerpt: Beirut (Zach Condon) photo from B's myspace ---
[vimeo http://www.vimeo.com/18269719 w=500&h=283]
Beirut (Zach Condon) photo from B's myspace


*Hi
We received a request to resend your user details to this address. They are as follows:
Username:
Password:
Regards,


Check out NYUADIM (it's the best)
Let's go there in the page.
Paragraph 1
Paragraph 2
Paragraph 3
Paragraph 4
What I write here is crucial. So very very very very very very crucial.
What color is this? Some more stuff stuff stuff. Some more stuff stuff stuff.
Let's go here. What I write here is not as crucial. What I write here is not as crucial. What I write here is not as crucial. What I write here is not as crucial. What I write here is not as crucial. What I write here is not as crucial. What I write here is not as crucial. What I write here is not as crucial.


{{RulesSummary(gameState.houseRules)}} | |
{{HandTitle(gameState.dealerHand, true, (gameState.activePlayer == "player"))}}{{HandOutcome(gameState.dealerHand, true, (gameState.activePlayer == "player"))}}
{{HandTitle(hand, false, false)}}{{HandOutcome(hand, false, false)}}
| Bankroll: ${{gameState.bankroll}}Bet: ${{gameState.playerHands[0].bet}} |


internal lateinit var magma: MagmaApi
The raw MagmaApi instance used to actually send and update voice data/state.
magma - The raw MagmaApi instance used to actually send and update voice data/state.
magma


ViewController
class ViewController : NSViewController, CBPeripheralManagerDelegate, BlueProtocol
Undocumented
-
robot power state 0 = off , 1 = on. This value is updated from the central
Declaration
Swift
private var botState: Array<UInt8>
-
Service Advertisement Data… not important
Declaration
Swift
private let botAdvertisementData: String
-
Service CBUUID
Declaration
Swift
private let BOT_SERVICE_UUID: CBUUID
-
Alert Characsteric CBUUID
Declaration
Swift
private let BOT_ALERT_INFO_UUID: CBUUID
-
robot alerts values [battery, error, stuck, done]. These values when updated, the peripheral will notify the central.
Declaration
Swift
private var BOT_ALERT_VALUES: Array<UInt8>
-
Bot Info Characsteric CBUUID, read only [status (on/off/stuck/error), battery]
Declaration
Swift
private let BOT_INFO_UUID: CBUUID
-
Settings Characsteric CBUUID, writable [timer, speed]
Declaration
Swift
private let BOT_SETTINGS_UUID: CBUUID
-
Power Characsteric CBUUID, writable [on / off]
Declaration
Swift
private let BOT_POWERS_UUID: CBUUID
-
CBPeripheralManager instance
Declaration
Swift
private var peripheralManager: CBPeripheralManager!
-
Alert CBMutableCharacteristic instance, needs ref for alerting central
Declaration
Swift
private var alertCharacteristics: CBMutableCharacteristic!
-
Undocumented
Declaration
Swift
@IBOutlet var skView: SKView!
-
GameScene instance
Declaration
Swift
private var gameScene: GameScene!
-
Undocumented
Declaration
Swift
private let STATUS_OFF: UInt8
-
Undocumented
Declaration
Swift
private let STATUS_ON: UInt8
-
Undocumented
Declaration
Swift
private let STATUS_ERROR: UInt8
-
Undocumented
Declaration
Swift
private let STATUS_STUCK: UInt8
-
Init GameScene, PeripheralManager, alertCharacteristics instaces, for more info about viewDidLoad
Declaration
Swift
override func viewDidLoad()
-
Check the status of the bluetooth. If bluetooth is turned on call prepareService func, for more info about CBPeripheralManager delegate
Declaration
Swift
func peripheralManagerDidUpdateState(_ peripheral: CBPeripheralManager)
-
Init the robot service and the characteristics and then start advertising
Declaration
Swift
func prepareService()
-
Response to read requests by the central, for more info about CBPeripheralManager delegate
Declaration
Swift
func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveRead request: CBATTRequest)
-
Update settings after receiving write request from the central and notifies the central if settings updated correctly or not , for more info about CBPeripheralManager delegate
Declaration
Swift
func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveWrite requests: [CBATTRequest])
-
Handle the update of the power after receiving write request from the central. This func first convert the data from pointer Data to [UInt8] and then calls GameScene startBot or StopBot functions
Declaration
Swift
func togglePower(data: Data?)
Parameters
data
The settings data sent from the central
Return Value
nothing
-
Handle the update of the settings after receiving write request from the central. This func first convert the data from pointer Data to [UInt8] and then calls GameScene setBotSettings func
Declaration
Swift
func updateSettings(data: Data?)
Parameters
data
The settings data sent from the central
Return Value
nothing
-
The implementation of the BlueProtocol protocol which used alert the central that the robot has low battery by updating the first index of BOT_ALERT_VALUES and then calling updateValue
Declaration
Swift
func simulateLowBattery(state: Bool)
Parameters
state
Boolean that represents the state of the Low battery [on or off]
Return Value
nothing
-
The implementation of the BlueProtocol protocol which used alert the central that the robot is stuck by updating the third index of BOT_ALERT_VALUES and then calling updateValue
Declaration
Swift
func simulateStuck(state: Bool)
Parameters
state
Boolean that represents the state of stuck [on or off]
Return Value
nothing
-
The implementation of the BlueProtocol protocol which used alert the central that the robot has an error and needs restarting by updating the second index of BOT_ALERT_VALUES and then calling updateValue
Declaration
Swift
func simulateError(state: Bool)
Parameters
state
Boolean that represents the state of the error [on or off]
Return Value
nothing
-
The implementation of the BlueProtocol protocol which used alert the central that the robot is restarted and has no errors by setting all values BOT_ALERT_VALUES to zero and then calling updateValue
Declaration
Swift
func simulateOK()
Return Value
nothing
-
The implementation of the BlueProtocol protocol which used alert the central that the robot timer has finishedand updating the last index of BOT_ALERT_VALUES and then calling updateValue
Declaration
Swift
func notifyFinished()
Return Value
nothing


Which cupcakes would you like today? Pick out which flavors you want and type the desired quantity in the box.


ISINDy¶
Derived module from sindybase.py for implicit SINDy
-
class
pySINDy.isindy.
ISINDy
(name='SINDy model') Bases:
pySINDy.sindybase.SINDyBase
Implicit Sparse Identification of Nonlinear Dynamics (Inferring biological networks by sparse identification of nonlinear dynamics) reference: https://arxiv.org/pdf/1605.08368.pdf
-
static
adm
(null_space) Parameters: null_space – Returns: find a sparse representation
-
static
build_theta_matrix
(data, d_vec) Parameters: - data – a 2D numpy array of features stored in each column
- d_vec – a vector of time derivatives of a state
Returns: a 2D numpy array expanded by the multiplication of data and d_vec
-
static
expand_descriptions
(desp, var_name=None)
-
fit
(data, dt, poly_degree=2, deriv_acc=2) Parameters: - data – dynamics data to be processed
- dt – float, represents grid spacing
- poly_degree – degree of polynomials to be included in theta matrix
- deriv_acc – (positive) integer, derivative accuracy
Returns: an implicit SINDy model
-
static
nullify
(theta) Parameters: theta – a 2D numpy array Returns: a 2D numpy array representing the null space of theta
-
static


Navigation system…rebooting.
> NAV SYSTEM REBOOTING. ASSESSING SYSTEM INTEGRITY.
>…
>…
>ASSESSMENT COMPLETE:
>DATA CORRUPTION: DETECTED
>DATA BREACH DETECTED.
>DATA LOSS: DETECTED.
>ASSESSMENT DETAILS: MULTIPLE MEMORY BANKS WERE DAMAGED DURING THE INCIDENT.
>DATA CORRUPTION HAS LED TO OVERLAP BETWEEN IN-BUILT ENTERTAINMENT SYSTEMS AND NAVIGATIONAL DATA.
>SCANNING ENTERTAINMENT SYSTEMS.
>…
>…
>SCAN COMPLETE
>DATA CORRUPTION DETECTED.
>REBOOT NAVIGATION SYSTEM?
>IN ORDER FOR AUTOMATIC NAVIGATION SYSTEMS TO RESUME, A MANUAL CALIBRATION IS REQUIRED.
>PLEASE IDENTIFY THE NEARBY STAR SYSTEM TO RECALIBRATE.
>OUPUTTING NAVIGATI@!(#^*!@#)@$&?PLEASE order YOUR FILM – WE HAVE ALL YOUR FAVORITE stars!:
-
(14, This peace-loving #$(cup_bearer, 6)$# refuses to fight against a matador in this fun animated film.
-
(24, This film follows an expedition to the mythical Skull Island, where explorers hope to find evidence of the massive #$(star_maiden, 31)$# rumored to live there.
-
(26, This snarky #$(sea_goat, 14)$# helps hype up his friend as she joins the military to defend her country (1998).
-
(45, Killing this giant #$(winged_ram, 40)$# was the crux of defeating the villain in this beloved series finale.
-
(15, Set in the Great Depression, this is the story of an unlikely #$(giant_crab, 35)$# who went on to become one of the most successful racing thoroughbreds of all time.
-
(20, This absurdist dark comedy casts George Clooney as a soldier who claims to have psychic powers, including the ability to run through walls and kill a #$(giant_scorpion, 16)$# with just his gaze.
-
(40, A gastronomically curious #$(twin_fish, 4)$# learns how to become a great chef.
-
(30, When an adventurous teenager must set sail from her island to save her people, she is joined only by a once-mighty demigod and her clueless pet #$(white_bull, )$#.
-
(13, A heartwarming tale about a #$(nemean_lion, 30)$# raised for livestock that dreams of working instead as a sheepdog.
-
(11, The lone human survivor of a shipwreck is left adrift on a lifeboat with a fearsome #$(maiden_of_justice, 15)$#.
-
(20, A mischievous #$(twin_brothers, 30)$# spends his days hoppily raiding the farm of Mr. McGregor.
-
(34, An adaptation of the 1987 Japanese film, this movie adapts the true story of a loyal #$(centaur, 4)$# known for waiting for its owner at the train station.
Let’s plot these using a plotting tool, then check the skies.


Well I picked up a bottle of cough syrup and a pack of 24 diphenhydramine pills at the store earlier. After coming home from a session, I decided to take the dxm and diphenhydramine. I chugged the whole bottle of dxm at once, and swallowed all the pills, then waited for the effects to come up. The time was 9:45 pm when I took them.
I do not remember what happened, except for the fact that I woke up in a hospital. My sister helped me fill in the blanks when I talked to her the following day.
09:45 PM- Took 750mg dxm and 600mg dph
10:00 PM- Played Tekken 4
10:20 - 10:40 PM- This is where I completely forgot everything.
11:30PM- My sister claims I am starring and fluctuating my eyes in almost confusion.
11:45PM- I am talking to many of my friends who are currently not in the house.
12:30PM- I went to my room to lye down, and I am twitching.
1:30PM- My sister asks me what I took, i reply by saying 20mg of benedryl, when that is ridiculous, because 1 pill is 25mg. My sister looks it up, and asks me again, I then tell her 24 pills of benedryl.
My sister got worried and woke up my mom, explaining to her the situation. They call the hospital to see what their options are. They can either call the cops, take me into emergency, or take me to the hospital.
My mom tells me that we are going for a ride, and I got up exitedly, not even wondering why we would go for a ride at 2am. We get to the hospital, and I go outside telling my mom and sister that I am waiting for a friend of mine, they tell me to wait inside because it is cold.
In the hospital, I am hearing voices of my friends, and I am still not in coherence. I asked my mom for zig zags several time, and she gave me a tissue paper, which I rolled. My mom gets me to drink the charcoal by telling me that its beer. I finally settle down and goto sleep. I woke up at 6:30am, and we went home.
This was a scary experience which only happened 3 days ago. I am writing this to warn people to be careful with otc drugs, and stick to marijuana.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Did you know that you can navigate the posts by swiping left and right?
The user’s taste and needs of developers about webpages changes very quickly. Users require awesome websites with a very clear exposition of the information. On the other hand, developers need tools easy to be deployed and specially easy to be filled, customized and updated. Jekyll Bootstrap provides with a very powerfull tool to create awesome websites in a few minutes.
Jekyll has a plugin system with hooks that allow you to create custom generated content specific to your site. You can run custom code for your site without having to modify the Jekyll source itself.
But of course, a website need a host and a plainfull way to update changes between local development places and the host. GitHub is the social code-hosting platform based on Git used to store, share and manage open source projects. It is completally free and there are 8.2 million people collaborating across 19 million GitHub repositories.
In my case, my needs were very simple. I only need a easy way to create a very simple homepage to show my skills, include my work into my leisure time and the most important thing, to update the information very quickly, without the necesity of writing very long scripts of for example html to create a beautiful web where display my experiencies. Furthermore I have found very instering the possibility to include shortcodes into GitHub Gists in order to be used while I am developing. Now, It is not necessary that I remember too much command and statements. Now I can counsult in my personal library of small codes.
Host Jekyll project on GitHub is possible setup in only in 3 Minutes. Firstly it is necessary join in GitHub if you are not an account before.

When you have installed, run Jekyll-Bootstrap locally to check:
$ git clone https://github.com/plusjade/jekyll-bootstrap.git
$ cd jekyll-bootstrap
$ jekyll serve
See it in action at http://localhost:4000
In order to preview your blog locally you’ll need to install the Jekyll ruby gem.
sudo apt-get install ruby1.9.3 ruby1.9.1-dev nodejs
Note gem dependencies will also be installed. You don’t have to run a local version but it helps if you want to preview your content before publishing.
$ gem install jekyll
If you run into a problem please consult the original Jekyll installation documentation.
Once the gem is installed you can navigate to your Jekyll-Bootstrap directory. If you’ve followed the homepage instructions this will be: USERNAME.github.com. Once in the directory you’ll run jekyll with server support:
$ cd USERNAME.github.com
$ jekyll serve --host $IP --port $PORT
Your blog is now available at: http://localhost:4000. In order to stop the server it is only necessary use (Ctr + C). On the other hand, while you are developing or customizing the blog, to update changes is necessary stop and re-start the server.
In order to create easily a post, page (next point) or another elements it is possible use rake command. For this, it is required include a Octopress “Rakefile” file into your website folder. This file include customizable rules to be launched with rake tasks. Any complete example of “Rakefile” file could be download from official source website.
Create posts easily via rake task:
$ rake post title="Hello World"
The rake task automatically creates a file with properly formatted filename and YAML Front Matter. After you have to set your own title while, by default, the date would be set with the current date.
These included post could be Markdown files. This format allow a very easy way to include new content quickly.
Create pages easily via rake task:
$ rake page name="about.md"
Create a nested page:
$ rake page name="pages/about.md"
Create a page with a “pretty” path:
$ rake page name="pages/about"
# this will create the file: ./pages/about/index.html
The rake task automatically creates a page file with properly formatted filename and YAML Front Matter as well as includes the Jekyll Bootstrap “setup” file.
After you’ve added posts or made changes to your theme or other files, simply commit them to your git repo and push the commits up to GitHub.
$ git add .
$ git commit -m "Add new content"
$ git push origin master
A GitHub post-commit hook will automatically deploy your changes to your hosted blog. You will receive a success or failure notice for every commit you make to your blog.
Jekyll-Bootstrap can be used as a basic blogging platform but also it could be customizing deeply:
Jekyll-Bootstrap supports modular theming. Themes can co-exist and be enabled/disabled on demand. In my case, I have used a theme developed by Panos Sakkos.
Jekyll and Jekyll-Bootstrap has a simple but powerful Jekyll Configuration System. You can:
$ gem install jekyll-paginate
$ gem install jemoji
I highly recommend reading the Jekyll Introduction if you plan to customize your blog.


The EPCIS repository is now up and running (Health check).
You can find more information on how to use it on the GitHub project or in the dedicated page of the sandbox.


Introduction
This project focused on creating two types of graphs:- Adjacency List Graph (Directed)
- Adjacency Matrix Graph (Undirected)
This graph was implemented using an object type of Map as follows:
//Chose to use a HashMap to store the adjacency graph
//Each key corresponds to a vertex in the map
//Each HashSet value is a set of all vertices that the key (Vertex) has an edge with
private Map<Vertex, HashSet<Vertex>> graphAdj = new HashMap<Vertex, HashSet<Vertex>>();
The keys in the HashMap corresponded to each vertex 'v' of the graph
The values in the HashMap corresponded to the list of vertices that 'v' has an edge directed to
This graph was directed since if one vertex 'v' had an edge with vertex 'v2' this did not necessarily mean that vertex 'v2' had an edge with vertex 'v1'
This graph was implemented using an object type of ArrayList as follows
//Chose to use an ArrayList that holds ArrayLists. This therefore creates an mXm matrix where m corresponds to the number of vertices.
//Each ArrayList holds within the set of lists, corresponds to a separate vertex.
//To know the value of the vertex refer to the map of Index Values below.
private ArrayList<ArrayList<Integer>> graphAdjM = new ArrayList<ArrayList<Integer>>();
The ArrayLists placed within an ArrayList essentially created a 2D Matrix. The integers stored in this matrix could either be 1 or 0 and therefore represented whether 2 vertices shared an edge (1) or not (0). This graph was therefore undirected.
An additional Map was created for reference to the graph. The keys of this map consisted of vertices and the values of this map held integers representing the index of the corresponding Vertex in the graph ArrayList.
Functions
Many functions were created in the classes of both types of graphs. Some of these included obtaining the vertices of the graphs, the list of edges of a certain vertex, adding vertices/edges to the graph, and checking if certain edges exist.
Two of the most noteworthy functions implemented for each type of graph were "obtaining upstream neighbors" and "obtaining downstream neighbors" of a vertex in the graph.
Upstream/Downstream Neighbors
The following implementations were used to obtain the upstream and downstream neighbors of the adjacency list and adjacency matrix graphs
Adjacency List Graph - Upstream Neighbors:
//Obtains all upstream vertices corresponding to a vertex
public List<Vertex> getUpstreamNeighbors(Vertex v){
List<Vertex> usNeighbors = new ArrayList<Vertex>();
HashSet<Vertex> edges = new HashSet<Vertex>();
//Parses all keys of the adjacency list
//if the vertex is within its value, the key is added as an upstream neighbor
for (Vertex key: graphAdj.keySet()) {
edges = graphAdj.get(key);
if(edges != null && !edges.isEmpty()) {
for(Vertex temp : edges) {
if(temp.equals(v))
usNeighbors.add(key);
}
}
}
return usNeighbors;
}
Adjacency List Graph - Downstream Neighbors:
//Obtains all downstream vertices corresponding to a vertex
public List<Vertex> getDownstreamNeighbors(Vertex v){
List<Vertex> dsNeighbors = new ArrayList<Vertex>();
HashSet<Vertex> edgesv1 = graphAdj.get(v);
//Parses and adds all vertices connected to a vertex
if(edgesv1 !=null && !edgesv1.isEmpty()) {
for(Vertex temp: edgesv1) {
dsNeighbors.add(temp);
}
}
return dsNeighbors;
}
Adjacency Matrix Graph - Upstream Neighbors:
//Obtains all upstream neighbors of a vertex in the adjacency matrix
/**
* @return List<Vertex>
*/
public List<Vertex> getUpstreamNeighbors(Vertex v) {
List<Vertex> usNeighbors = new ArrayList<Vertex>();
int indexValv = indexVals.get(v);
//Parses through all vertices to see if an edge exists between that vertex and the current vertex 'v'
for (int i = 0; i < graphAdjM.size(); i++) {
ArrayList<Integer> tempV = graphAdjM.get(i);
if (tempV.get(indexValv) == 1) {
for (Vertex t : indexVals.keySet()) {
if (indexVals.get(t) == i) {
usNeighbors.add(t);
}
}
}
}
return usNeighbors;
}
Adjacency Matrix Graph - Downstream Neighbors:
//Obtains all downstream neighbors of a vertex in the adjacency matrix
/**
* @return List<Vertex>
*/
public List<Vertex> getDownstreamNeighbors(Vertex v) {
//Create a list to store downstream neighbors
List<Vertex> dsNeighbors = new ArrayList<Vertex>();
int indexValv1 = indexVals.get(v);
//Obtain the list of edges corresponding to the input Vertex 'v'
ArrayList<Integer> tempV = graphAdjM.get(indexValv1);
//Parses through the edges of Vertex 'v'
for (int i = 0; i < tempV.size(); i++) {
//if an edge exists, the vertex connected to that edge is added as a downstream neighbor
if (tempV.get(i) == 1) {
for (Vertex t : indexVals.keySet()) {
if (indexVals.get(t) == i) {
dsNeighbors.add(t);
}
}
}
}
return dsNeighbors;
}
Depth-First Searching
Depth-First searching is an algorithm that can be used to traverse a graph. In this algorithm, the path begins at the selected vertex, and the path explores as far as it can down a branch, before returning back upwards.
I implemented this algorithm using Stacks in the following manner:
/**
* Perform a complete depth first search of the given graph. Start with the
* search at each vertex of the graph and create a list of the vertices visited.
* Return a set where each element of the set is a list of elements seen by
* starting a DFS at a specific vertex of the graph (the number of elements in
* the returned set should correspond to the number of graph vertices).
*
* @param graph
* The graph being traversed to obtain the depthFirstSearch set
* @return depthSet (Set<List<Vertex>>)
* A set that contains lists representing a depthFirstSearch
* corresponding to each vertex in the graph.
*
* If the graph is empty, the returned set will also be empty
*/
public static Set<List<Vertex>> depthFirstSearch(Graph graph) {
// TODO: Implement this method
Set<List<Vertex>> depthSet = new HashSet<List<Vertex>>();
List<Vertex> vertices = graph.getVertices();
for (Vertex v : vertices) {
Vertex start = v;
List<Vertex> df = depthFirstSearchHelper(start, graph);
depthSet.add(df);
}
return depthSet;
}
/**
*
* @param v
* The vertex for which a depth-First-Search will take place.
* Vertex v indicates the start point.
* @param graph
* The graph being traversed to complete the depthFirst Search
* @return Path List (List<Vertex>)
* A List containing an order path of vertices visited when
* completing a depth first starting from vertex v.
*
* If the graph does not contain the vertex v or if the graph
* is empty, the function will return an empty list
*
*/
public static List<Vertex> depthFirstSearchHelper(Vertex v, Graph graph) {
//Rep invariant is
// !v.label.isEmpty()
//Used a stack to store depth first search history
Stack<Vertex> History = new Stack<Vertex>();
List<Vertex> Path = new ArrayList<Vertex>();
HashSet<Vertex> visited = new HashSet<Vertex>();
Path.add(v);
visited.add(v);
History.push(v);
Vertex v1 = v;
//Vertices are traversed. Each vertex is only visted once
while (!History.isEmpty()) {
v1 = History.peek();
List<Vertex> tempDS = graph.getDownstreamNeighbors(v1);
if (tempDS.isEmpty()) {
History.pop();
} else {
boolean newConnections = false;
int i;
for (i = 0; i<tempDS.size() && newConnections == false ; i++) {
v1 = tempDS.get(i);
if(!visited.contains(v1) ) {
Path.add(v1);
visited.add(v1);
History.push(v1);
newConnections = true;
}
}
if(newConnections == false) {
History.pop();
}
}
}
return Path;
}
Breadth-First Searching
Breadth-FIrst searching is an algorithm that can be used to traverse a graph. In this algorithm, the path begins at the selected vertex, and the path explores all the neighboring vertices before moving down to the next set of neighbors.
I implemented this algorithm using Queues in the following manner:
/**
* Perform a complete breadth first search of the given graph. Start with the
* search at each vertex of the graph and create a list of the vertices visited.
* Return a set where each element of the set is a list of elements seen by
* starting a BFS at a specific vertex of the graph (the number of elements in
* the returned set should correspond to the number of graph vertices).
*
* @param graph
* The graph being traversed to obtain a breadthFirstSearch set
* @return breadthSet (Set<List<Vertex>>)
* A set that contains lists representing a breadthFirstSearch
* corresponding to each vertex in the graph.
*
* If the graph is empty, the returned set will also be empty
*/
public static Set<List<Vertex>> breadthFirstSearch(Graph graph) {
Set<List<Vertex>> breadthSet = new HashSet<List<Vertex>>();
List<Vertex> vertices = graph.getVertices();
for (Vertex v : vertices) {
Vertex start = v;
List<Vertex> bf = breadthFirstSearchHelper(start, graph);
System.out.println(bf);
breadthSet.add(bf);
}
return breadthSet;
}
/**
*
* @param v1
* The vertex for which a breadth-First-Search will take place.
* Vertex v1 indicates the start point.
* @param graph
* The graph being traversed to complete the BreadthFirst Search
* @return Path List (List<Vertex>)
* A List containing an order path of vertices visited when
* completing a breadth first starting from vertex v.
*
* If the graph does not contain the vertex v or if the graph
* is empty, the function will return an empty list
*/
public static List<Vertex> breadthFirstSearchHelper(Vertex v1, Graph graph) {
//Rep invariant is
// !v1.label.isEmpty()
//Used a Queue to store the vertices that needed to be visited
List<Vertex> Path = new ArrayList<Vertex>();
HashSet<Vertex> Visited = new HashSet<Vertex>();
Queue<Vertex> VerticesLeft = new LinkedList<Vertex>();
Visited.add(v1);
Path.add(v1);
VerticesLeft.add(v1);
while (!VerticesLeft.isEmpty()) {
Vertex v = VerticesLeft.remove();
List<Vertex> downStream = graph.getDownstreamNeighbors(v);
for (Vertex temp : downStream) {
if (!Visited.contains(temp)) {
Visited.add(temp);
Path.add(temp);
VerticesLeft.add(temp);
}
}
}
return Path;
}


Container for all response-related methods.
| package |
LOG_PHP_SDK |
|---|
__construct(array $header, string $body, integer $status = null) : object
array
(Required) Associative array of HTTP headers (typically returned by <RequestCore::get_response_header()>).
string
(Required) XML-formatted response from AWS.
integer
(Optional) HTTP response status code from the request.
object
Contains an header
property (HTTP headers as an associative array), a body
property, and an status
code.
isOK(integer|array $codes = array(200, 201, 204, 206)) : boolean
integer|array
(Optional) The status code(s) to expect. Pass an
boolean
Whether we received the expected status code or not.
header :
body :
status :


Type
Independent student project
Duration
02.2016 - 01.2017
Scope
User Experience / Interaction Design / Smart Home System
Brief
El was the graduation project for my master degree. It aimed at raising energy awareness in smart home context, through innovative data visualization. I researched in novel and manipulable information display with the material ferrofluid, explored in new interaction. On the other hand, this project also contained studies on profiting users by utilizing software and hardware in response to specific requests and scenarios.
Introduce the visitor to the business using clear, informative text. Use well-targeted keywords within your sentences to make sure search engines can find the business.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et molestiae similique eligendi reiciendis sunt distinctio odit? Quia, neque, ipsa, adipisci quisquam ullam deserunt accusantium illo iste exercitationem nemo voluptates asperiores.
These marketing boxes are a great place to put some information. These can contain summaries of what the company does, promotional information, or anything else that is relevant to the company. These will usually be below-the-fold.
The images are set to be circular and responsive. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.
Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.


All the numbers you need to make
your own home brewed beer using
the brew in a bag method.
Imperial
Metric
Imperial (with hops in grams)
Mash Thickness calculators
Imperial
Metric
Imperial (with hops in grams)
Enter your details
OG before corrections
Brix
OG before corrections
SG
FG before corrections
Brix
FG before corrections
SG
How much beer?

OZ
Reset Calculations
General Results
Corrected OG BRix
32
BRIX
Corrected OG SG
9
SG
Corrected FG Brix
7
Brix
Corrected FG SG
5
SG
Table Sugar needed
250
Grams
ABV
5.5
%
Starsan needed
2
ml
Water Volumes and Heights
keg PSI needed
11
PSI
Beer Line Length Recommended
(assumes 3/8 ID)
6
Ft


2D time-stepping modeling
Author: Dr. Xiang Li
Seismic Laboratory for Imaging and Modeling Department of Earch & Ocean Sciences The University of British Columbia
Date: July, 2015
This is an demo script of the SLIM version time-steppling modeling kernel You can find the modeling code SLIM software release under tools/algorithms/TimeModeling.
Contents
demo of generation a shot record.
velocity model. please do 'help XiangLi_Time' for the meanning of different paras
mmx = linspace(0,6000,601); mmz = linspace(0,3000,301); mmy = 1; nz = length(mmz); nx = length(mmx); ny = length(mmy); vel = 1500 * ones(nz,nx,ny); vel(100:end,:) = 1800; vel(150:end,:) = 2000; % initial model Ps = opSmooth(nz,50); scrsz = get(0,'ScreenSize'); figure('Position',[1 scrsz(4)/4 scrsz(3)/2 scrsz(4)/4]);set(gca,'fontsize',18); imagesc(mmx,mmz,vel);xlabel('x [m]');ylabel('z [m]');title('velocity model [m/s]');colorbar; vel_init = Ps * vel; den = ones(size(vel)); % den(300:end,:) = 2; vel = vel(:); vel_init = vel_init(:); dv = 1./vel - 1./vel_init; den = den(:); % den = .23 * vel.^.25; model.vel = vel; model.den = den; model_init.vel = vel_init; model_init.den = den; % set source location and receiver location fwdpara.stype = 'seq_same'; fwdpara.slz = [ mmz(2) ]; fwdpara.slx = [ mmx(300) ]; fwdpara.sly = [1]; fwdpara.saved = 1; fwdpara.shot_id = 1; dr = 5; rlx = mmx(10:5:end-10); % rlx = fwdpara.slx:10:fwdpara.slx+1000; rly = 1; rlz = mmz(2); [rlx,rlz,rly] = meshgrid(rlx,rlz,rly); fwdpara.rtype = 'marine'; fwdpara.rlx = [rlx(:)]; fwdpara.rlz = [rlz(:)]; fwdpara.rly = [rly(:)]; % source wavelet fwdpara.fcent = 15; fwdpara.dt = .003; t = 4; t0 = 1; [src,fwdpara.taxis] = wvlet2(fwdpara.fcent,fwdpara.dt,t,t0); % size of PML boundary in terms of model grids. fwdpara.abx = 40; fwdpara.abz = 40; fwdpara.aby = 40; fwdpara.free = 1; % domain decomposition, % % BE SURE number of workers = fwdpara.ddcompx X fwdpara.ddcompz X fwdpara.ddcompy % % fwdpara.ddcompx = 1; fwdpara.ddcompz = 1; fwdpara.ddcompy = 1; fwdpara.mmx = mmx; fwdpara.mmz = mmz; fwdpara.mmy = mmy; % optimal checkpoints, do "help XiangLi_Time" fwdpara.chkp_space = 50; fwdpara.chkp_save = 2; fwdpara.disp_snapshot = 0;% set to "1" if you want so see the snapshot. ONLY WORK WHEN YOU USE ONE WORKER. fwdpara.wave_equ = 1; fwdpara.v_up_type = 'slowness'; fwdpara.space_order = 4; % do forward modeling with true model. fwdpara.fmode = 1; [Ur] = XiangLi_Time(model,src,fwdpara); U_obs_shot_record = reshape(gather(Ur),length(fwdpara.taxis),length(fwdpara.rlx)); scrsz = get(0,'ScreenSize'); figure('Position',[1 scrsz(4)/4 scrsz(3)/2 scrsz(4)/4]);set(gca,'fontsize',18); imagesc(fwdpara.rlx,fwdpara.taxis,U_obs_shot_record);caxis([-1,1]);xlabel('x [m]');ylabel('z [m]'); title('sample shot record');colorbar;colormap gray % do forward modeling with initial model [Ur1,chk] = XiangLi_Time(model_init,src,fwdpara); dUr = Ur - Ur1; % Ps = op_XiangLi_Time(model_init,src,fwdpara,chk); g = Ps' * dUr; g = reshape(g,length(fwdpara.mmz),length(fwdpara.mmx)); scrsz = get(0,'ScreenSize'); figure('Position',[1 scrsz(4)/4 scrsz(3)/2 scrsz(4)/4]);set(gca,'fontsize',18); imagesc(fwdpara.mmx,fwdpara.mmx,g);caxis(1e3*[-8,8]);xlabel('x [m]');ylabel('z [m]'); title('reverse time migration');colormap gray;colorbar
-------------------------------------------------------------------------------- Solving forward modeling from T1 to Tmax -------------------------------------------------------------------------------- ----- Simulating shot 1 ----- Time=0.147s, Total=3.999s. Time=0.297s, Total=3.999s. Time=0.447s, Total=3.999s. Time=0.597s, Total=3.999s. Time=0.747s, Total=3.999s. Time=0.897s, Total=3.999s. Time=1.047s, Total=3.999s. Time=1.197s, Total=3.999s. Time=1.347s, Total=3.999s. Time=1.497s, Total=3.999s. Time=1.647s, Total=3.999s. Time=1.797s, Total=3.999s. Time=1.947s, Total=3.999s. Time=2.097s, Total=3.999s. Time=2.247s, Total=3.999s. Time=2.397s, Total=3.999s. Time=2.547s, Total=3.999s. Time=2.697s, Total=3.999s. Time=2.847s, Total=3.999s. Time=2.997s, Total=3.999s. Time=3.147s, Total=3.999s. Time=3.297s, Total=3.999s. Time=3.447s, Total=3.999s. Time=3.597s, Total=3.999s. Time=3.747s, Total=3.999s. Time=3.897s, Total=3.999s. -------------------------------------------------------------------------------- Max space interval is 10m, which is larger than optinal 10m. Modify it to optinal or lower the centrel frequency of your wavelet to 15Hz -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Solving forward modeling from T1 to Tmax -------------------------------------------------------------------------------- ----- Simulating shot 1 ----- Time=0.147s, Total=3.999s. Time=0.297s, Total=3.999s. Time=0.447s, Total=3.999s. Time=0.597s, Total=3.999s. Time=0.747s, Total=3.999s. Time=0.897s, Total=3.999s. Time=1.047s, Total=3.999s. Time=1.197s, Total=3.999s. Time=1.347s, Total=3.999s. Time=1.497s, Total=3.999s. Time=1.647s, Total=3.999s. Time=1.797s, Total=3.999s. Time=1.947s, Total=3.999s. Time=2.097s, Total=3.999s. Time=2.247s, Total=3.999s. Time=2.397s, Total=3.999s. Time=2.547s, Total=3.999s. Time=2.697s, Total=3.999s. Time=2.847s, Total=3.999s. Time=2.997s, Total=3.999s. Time=3.147s, Total=3.999s. Time=3.297s, Total=3.999s. Time=3.447s, Total=3.999s. Time=3.597s, Total=3.999s. Time=3.747s, Total=3.999s. Time=3.897s, Total=3.999s. Warning: Data type "distributed" is not officially supported by spot, proceed at own risk -------------------------------------------------------------------------------- Max space interval is 10m, which is larger than optinal 10m. Modify it to optinal or lower the centrel frequency of your wavelet to 15Hz -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Gradient of FWI objective function. -------------------------------------------------------------------------------- ----- Simulating shot 1 ----- Time=3.897s, Total=3.999s. Time=3.747s, Total=3.999s. Time=3.597s, Total=3.999s. Time=3.447s, Total=3.999s. Time=3.297s, Total=3.999s. Time=3.147s, Total=3.999s. Time=2.997s, Total=3.999s. Time=2.847s, Total=3.999s. Time=2.697s, Total=3.999s. Time=2.547s, Total=3.999s. Time=2.397s, Total=3.999s. Time=2.247s, Total=3.999s. Time=2.097s, Total=3.999s. Time=1.947s, Total=3.999s. Time=1.797s, Total=3.999s. Time=1.647s, Total=3.999s. Time=1.497s, Total=3.999s. Time=1.347s, Total=3.999s. Time=1.197s, Total=3.999s. Time=1.047s, Total=3.999s. Time=0.897s, Total=3.999s. Time=0.747s, Total=3.999s. Time=0.597s, Total=3.999s. Time=0.447s, Total=3.999s. Time=0.297s, Total=3.999s. Time=0.147s, Total=3.999s.
Jacobian test.
all the following test can be reproduced with the scipt 'demo2D_gradient_test.m'
- linear modeling operater test
F(m+dm) = F[m0] + J * dm + o{||dm||_2};
F is modeling function 'XiangLi_Time'. J is the adjoint of migration operator
J and J' can be generated with 'op_XiangLi_Time';
Testing result is shown in Figure demo2d_gradient.png
- gradient test of Jocaobian.
consider the taylor expension of FWI objective function
\phi(m) = \frac{1}{2}\|F(m)-D\|_2
\phi{m+h*dm} = \phi{m} + h * J' * dm + o{h^2}
Testing result is shown in Figure demo2d_gradient_fwiobj.png


Let's take a quiz. There will be 10 multiple choice questions, 4 true/false questions, and 2 short answer questions. The multiple choice and true/false will be worth 1 point per question; the short answer will be worth 2 points per question. Good luck!


Hello {{ name }}!
Feeeeeeed me, {{ name }}! Feeeed Me!
Hey, you aren't Seymour.
How are you?
Long time, no see!
Nice to meet you.


Conduct of Pro Volleyball League in jeopardy following a ‘breach of agreement’
VFI terminates agreement with co-owner Baseline Ventures
by Sports BureauSeason-2 of the Pro Volleyball League (PVL) may not happen after all!
The Volleyball Federation of India (VFI), at its annual general body meeting on Monday, announced it had terminated the contract with Baseline Ventures, PVL co-owners, following a “breach of agreement”.
In a press release, VFI said “it has decided to amicably settle/[sent] termination notice to Baseline Ventures India Private Limited with immediate effect since they [Baseline Ventures] have breached the agreement.”
The release stated the VFI had decided to rename PVL as Indian Volley League (IVL) or National Volleyball League (NVL) and conduct it from February 25, 2020.
The release added that the venues, broadcaster and franchisees would be “communicated in due course”. Six to eight teams will be participating, it said.
“The house”, the statement emphasised, “has unanimously authorised the Governing Council to take all major decisions for the conduct of the League.”
VFI president S. Vasudevan, executive vice-president Raj Kumar, secretary Ramavtar Singh Jakhar, senior vice-president Rathin Roy Chaudhary and treasurer Shekhar Bose attended the meeting which saw the participation of 30 affiliated States/units.
Baseline Ventures CEO Joy Bhattacharjya said the VFI decision had come as a “complete surprise”.
He said the VFI president and secretary, FIVB secretary and Baseline Ventures had agreed at a meeting on November 1 in New Delhi to hold the PVL from February 7, 2020. “It was also announced [on Nov. 7] that the FIVB president would attend the [PVL] final. We await a formal communication from VFI,” Bhattacharjya said.
VFI secretary Jakhar could not be reached for comment.


Split it!

Both paragraphs and headings will line up on a vertical baseline. They will fall either directly on a line or perfectly in-between lines. All other elements, like buttons, should align to the grid too.
If your elements aren't aligning to the page correctly, check your math! Make sure your calculations always equal a multiple of 8.
If your elements aren't aligning to the page correctly, check your math! Make sure your calculations always equal a multiple of 8.
If your elements aren't aligning to the page correctly, check your math! Make sure your calculations always equal a multiple of 8.


Function
Its an application that loads an icon in the system tray from which a menu can be accessed which allows the user to open GameManager, Database Manager and Help files. Its a small application that uses few system resources hence it doesn't impact on system performance.
Program Interface
System tray icon looks like the circled icon below:
When you right click you get a menu like below
Open Game Manager –
Runs Frontend of GameManager
Update Database – Runs
DatabaseManager
Setup – Runs the setup program so you
change the program options
About – Tells you about
the program
Help – Opens web browser with these help
documents
Exit – Closes the tray application


layers01
-
class
packnet_sfm.networks.layers.packnet.layers01.
Conv2D
(in_channels, out_channels, kernel_size, stride)[source] Bases:
torch.nn.modules.module.Module
2D convolution with GroupNorm and ELU
- Parameters
in_channels (int) – Number of input channels
out_channels (int) – Number of output channels
kernel_size (int) – Kernel size
stride (int) – Stride
-
forward
(x)[source] Runs the Conv2D layer.
-
class
packnet_sfm.networks.layers.packnet.layers01.
InvDepth
(in_channels, out_channels=1, min_depth=0.5)[source] Bases:
torch.nn.modules.module.Module
Inverse depth layer
-
forward
(x)[source] Runs the InvDepth layer.
-
-
class
packnet_sfm.networks.layers.packnet.layers01.
PackLayerConv2d
(in_channels, kernel_size, r=2)[source] Bases:
torch.nn.modules.module.Module
Packing layer with 2d convolutions. Takes a [B,C,H,W] tensor, packs it into [B,(r^2)C,H/r,W/r] and then convolves it to produce [B,C,H/r,W/r].
-
forward
(x)[source] Runs the PackLayerConv2d layer.
-
-
class
packnet_sfm.networks.layers.packnet.layers01.
PackLayerConv3d
(in_channels, kernel_size, r=2, d=8)[source] Bases:
torch.nn.modules.module.Module
Packing layer with 3d convolutions. Takes a [B,C,H,W] tensor, packs it into [B,(r^2)C,H/r,W/r] and then convolves it to produce [B,C,H/r,W/r].
-
forward
(x)[source] Runs the PackLayerConv3d layer.
-
-
packnet_sfm.networks.layers.packnet.layers01.
ResidualBlock
(in_channels, out_channels, num_blocks, stride, dropout=None)[source] Returns a ResidualBlock with various ResidualConv layers.
- Parameters
in_channels (int) – Number of input channels
out_channels (int) – Number of output channels
num_blocks (int) – Number of residual blocks
stride (int) – Stride
dropout (float) – Dropout value
-
class
packnet_sfm.networks.layers.packnet.layers01.
ResidualConv
(in_channels, out_channels, stride, dropout=None)[source] Bases:
torch.nn.modules.module.Module
2D Convolutional residual block with GroupNorm and ELU
-
forward
(x)[source] Runs the ResidualConv layer.
-
-
class
packnet_sfm.networks.layers.packnet.layers01.
UnpackLayerConv2d
(in_channels, out_channels, kernel_size, r=2)[source] Bases:
torch.nn.modules.module.Module
Unpacking layer with 2d convolutions. Takes a [B,C,H,W] tensor, convolves it to produce [B,(r^2)C,H,W] and then unpacks it to produce [B,C,rH,rW].
-
forward
(x)[source] Runs the UnpackLayerConv2d layer.
-
-
class
packnet_sfm.networks.layers.packnet.layers01.
UnpackLayerConv3d
(in_channels, out_channels, kernel_size, r=2, d=8)[source] Bases:
torch.nn.modules.module.Module
Unpacking layer with 3d convolutions. Takes a [B,C,H,W] tensor, convolves it to produce [B,(r^2)C,H,W] and then unpacks it to produce [B,C,rH,rW].
-
forward
(x)[source] Runs the UnpackLayerConv3d layer.
-
-
packnet_sfm.networks.layers.packnet.layers01.
packing
(x, r=2)[source] Takes a [B,C,H,W] tensor and returns a [B,(r^2)C,H/r,W/r] tensor, by concatenating neighbor spatial pixels as extra channels. It is the inverse of nn.PixelShuffle (if you apply both sequentially you should get the same tensor)
- Parameters
x (torch.Tensor [B,C,H,W]) – Input tensor
r (int) – Packing ratio
- Returns
out – Packed tensor
- Return type
torch.Tensor [B,(r^2)C,H/r,W/r]


[OgreKit Lua] |
Methods
| SweptTest.constructor | |
| SweptTest.collides | |
| SweptTest.getHitPoint | |
| SweptTest.getHitNormal | |
| SweptTest.getReflection | |
| SweptTest.getSliding | |
| SweptTest.getObject |
Construct a new test.
Overload:
Construct a new test with a list of objects to avoid.
| avoid | ObjectList |
Do the test.
| ray | Ray as the starting position and heading. |
| radius | Radius of the collision sphere. |
Returns the hit point.
Returns the hit normal.
Returns the reflection after hit.
Returns sliding vector along the plane normal.
Returns the hit object.


Kinabalu Coders is a nick name for our more lengthy official name: Persatuan Pengaturcara dan Pembina ICT Sabah (Sabah Coders and ICT Builders Association). An officially registered entity with the Malaysian Registrar of Societies in May 2014, we are run by a coalition of leads, organisers, and active participants of the open technology communities and technology-based development industries in Sabah. Kinabalu Coders provides a platform for open communities to engage together, with little constrain on formalities that many non-registered groups often face.
Our main goal is to increase the socio-economic standard of local communities using ICT and computerised applications. We also drive social awareness and expose up-to-date creative and innovative concepts conceived from the IT world; and strive to improve the overall proficiency of our local developer community.
The activities and programmes by the open communities shape the essence of Kinabalu Coders. Each of the open community is led by passionate volunteers. To find out more about our specific community and activity, connect with us or contact the leads and organisers listed for each community. We also have a downloadable PDF flyer if you need to go offline.
Makerspace is a meetup of community-led activities for robotics and maker enthusiasts. Activities centres around peer-learning and knowledge sharing in the form of workshops, presentations, and lectures. Our makerspace test lab is equipped with affordable, open source electronic materials, workshop equipment such as CNC machines, 3D printing, and other awesome maker equipment.
Event Community Fork: Roboneo
A yearly event, gathering robots and enthusiasts of all shapes and sizes!
Google+ Community Fork / Physical Location: Smart Space KK
A physical Makerspace for the public in Kota Kinabalu. Let's build stuff!
Have a look around (and find out whether anybody is in!) at camera.sabah.io
Facebook Community Fork: Kota Kinabalu Raspberry Jam
Raspberry Pi enthusiasts unite! Play, learn and code all at once. We meet up every last Saturday of the month.
Facebook Community Fork: 3D Printer Borneo
Community for 3D printer/modelling enthusiast who are interested in this field
Google Developer Group Kota Kinabalu (or simply known as GDGKK) is an open group where you can come learn about building services using Google technologies. We'll be bringing in technology experts from within and outside of KK to share their knowledge, and use this platform to support each other in building up our expertise.
Major event(s): Google I/O Extended, DevFest, Women Techmakers
CoderDojo is an open source, volunteer-led network of free computer programming clubs for young people aged 7 to 17. CoderDojo puts an emphasis on self-motivated learning through project work, peer-to-peer mentoring and the creation of socially innovative projects.
This is a open meetup / learning group for people who have interest in game development! Our mission is to grow the game developer community together and discover awesome ways to build games. We currently focus on using Unity, Unreal, virtual reality, as well as 3D modeling and animation.
The Software Testing Community is an effort to promote best practices in software development by creating awareness of the importance of testing in their work.
Related: Version Control
We run a freely-available GitLab server at gitlab.sabah.io. Host up to 10 git projects privately or publicly!
Community Fork: Open Data Initiative
The advent of Big Data in Malaysia will require new ways of sharing and analysing public and private data.
Open data, especially open government data, is a tremendous resource that is as yet largely untapped.
Community Fork: Penetration Testing
A small independent pentesting community for knowledge-sharing. You can find our channel at the TechBorneo community Slack server.
We always welcome support in form of cash and preferably kind. Contact any of our open community leads listed above to find out how you can help.
More than anything, we would love your support by attending our events and activities. If you have something to share, or if you are keen to create a specific tech-related open community and need a platform to do so, let us know, too. We are happy to lend you a hand.
Come to any of our supported open community activities (PDF flyer), and you're in! You can also fill our general interest form, and we will be in touch with you. Feel free to share the link with your friends and family!
Kinabalu Coders General Interest Form - https://goo.gl/RrQ3RF
You can also join us on our Slack server to talk to the community, learn from others, and showcase your own work and projects! Enter your email below, and we will send you an invite!
Loading invitation form...
Lastly, if you are feeling really chatty, this is our email: hello@kinabalucoders.org


Useful gulp recipes Oct 19, 2014
I've been using gulp a lot recently and in this article I've put together a few of the tasks that have improved my workflow.
Keep readingI've been using gulp a lot recently and in this article I've put together a few of the tasks that have improved my workflow.
Keep readingAlmost no CSS and a couple of lines of Jquery are all you need for this extremely simple parallax demo. This is not really something I would recommend to use on a production site but it's a very good way to start to understand how you can write your own parallax.
Keep readingWhilst building a Jquery plugin for responsive navigation I started to play around with a CSS only version, just to see what's possible and what we actually need the javascript for. I would say that this is a perfectly feasible solution for a production website but...it's not plug and play, you have to learn how to use the code and adapt it to your site.
Keep readingJust a simple calendar I made, more than anything as a proof of concept that it can be easily done without using a table.
Keep readingForms aren't much fun to build, I think most web designers find them pretty tedious to design and code. For that reason I wanted to make this framework which should suit most situations where you need a form on your site.
Keep reading


We ordinarily view the world as populated by independent objects, each
of which has a state that changes over time. An object is said to
have state
if its behavior is influenced by its history. A bank
account, for example, has state in that the answer to the question
Can I withdraw \$100?
depends upon the history of deposit and
withdrawal transactions. We can characterize an object's state by one
or more
state variables, which among them maintain enough
information about history to determine the object's current behavior.
In a simple banking system, we could characterize the state of an
account by a current balance rather than by remembering the entire
history of account transactions.
In a system composed of many objects, the objects are rarely completely independent. Each may influence the states of others through interactions, which serve to couple the state variables of one object to those of other objects. Indeed, the view that a system is composed of separate objects is most useful when the state variables of the system can be grouped into closely coupled subsystems that are only loosely coupled to other subsystems.
This view of a system can be a powerful framework for organizing computational models of the system. For such a model to be modular, it should be decomposed into computational objects that model the actual objects in the system. Each computational object must have its own local state variables describing the actual object's state. Since the states of objects in the system being modeled change over time, the state variables of the corresponding computational objects must also change. If we choose to model the flow of time in the system by the elapsed time in the computer, then we must have a way to construct computational objects whose behaviors change as our programs run. In particular, if we wish to model state variables by ordinary symbolic names in the programming language, then the language must provide an assignment operator to enable us to change the value associated with a name.


view module¶
-
class
view.
View
(app, search, views, results, hasCalma, searchLayout)[source]¶ Bases:
object
This class defines a data view of a SPARQL query search.
-
change_proportions
()[source]¶ Adjusts the proportions of dialog given to each individual view.
This function is called whenever the user moves the sliders in the “Layout” tab, the sliders dictate the ratio between the view, e.g. 10:10:10 would give each an equal amount of space.
- self : instance
- Class instance.
-
create_layouts
(views)[source]¶ Creates the layouts for the data view (the overall dialog).
- self : instance
- Class instance.
- views : str[]
- List of requested views.
-
create_search_properties_window
()[source]¶ Creates a properties window for a data view.
- self : instance
- Class instance.
-
generate_map
(results)[source]¶ Generates a map view for the SPARQL query results.
The map dialog utilizes a QWebEngineView, webkit-based, to display an OpenStreetMap tiles layer with the data placed on top.
- self : instance
- Class instance.
- results : {}
- The results of the SPARQL query.
-
generate_plot_view
()[source]¶ Starts a new plot of CALMA data.
This function is typically called after CALMA data has been retrieved and a track has been clicked upon.
- self : instance
- Class instance.
-
generate_table
(results)[source]¶ Begins the process of generating a table with the search results.
- self : instance
- Class instance.
- results : dict
- Dictionary of search results.
-
graph_calma
(item)[source]¶ Retrieves CALMA data and then requests a plot of said data.
- self : instance
- Class instance.
- item : QModelIndex
- Index in the tracklist clicked.
-


Page 4 - Bible Study
P. 4
the danger of perishing or at best have all your works burn on the day of judgment. That is too costly
and experiment to make with your life.
‘He that overcomes…’ (Read Rev. 2:27, 11, 17, 26; Rev. 3:, 12, 21)
There is a glorious reward for overcomers. If there were no battles to fight, the Lord would not have
talked to us about overcomers. We must overcome the flesh, the world and the devil while here in the
world by the enabling grace of God. The choice is yours. May God grant you understanding.
(g) Discuss God’s purpose in asking us to follow Jesus. Rom. 8:29, Heb. 2:10-11, Matt. 11:28-30,
Matt. 4:19, Jn. 10:4, 5, 14, Jer. 29 :11.
It is for our good, not for evil. It is for our good shepherding. It is not to make life difficult for us but to
make us co-heirs indeed with Jesus. God’s purpose for instructing us to follow Jesus is to make us to
be conformed to the image of the Lord Jesus Christ, something that cannot happen otherwise. Since
there are no two-creation men in heaven only the New Creation Man, we cannot live the old creation
life (the natural life) and hope to inherit the Kingdom of God with Jesus Christ. We can only be joint
heirs with Christ not just by faith confession but by faith action. May the Lord enable you to pattern
your life after Christ and to follow in His footsteps, not for one year or two, but throughout your
lifetime in Jesus’ name.
2. STEPS UNTO FOLLOWING JESUS.
A. UNDERSTANDING HIS MIND (PROV. 23:7, PHIL. 2:5, PROV 4:23)
This is the first step we must take in order to follow Jesus and walk in His steps. There is need for us to
understand His mind, what is behind His action, what make Him to do what He did, how He looks at
situations. Our steps in following Jesus will be arbitrary, meaningless and unnecessarily difficult unless
we understand the thoughts behind His actions. This is necessary because as a man thinks in his heart,
so is he.
(I) Discus the mind Jesus had that make Him to take the steps He took.
Phil. 2:5-11 (KJV, LB); Heb. 12:2-4, 1 Jn.3:16, Rom. 5:7-8, Heb. 2:17, Lk. 23:34; 1Cor. 1:27-29, Eph
4:17-21, Phil. 2:5-8;
L.B.  He humbled Himself even
further, going so far as actually to die a criminal’s death on a cross”
He never used His rights as God to defend SELF. Even to come down to the earth in human form He
had to put aside His rights as God. He willingly laid Iit aside and did not cling to His rights as God even
up to the time He was being crucified. You cannot continue to cling to your own rights and think you
are following Jesus. You have rights…But at every point and in every situation you must be willing to
release your right in order for the will of God to be done. Men may cheat you and deny you your
rights. You will do well and be like Jesus by releasing and refusing to cling to your right.
It was humility of heart that made Jesus to lay aside His glory and power and take upon Himself the
form of a man. He bent down to serve men (even though He was God). And He went further in
humility to allow ordinary human beings to crucify him though He was without sin. He could have
shown them His power and punished them in revenge. But He did not. God would have counted that


| ID | Title | Release Date | Due Date | Max Score | Base Repository Url | Base Build Plan Id | Publish Build Plan Url | Allow Online Editor | |
|---|---|---|---|---|---|---|---|---|---|
| {{programmingExercise.id}} | {{programmingExercise.title}} | {{programmingExercise.releaseDate | date:'medium'}} | {{programmingExercise.dueDate | date:'medium'}} | {{programmingExercise.maxScore}} | {{programmingExercise.baseRepositoryUrl}} | {{programmingExercise.baseBuildPlanId}} | {{programmingExercise.publishBuildPlanUrl}} | {{programmingExercise.allowOnlineEditor}} |
|


Comments
-
Greg Hurrell
Two things here:
First issue
- the relative-link syntax is by design very restrictive; if you look at the parser (specifically around line 2240) you'll see this:
// external links look like this: // [http://google.com/ the link text] // [/other/page/on/site see this page] // strings in square brackets which don't match this syntax get passed through literally; eg: // he was very angery [sic] about the turn of events
ie. it expects either a URI or a path (and you can see how these are scanned in the lexer, specifically around line 81), and everything else is let through as is. This is because there are many places in normal text (like the "[sic]" example) where square brackets are legitimate and natural, and we don't want such places getting turned into links.
So that's one issue: internal links have always been considered an exception, a special case, in order to keep the lexer and parser simple, and avoid false positives. The idea was that if you wanted to do anything more complex than that then you'd just have to use a fully qualified URL.
It is probably within the realm of possibility to teach the lexer a slightly more nuanced notion of what constitutes a "path", but it would have to be done carefully. Here are the relevant lexer rules as they are now:
uri_chars = (alnum | [@$&'(\*\+=%_~/#] | '-')+ ; special_uri_chars = ([:!\(\),;\.\?])+ ; uri = ('mailto:'i mail) | (('http'i [sS]? '://' | 'ftp://'i | 'svn://'i) uri_chars (special_uri_chars uri_chars)*) ; path = '/' ([a-zA-Z0-9_\-.]+ '/'?)* ;
Note that the "path" segment of a
uri
is actually very loosely defined in terms of "uri chars" (what constitutes a "uri char" is based on the relevant RFCs, although I can't quote the exact RFC numbers from memory right now).We can't just re-use that same definition to define the actual
path
rule, because that would allow absurd paths that would never exist in any sane application (and remember, as these are internal links, we pretty much expect them to be sane by definition); paths like "@@@@@@$$$$$$$$&&&&&" would be allowed, which obviously is not a good thing.So, if you're interested in making this happening, you'd have to make the path rule quite a bit more sophisticated, and the question then becomes, where do you draw the line? Is being able to parse
/foo?bar=1
good enough? Or do you want to be able to parse/foo?bar[1]=baz&bar[2]=bing
? (And in that second example, note how the nested square brackets might throw a spanner in the works.)Basically, I didn't want things to become that complex when I added this feature (see the commit and the related ticket), and I still don't really want to now. So if you want to have a crack at it, feel free and I'd be happy to look at your patch, but I can't promise you that I'll include it.
Second issue
- The other issue, then, is that the question mark is getting eaten in test assertion that you cite there. That's a bug. Regardless of what you want to do about the first issue, I'll see if I can address this one.
-
Mike Stangel
I agree with the need to balance simplicity against a "support every possible scenario" approach. Since relative URLs must begin with a /, however, I wonder how great is the need to write
[/{something}]
and NOT want that to become a link? If wikitext defines[]
as the link syntax, then it seems to me we ought to default to treating this syntax as a link, unless it's wrapped in<nowiki>
. Were that the case, you wouldn't need complex character matching to convince yourself it's a URL -- if it starts with[/
then you can assume everything up to the next space is the URI, and everything from that point to the closing]
is the link text. I agree that supporting square braces in the query string is tricky and probably not worth supporting in this scenario. (I consider it critical to posting forms in Rails applications but can't think of any real-world examples of where it's necessary on a GET request)All of that being said, it's not a show-stopper for me if you were to decide not to support this at all.
-
Greg Hurrell
And voila, you've discovered another bug.
In your post where you typed:
if it starts with `[/` then you can assume
The parser effectively ignoring the second
`
. Funnily enough, I wouldn't be surprised if the root cause is the same (or very close to) the "Second issue" that I mentioned in my first comment (ie. the "?" getting swallowed on a failed link).Without looking at the code, I'd say what's happening here is:
-
see
`
, start
span -
see
[
, and assume we're about to see an external link -
scan a URI or path; in this case
/
counts as a path - expect to see a space, but fail, so rollback the failed link (ie. print the left bracket and the path)
-
continue processing... at this point the next character we
see should be another
`
and we should close the
span
Looking at the code, looks like our rollback is backfiring on us because instead of just printing the left bracket and the path, we are also printing the backtick and not assigning it any special meaning. The bug looks to be around line 2056. We're emitting the backtick, but we should just restart the processing loop and handle it in the
case TT
rule.As you can see, this kind of hand-crafted parser, already several thousand lines long, is an incredibly intricate and delicate piece of machinery, which is why I am hesitant about making sweeping changes. I will see if I can fix these little bugs though...
In the meantime I am going to edit your comment and mark it up like this:
if it starts with `<nowiki>[/</nowiki>` then you can assume
That should fix the display issue, at least.
-
see
-
Greg Hurrell
Fixed that little bug:
And yes, it also explains/fixes the disappearing "?" in your initial example.
-
Greg Hurrell
Kind changed:
- From: bug
- To: feature request
-
Greg Hurrell
Summary changed:
- From: Question mark in relative URLs confuses parser
- To: Allow links with query strings in internal link syntax (ie. [/hello?there=true link])
-
Greg Hurrell
Status changed:
- From: new
- To: open
Add a comment
Comments are now closed for this issue.


Visualisation of Plant Species after applying PCA
import sys
from leaf_cc import database as db
from leaf_cc import data_visualisation as dv
import matplotlib.pyplot as plt
Load the data, apply split of the data in test and training set and show the explonatory variance of the first 19 components after running PCA.
dataset = db.load()
X, y, labels_inv_map, labels_map = db.extract_data_array(dataset)
X_train, X_test, y_train, y_test = db.split_data(X,y)
fig_var = dv.plot_pca_variance(X_train)
plt.show()
x_widget, mean_widget, std_widget, button_widget= dv.load_widgets()
Show the chosen plant species in the 2D PCA domain.
data = dv.run_pca(X_train, y_train, mean_widget, std_widget, x_widget)
rfig_pca = dv.plot_pca(data)
plt.show()


Open schematic svg with atom, and resave, removing trailing spaces. Verify the actual terminal connection points. Looks good. The breadboard view export is not showing the part number on the package body, and a piece of the package body graphic by the notch is extending too high past pin 14.
Open schematic svg with inkscape, and save as Plain SVG. Inkscape generated file is considerable larger. 12453 versus 8532 bytes
revert to previous schematic svg file, and start simplifying (using text editor)
Here is what is left in the schematic svg file
move the connector… rect elements inside of the layer1 group. The interior body of the schematic symbol only highlights on hover in about a 0.15 inch band. No obvious matching graphics. The outer symbol (background and pins) highlights correctly.
The schematic pins can not be selected, to make connections.
move the connector… elements back outside of the layer1 group. Move the unnamed group of connector lines outside of the layer1 group (just before the rect elements). The line elements do not show up in a simple viewer, even before combining into a part. Redo, duplicating the transform from the layer1 group. test05_schem.svg content looks good, though back to be rotated 90 degrees again.
reduce the transform offset to (0,0) adjusting the line x and y attributes to match. Tweak numbers for consistency, and round to nicer multiples. 7.2 px per 0.1 inch step between pins. Currently each pin line is 8.7 px, or .12 inches long. test06_schem.svg content looks good, though again rotated 90 degrees.
move the connector pin line elements outside of their (no attributes) container groups, and delete the now empty groups (still in the group with the common attributes). test07a_schem.svg content looks good, though again rotated 90 degrees.
add connector6 id to line element, and remove original connector6 rect element. Connectors work in Fritzing, test08a_schem.svg content looks good, back to base orientation.
add matching connector«n» ids to the rest of the connector pin lines, and remove the rect elements with connector«n» ids. test08b_schem.svg content looks good, though again rotated 90 degrees.
cleanup connector«n»terminal rect element position and size. Set the centre of the rectangle to the defined edge of the schematic graphics (it extends outside to main range rectangle). test08c_schem.svg content looks good, though again rotated 90 degrees.
This is now down to a fairly minimal schematic part graphic. It is only 69 lines, 3782 bytes while the Fritzing schematic template file is 88 lines (some blank), 5971 bytes. This is smaller due to moving common attribute values to containing group element. The template also has a few extra example graphic elements.
Recalculate and fix the rest of the connector«n»terminal rect element position and size values. test08d_schem.svg content looks good, though again rotated 90 degrees.
Bring some of the updates from the schematic template file into the working svg.
Set the svg element attributes: version, baseProfile, and id to match the template file: 1.2, tiny, Layer_1. Add full size (as viewBox) background rectangle outside of schematic group. This DOES get carried into Fritzing view, but not exported to svg image. Useful for viewing raw svg schematic file, without the hatched transparent background. Add duplicate rectangle at the top of the schematic group, commented out, to allow easy addition of background when viewing exported svg. test09a_schem.svg content looks good, rotated 90 degrees from base.
Remove svg element xmlns:… attributes that are not in the template. Add 0.1 inch help reference block that will be included in Fritzing, but not exported to the view svg. Add xmlns:xml namespace attribute to schematic group. Remove layer1 id from group. test09b_schem.svg content looks good, rotated 90 degrees from base.
Remove large translate offset from group and adjust child element coordinates to compensate. Remove null group wrappers from around pin labels. Adjust the label matrix offset values to integer multiples of 0.1 inch and adjust the containing group offset to compensate. Remove the scaling from the wrapper around the coil graphics, simplify the curved path segments, adjust the start point to integer multiples of 0.1 inch and adjust the containing group offset to compensate. Adjust the pin connector line coordinates to be integer multiples of 0.1 inch, and set the containing group offset to compensate. Resequence pin related elements into the connector number order within each group. test10_schem.svg content looks good, rotated 90 degrees from base.
Use nested groups to set different offset for left and right pin information while keeping the actual element coordinates the same. test11a_schem.svg content looks good, rotated 90 degrees from base.
Remove generic id attributes not used for Fritzing. Group pin related together to make changes easier. Currently 3 sets: pin numbers, connectors, and terminals. Could be pin labels as well. Increase coil graphics to standard stroke width. test11b_schem.svg content looks good, rotated 90 degrees from base.
Adjust full dimensions to even multiples of 0.1 inch. Adjust wrapper offsets so that pin element references start from 0,0. test12a_schem.svg content looks good, rotated 90 degrees from base.
Adjust so the pin elements are NOT at a multiple of 0.1 inch from the top. test12b_schem.svg content looks good, rotated 90 degrees from base.
Tweak for better svg version 1.2 tiny conformance. Remove Adobe Illustrator generator comment. Remove doctype. Remove id from svg element. test13_schem.svg content looks good, rotated 90 degrees from base.
Move connection terminals (back) outside of the schematic group, so that they will not be exported to view svg files. Even if they are invisible. Check to see if they do get exported anyway.
This is now a pretty good base for a Fritzing part schematic template file. A few other elements could be added, like pin label names in the standard size and colour. Also a pin group name.
relay, even SPST, could use the split schematic: the coil and (each) switch could be separated on the schematic.
cleanup xml and svg tag attributes for svg version 1.1. remove defs, sodipodi, and metadata elements. remove inkscape generator comment wrap blocks of rect elements group elements, extracting the common fill="none" to the container. change the «integer»,«fraction» values in the rect elements to «integer».«fraction» comment out the block of rect elements that are not displayed, and do not have any id attribute. test14a_bb.svg content *mostly* looks good, other than the errors that have been there since the base. test14a_schem.svg content looks good. Schematic was rotated in Fritzing to get to match base.
Move connector group outside of breadboard group. (connector rectangles are also used for terminal reference) Add group wrappers with offset translations to get connector coordinates on 0.1 inch grid use nested groups with offsets to get the coordinates the same for the low and high numbered connector pins. Adjust so connector pin rectangle centres are exactly on 0.1 inch grid. Change part label to "TEMPLATE". test14b_bb.svg content looks good.
Remove generic/generated ids. Add group wrappers around related element sets: (chip orientation markings, notch, legs). Delete extra precision digits. test14c_bb.svg content looks good.
Why does the DIP package body (top/background) have both stroke and fill? They are the same colour, and there seems to be no need for a border. Original from before the 3D border was added? Found that the part name text is not showing up because the font-size was set to 0 in the svg export. Changing the svg element style from "font-size:4.8px;…" to "font-size:4.8;…" fixed it. Remove large transform offset from block of elements creating the DIP package body. Replace with offset to get (0,0) to top left corner of the DIP package body. Remove stroke from main DIP package body, and adjust size to compensate. Remove scaling from elements and adjust coordinates to compensate. Get rid of more extraneous precision digits. Remove duplicate connection pin piece test14d_bb.svg content looks good.
Add physical dimensions with units, and viewBox scaling factors. Attempt to create reusable components with defs: Visible in Fritzing, but failed to export to svg. - kept in file, but commented out, with sample usage references. Get rid of the large offset for the pin leg graphics, adjusting element offsets to compensate. Simplify the pin leg graphics, and reduce to common coordinates with simple multiples of 0.1 in offsets. Group repeating leg graphics sections, and move common attributes to the groups. test14e_bb.svg content looks good, and leg connections look and work correctly in Fritzing.
Change to version 1.2 tiny header. Remove more unneeded id attributes. Tweak leg graphics coordinates to symmetrical positions. Simplify icon graphics and match to breadboard coordinates. test15_bb.svg content looks good, and leg connections look and work correctly in Fritzing.
Cleanup pcb graphics. test16_«x».svg content looks good, and leg connections look and work correctly in Fritzing.


Sayantan Maitra on "The Space of Metric Measure Spaces" Seminar on January 20, 2017 at 11.00 a.m.
August - November 2016 : Schedule of Mathematics Courses


The Conference on Computer Vision and Pattern Recognition (CVPR) 2020 is being hosted virtually from June 14th - June 19th. We’re excited to share all the work from SAIL that’s being presented, and you’ll find links to papers, videos and blogs below. Feel free to reach out to the contact authors directly to learn more about the work that’s happening at Stanford!
List of Accepted Papers
Action Genome: Actions as Compositions of Spatio-temporal Scene Graphs
Authors: Jingwei Ji, Ranjay Krishna, Li Fei-Fei, Juan Carlos Niebles
Contact<EMAIL_ADDRESS>Links: Paper
Keywords: action recognition, scene graph, video understanding, relationships, composition, action, activity, video
AdaCoSeg: Adaptive Shape Co-Segmentation with Group Consistency Loss
Authors: Chenyang Zhu, Kai Xu, Siddhartha Chaudhuri, Li Yi, Leonidas J. Guibas, Hao Zhang
Contact<EMAIL_ADDRESS>Links: Paper
Keywords: shape segmentation, consistency
Adversarial Texture Optimization from RGB-D Scans
Authors: Jingwei Huang, Justus Thies, Angela Dai, Abhijit Kundu, Chiyu Jiang, Leonidas Guibas, Matthias Nießner, Thomas Funkhouser
Contact: jingweih@stanford,edu
Links: Paper | Video
Keywords: texture; adversarial;
Bodies at Rest: 3D Human Pose and Shape Estimation from a Pressure Image using Synthetic Data
Authors: Henry M. Clever, Zackory Erickson, Ari Kapusta, Greg Turk, C.Karen Liu, and Charlie C. Kemp
Contact<EMAIL_ADDRESS>Links: Paper | Video
Keywords: human pose estimation;
Category-Level Articulated Object Pose Estimation
Authors: Xiaolong Li, He Wang, Li Yi, Leonidas Guibas, A. Lynn Abbott, Shuran Song
Contact<EMAIL_ADDRESS>Award nominations: Oral presentation
Links: Paper | Video
Keywords: category level pose estimation, articulated object, 3d vision, point cloud, object part, object joint, segmentation, kinematic constraints
Few-Shot Video Classification via Temporal Alignment
Authors: Kaidi Cao, Jingwei Ji, Zhangjie Cao, Chien-Yi Chang, Juan Carlos Niebles
Contact<EMAIL_ADDRESS>Links: Paper | Video
Keywords: video classification, few-shot learning, action recognition, temporal alignment
ImVoteNet: Boosting 3D Object Detection in Point Clouds With Image Votes
Authors: Charles R. Qi, Xinlei Chen, Or Litany, Leonidas J. Guibas
Contact<EMAIL_ADDRESS>Links: Paper
Keywords: 3d object detection, rgb-d, voting, point clouds, multi-modality, fusion, deep learning, object recognition.
Learning multiview 3D point cloud registration
Authors: Zan Gojcic, Caifa Zhou, Jan D. Wegner, Leonidas J. Guibas, Tolga Birdal
Contact<EMAIL_ADDRESS>Links: Paper | Video
Keywords: registration, multiview, 3d reconstruction, point clouds, global alignment, synchronization, 3d, local features, end to end, 3d matching
Robust Learning Through Cross-Task Consistency
Authors: Amir R. Zamir, Alexander Sax, Nikhil Cheerla, Rohan Suri, Zhangjie Cao, Jitendra Malik, Leonidas J. Guibas;
Contact<EMAIL_ADDRESS>Links: Paper | Video
Keywords: multi-task learning, transfer learning, cycle consistency
SAPIEN: A SimulAted Part-based Interactive ENvironment
Authors: Fanbo Xiang, Yuzhe Qin, Kaichun Mo, Yikuan Xia, Hao Zhu, Fangchen Liu, Minghua Liu, Hanxiao Jiang, Yifu Yuan, He Wang, Li Yi, Angel X.Chang, Leonidas J. Guibas, Hao Su
Contact<EMAIL_ADDRESS>Award nominations: Oral presentation
Links: Paper | Video
Keywords: robotic simulator, 3d shape parts, robotic manipulation, 3d vision and robotics
Spatio-Temporal Graph for Video Captioning with Knowledge Distillation
Authors: Boxiao Pan, Haoye Cai, De-An Huang, Kuan-Hui Lee, Adrien Gaidon, Ehsan Adeli, Juan Carlos Niebles
Contact<EMAIL_ADDRESS>Links: Paper | Video
Keywords: video captioning, spatio-temporal graph, knowledge distillation, video understanding, vision and language.
StructEdit: Learning Structural Shape Variations
Authors: Kaichun Mo, Paul Guerrero, Li Yi, Hao Su, Peter Wonka, Niloy Mitra, Leonidas J. Guibas
Contact<EMAIL_ADDRESS>Links: Paper
Keywords: shape editing; shape structure; 3d vision and graphics
Synchronizing Probability Measures on Rotations via Optimal Transport
Authors: Tolga Birdal, Michael Arbel, Umut Şimşekli, Leonidas Guibas
Contact<EMAIL_ADDRESS>Links: Paper | Video
Keywords: synchronization, optimal transport, rotation averaging, slam, sfm, probability measure, riemannian, gradient descent, pose estimation
Unsupervised Learning From Video With Deep Neural Embeddings
Authors: Chengxu Zhuang, Tianwei She, Alex Andonian, Max Sobol Mark, Daniel Yamins
Contact<EMAIL_ADDRESS>Links: Paper
Keywords: unsupervised learning, self-supervised learning, video learning, contrastive learning, deep neural networks, action recognition, object recognition, two-pathway models
We look forward to seeing you at CVPR!


Setting up AHCI Post-Installation for Vista and Windows 7
I’ve got a confession to make. Throughout the 5 (or more?) systems that I have built throughout my relatively short period of interest in computers, there has been one thing that I have always omitted to enable, on every single system: AHCI. Advanced Host Controller Interface, as it is otherwise known, is one of the higher level layers of the SATA norm that enables better control over hard-drives connected to a SATA controller. Concretely, using AHCI enables features which are unavailable with standard IDE controllers: Native Command Queueing (NCQ), finer grained power management options, and hot-plugging.
Power management is something that is pretty self-explanatory, and NCQ and hot-plugging are terms well known by most computing enthousiasts, but just for the heck of it, here is a short reminder on what those things do: hot-plugging allows for the instant recognition of SATA drives plugged in a running system; it kind of makes your storage supports act like USB peripherals: you plug it in, the OS recognizes it instantly. This was previously impossible with normal IDE controllers, and although hot-plugging works on SATA in IDE mode, it isn’t totally automated: you still have to ask Windows (or whatever your OS) to look for it. As for Native Command Queueing, it is kind of like QoS filtering on a network, only it’s for your hard drives. The feature reads ahead on it’s tasks of commands, and prioritizes tasks as to minimized the distance traveled by the R/W head. It sounds kind of complicated when described with words… have a picture:
It might not seem like much… but in a mass-multi-tasking scenario with very full disks, you can obviously see the need for this kind of technology.
Looks good eh? I’ve got bad news though: enabling AHCI in your BIOS will results in a BSOD on boot. Since AHCI is something entirely different from IDE, Windows does not normally have the AHCI drivers loaded, hence why your disks are unreadable. Normally, under Windows XP, one would have to reinstall the OS in order to get AHCI working, however, Windows Vista and 7 have “native” support for AHCI and therefor can be set to use and AHCI storage system even after the OS has been installed. I myself have had difficulty finding out how to install the proper drivers, until I reinstalled Vista on my main box recently, where I realized that I was probably missing out on some pretty good stuff. Better late then never, I learnt how to do it, and thought I might share.
What needs to be done is that the AHCI driver has to be enabled at boot, as for the OS to load properly. This can be done by enabling the generic Microsoft provided AHCI driver. All this requires is a little one key registry tweak, as detail in this KB article. Simply changes this key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci
So that it is equal to 0. Mine was equal to something like 4 originally. If I had to take a guess as to the nature of this number, I’d probably say that it has something to do with the driver load priority, where anything tagged 0 is loaded first, 3 last, and 4 disabled.
Anyways, once that’s done, you may reboot your computer, go into the BIOS and set SATA MODE to AHCI. Your computer SHOULD boot fine, it may take a while to startup though. Once you are booted to your desktop, the “Found new hardware” dialog will go tits up, and pop up 6+ new pieces of hardware: each one of the SATA ports, the AHCI controller, as well as all the devices that you have hooked up on SATA. In my case, recognizing all this hardware took about 5 minutes.
Once that’s done, you’ll have to install a driver more specific to your motherboard, as the vanilla driver is far from optimal. Get the driver from your manufacturer’s web site, install the sucker, then reboot.
Once that’s done, you’ll have to go through the process of waiting for the hardware detection wizard to do it’s thing. If all goes right, you’ll see all the stuff you saw last time it ran, plus your SATA controller listed under it’s proper name. Once that’s done, congrats! You’re running off AHCI!
Now you can sleep easy knowing that your box (or at least your hard disk) is running full throttle. Enjoy!


I started taking Welbutrin as perscribed by my psychiatrist for a few years now. I also am perscribed Abilify (antipsychotic) and Lexapro for my schizoaffective disorder.
I am not much into anything but pills right now. I crush and snort lines on Welbutrin for fun. It's almost like snorting lines of Ritalin but with no edginess. I take a 200mg tab and it's fine. Then I ingest some, say about 500mg of Welbutrin. I start to feel very confident and awake also colors are brighter.
I snort 200mg, about a half hour later, more and and things start to get a little distorted. I was watching Magnolia at the time and enjoyed it very much but during the sad parts I couldn't cry even when I tried.
I snort another 200mg and am in a dreamy euphoric state. It is true the snorting Wellbutrin burns and tastes nasty but the buring you get used to fast, it barley burns me anymore. I also have glass of vanilla cola by me which by the ways tastes more intense yet I don't have the munchies. Over all I enjoy the experience.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Eldin’s Eccentric Elongations
The simple and easy way to installing our patch.
Now, you’re probably wonder… “wowie-zowie, this is so much to take in!111!!!one”. There’s nothing to fear, kids. We have the solution for you. Just follow these super-duper easy-to-follow steps and you’ll be on your way!
Things you’ll need;
- Ninjhax, Menuhax, Browserhax, or some other type of Homebrew access point.
- http://smealum.github.io/ninjhax2/
- This is a link to Ninjhax for your convenience, as that’s the only thing that works on the latest firmware.
- Homebrew Launcher kit.
- http://smealum.github.io/ninjhax2/starter.zip
- Click this link to download the selected file.
- Braindump.
- https://github.com/neobrain/braindump
- Right here, you’ll need this in order to get your romfs file to patch/modify.
- Romfs Extractor/Encrypter.
- There’ll be a direct link to these in the description.
First and foremost, you’ll want to drag the contents of the Homebrew Launcher kit to the root of your (micro) SD card. Make sure you have two folders labelled “hans” and “3ds”.
Insert helpful image, here.
Once you have all of the necessary files placed at the root of your SD card, you may proceed to set up the Homebrew access point of your choice. As of present, you may use Cubic Ninja or OoThax on latest firmware. At least Ocarina of Time got re-released as a Nintendo Classic and is available at various retailers for 19.99 USD, right? H-Haha, anyways, you should be able to find the necessary steps to set-up those entrypoints at the website you got your Homebrew Launcher kit. Don’t forget to place the Braindump files into the 3ds folder, those are very important and necessary for this operation.
After you’ve done that, you’ll want to make sure you have a physical copy of any of the Fire Emblem: Fates game. Yes, physical. I’m sad to relay that it’s impossible to use our patch with any digital copies of the game as of current.
Now that you have a wonderful physical copy of your choice, you can finally begin the actual “PATCHING” process. It doesn’t actually patch a game, as you’ll see in a moment.
You are now in the Homebrew menu, find “Braindump” and click it. Begin dumping your Romfs files. As you can see in the image below, this is a rather lengthy process.
Image displaying Braindump, here.
Alrighty, it looks like you’ve finished dumping your Romfs files!  By that, I mean… literally take out your SD card and plug it into your computer with a compatible port.
Image displaying root of SD card post-dump, here.
What you’ll want to do is go into the newly found romfs folder, you’ll see a file labelled with a six digit hex name. —— is FE:F Birthright, —— is FE:F Conquest, and —— is FE:F Special Edition. Copy and paste that file into your documents or wherever your decrypting and encrypting tools are.
Now, what you’ll want to do is begin the extraction process. This is even longer than the dumping process, so be prepared to play the waiting game some more.
Image displaying the Romfs Extraction tool extracting Romfs files, here.
You got an extracted Romfs file, now what? I’ll tell ya what, find the patch files and have them replace the files in that Romfs file. This shouldn’t take too long, only a couple minutes at the worst.
Literally a GIF of me dragging the patch files into the Romfs folder, he3re.
 Good spots include your desktop, My Documents, the NOT PORN folder, or any other open space you can place a new folder full of the good stuff that you know you’ll saunter to eventually.
Image displaying the re-encryption process of the Romfs Encryptor tool.
Take deep breaths, you’re almost there! You can make it, I believe in you! Remember that hans folder I had you make earlier?  First, rename the newly patched Romfs file to the six hex numbered label of whichever version of the game you own. Now, throw that into the hans folder.
Image displaying the file in the hans folder.
Now, go into the Homebrew menu and select Hans. Make sure you have your physical copy plugged into your 3DS. Start Hans with whichever Fire Emblem: Fates copy you have.
Image of Hans in the Homebrew Launcher about to start Fates.
You’ll see an option that asks if you want to run Romfs from SD, make sure that says yes. Optionally, if you’re running this on a New 3DS, make sure to boost the rate at which it runs games to that ~800 option. It’ll make everything look infinitely smoother and overall higher quality.
Image of me cheering.
Congratulations, you did it!  You earned it.