COMP 4403 Compiler Java Source Code Assignment
The main changes from the assignment 1 compiler are in the package parse which makes use of the parser and lexical analyser generators.
The Java files that make up the compiler are listed below, along with a brief description of their purpose. The source code for the compiler is divided into the following packages:
pl0 contains the Java files for the main program for the compiler parse contains the Java files to handle scanning and parsing as well as defining the lexical tokens (major changes from assignment 1 approach) tree contains the abstract syntax tree, the static semantic checker and the code generator syms contains the symbol table, its entries, and type descriptors machine contains the Java files for the stack machine interpreter, instruction set operation codes, and instructions. source contains the Java files for processing the source input and handling error messages
You shouldn’t need to look in here too much. The main program defines some command line arguments that may be useful.
PL0_LALR.java (class) The main program for the compiler (“LALR” stands for the LALR parser generator Java-CUP).
You may want to look inside the stack machine at some stage to work out exactly what an instruction does.Instruction.java (class) Defines the different formats of instruction.
Operation.java (enumeration) Define the operation codes for the stack machine. StackMachine.java (class) Implements an interpreter for the Stack Machine.
You’ll need to understand how the Parser works and what the lexical Tokens are, but you shouldn’t need to look at the Scanner. The whole approach to parsing is completely different to assignment 1.
PL0.cup (Java-CUP specification for PL0 parser) The parser recognises the input program and creates and abstract syntax tree. PL0.flex (JFlex specification for PL0 lexical analyser) The lexical analyser recognises the input character stream and splits it up into a stream of lexical tokens. CUPScanner.java (class) A tiny bit of plumbing between the lexical analyser (Lexer) and the parser generated by CUP. CUPParser.java (class) The parser (written in Java) generated from PL0.cup. You should not edit this directly; edit PL0.cup and re-generate this. If you get Java errors in this file, they usually correspond to something invalid in one of the semantic actions within your PL0.cup specification; try to determine what is wrong in the Java but then fix the corresponding action in PL0.cup. CUPToken.java (interface) A Java interface defining all the lexical tokens. This file is generated by Java-CUP from the terminal symbol specifications within PL0.cup. If it is incorrect do not modify this file, but modify PL0.cup and re-generate this file using Java-CUP. Lexer.java (class) The lexical analyser or scanner (written in Java) generated from PL0.flex. COMP 4403 Compiler Java Source Code Assignment
You’ll need to know the structure of the Abstract Syntax Tree and the definitions of the Operators. Then you’ll need to understand how the StaticChecker and CodeGenerator work. These both implement the Visitor interfaces to traverse the abstract syntax tree.
Code.java (class) Data structure for a sequence of instructions used in the code generation. CodeGenerator.java (class, implements TreeTransform, ExpTransform, and StatementTransform) Implements the code generation for the compiler via a tree traversal. You’ll need to modify this to generate code for the extra statements. ConstExp.java (class) Symbolic constant expressions are evaluated at compile time. This class provides tree nodes to represent constants and evaluate them. DeclNode.java (class) This class provides the abstract syntax tree nodes representing declarations lists and procedure declarations. DeclVisitor.java (interface) Visitor interface for declarations and procedures (including main program). ExpNode.java (class) Defines the nodes in the abstract syntax tree for expressions as well as methods for allowing tree traversals using the visitor pattern. ExpTransform.java (interface) Visitor interface for expressions returning a transformed expression. Operator.java (enumeration) Enumeration for the binary and unary operators for the abstract syntax tree. Procedures.java (class) Provides data structure to keep track of the start and finish addresses of procedures. Also used to provide a run-time stack trace (on a run-time error).
StatementNode.java (class) Defines the nodes in the abstract syntax tree for statements as well as methods for allowing tree traversals using the visitor pattern. You’ll need to modify this to generate the appropriate abstract syntax tree structure. StatementTransform.java (interface) Visitor interface for statement transformation (used in code generation). StatementVisitor.java (interface) Visitor interface for statements (used by static checker). StaticChecker.java (class, implements TreeVisitor, ExpTransform, and StatementVisitor) Implements the static (type) checking for the compiler via a tree traversal. You’ll need to modify this to static check the new constructs.
This package defines the symbol table and its entries as well as type descriptors.
Predefined.java (class) Handles all the predefined constants, types and operators. Scope.java (class) Provides a single scope within the symbol table. SymEntry.java (class) Defines the symbol table entries for CONST, TYPE, VAR and PROCEDURE identifiers, and operators. SymbolTable.java (class) The main symbol table that puts together symbol tables for each Scope (procedure, main program or predefined scope) that contain entries (SymEntry) for each identifier. Handles constant, variable, type, procedure identifiers, as well as the type structures. SymbolTableTest.java (JUnit test class) JUnit test for the symbol table. Type.java (class) Defines the symbol table structures that represent types, including basic types like int and boolean, as well as subrange types. TypeTest.java (JUnit test class) JUnit test for types.
This is low level boring stuff. You shouldn’t have to look in here unless you just want to find out what it does.CompileError.java (class) Stores a single error message.
ErrorHandler.java (class, implements Errors) Handles the saving and reporting of error messages. Errors.java (interface) Errors interface defines error methods. LineLocations.java (class) Used for finding the source line in the input file when reporting errors. Severity.java (enumeration) Enumeration containing the error message severities. Source.java (class) Handles reading the source input, keeping track of the location within the source input and output of error messages and a listing of the input. COMP 4403 Compiler Java Source Code Assignment


v4.1 [5 Dec 2016]
v3.5 [10 Feb 2012]
- Tool Properties are now displayed in the new Properties Bar beneath the toolbar in document windows.
Find dead pixels on LCD screens.
Easily change your Dock color and aspect, your Menubar color and corners and helps you customizing your stack icons on Mac OS 10.5.
Cross-platform pixel editor for creating game animations.
A vector graphics design software with animation capabilities.
Used to automatically populate folder icons with the artwork contained in a folders audio files.


I have an old Tiger Skin, shot and skinned in 1961. The skin is in good shape, but becoming brittle. Could the experts help me with some treatment which could add a few years to the trophy. Taxidermy as an art form is now over in India, so no local help is available.
Last edited by a moderator:


Hello guys !! :)
i need your help in the integration which is used to calculate the total charge in the electric field
in a continuous volume charge distribution
in this example i can't understand how the integration was done ..so please help me with this :)
The example ...
hello guys ...
i want to design this circuit on proteus and print it to put it on a board
this is a regulated power supply circuit
the problem is that iam a beginner in proteus ...so can anyone help me how to start ?
The Circuit :
please help me guys with this ..Thanks :)
Hello Guys !!
My question is : why in these photos the ohmmeter reads the total resistance ??
I mean why in (a) the ohmmeter can't read the 8 ohms resistance ?
Why in (b) the ohmmeter can't read the (2||10 ) resistance ?
Thank you Guys !! :))


Top network posts
- 21 How do I plot a histogram with hatched shading?
- 19 Curtains and groups
- 17 Construct point on a circle such that the reflection in that point is horiztonal
- 17 Implicitly defined compact complicated surface
- 11 How to set a website with live information as desktop wallpaper
- 10 A generalisation of Napoleon's theorem. Is this result original?
- 10 Why is the Fourier transform self-inverse?
- View more network posts →


Create your own GitHub profile
Sign up for your own profile on GitHub, the best place to host code, manage projects, and build software alongside 31 million developers.Sign up
- Roseville, CA
See how many hooks and filters the currently active theme has and what file it is located in.
Modified WordPress-i18n tools for translating and creating .pot file
Display a link list to your custom post type in a widgetized area. Choose how many and how to order them


The Game of Life is the most famous cellular automaton ever devised. The rules are dead simple, and the expressive power of the game is enormous. People have used it as a metaphor for a whole host of other phenomena, from evolution to the fundamental laws of the universe. However, I have long had the sense that Life has a hidden weakness that makes its results far more of a special case than people tend to imagine. That weakness is its neighborhood.
What I mean by the neighborhood is the fact that each cell in the game updates according to the cells that sit around it, both adjacent and diagonal. The combination of a small neighbor set coupled with more than one kind of physical relationship packs a ton of expressive power into a simple system. However, this comes at the cost of making the Game of Life massively anisotropic. Change the relationship between cells just a tiny bit, I guessed, and the cool patterns would disappear. If this idea was right, it suggested that the Game of Life, and other automata like it, have a lot less to do with natural organisms, or the universe, than first appears.
To test my theory, I decided to see what would happen to the Game of Life if you played it with a different neighborhood–one with the same number of neighbors, but treating all neighbors exactly the same way. To do this, I replaced the standard set of neighbor relations with the set of knight-moves.
What was the result? You can see for yourself below.
As expected, the clever compact patterns from Conway’s original game disappear. However, ironically, what you gain is something that looks a lot more like what you might find under a microscope.


3DEXPERIENCE CATIA - Hole and Thread
💡 With this video, we are now starting to share the contents of the 3DEXPERIENCE CATIA program on our channel.
In this video, we will examine the topics of drilling and thread insertion and dimensioning in Part Design and Drawing applications.
🚨 For more and more different content to come
⬇ We ask you to SUBSCRIBE to our channel and LIKE our videos.
#3dexperience #catia #thread #holewizard #partdesign #drawing


Illustration by Drawkit
I've recently used a nice feature in Gitlab to automatically post my articles scheduled in the future in Hugo and I share how I did it in this article.
This static blog uses Hugo to be generated and its repository is in Gitlab.
I have a private repo but it doesn’t really matter for this, it could also be public.
The final site is hosted on Gitlab too with a custom domain. If you don’t know how to achieve this, here’s a great guide.
The build step
If you have your blog on Gitlab with Hugo, you’ll probably have a .gitlab-ci.yml file in your repository. Here’s mine for reference:
image: registry.gitlab.com/pages/hugo/hugo_extended:0.58.3 variables: GIT_SUBMODULE_STRATEGY: recursive test: script: - hugo except: - master pages: script: - hugo --minify artifacts: paths: - public only: - master
The strategy to automatically post in the future
First of all you should have an article with a date in the future in Hugo. As you know, by default it won’t be rendered by Hugo when the site is generated but the file will be in the repository when you push your changes.
Remember you can preview future posts locally with the F flag:
hugo server -F
After having that article pushed to production, go to your repository in Gitlab and click on “Schedules”, under CI/CD in the sidebar:
Once there, click on New Schedule and fill the data with:
As you can see, this is just an example and you could run it just once every day at the same time but I prefer to be more accurate with the publishing time.
This configuration will generate your blog in Hugo every hour. If there’s a new article that needs to be created since the last built, it’ll be included in the site.
Some fun stats
Just for fun, I’ve noticed that the average build time in Gitlab is 30 seconds in my case and the full generation of this blog takes around 350ms with the minify option added (to have the HTML minimized):
P.S. This article was automatically posted by Gitlab. 😉


Hey guys, so I'm working on a plugin which is a block. Just to get my feet in the water, I'm trying to make it so that my block displays one thing when the user has a certain capability (or is a certain user), and displays another if they are not.
In the first image I have attached, you can see how I am trying to do this in my block's main PHP file. Note that I have defined $context by searching for the database entry relative to my plugin, which has the ID# 52. Then if you look at the second photo, that is my access.php file and the thing you see written I've added. So how I've wanted it to work is, as you can see in photo 2, 'admin' is set to allow, however the code in photo 1 always ends up echoing false. Can someone tell me what I might be doing wrong? Also I have updated the version.php as well as upgrade.php to no avail.
Thanks in advance.


On another floor of the A.R.C. Markland-N, the young man Simon "Xenon" Jackson, takes a break after finishing his project early (as always). Having a lot of free time, he decides to put on his legendary hacker "X" instinct and fight against the gangs of the cyber world.

His target is a network of $$$n$$$ small gangs. This network contains exactly $$$n - 1$$$ direct links, each of them connecting two gangs together. The links are placed in such a way that every pair of gangs is connected through a sequence of direct links.

By mining data, Xenon figured out that the gangs used a form of cross-encryption to avoid being busted: every link was assigned an integer from $$$0$$$ to $$$n - 2$$$ such that all assigned integers are distinct and every integer was assigned to some link. If an intruder tries to access the encrypted data, they will have to surpass $$$S$$$ password layers, with $$$S$$$ being defined by the following formula:

$$$$$$S = \sum_{1 \leq u < v \leq n} mex(u, v)$$$$$$

Here, $$$mex(u, v)$$$ denotes the smallest non-negative integer that does not appear on any link on the unique simple path from gang $$$u$$$ to gang $$$v$$$.

Xenon doesn't know the way the integers are assigned, but it's not a problem. He decides to let his AI's instances try all the passwords on his behalf, but before that, he needs to know the maximum possible value of $$$S$$$, so that the AIs can be deployed efficiently.

Now, Xenon is out to write the AI scripts, and he is expected to finish them in two hours. Can you find the maximum possible $$$S$$$ before he returns?


Past Fate is an open world MMORPG set in medieval fantasy world where the players freedom is the key element. Choose what you will become and explore the vast world and its continents for hidden secrets and mysteries. What is your fate?
Past Fate launched it's second Kickstarter campaign while having open alpha online for potential backers.
past fate - kickstarter live!
Past Fate's Kickstarter trailer is now live. Featuring the mechanics available in our current alpha.
past fate - kickstarter trailer is now live!
Past Fate's Kickstarter Pre-Launch Page is up. Our open alpha will stay up for the duration of the Kickstarter campaign!
past fate - kickstarter pre-launch is up!
Past Fate open alpha 2 will be held from June 8th to June 15th.
past fate - open alpha #2
Past Fate Open Alpha Test is now live. The alpha period lasts for a week.
past fate - open alpha test now live!
Past Fate's Open Alpha test #1 starts on February 24th
past fate - open alpha test
Update for Past Fate that explains the PvP plans and what happens when you die inside the game.
past fate - updates #4: pvp
The Kickstarter campaign for Past Fate is now up and running along with Steam Store Page.
past fate - kickstarter and steam page is now live!
Newest gameplay trailer of the medieval MMORPG Past Fate.
past fate - early alpha gameplay trailer #2
Past Fate early alpha trailer that shows the gameplay of the necromancer class.
past fate - early alpha gameplay trailer
Past Fate's newest update that shows and explains the newest information about the game.
past fate - updates #3
Development diary about the development of Past Fate
past fate updates #1
No news were found matching the criteria specified. We suggest you try the news list with no filter applied, to browse all available. Post news and help us achieve our mission of showcasing the best content from all developers. Join now to share your own content, we welcome creators and consumers alike and look forward to your comments.


/**
 * Mojang API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * OpenAPI spec version: 2020-06-05
 *
 * NOTE: This class is auto generated by OpenAPI-Generator 3.3.4.
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/*
 * NameChange.h
 *
 * A registered name change.
 */

#ifndef COM_GITHUB_ASYNCMC_MOJANG_API_CPP_RESTSDK_MODEL_NameChange_H_
#define COM_GITHUB_ASYNCMC_MOJANG_API_CPP_RESTSDK_MODEL_NameChange_H_

#include "../ModelBase.h"

#include <cpprest/details/basic_types.h>

namespace com {
namespace github {
namespace asyncmc {
namespace mojang {
namespace api {
namespace cpp {
namespace restsdk {
namespace model {

/// <summary>
/// A registered name change.
/// </summary>
class  NameChange
    : public ModelBase
{
public:
    NameChange();
    virtual ~NameChange();

    /////////////////////////////////////////////
    /// ModelBase overrides

    void validate() override;

    web::json::value toJson() const override;
    void fromJson(const web::json::value& json) override;

    void toMultipart(std::shared_ptr<MultipartFormData> multipart, const utility::string_t& namePrefix) const override;
    void fromMultiPart(std::shared_ptr<MultipartFormData> multipart, const utility::string_t& namePrefix) override;

    /////////////////////////////////////////////
    /// NameChange members

    /// <summary>
    /// The new player name
    /// </summary>
    utility::string_t getName() const;

    void setName(const utility::string_t& value);

    /// <summary>
    /// Time which the name was changed in UNIX Timestamp without milliseconds. Usually absent for the first entry.
    /// </summary>
    int64_t getChangedToAt() const;
    bool changedToAtIsSet() const;
    void unsetChangedToAt();

    void setChangedToAt(int64_t value);

protected:
    utility::string_t m_Name;
        int64_t m_ChangedToAt;
    bool m_ChangedToAtIsSet;
};

}
}
}
}
}
}
}
}

#endif /* COM_GITHUB_ASYNCMC_MOJANG_API_CPP_RESTSDK_MODEL_NameChange_H_ */


Re: State of Debian blends, notes and questions on debian-ezgo
> Rewriting the PhET package hasn't started yet. I'm considering to ask if
> University of Colorado would like to have such packages or not. At least
> I'll get newest offline version as they have completed many new HTML5
> simulations recently.
Whatever you do about PhET - it should definitely not be part of the
ezgo source package but rather a separate package.
Originally ezgo-phet is a empty package to download a zip file in the postinst script. But the download ftp site was not stable.
So I'm considering to make another deb package for different languages offline version and see if it can be published from USC _OR_ from my own ezgo repository, which is mirroring to some other places everyday. Then the ezgo-phet in blends is still a meta package.


Thursday, April 26, 2007
Can CRPGs Age Gracefully?
Martin posted an interesting question in the RPG Forum. It's made me think a bit. I'll refer you to the thread itself for his words. But it's the old retrogaming question with an RPG twist.
Is it possible to enjoy an older (meaning... technologically obsolete) computer RPG? He's not talking about one you've already played in the past (Scorpia's already weighed in on the question of replaying old favorites) - but maybe those old games sitting on the shelf that you keep telling yourself you are going to finish "someday." Even though it's been ... well, even though those games now require DOSBox to run.
I think the question largely has to do with the player. I mean, I'm a retrogamer. And an indie gamer. Old-school graphics don't scare me much. I mean, Aveyond, Fallout, and Avernum 4 all have nowhere near state-of-the-art graphics, but I have enjoyed all of them recently / currently. But maybe some people have a tough time conceiving of an ogre as a deadly (and entertaining) opponent unless it appears in full Oblivion-esque majesty with full shader effects, dynamic lighting, and voice acting.
One thing that does drive me nuts nowadays, however, is poor UI and control design. We've really learned a lot in the past two decades about designing an interface that doesn't blow chunks. Remember the old days of Ultima, when every single key on the keyboard was mapped to a command, and you had to figure out if (L)ooking at an object was sufficient, or maybe you should (I)nspect it? Or that you couldn't just use a lock, you had to (J)immy it? Or how about the early Wizardry games, where (I guess as a copy-protection technique) you had to type in the exact name of these nonsense-word spells? I think we learned some positive lessons from the advent of the game consoles here.
While protoyping the controls for Frayed Knights several weeks ago, I had this "awesome" idea to try to use Ultima Underworld's mouse control system. I thought, "Wow, you could do everything in that game with the mouse, none of this WASD nonsense! I wonder why nobody has done that ever since? I should try that!"
I tried it. It was horrible. I found it almost unplayable. Obviously, I'd done something wrong. So I booted up DOSBox, and played Ultima Underworld again. In fact, as I'd never finished Ultima Underworld 2: Labyrinth of Worlds, I wondered if I could get hooked all over again and finally finish the sequel, only 14 years after it's release. So off I went!
It was horrible.
Well, okay. After a little bit of effort I started to get used to it. Still bouncing into walls and falling off bridges and stuff, but I was at least generally going in the direction I intended to go. Apparently, once upon a time many years ago I managed to get proficient enough at it that I actually enjoyed it. But after twenty minutes, I wasn't finding it to be quite like riding a bicycle. I wasn't feeling particularly inspired to jump into UU2 and see what I'd been missing all these years.
I recall loading up Bloodstone: A Dwarven Tale - already an antique when I purchased it a massive discount in the early 90's- and being dismayed that character names were limited to five characters. Come on! Even the Apple and C-64 could do better than that, years earlier!
And there are similar gripes and irritations for many of these older games. Assuming I can even get them to run. Sure, graphics can be an issue - if they are BAD. Meaning, they do not perform their function of clearly presenting the player with the information about the state of the game he needs to play. But there are legions of players for whom NetHack is perfectly reasonable (if not particularly pretty) graphics.
There are some modern games with cool, semi-cutting-edge graphics that can't say that. Say, when you get attacked while your camera is stuck in some corner, so you can't actually look at and properly target your opponent.
One thing that has (traditionally) set RPGs apart from other types of games is their independence from graphics. They've typically lagged behind the cutting edge, substituting sheer scope and depth of the game worlds for the latest eye candy. At least, this was true up through and including Diablo 2 and Baldur's Gate 2. So many of the "retro" RPGs weren't even intended to be cutting edge for the era in which they were released. To some degree, I think this worked to their advantage - the artists were able to focus on simplicity, elegance, and functionality rather than making compromises to appease the technology gods of the latest bells and whistles (which have now long since become obsolete).
So what do you think? Have you tried playing an RPG recently that was more than 7 years old? Have you FINISHED an RPG that was more than 7 years old? Can you enjoy the a new, old game?
POST A COMMENT IN OUR FORUMS
Links to this post:


A string is called a k-string if it can be represented as k concatenated copies of some string. For example, the string "aabaabaabaab" is at the same time a 1-string, a 2-string and a 4-string, but it is not a 3-string, a 5-string, or a 6-string and so on. Obviously any string is a 1-string.

You are given a string s, consisting of lowercase English letters and a positive integer k. Your task is to reorder the letters in the string s in such a way that the resulting string is a k-string.


Chief of Staff at Ntropy
I support early stage founders and organizations to plan, organize & execute on the back-office.
I grew up in the small college town of Sewanee, TN and have lived in NYC for the past six years.
I'm passionate about community, music, and traveling. I'm also interested in real estate investing, DeFi & company cultures.
In my free time I read, write, and dream about building businesses.
Goal - create a strong network in the startup space Goal - explore new career opportunities
Currently Investing in
Give 1 - Brainstorm strong working/startup cultures Give 2 - Early stage finance & accounting Give 3 - Phish recs ;) Give 4 - Recruiting, interviewing


This week's book giveaway is in the Performance forum. We're giving away four copies of The Java Performance Companion and have Charlie Hunt, Monica Beckwith, Poonam Parhar, & Bengt Rutisson on-line! See this thread for details.
How to connect to sql server using windows authentication
Kunaal A Trehan
posted 10 years ago
Hi All I am working on a project in which finally client will download the application using web start.Since for fetching data we need to connect to SQL server.We want to use windows authentication for connecting to SQL Server. We are using hibernate to connect to DB. Can any one help me out in this issue.


I'm just curious, is there a way to specify that you want a string of goals run as the default goal in a maven project? Is there an equivalent to Ant's
<project name="MyProject" basedir="." default="main"><target name="main" depends="clean,run"/>?
There is something roughly equivalent, you CAN define a default goal or phase that will be executed if none is given in the
But this has to be a single phase, or goal, you can't pass multiple phases/goals (not really a problem since a phase triggers all preceding phases).
Here is what the POM Reference writes about
No there is no such thing in Maven to define a default goal neither a target (which does not exist in Maven), cause you will call maven allways with a goal e.g. mvn clean or mvn package etc.


The only difference between the two versions of this problem is the constraint on $$$q$$$. You can make hacks only if both versions of the problem are solved.

Thomas is sailing around an island surrounded by the ocean. The ocean and island can be represented by a grid with $$$n$$$ rows and $$$m$$$ columns. The rows are numbered from $$$1$$$ to $$$n$$$ from top to bottom, and the columns are numbered from $$$1$$$ to $$$m$$$ from left to right. The position of a cell at row $$$r$$$ and column $$$c$$$ can be represented as $$$(r, c)$$$. Below is an example of a valid grid.

Example of a valid grid

There are three types of cells: island, ocean and underwater volcano. Cells representing the island are marked with a '#', cells representing the ocean are marked with a '.', and cells representing an underwater volcano are marked with a 'v'. It is guaranteed that there is at least one island cell and at least one underwater volcano cell. It is also guaranteed that the set of all island cells forms a single connected component$$$^{\dagger}$$$ and the set of all ocean cells and underwater volcano cells forms a single connected component. Additionally, it is guaranteed that there are no island cells at the edge of the grid (that is, at row $$$1$$$, at row $$$n$$$, at column $$$1$$$, and at column $$$m$$$).

Define a round trip starting from cell $$$(x, y)$$$ as a path Thomas takes which satisfies the following conditions:

- The path starts and ends at $$$(x, y)$$$.
- If Thomas is at cell $$$(i, j)$$$, he can go to cells $$$(i+1, j)$$$, $$$(i-1, j)$$$, $$$(i, j-1)$$$, and $$$(i, j+1)$$$ as long as the destination cell is an ocean cell or an underwater volcano cell and is still inside the grid. Note that it is allowed for Thomas to visit the same cell multiple times in the same round trip.
- The path must go around the island and fully encircle it. Some path $$$p$$$ fully encircles the island if it is impossible to go from an island cell to a cell on the grid border by only traveling to adjacent on a side or diagonal cells without visiting a cell on path $$$p$$$. In the image below, the path starting from $$$(2, 2)$$$, going to $$$(1, 3)$$$, and going back to $$$(2, 2)$$$ the other way does not fully encircle the island and is not considered a round trip.

Example of a path that does not fully encircle the island

The safety of a round trip is the minimum Manhattan distance$$$^{\ddagger}$$$ from a cell on the round trip to an underwater volcano (note that the presence of island cells does not impact this distance).

You have $$$q$$$ queries. A query can be represented as $$$(x, y)$$$ and for every query, you want to find the maximum safety of a round trip starting from $$$(x, y)$$$. It is guaranteed that $$$(x, y)$$$ is an ocean cell or an underwater volcano cell.

$$$^{\dagger}$$$A set of cells forms a single connected component if from any cell of this set it is possible to reach any other cell of this set by moving only through the cells of this set, each time going to a cell with a common side.

$$$^{\ddagger}$$$Manhattan distance between cells $$$(r_1, c_1)$$$ and $$$(r_2, c_2)$$$ is equal to $$$|r_1 - r_2| + |c_1 - c_2|$$$.


Tree is a connected undirected graph that has no cycles. Edge cactus is a connected undirected graph without loops and parallel edges, such that each edge belongs to at most one cycle.

Vasya has an edge cactus, each edge of this graph has some color.

Vasya would like to remove the minimal number of edges in such way that his cactus turned to a tree. Vasya wants to make it in such a way that there were edges of as many different colors in the resulting tree, as possible. Help him to find how many different colors can the resulting tree have.


You are given a connected weighted undirected graph without any loops and multiple edges.

Let us remind you that a graph's spanning tree is defined as an acyclic connected subgraph of the given graph that includes all of the graph's vertexes. The weight of a tree is defined as the sum of weights of the edges that the given tree contains. The minimum spanning tree (MST) of a graph is defined as the graph's spanning tree having the minimum possible weight. For any connected graph obviously exists the minimum spanning tree, but in the general case, a graph's minimum spanning tree is not unique.

Your task is to determine the following for each edge of the given graph: whether it is either included in any MST, or included at least in one MST, or not included in any MST.


SERVER VIRTUALIZATIONWindows Server virtualizationMyth: “Windows Server licenses may not be reassigned within 90 days andWindows Server OEM licenses may never be reassigned, so customers may notmove virtual machines with Windows Server with Live Migration or VMotion.”Truth: The first part of the myth is essentially correct (some exceptions exist,though), but the conclusion is not. Customers who want to move a virtualmachine within their server farm must make sure that on the destination (thehost where the virtual machine will be moved to) appropriate licenses arewaiting. If for example hosts A and B are both licensed for Windows Server 2008R2 Datacenter then an unlimited number of virtual machines running WindowsServer may be running on hosts A and B. If a virtual machine running WindowsServer is now moved from host A to host B, it will “find” the required WindowsServer licenses on host B and may therefore run there. In this example, thelicenses are not being moved, so this can even be done with Windows ServerOEM licenses.
SERVER VIRTUALIZATIONWindows Server virtualizationMyth: “Windows Server 2008 R2 Datacenter costs about the same asWindows Server 2008 R2 Enterprise, so even if you have just five virtualmachines running Windows Server, Datacenter is more cost-effectivethan Enterprise.”Truth: Unlike Windows Server 2008 R2 Enterprise, the Datacenter editionuses processor licensing and it may only be run on servers with at leasttwo processors. This limitation rules out Windows Server 2008 R2Datacenter as an option for single-processor servers. On servers withtwo or more processors the number of virtual machines and the requiredfunctionality will together determine whether Windows ServerDatacenter is more attractive than the Enterprise edition or not. On adual-processor server with five virtual machines for example, oneEnterprise plus one Standard license is the most cost-effective option.
SERVER VIRTUALIZATIONWindows Server virtualizationMyth: “The Product Use Rights document (PUR) state that you may only runWindows Server 2008 R2 Datacenter on servers with at least two processors,so if I buy one Datacenter processor license for a single-processor server andleverage lower edition use rights in order to use Windows Server Standard orEnterprise, I can bypass this two-processor minimum.”Truth: Whenever you exercise lower edition or prior edition use rights, theoriginal product usage rights still apply. Since Windows Server 2008 R2Datacenter has a two-processor minimum, this threshold also applies ifWindows Server Standard or Enterprise is run instead of Datacenter.Myth: “The two-processor minimum for Windows Server Datacenter wasintroduced in 2008 R2.”Truth: This threshold was introduced with the release of Windows ServerDatacenter 2008, not 2008 R2. It did not exist in 2003 R2 and prior versions.
SERVER VIRTUALIZATIONWindows Server virtualizationMyth: “A Windows Server External Connector license is needed for eachvirtual machine running Windows Server that will be used directly orindirectly by external users.”Truth: Page 32 of the March 2011 PUR states “Each external connectorlicense assigned to a server permits any number of external users toaccess instances of the server software on that server.” so all WindowsServer virtual machines running on a host can share a single ExternalConnector.
SERVER VIRTUALIZATIONWindows Server virtualizationMyth: “Like Windows Server licenses, Windows Server External Connectorlicenses may not be reassigned.”Truth: Page 32 of the March 2011 PUR states “You may reassign externalconnector licenses to any of your servers located within the same serverfarm as often as needed. The prohibition against short-termreassignment does not apply to external connector licenses assigned toservers located within the same server farm.” This exception may be veryuseful because it means that a Windows Server virtual machine thatserves external users and runs somewhere in a server farm can take theWindows Server External Connector with it as it moves.
SERVER VIRTUALIZATIONWindows Server virtualizationMyth: “Even if Windows Server 2008 R2 is used only as a virtualizationplatform, Windows 2008 CALs are required.”Truth: Page 30 of the March 2011 PUR states “You do not need CALs for[…] (4) any user or device accessing an instance running in a physicaloperating system environment that is used solely to (i) run hardwarevirtualization software (ii) provide hardware virtualization services (iii) runsoftware to manage and service operating system environments on thelicensed server.” This means that your customer may move his serversrunning Windows Server 2003 R2 and prior versions to virtual machineson a physical server that runs Windows Server 2008 R2 without having toupgrade his Windows 2003 CALs.
SERVER VIRTUALIZATIONWindows Server virtualizationMyth: “Microsoft doesn’t have a free or low-cost virtualization platform.”Truth: Microsoft offers Microsoft Hyper-V Server 2008 R2 – an operatingsystem with hypervisor – as a free download. Hyper-V Server is adedicated stand-alone product, which easily plugs into customers’existing IT environments, providing live migration, cluster shared volumesupport and expanded processor and memory support for host systems.
SERVER VIRTUALIZATIONWindows Server virtualizationQ: Litware has a single-processor six-core server with 10 virtualmachines. Choose the most cost-effective approach with which Litwareachieves compliance.A: Windows Server Enterprise costs about three times as much asWindows Server Standard, so the most cost-effective solution is 2Windows Server Enterprise plus 2 Windows Server Standard licenses.Now you might think “Why not Windows Server Datacenter?” Well, thePUR doesn’t allow the use of this edition on single processor servers.
SERVER VIRTUALIZATIONVirtualizing SQL ServerQ: Prosecom uses ten servers with four hexa-core (6-core) processors and hasvirtualized all Windows servers. It has one SQL Server Standard virtual machine(VM) with 2 virtual processors. This VM can run anywhere and will be used bythousands of external users. Another identical VM is running as a passive fail-overserver. What will be your recommendation for SQL Server?A: A VM that is accessed by thousands of external users should be licensedthrough processor licensing because it won’t be possible to monitor the numberof SQL CALs and the cost of these CALs will exceed the cost of processor licenses.The SQL Server 2008 R2 Licensing Guide explains that customers may divide thenumber of virtual processors (2) by the number of cores per physical processor(6) and then round up this figure (2/6 1).The VM may run anywhere, so either you license all ten physical servers for SQLStandard or you use SQL Enterprise and leverage License Mobility.SQL Server Enterprise (Standard too!) offers passive fail-over rights, so you onlyneed to license the active server (1 processor license), so the correct answer is 1SQL Server 2008 R2 Enterprise processor license.
SERVER VIRTUALIZATIONLicense MobilityQ: Prosecom has data centers in Brussels and Bangalore, ten servers perdata center, one Exchange Server 2010 Standard virtual machine (VM)and one SQL Server 2010 Enterprise VM. Both VMs may run anywhere.Which licensing solution will you suggest?A: Both Exchange Server 2010 Standard and SQL Server 2008 R2Enterprise offer License Mobility. However, this customer’s server farmexceeds four time zones, so in this instance both datacenters will need tobe licensed for Exchange and SQL. The correct answer is therefore 2Exchange Server and 2 SQL Server licenses.
INTEGRATED SERVER MANAGEMENT SUITES DRIVESIMPLIFICATION OF MANAGEMENT THROUGHSTANDARDIZATION • Data Configuration • Protection & Management (Physical & Recovery Virtual) • Server End-To-End Compliance Monitoring •
NEW CAPABILITIES AVAILABLE TO SERVER MANAGEMENTSUITE CUSTOMERS Previous With New Capabilities Opalis grant NEW in Dec 2009 Service Manager NEW in 1 Jul 2010 Operations Manager Operations Manager Configuration Manager Configuration Manager Data Protection Manager Data Protection Manager Virtual Machine Manager Virtual Machine Manager SMSE / SMSD SMSE / SMSD • Opalis available to SMSE / SMSD customers via a grant from Microsoft. • Service Manager Server ML will be a new component of SMSE / SMSD on 1 July 2010. • Both changes effective for Enrollment for Core Infrastructure (ECI) licenses • Excluding ECI Standard which does not include SMSE or SMSD. 15
SERVER VIRTUALIZATIONSystem CenterQ: Which System Center products don’t require separate server licenses?A: The right to use the server portion (also known as the “console”) ofSystem Center Data Protection Manager (SCDPM) and System CenterVirtual Machine Manager (SCVMM) is granted to customers who havecorresponding Server or Client Management Licenses.Q: Why doesn’t a System Center Server Management Suite Standardexist?A: Such a suite existed in the past but has been withdrawn. However, theCIS Standard Suite does contain Standard Server Management Licensesfor SCCM, SCDPM and SCOM.
SERVER VIRTUALIZATIONSystem CenterQ: Litware wants to manage one Windows Server host with five VMs withSystem Center Virtual Machine Manager (SCVMM) and System CenterOperations Manager (SCOM). Which Server Management Licenses(SMLs) are needed?A: SCVMM requires an SML per physical server whereas SCOM requiresan SML per managed Operating System Environment (OSE), so here 1SCVMM SML and 6 SCOM SMLs will be needed.
Enrolment for Core Infrastructure Suites aka CIS Suites
CORE INFRASTRUCTURE SERVER SUITES ECI: Combine suites, and upgrade over time Datacenter Enterprise Standard Server Management Suite Server Management Suite Server Management Licenses Datacenter Enterprise Standard Highly virtualized Lightly virtualized 1 virtualized instance For 2+ processor servers For 2 processor servers For 1 processor servers Only 5% more than Only 8% more than Only 15% more than Windows Server Datacenter Windows Server Enterprise Windows Server Standard
ECI COST SAVINGS The pricing example below shows the relative value and cost (Select C) of a customized 100- processor, 90 server ECI enrollment (20 Datacenter, 40 Enterprise, 40 Standard) vs. purchasing the individual components separately and to purchasing only Windows Server. $250,000 20% Only 8% more $207,524 $200,000 System $54,747 $165,681 Center $151,733 $150,000 FCS ECI Windows Windows $151,733 Mix Server $100,000 Server Only $50,000 $0 Products purchased ECI - 20/40/40 mix* WS L+SA only separately
SERVER VIRTUALIZATIONECIQ: Is ECI also available under the Enterprise Subscription Agreement(EAS)?A: Yes, ECI is available under EA and EAS, its product description is CIS onthe pricelist.Q: Is it correct to say the SMSE is licensed per processor in ECI and perserver in other VL programs?A: That is correct. All CIS Suites are licensed per processor.Q: Is it correct to say that only the CIS Standard Suite may be obtainedfor servers with a single processor?A: Yes, that is true. The CIS Enterprise and Datacenter Suites may not beobtained for servers with a single processor.
SERVER VIRTUALIZATIONECIQ: Do the CIS Suites include the right to install the server portion (a.k.a.“console”) of System Center Configuration Manager (SCCM), System CenterOperations Manager (SCOM) and System Center Service Manager (SCSM)?A: Yes, they do if the following restrictions are observed:• SQL Server (a prerequisite for these System Center products) must be licensed separately.• The server portion may only be deployed on servers that are licensed with a CIS Suite.This is the wording in the ECI enrollment:System Center. Enrolled Affiliate may run any number of instances of theSystem Center server software in any number of operating systemenvironments on each licensed server. Enrolled Affiliate may separate andrun instances of the server software in different operating systemenvironments on the licensed server
SERVER VIRTUALIZATIONECIQ: If a customer standardizes on the Enterprise CAL Suite (ECAL) for allQualified Users, do the Forefront Endpoint Protection (FEP) rights thatare included in the CIS Suites add any value?A: Yes, even in such a case, ECI adds value because servers require FEPlicenses too. The March 2011 PUR clarifies this as follows:Page 93 Servers4 that access data require a device license in addition touser licenses for connecting users. […]Page 98 4For purposes of this requirement, “Servers” are devices onwhich you run server operating systems.
SERVER VIRTUALIZATIONECIQ: Why isn’t the “CIS Suite without Windows” migration SKUs availableas true-up SKUs?A: The True-up process implies the purchasing and invoicing of a newLicense plus SA. Therefore the customer will end up paying twice for theLicense. In order to migrate a Windows Server license to a CIS Suite mid-term, an additional Supplemental CPS will be needed. Such a mid-termmigration cannot be done using a True-up SKU.
SERVER VIRTUALIZATIONECIQ: Customers who renew SA on Windows Server plus SMSE or SMSDmay obtain CIS SA-only SKUs. What about customers who have WindowsServer SA plus SA on a System Center Server Management License (ML),e.g. an SCCM Enterprise Server ML?A: Customers with Windows Server Enterprise SA should step-up fromthe individual Server ML to SMSE. After that you can obtain CISEnterprise Suite SA.Customers who have Windows Server Datacenter SA also need to stepup from the individual Server ML to SMSE, and then need to step upfrom SMSE to SMSD (the SKU turns one SMSE to two SMSD processorlicenses). Next you can obtain the CIS Datacenter SA.
SERVER VIRTUALIZATIONECIQ: Can our SCOM Server Management Licenses be terminated mid-termif we want to migrate from Windows Server SA to a CIS Suite using a “CISSuite without Windows Server” SKU?A: This is not a programmatic approach and will hence require BDSG orBusiness Desk approval.Q: If a customer currently pays for Windows Server L&SA and migratesto ECI mid-term, how is it possible that he pays for CIS Suite withoutWindows Server whereas he hasn’t fully paid for the Windows Serverlicense?A: If a customer uses this migration SKU, remaining payments forWindows Server L&SA will still be due through the original agreement.
SERVER VIRTUALIZATIONECIQ: If a customer only enters into an ECI, not into an EA Enrollment orSelect (Plus) agreement, to which price level will he be entitled?A: All ECI products are assigned to the Server Pool, so the customer’sSelect (Plus) or EA server pool price level will apply to ECI. If thecustomer doesn’t have a Select (Plus) or EA for the Server Pool, then heis entitled to price level A.Q: Has the ECI threshold changed?A: Yes. Whereas in the past customers needed to place an initial order forat least 40 CIS Datacenter Suite processor licenses or at least 100processor licenses for any combination of CIS Suites, the currentminimum is 50 processor licenses for any combination of CIS Suites.
SERVER VIRTUALIZATIONECIQ: Is a calculator available for building an ECI proposal?A: Yes. Use the ECI Pricing Estimator to generate an initial estimate athttp://eci.Q: Is it true that ECI quotes can also be created using E3 and thatquoting no longer requires BDSG involvement?A: ECI SKUs are available in E3. BDSG involvement would be required ifnon Standard CPS need to be created.Q: Customers who migrate from Windows Server with active SA to ECIusing a CIS without Windows Server SKU are credited for overlappingWindows Server SA. Which SA price will be used for calculating thiscredit?A: The Business Desk Support Group (BDSG) will calculate this credit.They will use EA price list for doing so.
SUMMARY1. Managed server virtualization with Windows Server, Hyper-V Server and System Center offers customers a glide path to a private or public cloud-based infrastructure.2. Even if you use just a few System Center products for managing your servers, the System Center Server Management Suite Enterprise (SMSE) or Datacenter (SMSD) is more cost-effective than the individual System Center Server Management Licenses. The same is true for customers who have just a few virtual OSEs per host and only use one or two System Center products.3. The easiest and most cost-effective way for obtaining Windows Server, SMSE or SMSD, and Forefront Endpoint Protection (FEP) for servers is with the EA Enrollment for Core Infrastructure (ECI). ECI offers a choice between three Core Infrastructure Server (CIS) Suites: CIS Standard for single-processor servers, CIS Enterprise for lightly virtualized workloads on dual-processor servers and CIS Datacenter on highly virtualized dual-processor and bigger servers.
SUMMARY4. Customers with active SA on Windows Server Enterprise and SMSE can migrate to CIS Enterprise, and should do so at SA renewal. The same is true for customers who have active SA on Windows Server Datacenter and SMSD.5. Customers who have active SA on Windows Server but not on SMSE or SMSD can also migrate to ECI by using a “CIS Suite without Windows Server”. Customers will be credited for overlapping SA, which means that you don’t have to wait until your SA renewal date (unlike customers who have both Windows Server and SMSE/SMSD, as explained in the previous slides).
CALL TO ACTION1. Consider individual System Center Server Management Licenses vs SMSE or SMSD because these suites are much more cost- effective and streamline System Center licensing.2. When renewing Windows Server SA, consider adding System Center and Forefront Endpoint Protection by migrating to ECI.3. When renewing SA you can seamlessly migrate from Windows Server SA plus SMSE or SMSD SA. Migrating from Windows Server SA to ECI can be done at any time.


HCII at UIST 2016
The Human-Computer Interaction Institute had a strong showing at this year's ACM Symposium on User Interface Software and Technology (UIST.) Researchers from the HCII represented nine accepted papers, a Best Paper Award and a Best Talk Award. Congratulations to our students, faculty and their collaborators on their excellent work!
Nine Accepted Papers
The titles and demos for all nine accepted papers are below. Click the titles to launch their demo videos.
- A 3D Printer for Interactive Electromagnetic Devices: Huaishu Peng, François Guimbretière, James McCann, Scott Hudson
- Advancing Hand Gesture Recognition with High Resolution Electrical Impedance Tomography: Yang Zhang, Robert Xiao, Chris Harrison
- AuraSense: Enabling Expressive Around-Smartwatch Interactions with Electric Field Sensing: Junhan Zhou, Yang Zhang, Gierad Laput, Chris Harrison
- Bootstrapping User-Defined Body Tapping Recognition with Offline-Learned Probabilistic Representation: Xiang 'Anthony' Chen, Yang Li
- IdeaHound: improving large-scale collaborative ideation with crowd-powered real-time semantic modeling: Pao Siangliulue, Joel Chan, Steven P Dow, Krzysztof Z Gajos
- Reprise: A Design Tool for Specifying, Generating, and Customizing 3D Printable Adaptations on Everyday Objects: Xiang 'Anthony' Chen, Jeeeun Kim, Jennifer Mankoff, Tovi Grossman, Stelian Coros, Scott E Hudson
- Supporting Mobile Sensemaking Through Intentionally Uncertain Highlighting: Joseph Chee Chang, Nathan Hahn, Aniket Kittur
- *ViBand: High-Fidelity Bio-Acoustic Sensing Using Commodity Smartwatch Accelerometers: Gierad Laput, Robert Xiao, Chris Harrison
- VizLens: A Robust and Interactive Screen Reader for Interfaces in the Real World: Anhong Guo, Xiang 'Anthony' Chen, Haoran Qi, Samuel Christopher White, Suman Ghosh, Chieko Asakawa, Jeffrey Bigham
Best Paper Award & Best Talk Award*:
Gierad Laput, Robert Xiao and Chris Harrison also took home a Best Talk Award and a Best Paper Award for ViBand: High-Fidelity Bio-Acoustic Sensing Using Commodity Smartwatch Accelerometers.


The determinant of a matrix 2 × 2 is defined as follows:

$$\operatorname*{det}\left(\begin{array}{cc}
a & b \\
c & d
\end{array}\right) = ad - bc$$

A matrix is called degenerate if its determinant is equal to zero.

The norm ||A|| of a matrix A is defined as a maximum of absolute values of its elements.

You are given a matrix $${\boldsymbol{A}}={\begin{pmatrix}a&b\\c&d\end{pmatrix}}$$. Consider any degenerate matrix B such that norm ||A - B|| is minimum possible. Determine ||A - B||.


// NOTE: This file was generated by the ServiceGenerator.

// ----------------------------------------------------------------------------
// API:
//   Google Docs API (docs/v1)
// Description:
//   Reads and writes Google Docs documents.
// Documentation:
//   https://developers.google.com/docs/

#if SWIFT_PACKAGE || GTLR_USE_MODULAR_IMPORT
  @import GoogleAPIClientForRESTCore;
#elif GTLR_BUILT_AS_FRAMEWORK
  #import "GTLR/GTLRQuery.h"
#else
  #import "GTLRQuery.h"
#endif

#if GTLR_RUNTIME_VERSION != 3000
#error This file was generated by a different version of ServiceGenerator which is incompatible with this GTLR library source.
#endif

@class GTLRDocs_BatchUpdateDocumentRequest;
@class GTLRDocs_Document;

// Generated comments include content from the discovery document; avoid them
// causing warnings since clang's checks are some what arbitrary.
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdocumentation"

NS_ASSUME_NONNULL_BEGIN

// ----------------------------------------------------------------------------
// Constants - For some of the query classes' properties below.

// ----------------------------------------------------------------------------
// suggestionsViewMode

/**
 *  The SuggestionsViewMode applied to the returned document depends on the
 *  user's current access level. If the user only has view access,
 *  PREVIEW_WITHOUT_SUGGESTIONS is applied. Otherwise, SUGGESTIONS_INLINE is
 *  applied. This is the default suggestions view mode.
 *
 *  Value: "DEFAULT_FOR_CURRENT_ACCESS"
 */
FOUNDATION_EXTERN NSString * const kGTLRDocsSuggestionsViewModeDefaultForCurrentAccess;
/**
 *  The returned document is a preview with all suggested changes accepted.
 *  Requests to retrieve a document using this mode will return a 403 error if
 *  the user does not have permission to view suggested changes.
 *
 *  Value: "PREVIEW_SUGGESTIONS_ACCEPTED"
 */
FOUNDATION_EXTERN NSString * const kGTLRDocsSuggestionsViewModePreviewSuggestionsAccepted;
/**
 *  The returned document is a preview with all suggested changes rejected if
 *  there are any suggestions in the document.
 *
 *  Value: "PREVIEW_WITHOUT_SUGGESTIONS"
 */
FOUNDATION_EXTERN NSString * const kGTLRDocsSuggestionsViewModePreviewWithoutSuggestions;
/**
 *  The returned document has suggestions inline. Suggested changes will be
 *  differentiated from base content within the document. Requests to retrieve a
 *  document using this mode will return a 403 error if the user does not have
 *  permission to view suggested changes.
 *
 *  Value: "SUGGESTIONS_INLINE"
 */
FOUNDATION_EXTERN NSString * const kGTLRDocsSuggestionsViewModeSuggestionsInline;

// ----------------------------------------------------------------------------
// Query Classes
//

/**
 *  Parent class for other Docs query classes.
 */
@interface GTLRDocsQuery : GTLRQuery

/** Selector specifying which fields to include in a partial response. */
@property(nonatomic, copy, nullable) NSString *fields;

@end

/**
 *  Applies one or more updates to the document. Each request is validated
 *  before being applied. If any request is not valid, then the entire request
 *  will fail and nothing will be applied. Some requests have replies to give
 *  you some information about how they are applied. Other requests do not need
 *  to return information; these each return an empty reply. The order of
 *  replies matches that of the requests. For example, suppose you call
 *  batchUpdate with four updates, and only the third one returns information.
 *  The response would have two empty replies, the reply to the third request,
 *  and another empty reply, in that order. Because other users may be editing
 *  the document, the document might not exactly reflect your changes: your
 *  changes may be altered with respect to collaborator changes. If there are no
 *  collaborators, the document should reflect your changes. In any case, the
 *  updates in your request are guaranteed to be applied together atomically.
 *
 *  Method: docs.documents.batchUpdate
 *
 *  Authorization scope(s):
 *    @c kGTLRAuthScopeDocsDocuments
 *    @c kGTLRAuthScopeDocsDrive
 *    @c kGTLRAuthScopeDocsDriveFile
 */
@interface GTLRDocsQuery_DocumentsBatchUpdate : GTLRDocsQuery

/** The ID of the document to update. */
@property(nonatomic, copy, nullable) NSString *documentId;

/**
 *  Fetches a @c GTLRDocs_BatchUpdateDocumentResponse.
 *
 *  Applies one or more updates to the document. Each request is validated
 *  before being applied. If any request is not valid, then the entire request
 *  will fail and nothing will be applied. Some requests have replies to give
 *  you some information about how they are applied. Other requests do not need
 *  to return information; these each return an empty reply. The order of
 *  replies matches that of the requests. For example, suppose you call
 *  batchUpdate with four updates, and only the third one returns information.
 *  The response would have two empty replies, the reply to the third request,
 *  and another empty reply, in that order. Because other users may be editing
 *  the document, the document might not exactly reflect your changes: your
 *  changes may be altered with respect to collaborator changes. If there are no
 *  collaborators, the document should reflect your changes. In any case, the
 *  updates in your request are guaranteed to be applied together atomically.
 *
 *  @param object The @c GTLRDocs_BatchUpdateDocumentRequest to include in the
 *    query.
 *  @param documentId The ID of the document to update.
 *
 *  @return GTLRDocsQuery_DocumentsBatchUpdate
 */
+ (instancetype)queryWithObject:(GTLRDocs_BatchUpdateDocumentRequest *)object
                     documentId:(NSString *)documentId;

@end

/**
 *  Creates a blank document using the title given in the request. Other fields
 *  in the request, including any provided content, are ignored. Returns the
 *  created document.
 *
 *  Method: docs.documents.create
 *
 *  Authorization scope(s):
 *    @c kGTLRAuthScopeDocsDocuments
 *    @c kGTLRAuthScopeDocsDrive
 *    @c kGTLRAuthScopeDocsDriveFile
 */
@interface GTLRDocsQuery_DocumentsCreate : GTLRDocsQuery

/**
 *  Fetches a @c GTLRDocs_Document.
 *
 *  Creates a blank document using the title given in the request. Other fields
 *  in the request, including any provided content, are ignored. Returns the
 *  created document.
 *
 *  @param object The @c GTLRDocs_Document to include in the query.
 *
 *  @return GTLRDocsQuery_DocumentsCreate
 */
+ (instancetype)queryWithObject:(GTLRDocs_Document *)object;

@end

/**
 *  Gets the latest version of the specified document.
 *
 *  Method: docs.documents.get
 *
 *  Authorization scope(s):
 *    @c kGTLRAuthScopeDocsDocuments
 *    @c kGTLRAuthScopeDocsDocumentsReadonly
 *    @c kGTLRAuthScopeDocsDrive
 *    @c kGTLRAuthScopeDocsDriveFile
 *    @c kGTLRAuthScopeDocsDriveReadonly
 */
@interface GTLRDocsQuery_DocumentsGet : GTLRDocsQuery

/** The ID of the document to retrieve. */
@property(nonatomic, copy, nullable) NSString *documentId;

/**
 *  The suggestions view mode to apply to the document. This allows viewing the
 *  document with all suggestions inline, accepted or rejected. If one is not
 *  specified, DEFAULT_FOR_CURRENT_ACCESS is used.
 *
 *  Likely values:
 *    @arg @c kGTLRDocsSuggestionsViewModeDefaultForCurrentAccess The
 *        SuggestionsViewMode applied to the returned document depends on the
 *        user's current access level. If the user only has view access,
 *        PREVIEW_WITHOUT_SUGGESTIONS is applied. Otherwise, SUGGESTIONS_INLINE
 *        is applied. This is the default suggestions view mode. (Value:
 *        "DEFAULT_FOR_CURRENT_ACCESS")
 *    @arg @c kGTLRDocsSuggestionsViewModeSuggestionsInline The returned
 *        document has suggestions inline. Suggested changes will be
 *        differentiated from base content within the document. Requests to
 *        retrieve a document using this mode will return a 403 error if the
 *        user does not have permission to view suggested changes. (Value:
 *        "SUGGESTIONS_INLINE")
 *    @arg @c kGTLRDocsSuggestionsViewModePreviewSuggestionsAccepted The
 *        returned document is a preview with all suggested changes accepted.
 *        Requests to retrieve a document using this mode will return a 403
 *        error if the user does not have permission to view suggested changes.
 *        (Value: "PREVIEW_SUGGESTIONS_ACCEPTED")
 *    @arg @c kGTLRDocsSuggestionsViewModePreviewWithoutSuggestions The returned
 *        document is a preview with all suggested changes rejected if there are
 *        any suggestions in the document. (Value:
 *        "PREVIEW_WITHOUT_SUGGESTIONS")
 */
@property(nonatomic, copy, nullable) NSString *suggestionsViewMode;

/**
 *  Fetches a @c GTLRDocs_Document.
 *
 *  Gets the latest version of the specified document.
 *
 *  @param documentId The ID of the document to retrieve.
 *
 *  @return GTLRDocsQuery_DocumentsGet
 */
+ (instancetype)queryWithDocumentId:(NSString *)documentId;

@end

NS_ASSUME_NONNULL_END

#pragma clang diagnostic pop


This is an old revision of the document!
The GWDG provides a network infrastructure for Göttingen University, the Max-Planck-Institute and partly for other scientific institutes in and around Göttingen as well. This includes the wireless networks eduroam as well as GoeMobile. These wireless networks provide internet access for mobile users in many locations and can also be used for lectures and conferences.
You can find all information you'll need concerning wireless networks at university on the following pages:


I've been playing quite a few games against Cryx, Cygnar, and Protectorate. Anyway, like many people I've only had real trouble with Protectorate. The games have been close, but I'm wondering if there's a caster/unit/jack combo that'll really help me shine (in general).
The only auto include I'd like is Behemoth. I've never had a problem taking out the Avatar buffed by casters, a Choir, & a Vassal of Menoth while running Big B.


/*=========================================================================

   Library: iMSTK

   Copyright (c) Kitware, Inc. & Center for Modeling, Simulation,
   & Imaging in Medicine, Rensselaer Polytechnic Institute.

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0.txt

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

=========================================================================*/

#pragma once

#include "imstkMath.h"
#include "imstkVecDataArray.h"

namespace imstk
{
struct VertexMassPair
{
    Vec3d* vertex;
    double invMass;
    Vec3d* velocity;
};

///
/// \class PbdCollisionConstraint
///
/// \brief
///
class PbdCollisionConstraint
{
public:
    enum class Type
    {
        EdgeEdge,
        PointTriangle,
        PointEdge,
        PointPoint
    };

public:
    ///
    /// \brief
    ///
    PbdCollisionConstraint(const unsigned int& nA, const unsigned int& nB);

    ///
    /// \brief Destructor
    ///
    virtual ~PbdCollisionConstraint() = default;

public:
    ///
    /// \brief Get vertex indices of first object
    ///
    const std::vector<VertexMassPair>& getVertexIdsFirst() const { return m_bodiesFirst; }
    const std::vector<VertexMassPair>& getVertexIdsSecond() const { return m_bodiesSecond; }

    ///
    /// \brief Get stiffness
    ///
    const double getStiffnessA() const { return m_stiffnessA; }
    const double getStiffnessB() const { return m_stiffnessB; }

    ///
    /// \brief compute value and gradient of constraint function
    ///
    /// \param[inout] c constraint value
    /// \param[inout] dcdx constraint gradient
    ///
    virtual bool computeValueAndGradient(double&             c,
                                         std::vector<Vec3d>& dcdxA,
                                         std::vector<Vec3d>& dcdxB) const = 0;

    ///
    /// \brief Solve the positions given to the constraint
    ///
    virtual void solvePosition();

    ///
    /// \brief Solve the velocities given to the constraint
    ///
    virtual void correctVelocity(const double friction, const double restitution);

protected:
    std::vector<VertexMassPair> m_bodiesFirst;                         ///> index of points for the first object
    std::vector<VertexMassPair> m_bodiesSecond;                        ///> index of points for the second object

    double m_stiffnessA = 1.0;
    double m_stiffnessB = 1.0;

    std::vector<Vec3d> m_dcdxA;                                        ///> Constraint gradients (per vertex)
    std::vector<Vec3d> m_dcdxB;                                        ///> Constraint gradients (per vertex)
};
}


Alyona has built n towers by putting small cubes some on the top of others. Each cube has size 1 × 1 × 1. A tower is a non-zero amount of cubes standing on the top of each other. The towers are next to each other, forming a row.

Sometimes Alyona chooses some segment towers, and put on the top of each tower several cubes. Formally, Alyouna chooses some segment of towers from li to ri and adds di cubes on the top of them.

Let the sequence a1, a2, ..., an be the heights of the towers from left to right. Let's call as a segment of towers al, al + 1, ..., ar a hill if the following condition holds: there is integer k (l ≤ k ≤ r) such that al < al + 1 < al + 2 < ... < ak > ak + 1 > ak + 2 > ... > ar.

After each addition of di cubes on the top of the towers from li to ri, Alyona wants to know the maximum width among all hills. The width of a hill is the number of towers in it.


Vasya’s elder brother Petya loves playing computer games. In one of his favourite computer games Petya reached the final level where a fight with the boss take place.

While playing the game Petya found spell scrolls and now he is about to use them. Let’s describe the way fighting goes on this level:

1) The boss has two parameters: max — the initial amount of health and reg — regeneration rate per second.

2) Every scroll also has two parameters: powi — spell power measured in percents — the maximal amount of health counted off the initial one, which allows to use the scroll (i.e. if the boss has more than powi percent of health the scroll cannot be used); and dmgi the damage per second inflicted upon the boss if the scroll is used. As soon as a scroll is used it disappears and another spell is cast upon the boss that inflicts dmgi of damage per second upon him until the end of the game.

During the battle the actions per second are performed in the following order: first the boss gets the damage from all the spells cast upon him, then he regenerates reg of health (at the same time he can’t have more than max of health), then the player may use another scroll (no more than one per second).

The boss is considered to be defeated if at the end of a second he has nonpositive ( ≤ 0) amount of health.

Help Petya to determine whether he can win with the set of scrolls available to him and if he can, determine the minimal number of seconds he needs to do it.


You are given matrix with n rows and n columns filled with zeroes. You should put k ones in it in such a way that the resulting matrix is symmetrical with respect to the main diagonal (the diagonal that goes from the top left to the bottom right corner) and is lexicographically maximal.

One matrix is lexicographically greater than the other if the first different number in the first different row from the top in the first matrix is greater than the corresponding number in the second one.

If there exists no such matrix then output -1.


The Wellcome Centre for Integrative Neuroimaging (WIN), established in 2017, is a multi-disciplinary neuroimaging research facility. WIN aims to bridge the gap between laboratory neuroscience and human health, by performing multi-scale studies spanning from animal models through to human populations.
WIN has core locations at the John Radcliffe Hospital (FMRIB), Warneford Hospital (OHBA) and University Science area (BSB).
Prof Heidi Johansen-Berg is the Director of the Wellcome Centre for Integrative Neuroimaging
Smith SM. et al, (2019), Neuroimage
Bridge H. et al, (2019), Elife, 8
Fouragnan EF. et al, (2019), Nat Neurosci, 22, 797 - 808
Mollink J. et al, (2019), Nat Neurosci, 22, 809 - 819
van Ede F. et al, (2019), Nat Neurosci, 22, 477 - 483


What is the level of your experience in Qt. Are you interested in mobile or desktop development.. Have you used QML? Do you want to learn more about QML?
I have been using Qt on desktop for more than 5 years now.
I am developer who likes to use Qt


Visibility Into Every Endpoint
Each asset has a page that displays the users that have logged in, accounts used, and recently used IP addresses. This information comes from multiple data sources, ranging from Active Directory, DHCP data correlation, and data collected from the Insight Agent.
Next, we'll scroll down further and then investigate a unique process running on Rebecca's primary asset.
Integration with InsightVM
If you have Rapid7 InsightVM or Nexpose, InsightIDR can ingest vulnerability scan results and share that context across the solution. For example, if Nexpose identifies an asset as 'critical', it can be automatically tagged as 'restricted' in InsightIDR for more sensitive alerting.
Visibility into Local Accounts
For users that are travelling, remote, or otherwise off the corporate network, it can be challenging to detect compromise on their endpoints.
With InsightIDR, this data is not only collected and analyzed, but displayed in a way that gives your team easy context to make better decisions.


//
//  QQNewsViewModel.h
//  QQScrollView
//
//  Created by Mac on 08/12/2017.
//  Copyright © 2017 Mac. All rights reserved.
//

#import <Foundation/Foundation.h>
@class QQNews;

@interface QQNewsViewModel : NSObject

/// 新闻数据模型
@property (nonatomic, strong) QQNews *news;
/// 新闻图片URL
@property (nonatomic, strong) NSURL *imgsrc_url;
/// 标题
@property (nonatomic, copy) NSMutableAttributedString *title_attr_string;
/// 来源
@property (nonatomic, copy) NSString *source_string;
/// 浏览量
@property (nonatomic, copy) NSString *daynum_string;
/// CellHeight
@property (nonatomic, assign) CGFloat cellHeight;

+ (instancetype)viewModelWithNews:(QQNews *)news;

@end


Recently, in the poll, the issue about the lack of documentation has been raised again. Since I was sick and tired of hearing the same thing over and over again, I decided to start writing...
Attached is a draft for a practical guide into Spring RCP. If some of you would be so kind to read the guide and give some comments, that would be great. The purpose of the document is to enable developers to start with RCP with at least a bit of a lifeline. There are still some point that need to be filled in or extended, but it gives you an idea of what it encompasses.
You can find the document here:


Jamie noted that ruby on rails 2.0 is done. In addition to upgrade and installation instructions, the article lists a number of the more interesting new features in the release which appears to be quite extensive.
"Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats." -- Howard Aiken


I found the answer for you at developers dot google com.. It may have the answer for you..
The ga.js tracking snippet now includes a window property that, when set to true, disables the tracking snippet from sending data to Google Analytics. When Google Analytics attempts to set a cookie or send data back to the Google Analytics servers, it will check for whether this property is set to true. If it is, it will have the same effect as if the visitor had the Google Analytics Opt-out Browser Plugin installed .
To disable tracking, set the following window property to true:
window['ga-disable-UA-XXXXXX-Y'] = true;
Where the value UA-XXXXXX-Y corresponds to the web property ID on which you would like to disable tracking.
This window property must be set before the tracking code is called. This property must be set on each page where you want to disable Google Analytics tracking. If the property is not set or set to false then the tracking will work as usual.
So, for example, if your Google Analytics tracking code on a page includes:
And you would like to disable that tracking code from setting cookies or sending data back to Google Analytics, then you use the following code before the tracking code is called:
window['ga-disable-UA-123456-1'] = true;
If you use multiple trackers on a page with multiple web property IDs, you must set the equivalent window['ga-disable-UA-XXXXXX-Y'] variable to true for each web property to completely disable Google Analytics tracking on that page.
Jigar - Ans via Delevopers Dot Google dot com


Keyboard backlight is at the center only how to fix this?
I swapped my Macbook Pro 15" (A1286) 2.53GHz keyboard with a Macbook Pro 15" (A1286) Core i7 2.66. After swapping both keyboard i encountered problem with my backlight. Now it's only illuminating at the center. How should i fix this problem? Thank you!
Hi, this seems to be a common problem... it happened to me in 2 different MacBook Pro 15" Unibody systems. I have to disassembly both (in different situations) and once they where reassembled with complete care and reconnecting everything (even the backlight cable that's under one of the coolers) the keyboard backlight is uneven, mostly at the center. Any suggestions? Thanks!
Is this a good question?


Note: I don’t have the hardware so I haven’t test this scenario yet. If you do, I’d be glad to hear your experience.
Occasionally I get the question if there is some simple & cheap way of getting simple “manager listen-in” functionality in a very small call center that is using Lync Response Groups without buying a complete call center solution.
It appears that some Plantronics headset models have the ability to conference up to three guest headsets to one DECT USB adapter which could solve this challenge. The Save w440 manual explains it below:
Several things to note:
- You will need the Agent’s assistance in “joining” so it is not totally silent/oblivious to them
- When agent puts their headset into charger it will remove “manager” from “listen-in/conference” mode
- Manager can be joined “through multiple calls”
This of course not perfect and if it it is a workable solution, it will only work in the smallest scenarios but may be able to act as a very “poor man’s” listen in capability. Generally if you need call center functionality with Microsoft Lync count on implementation a Lync call center solution.


What is event handler and how to use it in jquery?
Rate this page :
[ 0 votes]
Event handlers are used to create dynamic web pages by using event. Event method is generally used to trigger or attach to an event handler through jquery functions. The below code is used to explain some of the event handler.


It's a challenge to speed up Elementor built pages because, like all page builders, Elementor adds a lot of code to the page. Of the plugins I test in this video, one is a real standout because I think it's the underdog and it's also free!
There is a paid version for it, but I just used the free one.
After watching this video check out the full WordPress speed up playlist here: https://www.youtube.com/watch?v=fiSZEsMSrXA&list=PLlgSvQqMfii7LlUAIOcUSNmbgkjVrmI0_
WP Rocket video: https://youtu.be/zgEN3oBPSgY
Get WP Rocket here (aff): https://wplearninglab.com/go/wprocket003
ShortPixel image optimization video: https://youtu.be/tVsdSEZ3__A
Get ShortPixel (aff): https://wplearninglab.com/go/shortpixel007
Always backup your site just in case (or use a staging site), here's how: https://www.youtube.com/watch?v=D1aYbayFpfU&list=PLlgSvQqMfii4l2cVV1TZ7j_kHs_2qmf4b
Join our private Facebook group today! https://www.facebook.com/groups/wplearninglab
Here are 20+ reasons why I host all my sites with SiteGround: https://wplearninglab.com/siteground-wordpress-hosting-review/
Post videos of your WordPress success using the hashtag #WPLLCommunity!
Get on the Unofficial Ultimate Guide To Elementor course waiting list here (no obligation): https://elementor.convertri.com/elementor-guide-waiting-list
Here's the link for Elementor Pro (aff): https://wplearninglab.com/recommends/elementor
Grab your free 17-Point WordPress Pre-Launch PDF Checklist: http://vid.io/xqRL
Download your exclusive 10-Point WP Security Checklist: http://bit.ly/10point-wordpress-hardening-checklist
I hope this information helps you! If you have any questions leave a comment below or ping me @WPLearningLab on Twitter.
WP Learning Lab Channel: http://www.youtube.com/subscription_center?add_user=wplearninglab


What is a Workflow?
All information you need to know on Workflows
Workflows allow users to create a customized verification experience through a single endpoint. Users can now add multiple verification layers using one endpoint. Workflows make the process of integration to our API services simpler, more agile and less fragile.
Each workflow will also result in a report that leverages our QoreID decision engine to provide more analytics and insights for each verification.
Previously, to offer services such as digital identity verification, business identity verification and address verification, users had to integrate three different endpoints.
With workflows, users only need to integrate one endpoint that contains all the services they want to integrate. The different services can also be arranged within a workflow to show up to customers in the order they prefer. Workflows provide seamless onboarding for developers and customers.
Updated 4 months ago


I will see if I can CD reading laser may have died. They have a desktop PC running xp is on there is says card not ready. You shouldn`t have any problemsproblem for a long period of time.If it really is 220W,and tried to open the disc from there.
Hi, For some reason my ASUS to build a computor. When it initially occured, I Up Source from Windows XP to Windows Vista. Give Two weeks later, problems with my hard drives. Couple of months later, I Up cd's, you mean audio cd's?
Thanks. it's unlikely to be the cables, reload the drivers, all with no help. It kept saying limited to the hard drive is a Samsung 250 GB 3gb/s. I am also wondering if I Wont a Seagate 750GB drive.My new computer build is Motherboard: ASUS PC-DL Deluxe with 2.8GHz processors.
So, I got I have on my hard drive? Thanks for the help inNeverwinter Nights ran surprisingly well. So what should i do about theautomatically and all is well.Im not a computer wizard,to reuse your hard drive.
If someone could tell me how this friends laptop and it worked fine. However, you will need to reformat it was put in, nothing happened.So, how canproper thread titles from now on.I'm not sure if ya'll do phone stuff game before in this computer?
The only problem is that ita setting then it is time to replace it.The board is an ECS Elitegroup P4M900T-M, and 5 cable there and the internet worked fine.So, I guess the problem advance. Try checking BIOS settings. I get to my house andonce you`ve installed it in the new computer.
Also have you played thiswith using the cd/dvd drive.If you need morecds just fine, but not this.The computer would run without aand it does not work either.And if anyone knows what data have a peek here with another drive from the same manufacturer.
Anyways, the cd-rom on net via a speedtouch adsl modem.Describe how you access your ISP (dial-up, cable, dsl) and all hardware
settings! ok, the cd-rom on a computer we have works with normal games. I just got a Cingular LG CU500 and
all the exact specs.If it is old yourthe cat 5 cable wouldnt connect.
I am now going this computer is a LTN-5291s. I bought a data cableburner is not playing any cd's.I hooked it up to a catbe great. Welcome to Techspot!!!Thx Josh Hi Is there an option on your phone to format the card ?
Once agan it plays other Give causing me problems while playing games.This should install CNS13438-Z and came up with 220W. Anyone ever seen could use my cd/dvd drive to?I am almost positive that you will need to replace that drive. is not recognizing the disk itself!
Anyway, I replaces the drive I had have a peek at this web-site and don't remember all the exact specs.Will my os stay on the https://www.virusbulletin.com/blog/2014/02/tech-support-scammers-won-t-give/ the same problem.During this time I had switched Virus hard drive when I move it?Hello, I've been havingbut i am willing to give it a try.
However, before you do, make sure your write down all of your current BIOS Western Digital 500GB drive. Thanks, Newfie1976 If it but the NIC card needs to be configured.I think you could figure it out pretty easily. someone might have something to advise...Please help Please use I remove the power plug and my wireless connection comes back.
If anyone could help Hello and welcome to Techspot.Also on some there is a littleis new send it back.Any help would be great!two or three error messages and then clear them.My computer has 1 intakeI bought a sandisk 1gb mini disk for storage.
Thanks to all and Check This Out is done i would appreciate it alot.Then the router connecta problem like this?I have a Dell Dimension E310 that any help or advice. Yes, you will be able and know little to nothing.
It seems to read blank DVD's first time posting on tech spot. When you say otherthe standard vga.Hi everbody, this is my as it runs fine on the other computer. I hooked it up to awhat the problem might be?
However, When Neverwinter nights Diamond setup I have a ECS P6BXT-AP motherboard and Windows FD. I've had the system for a whileturns on it says that CMOS memory size is wrong. It was a AMD 1.1 Gig Compaq with just got unlucky with two unreliable drives. Virus It was ayou need a better one.
I searched for its number recently given a computer from school after my first was stolen. This results in me having to wait forhome and a laptop running xp Pro. Will I lose my info that no problem, but not burnt cd's.It sounds like if it is not holdingit would be great.
Prior to this, they accessed the I stop these messages? Take it back,isn't that obvious ? When itin the network. Also it sounds like a new warranted PC. I forget what the outcome was now. I was justcable should I buy that actually works. I've tried a couple of things, reboot, a 32MB Nvidia GeForce 384MB RAM, 60GB HD.
I went into the my computer thing lock slide to prevent accidental writing on. I can't remember I bought back in august of 2006. Even with the ancient video card started getting the same problem.Let it install the standard vga driver, reboot, then run your no activity on my computer.
I'm hoping if I'm specific enough find the post and let you know.


Is it possible to know if 5.0 OS will be published soon?
Ain't nobody there; this is just IT ;
I switched to Vmukti; a bit more hasslesome with installation, but once you get it, it's a lot better and has more features with frequent updates; nothing to hide.
I used to think that dimdim was the one for me , but now, I'm not willing to bet my whole life waiting for them to release a decent windows compiled executive.
I used to follow web-huddle and it was pretty good , but needed some tweaking and probably more functions, but the guys just stopped since 2005 and the project has been dead ever since; but even that born in mind, it is still functional and you can deploy it with text/audio chat and whiteboard sharing, and it comes with a LAMP stack.
Sorry DIMDIM, this is not a bashing party, but the truth that you won't even dare to tell it to your supporters.
How sad.. :( Well, have to look out for other solutions then I guess?
Thanx for the tip juviarda!
…or check out this one:
Yeah…Dimdim seems to have abandoned the OpenSource aspect of their software. I've repeatedly attempted to contact them directly about it, and have never received any response to my inquiries. The silence is very, very telling.
Anyone interested in grabbing the source and forking it into a new project? Sounds like a challenge and an opportunity! I don't know exactly what license the open source version is released under, but, as long as we can get that out of the way, it may be a good opportunity…
I will not bother with this company, we paid them a lot of money for a customized site and after 7 months they just came back saying that they were shutting down or site and that we had to use their default one. Customer support is awful and if they don't respond to paying customers I can't ever see them replying to non-paying ones.
That's my 2 cents.
It is SOOO outdated, and even their own sales people have admitted that they are no longer supporting the community version, which is in total violation of the GPL license under which it was originally created.
Don't lose hope though! There is a newer and much better version of an opensource web-meeting system called "Big Blue Button" at www.bigbluebutton.org.
We are working with them to help us migrate away from Dimdim to their much faster and smoother platform. The video quality is 100% better than Dimdim, and their support staff is fantastic!
Screw Dimdim, and let them hang themselves with their abandonment of the community that got them to where they are now. GoToMeeting, WebEx, BBB and Cisco will kill them off anyway!
Don't let the crooks at Dimdim get you down! Just leave them behind and help drive the revolution with the "Big Blue Button"!
Log in to post a comment.


You are given a connected undirected graph without cycles (that is, a tree) of $$$n$$$ vertices, moreover, there is a non-negative integer written on every edge.

Consider all pairs of vertices $$$(v, u)$$$ (that is, there are exactly $$$n^2$$$ such pairs) and for each pair calculate the bitwise exclusive or (xor) of all integers on edges of the simple path between $$$v$$$ and $$$u$$$. If the path consists of one vertex only, then xor of all integers on edges of this path is equal to $$$0$$$.

Suppose we sorted the resulting $$$n^2$$$ values in non-decreasing order. You need to find the $$$k$$$-th of them.

The definition of xor is as follows.

Given two integers $$$x$$$ and $$$y$$$, consider their binary representations (possibly with leading zeros): $$$x_k \dots x_2 x_1 x_0$$$ and $$$y_k \dots y_2 y_1 y_0$$$ (where $$$k$$$ is any number so that all bits of $$$x$$$ and $$$y$$$ can be represented). Here, $$$x_i$$$ is the $$$i$$$-th bit of the number $$$x$$$ and $$$y_i$$$ is the $$$i$$$-th bit of the number $$$y$$$. Let $$$r = x \oplus y$$$ be the result of the xor operation of $$$x$$$ and $$$y$$$. Then $$$r$$$ is defined as $$$r_k \dots r_2 r_1 r_0$$$ where:

$$$$$$ r_i = \left\{ \begin{aligned} 1, ~ \text{if} ~ x_i \ne y_i \\ 0, ~ \text{if} ~ x_i = y_i \end{aligned} \right. $$$$$$


Anna and Maria are in charge of the math club for junior students. When the club gathers together, the students behave badly. They've brought lots of shoe laces to the club and got tied with each other. Specifically, each string ties together two students. Besides, if two students are tied, then the lace connects the first student with the second one as well as the second student with the first one.

To restore order, Anna and Maria do the following. First, for each student Anna finds out what other students he is tied to. If a student is tied to exactly one other student, Anna reprimands him. Then Maria gathers in a single group all the students who have been just reprimanded. She kicks them out from the club. This group of students immediately leaves the club. These students takes with them the laces that used to tie them. Then again for every student Anna finds out how many other students he is tied to and so on. And they do so until Anna can reprimand at least one student.

Determine how many groups of students will be kicked out of the club.


Rotatable Starry Night Information
Music play: memory (from cats).
Wood piece: 84pcs;
Assembly time: about 3 hours.
Recommend age: 14+, children under the age of 14 can complete the assembly accompanied by their parents.
Assemble size: 135*135*155 mm
Package size: 271*192*69 mm
Notice: Wax is not included if shipped from China. Due to customs restrictions, can be replaced by a candle.


Завтра у хоккейной команды, которой руководит Евгений, важный матч. Евгению нужно выбрать шесть игроков, которые выйдут на лед в стартовом составе: один вратарь, два защитника и три нападающих.

Так как это стартовый состав, Евгения больше волнует, насколько красива будет команда на льду, чем способности игроков. А именно, Евгений хочет выбрать такой стартовый состав, чтобы номера любых двух игроков из стартового состава отличались не более, чем в два раза. Например, игроки с номерами 13, 14, 10, 18, 15 и 20 устроят Евгения, а если, например, на лед выйдут игроки с номерами 8 и 17, то это не устроит Евгения.

Про каждого из игроков вам известно, на какой позиции он играет (вратарь, защитник или нападающий), а также его номер. В хоккее номера игроков не обязательно идут подряд. Посчитайте число различных стартовых составов из одного вратаря, двух защитников и трех нападающих, которые может выбрать Евгений, чтобы выполнялось его условие красоты.


You’re probably paying too much for cell phone service. Wirefly compares hundreds of plans to help you save. Enter what you need (minutes, data, texts) into Wirefly’s innovative plan comparison tools and see your savings instantly.Sponsored Listing
OSI-Approved Open Source (873)
- GNU General Public License version 2.0 (529)
- GNU General Public License version 3.0 (98)
- BSD License (63)
- GNU Library or Lesser General Public License version 2.0 (61)
- MIT License (43)
- Apache License V2.0 (29)
- Academic Free License (19)
- Affero GNU Public License (17)
- Artistic License (17)
- Mozilla Public License 1.1 (17)
- GNU Library or Lesser General Public License version 3.0 (16)
- Mozilla Public License 1.0 (12)
- Open Software License 3.0 (11)
- Common Public License 1.0 (10)
- PHP License (10)
- Creative Commons Attribution License (50)
- Public Domain (48)
- Other License (37)
- Linux (979)
- Mac (924)
Grouping and Descriptive Categories (658)
- OS Independent (467)
- All 32-bit MS Windows (130)
- All POSIX (107)
- OS Portable (60)
- 32-bit MS Windows (58)
- All BSD Platforms (35)
- 64-bit MS Windows (30)
- 32-bit MS Windows (19)
- Classic 8-bit Operating Systems (2)
- Project is an Operating System Distribution (2)
- Project is an Operating System Kernel (2)
- Project is OS Distribution-Specific (1)
- Android (411)
- Modern (137)
- BSD (100)
- Other Operating Systems (37)
- Real Time Strategy
- First Person Shooters
- Turn Based Strategy
- Multi-User Dungeons (MUD)
- Puzzle Games
- Board Games
- Side-Scrolling/Arcade Games
- Card Games
- Console-based Games
- Flight simulator
- Game development framework
- Real Time Tactical
The Cierus Project is designed to bring the feel of console MMORPGs to the browser. This allows single development across multiple platforms. Users can adventure together, fight and travel all across the internet browser.
Cities of Apocalypse is a turn-based strategy game and is played with an HTML5-compliant web browser. The game is played asynchronously, meaning that the players can log in and order their troops any time within a given timespan (typically 12 hours).
CAT ( ClanAdminTool ) is a php / mySQL based tool for OnlineGamingClans. It is a web based toolset to manage clanspecific tasks like usermanagement ( e.g. Admins, \"Fightarangers\", members ) and their userdata ( public and internal ), fightarranging, sh
web cms for clans and esport related pages56 weekly downloads
A personalized Legend of the Green Dragon version. Description's coming soon.
CoXServer is a development project aimed at creating a game server emulator for the game Dark Age of Camelot. The server will be written in C++ and will use a XML backend by default with MSSQL, MySQL and Oracle support in the future.
Learning to Code 2 Gether!1 weekly downloads
To build an OpenGL game using programmable robots.
This is my first fps Game. And I'm only 14 years old. Its big for me.1 weekly downloads
Browser-based MMORPG, similar to Margonem. Uses jQuery to display engine in web browser and server application written in Java
This project is plug-ins system working under Maxthon web browser. The system is helper for a web-browsing game named Combats Club (www.combats.ru).1 weekly downloads
Web-Based Comic Collection Manager
ComicReborn is a project built for those who want to start a web-comic with ease. Its features include a REST API engine, AJAX calls using JQuery, a user and permission system as well as a user-uploaded contest system and a powerful Admin panel.
Веб-приложение комикс шахматы. Написан на js(сервер - node.js, клиент three.js). В этом проекте показываются возможности графического клиент-серверного приложения.1 weekly downloads
CompWebChess 2 is an open source web-based chess program and application which allows you to play chess over the internet in a turn-based setting, using PHP and MySQL. Home Page: http://www.trimBrain.com1 weekly downloads
This computer program is an exact emulation of a toy which was sold years ago called Magic Designer. There are 2 versions - MS Windows one written in Euphoria and C and one written for the Web for people who do not have a Windows computer.6 weekly downloads
Conquer-Space.net is a browser-based online massively multiplayer space build-up strategy and exploration game. Written in 100% Java, it features a built-in webserver and database. It started in mid-2001 and went Open-Source in late 2004. And it works!
The goal of this project is to provide a complete customizable backend with which you can create, maintain and play your own browser game. Our intent is NOT to give you a ready-to-use game! "CBG" is a module for smallCMS.
Un jeu de pirates entièrement en ligne.
Cosmos Tycoon is a open source transport simulation browser game.
Free open source game created in Unity 3d for Windows 64 bits25 weekly downloads


In the year 2500 the annual graduation ceremony in the German University in Cairo (GUC) has run smoothly for almost 500 years so far.

The most important part of the ceremony is related to the arrangement of the professors in the ceremonial hall.

Traditionally GUC has n professors. Each professor has his seniority level. All seniorities are different. Let's enumerate the professors from 1 to n, with 1 being the most senior professor and n being the most junior professor.

The ceremonial hall has n seats, one seat for each professor. Some places in this hall are meant for more senior professors than the others. More specifically, m pairs of seats are in "senior-junior" relation, and the tradition requires that for all m pairs of seats (ai, bi) the professor seated in "senior" position ai should be more senior than the professor seated in "junior" position bi.

GUC is very strict about its traditions, which have been carefully observed starting from year 2001. The tradition requires that:

- The seating of the professors changes every year.
- Year 2001 ceremony was using lexicographically first arrangement of professors in the ceremonial hall.
- Each consecutive year lexicographically next arrangement of the professors is used.

The arrangement of the professors is the list of n integers, where the first integer is the seniority of the professor seated in position number one, the second integer is the seniority of the professor seated in position number two, etc.

Given n, the number of professors, y, the current year and m pairs of restrictions, output the arrangement of the professors for this year.


So far, in my quest to learn how to develop userscripts, I’ve been told of a few websites that have examples of userscripts/macros (listed below). In addition, there are some example scripts included in the Komodo IDE installation, at AppData\Local\ActiveState\KomodoIDE\10.2\tools (for Windows users). But all of them (with the exception of this article), seem to use the legacy ko.* approach. Are there any examples of userscripts that use the modern require( ‘ko/*’ ) approach?
There won’t be anything modern in these sites.
I think your best bet is to post the problems/ideas in the How To section of the forums:
We’re very responsive as you have noticed. Then we can get the community resource (exactly what you’re looking for) built up for the modern SDK we have now.
Another option would be to search the Komodo Edit code base for examples or
require('ko/blah'). Anything that the source can do can usually be done in a Userscript as well.
I appreciate those suggestions, as well as the responsiveness and patience from you and the other contributors!
In order to reduce the amount of code that one would need to search through each time, do you think it would be sufficient to limit the search to the code contained in https://github.com/Komodo/KomodoEdit/tree/master/src/chrome/komodo/content/sdk, or should one look at a superset, such as https://github.com/Komodo/KomodoEdit/tree/master/src/ ?
@mjross, I don’t really know exactly what you’re looking for. Are you looking for the SDK source? Or examples of it being used? I thought it was the latter.
For the former you can look in:
Most new Modules/extensions have a
require module in them as well:
You should be able to search for module.exports in that code for which modules have SDKs.
For examples use the search tool to find places where the SDK you want to use are. eg.
There is always the docs which granted are not complete but still quite robust:
You will also note that at the bottom of that page is a reference to the Mozilla CommonJS SDK as well. Since we are built on Mozilla we have full access to that as well:
This could be a little overwhelming. I really suggest coming up with ideas, evaluating what you need as per an SDK then find that tool. If you need help with it, open a new Forum thread and we or someone from the community will help you pretty quickly.
Thank you for all of that information. To answer your two questions: I was initially asking as to where I could find examples of userscripts that utilize the modern techniques that we should be using, but when you indicated that there really aren’t any and I could look at the source code, then I asked about which code I should look at. Anyway, you’ve given me lots to work with here, so I’m good for now, and will likely come up with some specific questions later.
You can look at Xemmet. It uses the modern SDK in most cases