- readFile(String) - Method in SSHUtil
-
- readFile(SSHUtil, String) - Method in SshUtilService
-
This is using SFTPv3Client to read file
- readRemoteFile(String) - Method in SSHUtil
-
Reads string content of remote file
- readRemoteFile(SSHUtil, String) - Method in SshUtilService
-
This is using SCPClient to read remote file
//sshUtil.remoteFile=remoteFile
//sshUtil.readRemoteFile()
- remotedir - Property in RemoteSCP
-
- remotedir - Property in RemoteSCPDir
-
- remotedir - Property in RsshValidate
-
- remoteDir - Property in SSHUtil
-
- remoteFile - Property in SSHUtil
-
- remoteFileSize(String) - Method in SSHUtil
-
- remoteFileSize(SSHUtil, String) - Method in SshUtilService
-
//sshUtil.remoteFile=remoteFile
//return sshUtil.remoteFileSize()
- RemoteSCP - Class in grails.plugin.remotessh
Copies a file to remote server.
- RemoteSCP() - Constructor in RemoteSCP
-
- RemoteSCPDir - Class in grails.plugin.remotessh
Called by IncludeUpdate class scps a folder to specified end server.
- RemoteSCPDir() - Constructor in RemoteSCPDir
-
- RemoteSCPGet - Class in ssh
Used by AddFTP and AddServerRemote classes This uses
SSHConfig Interface Gets files from remote hosts
- RemoteSCPGet(String, String, String, String, String, Integer, String) - Constructor in RemoteSCPGet
-
- RemoteSSH - Class in ssh
- RemoteSSH(String, String, String, String, String, String, Integer) - Constructor in RemoteSSH
-
- RemoteSshGrailsPlugin - Class in RemoteSshGrailsPlugin
- RemoteSshGrailsPlugin() - Constructor in RemoteSshGrailsPlugin
-
- remoteTargetDirectory - Property in RsshValidate
-
- reply - Field in SSHUtil
-
- resolvePathname(String) - Method in SSHUtil
-
- Result(SshConfig) - Method in RemoteSCP
-
- Result(SshConfig) - Method in RemoteSCPDir
-
- Result(SshConfig) - Method in RemoteSCPGet
-
- Result(SshConfig) - Method in RemoteSSH
-
- resume() - Method in ScheduledSshExecutor
-
- rmdir(String, boolean) - Method in SSHUtil
-
Removes a directory on the FTP server (if empty).
- rmdir(SSHUtil, String, boolean) - Method in SshUtilService
-
- RsshService - Class in grails.plugin.remotessh
- RsshService() - Constructor in RsshService
-
- rsshService - Property in RsshTagLib
-
- RsshTagLib - Class in grails.plugin.remotessh
- RsshTagLib() - Constructor in RsshTagLib
-
- RsshValidate - Class in grails.plugin.remotessh
- RsshValidate() - Constructor in RsshValidate
-
- run() - Method in SshRunnable
-
- runCommand(RsshValidate) - Method in RsshService
-
- runCommand - Property in RsshTagLib
-


Final Results, Winners Announced
2021-08-25 13:30:00+00:00
We have announced the winners at the
ICFP 2021 Conference.
- First prize: RGBTeam
- C++ and Rust are the programming tools of choice for discriminating hackers.
- Second prize: Unagi
- Rust is a fine programming tool for many applications.
- Third prize: Special Weekend
- Rust, TypeScript and Go are also not too shabby.
- Winner of the lightning division: Special Weekend
- Rust, TypeScript and Go are very suitable for rapid prototyping.

The scoreboards for the full division and
lightning division have been updated
as well with the complete rankings.
We will provide a link to the video recording of the programming contest
report as soon we have it. Congratulations to the winners, and thanks
again to everyone who took part!


Category to search in
Actors
Director
Plot
Rated
Language
Title
Country
Writer
Metascore
imdbRating
Released
Year
Genre
Runtime
Type
Poster
imbdVotes
Search term for selected category
Additional info shown for matches
Actors
Director
Plot
Rated
Language
Title
Country
Writer
Metascore
imdbRating
Released
Year
Genre
Runtime
Type
Poster
imbdVotes


--- layout: post status: publish published: true title: VS2010 Editor And Explicit Background Colors author: display_name: Tomas Restrepo login: tomasr email<EMAIL_ADDRESS>url: http://winterdom.com/ author_login: tomasr author_email<EMAIL_ADDRESS>author_url: http://winterdom.com/ wordpress_id: 1262 wordpress_url: http://winterdom.com/2009/06/vs2010-editor-and-explicit-background-colors date: '2009-06-03 02:42:11 +0000' date_gmt: '2009-06-03 02:42:11 +0000' categories: - Visual Studio tags: [] comments: - id: 889 author: Oleg Tkachenko author_email<EMAIL_ADDRESS>author_url: http://www.tkachenko.com/blog date: '2009-06-12 04:38:03 +0000' date_gmt: '2009-06-12 04:38:03 +0000' content: I think that's definitely a bug. Please file it via https://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=12362 - id: 1177 author: Winterdom » Blog Archive » Some Comments on Visual Studio 2010 Beta 2 author_email: '' author_url: http://winterdom.com/2009/10/some-comments-on-visual-studio-2010-beta-2 date: '2009-10-27 03:30:48 +0000' date_gmt: '2009-10-27 03:30:48 +0000' content: "[...] of the issues I had commented earlier about background color handling in the editor seems to have been improved. Not sure how well it will work in practice, but the new [...]" ---
In general terms, I’m liking the Visual Studio 2010 beta 1 experience quite a bit; there are lots of goodies in there. The Text Editor shows a lot of promise, though it’s still a bit on the buggy side :).
I’ve noticed something that’s nagging me a bit, and that’s full line highlights when you’ve got elements that have an explicit background set. In my current VS2010 color scheme, I’ve got strings set up so that they will be rendered with a dark green background, different from the almost black, default background color:
If I put a breakpoint on that line, the line will be marked with the usual (default) crimson background. But here’s what happens with the string:
So now the string background is preserved, but the foreground color is set to white. It’s readable (by happy change), but it might also blind you.
Now let’s try debugging and see what happens when that line is the current statement:
Again, the background color is preserved, but now text is black and completely unreadable.
Now, I don’t know if this can be considered a bug or a feature. In general, the VS2010 editor does a much better job of dealing with syntax coloring, and I love that text selection is now semi-translucent and keeps syntax highlighting visible. It’s a simple thing, but it makes the editor much nicer to use.
Given the issues exhibited above, what I really wished happened is that both kinds of line highlighting were handled exactly like text selection: Make the marker a semi-translucent background and don’t force the foreground text color. It’s bound to be rather ugly.


Win Big Cash Prizes
Hard Rock Casino
Owned and operated by:
Seiverd Gambling Inc.
Directions:
Click Here
Current Jackpot


--- layout: post title: Web UI Automation and Test using PowerShell date: 2009-06-28 16:44:39.000000000 +02:00 categories: [] tags: - Automation - PowerShell status: publish type: post published: true meta: _edit_last: '1' author: login: admin email<EMAIL_ADDRESS>display_name: Philippe first_name: Philippe last_name: Vlérick excerpt: !ruby/object:Hpricot::Doc options: {} ---
Lately, I had to do lots of repetitive tasks at work in order to fix defects in an application. As I grew tired of filling numerous forms with the mandatory data needed for them to validate, I thought that I could maybe use PowerShell to automate the form-filling process.
I very quickly stumbled upon an MSDN article titled Web UI Automation with Windows PowerShell. It was definitely the way to go, but I was not really satisfied with everything I found over there.
This part is similar to the one used in the MSDN article.
$global:ie = New-Object -com "InternetExplorer.Application"
$global:ie.Navigate("about:blank")
$global:ie.visible = $true
Please note that I will use $global:ie and $global:doc all the time, as global variables. I could have used $script: scope variables, but global are better for this task. Here, we are building a bunch of reusable function; declaring these variables as $global: ensures that the variables will be available in scripts that include this utility script. See here for more information on PowerShell variable scopes.
So this, sets $global:ie to a COM Internet Explorer object, navigates to "about:blank" and makes the window visible. Now we need some helper functions to navigate, fill forms and click elements easily.
First of all, we need a method that yields the script while the current page is loading. So, what it should do is simple: wait for the current page to be loaded then set the $global:doc variable to the loaded document.
Function WaitForPage([int] $delayTime = 100)
{
$loaded = $false
while ($loaded -eq $false) {
[System.Threading.Thread]::Sleep($delayTime)
#If the browser is not busy, the page is loaded
if (-not $global:ie.Busy)
{
$loaded = $true
}
}
$global:doc = $global:ie.Document
}
I used an optional parameter here for the delay between checks of the browser's status. It's pretty straight forward, while the browser ($global:ie) is busy, wait. Once it's not busy anymore, assign the document to the $global:doc variable. Let's now define a function to navigate to a given url.
Function NavigateTo([string] $url, [int] $delayTime = 100)
{
Write-Verbose "Navigating to $url";
$global:ie.Navigate($url)
WaitForPage $delayTime
}
Note that I used Write-Verbose commands around in functions to output some useful information in my script, making it easier to spot mistakes while running it.
Now, as this was made to fill web forms, let's define a function that will fill an input text field with a given value.
Function SetElementValueByName($name, $value, [int] $position = 0) {
if ($global:doc -eq $null) {
Write-Error "Document is null";
break
}
$elements = @($global:doc.getElementsByName($name))
if ($elements.Count -ne 0) {
$elements[$position].Value = $value
}
else {
Write-Warning "Couldn't find any element with name ""$name""";
}
}
This is heavily used in my scripts. An HTML form always has lots of input elements that have unique names that need to be filled. So, if you need to fill the username input text with Philippe value, just call this function:
SetElementValueByName "username" "Philippe"
Note that there is also a option parameter that is used as the element's position in the array returned by $global:doc.getElementByName. By default, the used position is 0 because most of the forms will only have one element with a given name. However, it can be that in (badly designed?) forms, two elements have the same name. In this case, you can specify which one you want to fill.
Now, I won't explain all the functions, but here are the ones I wrote:
Function ClickElementByTagName($tagName, [int] $position = 0)
{
if ($global:doc -eq $null) {
Write-Error "Document is null"
break
}
$elements = @($global:doc.getElementsByTagName($tagName))
if ($elements.Count -ne 0) {
$elements[$position].Click()
WaitForPage
}
else {
Write-Error "Couldn't find element ""$tagName"" at position ""$position""";
break
}
}
Function ClickElementById($id)
{
$element = $global:doc.getElementById($id)
if ($element -ne $null) {
$element.Click()
WaitForPage
}
else {
Write-Error "Couldn't find element with id ""$id"""
break
}
}
Function ClickElementByName($name, [int] $position = 0)
{
if ($global:doc -eq $null) {
Write-Error "Document is null"
break
}
$elements = @($global:doc.getElementsByName($name))
if ($elements.Count -ne 0) {
$elements[$position].Click()
WaitForPage
}
else {
Write-Error "Couldn't find element with name ""$name"" at position ""$position"""
break
}
}
These are used to click on objects of the DOM in order to submit the form. These functions are not error proof, but as far as I used this stuff, I didn’t have issues.
Let’s write something very simple to test these functions. I will do a advanced search on google using these functions:
NavigateTo "http://www.google.com/advanced_search"
SetElementValueByName "as_oq" "Unisys Fenix PLDA"
SetElementValueByName "num" "30"
SetElementValueByName "lr" "lang_en"
ClickElementByName "btnG"
This gives you a little example of the kind of things you can do. It’s rather simple, but very powerful if you have repetitive tasks to on some web sites.


This basic animation uses animation input parameters for element opacity and animation duration. The animation uses two discrete states in and out.
State changes trigger the animation based on the then current opacity and duration settings.
Setting changes take effect with the next triggered transition.


💥 DuckDuckSometimes 💥
Make the web a healthier place by redirecting some of your searches to DuckDuckGo
or if it contains any of the following keywords:
Made with 💛 by Alex - @alexsideris_


--- layout: page title: About header-img: "img/about-bg.png" ---
Maker and Breaker of things and non-things.


Package org.apache.qpid.proton.engine
Interface Session
-
- All Superinterfaces:
Endpoint
,Extendable
- All Known Subinterfaces:
ProtonJSession
- All Known Implementing Classes:
SessionImpl
public interface Session extends Endpoint
Session Note that session level flow control is handled internally by Proton.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Connection
getConnection()
Symbol[]
getDesiredCapabilities()
Gets the local session desired capabilities.int
getIncomingBytes()
int
getIncomingCapacity()
Symbol[]
getOfferedCapabilities()
Gets the local session offered capabilities.int
getOutgoingBytes()
long
getOutgoingWindow()
java.util.Map<Symbol,java.lang.Object>
getProperties()
Gets the local session properties.Symbol[]
getRemoteDesiredCapabilities()
Gets the remote session desired capabilities, as conveyed from the peer via the Begin frame when opening the session.Symbol[]
getRemoteOfferedCapabilities()
Gets the remote session offered capabilities, as conveyed from the peer via the Begin frame when opening the session.java.util.Map<Symbol,java.lang.Object>
getRemoteProperties()
Gets the remote session properties, as conveyed from the peer via the Begin frame when opening the session.Session
next(java.util.EnumSet<EndpointState> local, java.util.EnumSet<EndpointState> remote)
Receiver
receiver(java.lang.String name)
Returns a newly created receiver endpointSender
sender(java.lang.String name)
Returns a newly created sender endpointvoid
setDesiredCapabilities(Symbol[] desiredCapabilities)
Sets the local session desired capabilities, to be conveyed to the peer via the Begin frame when opening the session.void
setIncomingCapacity(int bytes)
void
setOfferedCapabilities(Symbol[] offeredCapabilities)
Sets the local session offered capabilities, to be conveyed to the peer via the Begin frame when opening the session.void
setOutgoingWindow(long outgoingWindowSize)
Sets the outgoing window size.void
setProperties(java.util.Map<Symbol,java.lang.Object> properties)
Sets the local session properties, to be conveyed to the peer via the Begin frame when attaching the session to the session.-
Methods inherited from interface org.apache.qpid.proton.engine.Endpoint
close, free, getCondition, getContext, getLocalState, getRemoteCondition, getRemoteState, open, setCondition, setContext
-
Methods inherited from interface org.apache.qpid.proton.engine.Extendable
attachments
-
-
-
-
Method Detail
-
sender
Sender sender(java.lang.String name)
Returns a newly created sender endpoint
-
receiver
Receiver receiver(java.lang.String name)
Returns a newly created receiver endpoint
-
next
Session next(java.util.EnumSet<EndpointState> local, java.util.EnumSet<EndpointState> remote)
-
getConnection
Connection getConnection()
-
getIncomingCapacity
int getIncomingCapacity()
-
setIncomingCapacity
void setIncomingCapacity(int bytes)
-
getIncomingBytes
int getIncomingBytes()
-
getOutgoingBytes
int getOutgoingBytes()
-
getOutgoingWindow
long getOutgoingWindow()
-
setOutgoingWindow
void setOutgoingWindow(long outgoingWindowSize)
Sets the outgoing window size.- Parameters:
outgoingWindowSize
- the outgoing window size
-
setProperties
void setProperties(java.util.Map<Symbol,java.lang.Object> properties)
Sets the local session properties, to be conveyed to the peer via the Begin frame when attaching the session to the session. Must be called during session setup, i.e. before calling theEndpoint.open()
method.- Parameters:
properties
- the properties map to send, or null for none.
-
getProperties
java.util.Map<Symbol,java.lang.Object> getProperties()
Gets the local session properties.- Returns:
- the properties map, or null if none was set.
- See Also:
setProperties(Map)
-
getRemoteProperties
java.util.Map<Symbol,java.lang.Object> getRemoteProperties()
Gets the remote session properties, as conveyed from the peer via the Begin frame when opening the session.- Returns:
- the properties Map conveyed by the peer, or null if there was none.
-
setOfferedCapabilities
void setOfferedCapabilities(Symbol[] offeredCapabilities)
Sets the local session offered capabilities, to be conveyed to the peer via the Begin frame when opening the session. Must be called during session setup, i.e. before calling theEndpoint.open()
method.- Parameters:
offeredCapabilities
- the offered capabilities array to send, or null for none.
-
getOfferedCapabilities
Symbol[] getOfferedCapabilities()
Gets the local session offered capabilities.- Returns:
- the offered capabilities array, or null if none was set.
- See Also:
setOfferedCapabilities(Symbol[])
-
getRemoteOfferedCapabilities
Symbol[] getRemoteOfferedCapabilities()
Gets the remote session offered capabilities, as conveyed from the peer via the Begin frame when opening the session.- Returns:
- the offered capabilities array conveyed by the peer, or null if there was none.
-
setDesiredCapabilities
void setDesiredCapabilities(Symbol[] desiredCapabilities)
Sets the local session desired capabilities, to be conveyed to the peer via the Begin frame when opening the session. Must be called during session setup, i.e. before calling theEndpoint.open()
method.- Parameters:
desiredCapabilities
- the desired capabilities array to send, or null for none.
-
getDesiredCapabilities
Symbol[] getDesiredCapabilities()
Gets the local session desired capabilities.- Returns:
- the desired capabilities array, or null if none was set.
- See Also:
setDesiredCapabilities(Symbol[])
-
getRemoteDesiredCapabilities
Symbol[] getRemoteDesiredCapabilities()
Gets the remote session desired capabilities, as conveyed from the peer via the Begin frame when opening the session.- Returns:
- the desired capabilities array conveyed by the peer, or null if there was none.
-
-


This award, presented by Volunteer Hampton Roads, recognizes outstanding volunteer contributions in the community by a non-profit.
This award recognizes outstanding leadership in the field of community service.
This award recognizes organizations that have greatly contributed to improving life for citizens in need.
This award recognizes leaders in the field of volunteer administration and is sponsored by three regional professional associations Colonial Virginia AVA, Northern Virginia AVA and Greater Richmond AVA. Mrs. Filer was founder of LEE's FRIENDS a support program for cancer patients and their families, established in memory of her daughter Lee Harkins.
For dedication to the cause of helping others in need. The award was given to LEE'S FRIENDS and Emily Filer, Founding Executive Director. The conference which fights religious and racial prejudice honors resident each year who have shown the love God in daily life, humanitarian service and service to religious institutions in causes that break down barriers between faiths.
A person's worth to a community or nation is no longer measured by his physical assets but rather by his ability to render service to humanity.
One of 7 organizations and 22 individuals who won gold medals. "You have demonstrated a commitment to your community and your neighbors which is truly commendable. I applaud the way in which you have given your time and skills and I know you will continue to enrich us all with your find deeds. I send you my sincere appreciation for volunteering to make Virginia a better place for all." Gov. Gerald Baliles.
One of 16 agencies chosen from 2300 nominations for "outstanding volunteer achievement." Nancy Regan said: "This testimonial at the White House…is the way the American people can pay tribute to you for your unselfish and humane work."


Road blockades by JUI-F continue on third successive day
by https://www.facebook.com/dunyanewsPESHAWAR (Dunya News) – The Plan B of Jamiat Ulema-e-Islam-Fazal’s (JUI-F) Azadi March has been ongoing as party workers continue to block roads on third consecutive day (Saturday) in parts of country.
According to details, JUI-F has staged a sit-in on Nowshera GT Road in Hakimabad. Traffic has been diverted on alternative routes following the blockage. Tents of the protesters have fallen due to rain in Malakand.
The sit-in has entered its third day on the Indus Highway in Bannu disrupting the traffic. Demonstrators have blocked the national highway in Kandhkot and are present in large numbers in Ghotki.
In Balochistan, the JUI-F workers have staged sit-ins in Zhob and other parts of the province. The traffic flow has been interrupted by the protests.


pwm-server
Search for domains to generate salts for here:
New domain
Name:
Username:
Alphabet:
Key length:


{% extends "base.html" %} {% block main_content %}
This application and its source code together form a self-replicating GitHub repository.
Application is created primarily for education purpose. Functionality is dead simple: it allows you to sign in to your GitHub account and clone its source code ("fork" in GitHub terms). You get a new repository with full application source code copy, licensed under MIT. You can then run your own application instance following the installation instructions on app's homepage on GitHub.
To fork the repository, please login to your GitHub account and then click on the button below.


--- layout: archive title: Lean Prover Zulip Chat Archive permalink: 141825kbb/47413hello.html --- The archive URL format has changed. Please find this page at: https://leanprover-community.github.io/archive/stream/141825-kbb/topic/hello.html


Before Change
% (tot_time,
int(round(tot_reads / tot_time, 0)),
int(round(len(all_counts) / tot_time, 0))))
echo("Summary of counts:",
"\n\tbins=%d, total reads=%d" % (len(all_counts), tot_reads),
"\n\tmean=%.4f min=%s max=%s" % (tot_reads / len(all_counts),
min(all_counts), max(all_counts)))
tot_mapped_reads = bam_total_reads(bam_fname)
if tot_mapped_reads:
echo("On-target percentage: %.3f (of %d mapped)"
% (100. * tot_reads / tot_mapped_reads, tot_mapped_reads))
After Change
% (tot_time,
int(round(tot_reads / tot_time, 0)),
int(round(len(all_counts) / tot_time, 0))))
echo("Summary:",
"//bins=%d," % len(all_counts),
"//reads=%d," % tot_reads,
"mean=%.4f," % tot_reads / len(all_counts),
"min=%s," % min(all_counts),
"max=%s" % max(all_counts))
tot_mapped_reads = bam_total_reads(bam_fname)
if tot_mapped_reads:
echo("On-target percentage: %.3f (of %d mapped)"
% (100. * tot_reads / tot_mapped_reads, tot_mapped_reads))


class Solution: def minTrioDegree(self, n: int, edges: List[List[int]]) -> int: neighbors = collections.defaultdict(set) for first, second in edges: neighbors[first].add(second) neighbors[second].add(first) res = float('inf') for first, second in edges: intersection = neighbors[first] & neighbors[second] curr = len(neighbors[first]) + len(neighbors[second]) - 6 for vertex in intersection: res = min(res, curr + len(neighbors[vertex])) return res if res != float('inf') else -1


Seventeen (세븐틴) b is a K-Pop boy group that consists of 13 members: S.coups, Wonwoo, Mingyu, Vernon (the hip-hop unit); Woozi, Jeonghan, Joshua, DK, Seungkwan (the vocal unit); Hoshi, Jun, The8, Dino (the performance unit) . Seventeen debuted on May 26, 2015, with the mini album “17 Carat” and title track “Adore You“, under Pledis Entertainment. As of May 25, 2020 Big Hit Entertainment (now known as HYBE Labels) became Pledis’ major shareholder, but Pledis will continue to act as an independent label.


ANHEUSER-BUSCH CLEAR CARE PLUS WEBSITE DEVELOPMENT TEAM
JACKSON CRIBAR
RANDOM PERSON
Click here to Reset


Advertisements
Guidelines
Help
Title | Clinic Opening
Req Date | 10-Se-2018
Number of Inserts/days | 15
Newspaper(s) | Khaleej Times, Sun, Gulf News, Swis
Description | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
Payment | 250 AED
Click to view Image
Title | Special offer
Req Date | 10-Se-2018
Number of Inserts/days | 15
Newspaper(s) | Khaleej Times, Sun, Gulf News, Saudi News
Description | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
Payment | 250 AED
Click to view Image
Title | Baby Care
Request Date | 15-Sep-2018
Footage in Seconds | 25
Total Number of inserts | 100
TVs Channels | Star , Classic, Zee , ESPN
Description | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
Payment | 300 AED


My name is Karen, I'm a full stack developer from Toronto. Currently looking for opportunities in full-stack/ frontend/ backend roles.
Get to know meComing from a background in visual merchandising arts and graphic design, my experience has taught me the importance of creating a welcoming environment for users and this has inspired me to integrate my skills in pursuing a career in web development. I’m a hands on person who loves building things, be it a planter, a shelf, a necklace or an app.
Checkout my resume → What do I do?Currently looking for opportunities, please feel free to shoot me a message!


This package contains classes to help test and maintain RapidSmith. See
Technical Report and Documentation for more information.


#}
Time updated: {{ datetime }}
Today score plot will load here!
Time updated: {{ datetime }}
Week score gauge will load here!
Time updated: {{ datetime }}


Tom Truong
Seattle, WA 98146 ·<PHONE_NUMBER> ·
<EMAIL_ADDRESS>Currently have one year of professional working experience as a GIS Technician. Previously graduated with a Master of Science degree at the University of Washington Tacoma. Seeking new opportunities to advance my career within the GIS and/or Data Science fields.


What's your main title
And?
My subheading
My sub-subheading
My cat is
very
At Mozilla, we’re a global community of
technologists
thinkers
builders
working together ...
google
Change user


Some may say that smoking mushrooms will do nothing to you, but my friends and I have definitely experienced the opposite. Though smoking them is nothing like having a strong trip from eating. Mushrooms have a taste that is fairly tolerable when eaten, but when smoked they create a nasty viscous smoke. After a few smokes, however, I hardly notice; especially if using the correct device. A particular friend of mine is somewhat of an exhibitionist with this sort of thing, and for a period of time we were smoking mushrooms every weekend. We had 4 devices from which to smoke, and they were the following:
1. An average glass pipe,
2. A light bulb with the end knocked out,
3. A 2 chamber acrylic water pipe,
4. and a 3.8L bubbling gravity bong.
Of course, we tried them in the pipe first. Though my friend's basement wasn't exactly a romantic setting, the 3 of us had previously made a habit of ingesting hallucinogenics there, and it was a fairly comfortable atmosphere. We knew the mushrooms would taste horrible, but we set in anyway to see if it would work. My first impression was coughing and gagging, but I learned how to roll the smoke over my tongue, and take measured tokes. After a while (and this is strange to say, but it will make sense to those experienced in hallucinogens) the smoke had a nostalgic and remarkably *purple* flavor.
The next weekend we decided to try the light bulb, which we had previously used for vaporizing herb.  On one occasion, my friend took too large of a rip and ended up vomiting during a coughing fit. I don't recommend this at all.
The next was our most usual method of smoking; the acrylic bong. This gave smooth, measurable hits and never caused anyone so much as a coughing fit. Although the smoke doesn't taste nearly as (i hesitate to say 'palatable') purple, it is easier to manage.
Here's the doozy. The 3.8 liter bubbling gravity bong we fondly dubbed as 'Grav' (how creative). When fully loaded with a healthy, heaping mound of spores, Grav could easily fell an average Pro Wrestler. We had to resort to 'halfsies.' However painful the coughing fits, however grody the taste left in my mouth, this method is entirely worth it.
Smoking mushrooms is definitely not like eating them, but it was definitely worth trying. The high lasted 2 hours at best, when I first started. There's nothing like a few spores on the top of a bowl, but it is definitely an acquired taste.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


If you have not done it yet, please check the previous sessions:
All files for this session are here: Session 4 at GitHub. You can use them, or you can follow these instructions starting with the files from Session 3 and see how well you worked!
When we finished session 3 we had a basic todo application, with very limited functionality: you can mark tasks as done, but you can't edit them, you can't create new ones, and you can't remove them, much less do things like filtering them.
Today we will start writing code and designing UI to do those things.
The key concept here is Actions.
Let's quote The Fine Manual:
The QAction class provides an abstract user interface action that can be inserted into widgets.
In applications many common commands can be invoked via menus, tool bar buttons, and keyboard shortcuts. Since the user expects each command to be performed in the same way, regardless of the user interface used, it is useful to represent each command as an action.
Actions can be added to menus and tool bars, and will automatically keep them in sync. For example, in a word processor, if the user presses a Bold tool bar button, the Bold menu item will automatically be checked.
A QAction may contain an icon, menu text, a shortcut, status text, "What's This?" text, and a tooltip.
The beauty of actions is that you don't have to code things twice. Why add a "Copy" button to a tool bar, then a "Copy" menu entry, then write two handlers?
Create actions for everything the user can do then plug them in your UI in the right places. If you put them in a menu, it's a menu entry. If you put it in a tool bar, it's a button. Then write a handler for the action, connect it to the right signal, and you are done.
Let's start with a simple action: Remove Task. We will be doing the first half of the job, creating the action itself and the UI, using designer.
First, let's go to the Action Editor and obviously click on the "New Action" button and start creating it:
A few remarks:
Once you create the action, it will not be marked as "Used" in the action editor. That's because it exists, but has not been made available to the user anywhere in the window we are creating.
There are two obvious places for this action: a tool bar, and a menu bar.
To add an action to a tool bar, first make sure there is one. If you don't have one in your "Object Inspector", then right click on MainWindow (either the actual window, or its entry in the inspector), and choose "Add Tool Bar".
You can add as many tool bars as you want, but try to want only one, unless you have a very good reason (we will have one in session 5 ;-)
After you create the tool bar, you will see empty space between the menu bar (that says "Type Here") and the task list widget. That space is the tool bar.
Drag your action's icon from the action editor to the tool bar.
That's it!
Well, that was a rather long explanation for a small feature, wasn't it? Don't worry, the next actions will be much easier to add, because I expect you to read "I added an action called New Task" and know what I am talking about.
And in the next session, we will do just that. And we will create our first dialog.
Here you can see what changed between the old and new versions:
|
Generated by diff2html © Yves Bailly, MandrakeSoft S.A. 2001 diff2html is licensed under the GNU GPL. |
| session3/main.py | session4/main.py | |||
|---|---|---|---|---|
|
60 lines 1557 bytes Last modified : Thu Mar 5 02:03:34 2009 |
79 lines 2300 bytes Last modified : Sat Mar 7 02:06:29 2009 |
|||
| 1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- | |
| 2 | 2 | |||
| 3 | """The user interface for our app""" | 3 | """The user interface for our app""" | |
| 4 | 4 | |||
| 5 | import os,sys | 5 | import os,sys | |
| 6 | 6 | |||
| 7 | # Import Qt modules | 7 | # Import Qt modules | |
| 8 | from PyQt4 import QtCore,QtGui | 8 | from PyQt4 import QtCore,QtGui | |
| 9 | 9 | |||
| 10 | # Import the compiled UI module | 10 | # Import the compiled UI module | |
| 11 | from windowUi import Ui_MainWindow | 11 | from windowUi import Ui_MainWindow | |
| 12 | 12 | |||
| 13 | # Import our backend | 13 | # Import our backend | |
| 14 | import todo | 14 | import todo | |
| 15 | 15 | |||
| 16 | # Create a class for our main window | 16 | # Create a class for our main window | |
| 17 | class Main(QtGui.QMainWindow): | 17 | class Main(QtGui.QMainWindow): | |
| 18 | def __init__(self): | 18 | def __init__(self): | |
| 19 | QtGui.QMainWindow.__init__(self) | 19 | QtGui.QMainWindow.__init__(self) | |
| 20 | 20 | |||
| 21 | # This is always the same | 21 | # This is always the same | |
| 22 | self.ui=Ui_MainWindow() | 22 | self.ui=Ui_MainWindow() | |
| 23 | self.ui.setupUi(self) | 23 | self.ui.setupUi(self) | |
| 24 | 24 | |||
| 25 | # Let's do something interesting: load the database contents | 25 | # Let's do something interesting: load the database contents | |
| 26 | # into our task list widget | 26 | # into our task list widget | |
| 27 | for task in todo.Task.query().all(): | 27 | for task in todo.Task.query().all(): | |
| 28 | tags=','.join([t.name for t in task.tags]) | 28 | tags=','.join([t.name for t in task.tags]) | |
| 29 | item=QtGui.QTreeWidgetItem([task.text,str(task.date),tags]) | 29 | item=QtGui.QTreeWidgetItem([task.text,str(task.date),tags]) | |
| 30 | item.task=task | 30 | item.task=task | |
| 31 | if task.done: | 31 | if task.done: | |
| 32 | item.setCheckState(0,QtCore.Qt.Checked) | 32 | item.setCheckState(0,QtCore.Qt.Checked) | |
| 33 | else: | 33 | else: | |
| 34 | item.setCheckState(0,QtCore.Qt.Unchecked) | 34 | item.setCheckState(0,QtCore.Qt.Unchecked) | |
| 35 | self.ui.list.addTopLevelItem(item) | 35 | self.ui.list.addTopLevelItem(item) | |
| 36 | 36 | |||
| 37 | def on_list_itemChanged(self,item,column): | 37 | def on_list_itemChanged(self,item,column): | |
| 38 | if item.checkState(0): | 38 | if item.checkState(0): | |
| 39 | item.task.done=True | 39 | item.task.done=True | |
| 40 | else: | 40 | else: | |
| 41 | item.task.done=False | 41 | item.task.done=False | |
| 42 | todo.saveData() | 42 | todo.saveData() | |
| 43 | 43 | |||
| 44 | def on_actionDelete_Task_triggered(self,checked=None): | |||
| 45 | if checked is None: return | |||
| 46 | # First see what task is "current". | |||
| 47 | item=self.ui.list.currentItem() | |||
| 48 | ||||
| 49 | if not item: # None selected, so we don't know what to delete! | |||
| 50 | return | |||
| 51 | # Actually delete the task | |||
| 52 | item.task.delete() | |||
| 53 | todo.saveData() | |||
| 54 | ||||
| 55 | # And remove the item. I think that's not pretty. Is it the only way? | |||
| 56 | self.ui.list.takeTopLevelItem(self.ui.list.indexOfTopLevelItem(item)) | |||
| 57 | ||||
| 58 | def on_list_currentItemChanged(self,current=None,previous=None): | |||
| 59 | if current: | |||
| 60 | self.ui.actionDelete_Task.setEnabled(True) | |||
| 61 | else: | |||
| 62 | self.ui.actionDelete_Task.setEnabled(False) | |||
| 44 | 63 | |||
| 45 | def main(): | 64 | def main(): | |
| 46 | # Init the database before doing anything else | 65 | # Init the database before doing anything else | |
| 47 | todo.initDB() | 66 | todo.initDB() | |
| 48 | 67 | |||
| 49 | # Again, this is boilerplate, it's going to be the same on | 68 | # Again, this is boilerplate, it's going to be the same on | |
| 50 | # almost every app you write | 69 | # almost every app you write | |
| 51 | app = QtGui.QApplication(sys.argv) | 70 | app = QtGui.QApplication(sys.argv) | |
| 52 | window=Main() | 71 | window=Main() | |
| 53 | window.show() | 72 | window.show() | |
| 54 | # It's exec_ because exec is a reserved word in Python | 73 | # It's exec_ because exec is a reserved word in Python | |
| 55 | sys.exit(app.exec_()) | 74 | sys.exit(app.exec_()) | |
| 56 | 75 | |||
| 57 | 76 | |||
| 58 | if __name__ == "__main__": | 77 | if __name__ == "__main__": | |
| 59 | main() | 78 | main() | |
| 60 | 79 |


Step three: encode a simple sequence of chords.
Perfect, you have just encoded a chord in MEI. Now let's continue and add a couple more chords to encode a simple sequence of chords:
In the editor below, please try to reproduce the chord sequence above with MEI. Notes are enclosed by chord
elements. Each chord needs a @dur
attribute, and each note needs @pname
and
@oct
attributes.


--- title: Tweets layout: default ---
Everytime I work on github.com/basho/giddyup I find something new to like about #emberjs.
— Sean Cribbs (@seancribbs) November 26, 2012
— Henjo Hoeksma(@henjohoeksma) November 26, 2012
today i am mostly excited about ember.js!!
— Alex Farr (@_alexfarr) November 26, 2012
I've used Backbone.js and @angularjs professionally and spent the weekend learning @emberjs. I hope @emberjs wins.
— borameter (@borameter) November 26, 2012
"marveling" - when you hope something will work one way, but you think it would be too easy and then it does #emberjs - i feel giddy!
— Burc Sahinoglu (@burcbiz) November 25, 2012
Falling in love with Ember.js
— Victor Fuentes (@vpfuentes) November 24, 2012
Finally have the chance to dive into ember.js and require.js a bit deeper. Love it.
— aurora_borealis (@aurora_borealis) November 23, 2012
Ok, Ember.js looks ridiculously cool. So much for whatever I was planning to do today.
— Stuart Childs (@sachilds) November 22, 2012
#EmberJS rocks!
— David Vartanián (@davidvartanian) November 19, 2012
Giving #ember.js the old college try.So far so good.
— Michael Harris (@hvgotcodes) November 17, 2012
reading bout Ember.js. cool stuff.#nerdtweet
— Brucki (@djbrucki) November 16, 2012
I’ve been playing with ember.js the whole day today. All I can say: F***ING BRILLIANT!!
— Enrique Ramírez (@enrique_ramirez) November 4, 2012
I seem a lot more productive with ember.js than backbone.js
— Dan Oxlade (@doxla) November 1, 2012
Ember.JS looks sweet. emberjs.com
— Michael Fischer (@The_Fischbowl) October 25, 2012
Working on an Ember.js app, yay!
— botanicus (@botanicus) October 24, 2012
Studying up on the hows and whys of Ember.js is pretty revealing… in a good way.
— Curtis Steckel (@Steckel) October 18, 2012
Reading through the Ember.js docs and some examples. I am liking this, especially the Handlebar.js template integration
— Davis Sorenson (@davissorenson) October 17, 2012
I'm madly in love with ember.js
— Isaac Wagner (@humongobot) October 17, 2012
Finally checking out Ember.js, super impressed so far.
— Rhys Powell (@rwpwll) October 16, 2012
ember.js is amazing. that is all.
— Carlos Vilhena (@carvil_) October 13, 2012
Using #emberjs since 4 months and still amazed by its power :-)
— Bernard Notarianni (@notarianni) September 25, 2012
Ember.js makes my life so easy...
— Chris Moyer (@kopertop) September 20, 2012
@zakkain Ember.js is a GREAT tool for UI designers looking to also do UI Engineering. We'll protect you from a lot of boneheaded mistakes.
— Trek Glowacki (@trek) September 19, 2012
Ember.js is actually pretty impressive
— luke_redroot (@luke_redroot) September 16, 2012
Took the opportunity to try out @emberjs on this latest project at @airbnb. My review is short, I love it.
— Harrison Shoff (@hshoff) September 10, 2012


| Directory | Changes | Lines of Code |
|---|---|---|
| Totals | 4395 (100.0%) | 1887048 (100.0%) |
| ext/sqlite/ | 9 (0.2%) | 165588 (8.8%) |
| ext/openssl/ssl/ | 191 (4.3%) | 65503 (3.5%) |
| ext/openssl/apps/ | 186 (4.2%) | 44095 (2.3%) |
| ext/openssl/crypto/ec/ | 86 (2.0%) | 35580 (1.9%) |
| ext/openssl/crypto/aes/asm/ | 40 (0.9%) | 34554 (1.8%) |
| Languages/es/ | 6 (0.1%) | 34132 (1.8%) |
| Languages/zh_CN/ | 6 (0.1%) | 34119 (1.8%) |
| Languages/fr/ | 6 (0.1%) | 34117 (1.8%) |
| Languages/pt_BR/ | 6 (0.1%) | 34112 (1.8%) |
| Languages/ru/ | 6 (0.1%) | 34107 (1.8%) |
| Languages/de/ | 7 (0.2%) | 34107 (1.8%) |
| Languages/ja/ | 7 (0.2%) | 34102 (1.8%) |
| Languages/it/ | 6 (0.1%) | 34100 (1.8%) |
| Languages/pt/ | 6 (0.1%) | 34099 (1.8%) |
| Languages/nl/ | 6 (0.1%) | 34097 (1.8%) |
| Languages/pl/ | 6 (0.1%) | 34096 (1.8%) |
| Languages/id/ | 6 (0.1%) | 34095 (1.8%) |
| Languages/sr@latin/ | 6 (0.1%) | 34089 (1.8%) |
| Languages/sr/ | 6 (0.1%) | 34089 (1.8%) |
| Languages/sk/ | 6 (0.1%) | 34086 (1.8%) |
| Languages/fi/ | 6 (0.1%) | 34086 (1.8%) |
| Languages/cs/ | 6 (0.1%) | 34085 (1.8%) |
| Languages/vi/ | 6 (0.1%) | 34084 (1.8%) |
| Languages/sl/ | 6 (0.1%) | 34084 (1.8%) |
| Languages/sq/ | 6 (0.1%) | 34083 (1.8%) |
| ext/openssl/crypto/asn1/ | 249 (5.7%) | 25027 (1.3%) |
| ext/openssl/crypto/bn/asm/ | 36 (0.8%) | 21176 (1.1%) |
| ext/openssl/crypto/evp/ | 201 (4.6%) | 20994 (1.1%) |
| ext/openssl/crypto/bn/ | 119 (2.7%) | 20287 (1.1%) |
| ext/openssl/ | 35 (0.8%) | 19695 (1.0%) |
| ext/openssl/crypto/sha/asm/ | 50 (1.1%) | 18456 (1.0%) |
| ext/scintilla/doc/ | 12 (0.3%) | 18179 (1.0%) |
| ext/openssl/crypto/x509v3/ | 131 (3.0%) | 15661 (0.8%) |
| ext/openssl/engines/ | 100 (2.3%) | 15576 (0.8%) |
| ext/scintilla/src/ | 34 (0.8%) | 15389 (0.8%) |
| ext/openssl/crypto/objects/ | 39 (0.9%) | 14847 (0.8%) |
| ext/openssl/crypto/ | 153 (3.5%) | 12878 (0.7%) |
| Languages/sv/ | 3 (0.1%) | 12832 (0.7%) |
| Languages/zh_TW/ | 3 (0.1%) | 12831 (0.7%) |
| Languages/tr/ | 3 (0.1%) | 12830 (0.7%) |
| Languages/nb/ | 3 (0.1%) | 12829 (0.7%) |
| Languages/ko/ | 3 (0.1%) | 12829 (0.7%) |
| Languages/th/ | 3 (0.1%) | 12828 (0.7%) |
| Languages/lv/ | 3 (0.1%) | 12828 (0.7%) |
| Languages/ca/ | 3 (0.1%) | 12828 (0.7%) |
| Languages/ro/ | 3 (0.1%) | 12827 (0.7%) |
| Languages/fa/ | 3 (0.1%) | 12827 (0.7%) |
| Languages/uk/ | 3 (0.1%) | 12826 (0.7%) |
| Languages/da/ | 3 (0.1%) | 12826 (0.7%) |
| Languages/be@tarask/ | 3 (0.1%) | 12826 (0.7%) |
| Languages/lt/ | 3 (0.1%) | 12825 (0.7%) |
| Languages/km/ | 3 (0.1%) | 12825 (0.7%) |
| Languages/hr/ | 3 (0.1%) | 12825 (0.7%) |
| Languages/el/ | 3 (0.1%) | 12825 (0.7%) |
| Languages/ar/ | 3 (0.1%) | 12825 (0.7%) |
| Languages/ta_IN/ | 3 (0.1%) | 12824 (0.7%) |
| Languages/hu/ | 3 (0.1%) | 12824 (0.7%) |
| Languages/he/ | 3 (0.1%) | 12824 (0.7%) |
| Languages/bg/ | 3 (0.1%) | 12824 (0.7%) |
| Languages/af/ | 3 (0.1%) | 12824 (0.7%) |
| Languages/ml/ | 3 (0.1%) | 12823 (0.7%) |
| Languages/mk/ | 3 (0.1%) | 12823 (0.7%) |
| Languages/ka/ | 3 (0.1%) | 12823 (0.7%) |
| Languages/is/ | 3 (0.1%) | 12823 (0.7%) |
| Languages/eo/ | 3 (0.1%) | 12823 (0.7%) |
| ext/openssl/crypto/bio/ | 69 (1.6%) | 11476 (0.6%) |
| ext/openssl/crypto/x509/ | 82 (1.9%) | 11469 (0.6%) |
| ext/openssl/util/ | 31 (0.7%) | 10068 (0.5%) |
| ext/openssl/crypto/des/ | 123 (2.8%) | 9946 (0.5%) |
| ext/openssl/crypto/engine/ | 90 (2.0%) | 9399 (0.5%) |
| ext/scintilla/include/ | 13 (0.3%) | 8091 (0.4%) |
| ext/openssl/crypto/cms/ | 49 (1.1%) | 7667 (0.4%) |
| ext/scintilla/win32/ | 16 (0.4%) | 7587 (0.4%) |
| ext/openssl/crypto/rsa/ | 72 (1.6%) | 7445 (0.4%) |
| ext/openssl/doc/ | 3 (0.1%) | 7030 (0.4%) |
| ext/openssl/doc/crypto/ | 137 (3.1%) | 6763 (0.4%) |
| src/TortoiseMerge/ | 3 (0.1%) | 6464 (0.3%) |
| ext/openssl/engines/ccgost/ | 75 (1.7%) | 6366 (0.3%) |
| ext/openssl/crypto/modes/asm/ | 18 (0.4%) | 6004 (0.3%) |
| ext/openssl/test/ | 64 (1.5%) | 5230 (0.3%) |
| ext/openssl/crypto/ec/asm/ | 2 (0.0%) | 5086 (0.3%) |
| ext/openssl/crypto/modes/ | 34 (0.8%) | 5047 (0.3%) |
| ext/openssl/crypto/ts/ | 36 (0.8%) | 4941 (0.3%) |
| src/TortoiseProc/ | 12 (0.3%) | 4875 (0.3%) |
| ext/openssl/crypto/dh/ | 50 (1.1%) | 4793 (0.3%) |
| ext/openssl/crypto/pem/ | 45 (1.0%) | 4741 (0.3%) |
| ext/openssl/doc/apps/ | 30 (0.7%) | 4661 (0.2%) |
| ext/scintilla/lexers/ | 10 (0.2%) | 4446 (0.2%) |
| ext/openssl/crypto/dsa/ | 48 (1.1%) | 4173 (0.2%) |
| ext/openssl/crypto/perlasm/ | 19 (0.4%) | 3995 (0.2%) |
| ext/openssl/crypto/pkcs7/ | 33 (0.8%) | 3860 (0.2%) |
| ext/openssl/crypto/rand/ | 39 (0.9%) | 3841 (0.2%) |
| ext/openssl/crypto/ocsp/ | 30 (0.7%) | 3775 (0.2%) |
| ext/openssl/crypto/aes/ | 39 (0.9%) | 3671 (0.2%) |
| ext/openssl/crypto/dso/ | 30 (0.7%) | 3650 (0.2%) |
| ext/openssl/crypto/store/ | 18 (0.4%) | 3476 (0.2%) |
| ext/openssl/crypto/sha/ | 45 (1.0%) | 3207 (0.2%) |
| ext/openssl/crypto/des/asm/ | 7 (0.2%) | 3173 (0.2%) |
| ext/openssl/crypto/stack/ | 9 (0.2%) | 3163 (0.2%) |
| src/Utils/MiscUI/ | 6 (0.1%) | 3127 (0.2%) |
| ext/openssl/doc/ssl/ | 48 (1.1%) | 3115 (0.2%) |
| ext/openssl/crypto/pkcs12/ | 48 (1.1%) | 3076 (0.2%) |
| ext/openssl/crypto/conf/ | 36 (0.8%) | 3059 (0.2%) |
| ext/openssl/crypto/bf/ | 36 (0.8%) | 2950 (0.2%) |
| ext/openssl/crypto/ui/ | 24 (0.5%) | 2514 (0.1%) |
| ext/openssl/crypto/cast/ | 33 (0.8%) | 2454 (0.1%) |
| src/TortoiseBlame/ | 3 (0.1%) | 2395 (0.1%) |
| ext/openssl/crypto/ecdsa/ | 30 (0.7%) | 2361 (0.1%) |
| ext/openssl/demos/tunala/ | 21 (0.5%) | 2217 (0.1%) |
| ext/openssl/demos/engines/zencod/ | 12 (0.3%) | 2215 (0.1%) |
| ext/openssl/crypto/srp/ | 21 (0.5%) | 2032 (0.1%) |
| ext/openssl/crypto/camellia/asm/ | 4 (0.1%) | 2010 (0.1%) |
| ext/openssl/crypto/err/ | 15 (0.3%) | 1913 (0.1%) |
| ext/openssl/test/ocsp-tests/ | 66 (1.5%) | 1764 (0.1%) |
| ext/openssl/crypto/ecdh/ | 25 (0.6%) | 1715 (0.1%) |
| ext/openssl/demos/easy_tls/ | 12 (0.3%) | 1628 (0.1%) |
| ext/openssl/crypto/rc5/ | 27 (0.6%) | 1603 (0.1%) |
| ext/openssl/crypto/rc2/ | 30 (0.7%) | 1588 (0.1%) |
| ext/openssl/crypto/threads/ | 6 (0.1%) | 1576 (0.1%) |
| ext/openssl/engines/vendor_defns/ | 21 (0.5%) | 1540 (0.1%) |
| ext/openssl/crypto/camellia/ | 33 (0.8%) | 1526 (0.1%) |
| ext/openssl/crypto/idea/ | 27 (0.6%) | 1499 (0.1%) |
| ext/openssl/crypto/rc4/ | 27 (0.6%) | 1383 (0.1%) |
| ext/openssl/crypto/seed/ | 21 (0.5%) | 1336 (0.1%) |
| ext/openssl/demos/engines/ibmca/ | 12 (0.3%) | 1335 (0.1%) |
| ext/openssl/crypto/ripemd/ | 21 (0.5%) | 1327 (0.1%) |
| ext/openssl/crypto/whrlpool/ | 15 (0.3%) | 1322 (0.1%) |
| ext/scintilla/ | 23 (0.5%) | 1145 (0.1%) |
| ext/openssl/crypto/whrlpool/asm/ | 6 (0.1%) | 1088 (0.1%) |
| ext/openssl/crypto/comp/ | 15 (0.3%) | 1067 (0.1%) |
| ext/openssl/crypto/lhash/ | 12 (0.3%) | 1032 (0.1%) |
| ext/openssl/util/pl/ | 9 (0.2%) | 998 (0.1%) |
| ext/openssl/demos/engines/rsaref/ | 9 (0.2%) | 981 (0.1%) |
| ext/openssl/demos/engines/cluster_labs/ | 12 (0.3%) | 977 (0.1%) |
| ext/openssl/crypto/hmac/ | 15 (0.3%) | 953 (0.1%) |
| ext/openssl/crypto/jpake/ | 12 (0.3%) | 929 (0.0%) |
| ext/openssl/crypto/md5/ | 21 (0.5%) | 928 (0.0%) |
| src/TortoiseProc/Commands/ | 3 (0.1%) | 872 (0.0%) |
| src/TortoiseUDiff/ | 3 (0.1%) | 861 (0.0%) |
| ext/openssl/demos/bio/ | 21 (0.5%) | 846 (0.0%) |
| ext/openssl/crypto/md4/ | 18 (0.4%) | 781 (0.0%) |
| contrib/diff-scripts/ | 12 (0.3%) | 761 (0.0%) |
| ext/openssl/demos/cms/ | 27 (0.6%) | 747 (0.0%) |
| ext/openssl/crypto/cmac/ | 12 (0.3%) | 690 (0.0%) |
| ext/openssl/crypto/md2/ | 15 (0.3%) | 675 (0.0%) |
| ext/openssl/demos/ | 9 (0.2%) | 603 (0.0%) |
| ext/openssl/test/smime-certs/ | 26 (0.6%) | 555 (0.0%) |
| src/ | 3 (0.1%) | 552 (0.0%) |
| ext/openssl/crypto/buffer/ | 12 (0.3%) | 533 (0.0%) |
| ext/openssl/crypto/mdc2/ | 12 (0.3%) | 512 (0.0%) |
| ext/openssl/crypto/txt_db/ | 6 (0.1%) | 493 (0.0%) |
| doc/source/en/TortoiseSVN/tsvn_dug/ | 3 (0.1%) | 471 (0.0%) |
| ext/scintilla/lexlib/ | 6 (0.1%) | 446 (0.0%) |
| ext/openssl/demos/smime/ | 15 (0.3%) | 445 (0.0%) |
| ext/openssl/crypto/md5/asm/ | 1 (0.0%) | 430 (0.0%) |
| ext/openssl/crypto/pqueue/ | 9 (0.2%) | 428 (0.0%) |
| ext/openssl/tools/ | 6 (0.1%) | 420 (0.0%) |
| ext/openssl/crypto/rc4/asm/ | 3 (0.1%) | 414 (0.0%) |
| ext/openssl/demos/state_machine/ | 3 (0.1%) | 407 (0.0%) |
| ext/openssl/crypto/krb5/ | 6 (0.1%) | 402 (0.0%) |
| ext/openssl/ms/ | 9 (0.2%) | 391 (0.0%) |
| ext/openssl/bugs/ | 15 (0.3%) | 373 (0.0%) |
| ext/openssl/demos/asn1/ | 3 (0.1%) | 361 (0.0%) |
| ext/openssl/demos/x509/ | 6 (0.1%) | 337 (0.0%) |
| ext/build/ | 6 (0.1%) | 336 (0.0%) |
| www/ | 7 (0.2%) | 294 (0.0%) |
| ext/openssl/MacOS/ | 15 (0.3%) | 191 (0.0%) |
| ext/openssl/demos/sign/ | 3 (0.1%) | 160 (0.0%) |
| ext/openssl/demos/pkcs12/ | 6 (0.1%) | 107 (0.0%) |
| ext/openssl/MacOS/GetHTTPS.src/ | 3 (0.1%) | 104 (0.0%) |
| ext/openssl/demos/prime/ | 3 (0.1%) | 102 (0.0%) |
| contrib/ | 3 (0.1%) | 100 (0.0%) |
| contrib/choco/ | 9 (0.2%) | 10 (0.0%) |
| src/Resources/ | 4 (0.1%) | 0 (0.0%) |


I'm a full-stack developer with a passion for creating a "delightful" experience for the end user. My experience includes JavaScript, HTML, CSS, and C#/.NET. Although I'm adept at coding, my creative side conceptualizes unique experiences that result in higher website interaction.
When not in the "code zone" I enjoy CrossFit, learning languages, and travelling. I tend to use my experiences to inspire my work. I'm currently residing in Chiang Mai, Thailand.


Administration
General Configuration
Network Configuration
Network Information
NTP Settings
System Settings
User Rest Demo
User Settings Demo


Reverse Engineering the iPhone Baseband
November, 2018
Introduction
...
Hypothese
...
Results
...
Conclusion
...


10 Things About...Manicures
The history of the manicure can be dated back to over 3,000 years ago when ancient Babylonian and Egyptian men and
women used stained fingernails to signify their wealth. In addition to staining their fingernails black or red, they also used
many rich oils to care for their fingernails.
1. Today, manicures have increasingly become a fashion statement and there are a variety of manicure procedures to choose from,
including a basic manicure, French manicure, gel manicure, and paraffin manicure.
2. Don't skip the consultation. Like skin care treatments, manicures should be preceded by a consultation. These pre-appointment
sessions are important not only for the client, but also the professional and allow the professional to explain which services
they think best suit the client and why. During the consultation, observe the client's hands and fingernails and calmly point out
any signs of infection or skin conditions. Should there be any concern, kindly recommend that the client visits a physician to
assist them with the problem. If the client is unable to get a service that day due to a condition, it would be a nice gesture to
offer a discounted voucher for another day when their condition has been resolved. Most clients enjoy a special and offering them
a discount shows them that even though they cannot get a service at the present time, they can always look forward to being
pampered at a discounted price on another occasion.
3. Sanitation is a must. When giving a manicure, sanitation is mandatory. Both the professional and the client should sanitize
and wash their hands with an threeantibacterial soap and dry off with a clean towel. All of the equipment and tools needed for
the manicure should be disinfected before, during, and after each use and arranged for easy access.
4. Start with a blank canvas. When giving a manicure, it is important to remove any fingernail polish from the client's
fingernails with a non-acetone polish remover and a cosmetic pad, being sure to wipe towards the free edge of the fingernail.
During this time, share other services with them that they may enjoy and encourage them to relax and enjoy the pampering.
5. Shape it up! Every client has a unique preference as to the shape of their fingernails. Always inquire about fingernail shape
before filing or cutting. File the client's fingernails to their requested shape by using an emery board in one direction. Gently
use strokes from the right to the left and then to the center. Do not file the fingernails in a sawing motion; bevel any rough
edges in order to prevent future damage to the free edge layers.
6. Cuticle care. Cuticles are a specialized type of epidermis that connects the finger's skin with the nail and provides a
barrier that protects against bacteria and infection. During a manicure, apply cuticle remover around the cuticles of each
fingernail and gently massage the area in a circular motion. To easily remove any excess residue from the client's fingernails,
the professional should soak the client's hands for approximately three minutes in a clear manicure bowl filled with lukewarm
water. The professional may also add a few drops of hand soap to the water. Using a cuticle pusher, gently push back the
cuticles; they should not be pushed back too far, however, because it can damage the fingernail and impede growth. If necessary,
cuticle clippers can be used, but take care to avoid cutting the client at all costs. Clean the excess cuticle from the
fingernail plate and dispose of them properly.
7. Pamper away. Do not forget to pamper the client during their manicure! Professionals can use a lotion or any type of
aromatherapy oil to gently massage the client's hands and fingers, replenishing their skin and cuticles. Lotions with a mild or
fruity fragrance can add a feminine touch to the experience. Massages with lotions or oils are also recommended because the
client will notice a difference in their appearance before the service is even complete.
8. Clean the nails. Fingernail lacquer or polish will not adhere to any oily surface, so be sure to wipe off the oil and
moisture from the fingernail plate eightbefore applying the base coat. A thin layer of base coat should always be applied before
painting the client's fingernails with their desired polish color. Base coat is important because it acts as an adhesive to the
fingernail plate and a bonding agent with the fingernail polish.
9. Don't shake it. Before applying the fingernail polish, the professional should roll the bottle of polish in the palm of their
hands; avoid shaking the bottle as that action may result in air bubbles that can transfer to the fingernail plate during
application. Always apply a thin layer of polish and use a stroking method from the cuticle to the free edge, starting from the
center of the fingernail. Three strokes should be enough to evenly distribute on each fingernail.
10. Dry time. Allow the polish to dry between coatings for a smooth finish. Furthermore, be sure to seal the polish with a top
coat or sealant after allowing the last coat of colored polish to thoroughly dry. Do not rush to apply top coat if the enamel has
not properly dried as failure to do so can result in smudging of the polish and may also cause peeling in certain areas from the
fingernail plate.
Kerlisha "Kerly" Munroe, an INM educator, has worked as a professional nail artist for many years, expressing hers and her
clients' personalities on the tiniest of canvases through intricate nail art and design. Munroe uses social media to share her
love of her craft and her positive outlook has helped her succeed in business and life, in spite of living with sickle cell
anemia. Her expertise and passion for nails has made her an important part of INM's team.
Credits to: dermascope


Authorities: Woman found dead stabbed numerous times
by EndPlayTOLEDO, Ohio (AP) - Authorities say a woman whose body was found on the side of a road in Ohio had been stabbed numerous times.
The Blade in Toledo reports that Dr. Jeffrey Hudson, a deputy Lucas County coroner, says 30-year-old Michelle Keagler was stabbed two dozen times and some of the wounds were defensive ones. He said the weapon is believed to be a large knife.
The coroner's office hasn't released a final ruling on the cause of death.
Toledo police say officers found Keagler around 8 a.m. Saturday near Interstate 75 after a truck driver called 911 to report a person lying on the side of a road. She was pronounced dead at the scene.
Officers are asking anyone with information that could help the investigation to call the Crime Stoppers program.


|
Elektra
0.9.5
|
Loading Modules for Elektra. More...
Functions | |
| int | elektraModulesInit (KeySet *modules, Key *error) |
| Initialises the module loading system. More... | |
| elektraPluginFactory | elektraModulesLoad (KeySet *modules, const char *name, Key *error) |
| Load a library with the given name. More... | |
| int | elektraModulesClose (KeySet *modules, Key *error) |
| Close all modules. More... | |
Loading Modules for Elektra.
Unfortunately there is no portable way to load modules, plugins or libraries. So Elektra needed a framework which abstracts the loading of modules. Depending of the operating system the build system chooses different source files which actually implement the loading of a module.
The goals are:
| int elektraModulesClose | ( | KeySet * | modules, |
| Key * | error | ||
| ) |
Close all modules.
Iterates over all modules and closes each of them.
Finish all affairs with the modules. Delete all keys where the appropriate module could be closed.
If it is not possible to close a module, still try to close all other modules, but report the error with the error key.
| modules | all modules in this keyset will be closed |
| error | a key to append the error information if it is not null |
| int elektraModulesInit | ( | KeySet * | modules, |
| Key * | error | ||
| ) |
Initialises the module loading system.
Most operating systems will have to do nothing here. Anyway you are required to add the key system:/elektra/modules if it was successful.
On error -1 is returned and if error != 0 error information is added to it.
| modules | an empty keyset |
| error | a key to append the error information if it is not null |
| elektraPluginFactory elektraModulesLoad | ( | KeySet * | modules, |
| const char * | name, | ||
| Key * | error | ||
| ) |
Load a library with the given name.
Make sure that you first lookup if this module was already loaded. If it was, just return the pointer and you are done.
Otherwise load the module/library given by name. You need to take care that a proper name is used. The name does not have any path, pre- or postfixes.
The next step is to fetch the symbol elektraPluginFactory.
If everything was successful append all information to the keyset modules and return the pointer. Take care that you can close the module with that information. All information needs to be stored within system:/elektra/modules/name You might want to use an struct and store it there as binary key.
If anything goes wrong don't append anything to modules. Instead report the error to the error key and return with 0.
| modules | where to get existing modules from a new module will be added there |
| name | the name for the plugin to load. Note that it does not have any prefixes or postfixes, you need to add them yourself. |
| error | the key to add warnings or report errors |


Ayaan Kazerouni
Integrating OpenDSA and CodeWorkout with the Canvas LMS
There exist numerous "smart learning tools", each serving different purposes. A primary challenge associated with these tools is getting them to work together smoothly and with minimal overhead for the end-user (e.g., instructors or students). We describe the infrastructure behind the integration of two learning tools with the Canvas LMS. This infrastructure is LTI compliant and is in use at several US universities.
OpenDSA is an e-textbook project that allows instructors to create custom books by putting together combinations of available modules, and CodeWorkout is an online system that serves short programming exercises and multiple-choice questions. I will describe the implementation that allows OpenDSA textbooks to serve CodeWorkout exercises within Canvas. OpenDSA does this by being a "man in the middle", i.e., by functioning both as a tool consumer (facing CodeWorkout) and as a tool provider (facing Canvas)


To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video


@FunctionalInterface
(available since JDK 1.8).
Annotating an interface with @FunctionalInterface
indicates that the interface
is functional and no more abstract
methods can be added to it.
Example:
interface FileProcessor {
void execute(File file);
}
After the quick-fix is applied:
@FunctionalInterface
interface FileProcessor {
void execute(File file);
}
This inspection only reports if the language level of the project or module is 8 or higher.


Find all Developers programs, student opportunities & other resources at one place.
| S.no | Name | About | Link |
|---|---|---|---|
| 1 | Code Jam to I/O for Women (by Google) | This is one of the coding competition exclusively for women (students and professionals) from around the globe, working to solve tough algorithmic challenges in a 2.5 hour, single-round coding competition. | Link |
| 2 | Coderita (by GeeksforGeeks) | Online Coding Competition For Women By GeeksforGeeks.. | Link |
| 3 | HackerRank's Womens Cup | Women's Cup is an online coding competition that opens for 24 hours and is open to all women participants worldwide. | Link |
| 4 | WOMEN IN COMPETITIVE PROGRAMMING (by CodeChef) | This is a coding contest based on algorithms, data structures and problem solving exclusively for womens. | Link |
| 5 | Goldman Sachs Womens's Codesprint | Online coding competition organised by Goldman Sachs for womens. | Link |
| 6 | Girls Who Code (BY intuit) | Girls Who Code provides hands-on experience in computing concepts, programming fundamentals, etc. | Link |
Not only this, you can also participate in other programming contests that are available for both men and women.
Check out other list of contests here:
Programming Contests
| S.no | Name | About | Link |
|---|---|---|---|
| 1 | Google's STEP (Student Training in Engineering Program) | Google's STEP internship — for first and second-year undergraduate students with a passion for computer science. | Link |
| 2 | Microsoft Codess | Codess is a global platform by Microsoft to encourage women in the field of technology. Engineering girls who are in 2nd year can apply. | Link |
| 3 | Code Like a Girl | Interning with Code Like a girl will get you real world experience with other industry experts. | Link |
| 4 | Adobe SheCodes | The Adobe India Women-in-Technology Scholarship/ Internship exclusively for women in tech. | Link |
| 5 | Amazon AmazeWow/ AmazeWiT | AmazeWoW or AmazeWiT is a development initiative with internship and Full time Software Development Engineer opportunities for Amazon in India exclusively for girls. | Link |
Not limited to this only, you
can also apply in other internships that are available for both genders.
Check out other list of
Internships here:
Internships
| S.no | Name | About | Link |
|---|---|---|---|
| 1 | #IamRemarkable Facilitator (by Google) | #IamRemarkable is a Google initiative empowering women and other underrepresented groups to be a facilitator. | Link |
| 2 | Microsoft Codess | Codess is a global platform by Microsoft to encourage women in the field of technology. Engineering girls who are in 2nd year can apply. | Link |
| 3 | Women who code Mentorship | Become a mentor to get leadership skills, work with a global community, scholarships worth upto $1,00,000 in conference tickets, etc. | Link |
| 4 | Woo Tech | WooTech or Women Wooing Technology provides a mentorship platform to women in technology to guide them in their careers. | Link |
| 5 | Amazon Campus Mentorship Series (ACMS) | A Diversity initiative to help women in technology to integrate into business through a series of workshops, training and business communication. | Link |
| 6 | Women Techmakers | Google’s Women Techmakers program provides visibility, community, and resources for women in technology. | Link |
| 7 | Million Women Mentorship | To encourage girls and women around the world to pursue, persist and succeed in Technology careers. | Link |
| 8 | WE Program Scholarship Talentsprint (supported by Google) | WE is a unique program designed to identify capable women engineering students, train them to be globally competitive, and, in the process, address the diversity challenge faced by the Tech industry | Link |
| 9 | Tech Women @ Intuit Global mentorship program | This global mentorship program facilitates 1:1 mentoring relationships. | Link |
| S.no | Name | About | Link |
|---|---|---|---|
| 1 | Women Techmakers Scholarship (by Google) | Google's exclusive Scholarship for women in tech. | Link |
| 2 | Adobe Research Women-in-Technology Scholarship | Adobe Research Women-in-Technology Scholarship for outstanding female undergraduate and master’s students studying cs. | Link |
| 3 | Nutanix Women in Technology Scholarship | Full-time female undergraduate or graduate student studying CS can apply. | Link |
| 4 | Educational Outreach scholarship (by Girlscript Foundation) | An Educational Outreach scholarship program by Girlscript Foundation. | Link |
| 5 | Generation Google Scholarship | Generation Google Scholarship exclusively for women in computer science. | Link |
| 6 | WE Program Scholarship Talentsprint(supported by Google) | Generation Google Scholarship exclusively for women in computer science. | Link |


This page is really cool. Please don't change anything!
No trust me, dude!
child one
middle child
last child
Color:
Font size:
Items:


Plato on Github
Report Home
compiled\ember-routing-htmlbars\lib\keywords\link-to.js
Maintainability
77.11
Lines of code
319
Difficulty
13.36
Estimated Errors
0.37
Function weight
By Complexity
By SLOC
/** @module ember @submodule ember-routing-htmlbars */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _emberMetalStreamsUtils = require('ember-metal/streams/utils'); var _emberMetalCore = require('ember-metal/core'); var _emberMetalCore2 = _interopRequireDefault(_emberMetalCore); // assert var _emberMetalMerge = require('ember-metal/merge'); var _emberMetalMerge2 = _interopRequireDefault(_emberMetalMerge); /** The `{{link-to}}` helper renders a link to the supplied `routeName` passing an optionally supplied model to the route as its `model` context of the route. The block for `{{link-to}}` becomes the innerHTML of the rendered element: ```handlebars {{#link-to 'photoGallery'}} Great Hamster Photos {{/link-to}} ``` You can also use an inline form of `{{link-to}}` helper by passing the link text as the first argument to the helper: ```handlebars {{link-to 'Great Hamster Photos' 'photoGallery'}} ``` Both will result in: ```html <a href="/hamster-photos"> Great Hamster Photos </a> ``` ### Supplying a tagName By default `{{link-to}}` renders an `<a>` element. This can be overridden for a single use of `{{link-to}}` by supplying a `tagName` option: ```handlebars {{#link-to 'photoGallery' tagName="li"}} Great Hamster Photos {{/link-to}} ``` ```html <li> Great Hamster Photos </li> ``` To override this option for your entire application, see "Overriding Application-wide Defaults". ### Disabling the `link-to` helper By default `{{link-to}}` is enabled. any passed value to `disabled` helper property will disable the `link-to` helper. static use: the `disabled` option: ```handlebars {{#link-to 'photoGallery' disabled=true}} Great Hamster Photos {{/link-to}} ``` dynamic use: the `disabledWhen` option: ```handlebars {{#link-to 'photoGallery' disabledWhen=controller.someProperty}} Great Hamster Photos {{/link-to}} ``` any passed value to `disabled` will disable it except `undefined`. to ensure that only `true` disable the `link-to` helper you can override the global behaviour of `Ember.LinkComponent`. ```javascript Ember.LinkComponent.reopen({ disabled: Ember.computed(function(key, value) { if (value !== undefined) { this.set('_isDisabled', value === true); } return value === true ? get(this, 'disabledClass') : false; }) }); ``` see "Overriding Application-wide Defaults" for more. ### Handling `href` `{{link-to}}` will use your application's Router to fill the element's `href` property with a url that matches the path to the supplied `routeName` for your router's configured `Location` scheme, which defaults to Ember.HashLocation. ### Handling current route `{{link-to}}` will apply a CSS class name of 'active' when the application's current route matches the supplied routeName. For example, if the application's current route is 'photoGallery.recent' the following use of `{{link-to}}`: ```handlebars {{#link-to 'photoGallery.recent'}} Great Hamster Photos {{/link-to}} ``` will result in ```html <a href="/hamster-photos/this-week" class="active"> Great Hamster Photos </a> ``` The CSS class name used for active classes can be customized for a single use of `{{link-to}}` by passing an `activeClass` option: ```handlebars {{#link-to 'photoGallery.recent' activeClass="current-url"}} Great Hamster Photos {{/link-to}} ``` ```html <a href="/hamster-photos/this-week" class="current-url"> Great Hamster Photos </a> ``` To override this option for your entire application, see "Overriding Application-wide Defaults". ### Supplying a model An optional model argument can be used for routes whose paths contain dynamic segments. This argument will become the model context of the linked route: ```javascript App.Router.map(function() { this.route("photoGallery", {path: "hamster-photos/:photo_id"}); }); ``` ```handlebars {{#link-to 'photoGallery' aPhoto}} {{aPhoto.title}} {{/link-to}} ``` ```html <a href="/hamster-photos/42"> Tomster </a> ``` ### Supplying multiple models For deep-linking to route paths that contain multiple dynamic segments, multiple model arguments can be used. As the router transitions through the route path, each supplied model argument will become the context for the route with the dynamic segments: ```javascript App.Router.map(function() { this.route("photoGallery", { path: "hamster-photos/:photo_id" }, function() { this.route("comment", {path: "comments/:comment_id"}); }); }); ``` This argument will become the model context of the linked route: ```handlebars {{#link-to 'photoGallery.comment' aPhoto comment}} {{comment.body}} {{/link-to}} ``` ```html <a href="/hamster-photos/42/comments/718"> A+++ would snuggle again. </a> ``` ### Supplying an explicit dynamic segment value If you don't have a model object available to pass to `{{link-to}}`, an optional string or integer argument can be passed for routes whose paths contain dynamic segments. This argument will become the value of the dynamic segment: ```javascript App.Router.map(function() { this.route("photoGallery", { path: "hamster-photos/:photo_id" }); }); ``` ```handlebars {{#link-to 'photoGallery' aPhotoId}} {{aPhoto.title}} {{/link-to}} ``` ```html <a href="/hamster-photos/42"> Tomster </a> ``` When transitioning into the linked route, the `model` hook will be triggered with parameters including this passed identifier. ### Allowing Default Action By default the `{{link-to}}` helper prevents the default browser action by calling `preventDefault()` as this sort of action bubbling is normally handled internally and we do not want to take the browser to a new URL (for example). If you need to override this behavior specify `preventDefault=false` in your template: ```handlebars {{#link-to 'photoGallery' aPhotoId preventDefault=false}} {{aPhotoId.title}} {{/link-to}} ``` ### Overriding attributes You can override any given property of the Ember.LinkComponent that is generated by the `{{link-to}}` helper by passing key/value pairs, like so: ```handlebars {{#link-to aPhoto tagName='li' title='Following this link will change your life' classNames='pic sweet'}} Uh-mazing! {{/link-to}} ``` See [Ember.LinkComponent](/api/classes/Ember.LinkComponent.html) for a complete list of overrideable properties. Be sure to also check out inherited properties of `LinkComponent`. ### Overriding Application-wide Defaults ``{{link-to}}`` creates an instance of Ember.LinkComponent for rendering. To override options for your entire application, reopen Ember.LinkComponent and supply the desired values: ``` javascript Ember.LinkComponent.reopen({ activeClass: "is-active", tagName: 'li' }) ``` It is also possible to override the default event in this manner: ``` javascript Ember.LinkComponent.reopen({ eventName: 'customEventName' }); ``` @method link-to @for Ember.Handlebars.helpers @param {String} routeName @param {Object} [context]* @param [options] {Object} Handlebars key/value pairs of options, you can override any property of Ember.LinkComponent @return {String} HTML string @see {Ember.LinkComponent} @public */ exports['default'] = { link: function link(state, params, hash) { _emberMetalCore2['default'].assert('You must provide one or more parameters to the link-to helper.', params.length); }, render: function render(morph, env, scope, params, hash, template, inverse, visitor) { var attrs = (0, _emberMetalMerge2['default'])({}, (0, _emberMetalStreamsUtils.readHash)(hash)); attrs.params = (0, _emberMetalStreamsUtils.readArray)(params); // Used for deprecations (to tell the user what view the deprecated syntax // was used in). attrs.view = env.view; // TODO: Remove once `hasBlock` is working again attrs.hasBlock = !!template; attrs.escaped = !morph.parseTextAsHTML; env.hooks.component(morph, env, scope, '-link-to', params, attrs, { 'default': template }, visitor); }, rerender: function rerender(morph, env, scope, params, hash, template, inverse, visitor) { this.render(morph, env, scope, params, hash, template, inverse, visitor); } }; module.exports = exports['default'];


Request unlock code
Enter your email address to get an unlock code.
{% extends "layout.html" %}
{% block page_title %}
GOV.UK prototype kit
{% endblock %}
{% block content %}
Enter your email address to get an unlock code.
Request unlock code


Overview¶
ISAMBARD (Intelligent System for Analysis, Model Building And Rational Design), is a Python-based framework for structural analysis and rational design of biomolecules. It is developed and maintained by members of the Woolfson group, University of Bristol.
The ISAMBARD API provides a suite of tools for biomolecular stucture analysis, protein design, model building and evaluation.
Goals¶
ISAMBARD is intended to provide
- tools for the study and analysis of biomolecular structure(s).
- a standard representation of these biomolecules, allowing ease of conversion between natural and designed structures.
- a rapid development environment for de novo deisgn and bioinformatics studies.
- modifiable pipelines to assist the deisgn of feasible de novo biomolecules in tractable computational time.
Analysis, model building and design¶
All biomolecules in ISAMBARD, including natural structures and designed models, are represented using the AMPAL (Atom, Monomer, Polymer, Assembly, Ligand) framework. This is a formal representation of biomolecules in a hierarchical structure of lightweight Python objects.
A range of geometric and bioinformatic tools are attached to this framework, facilitating the interrogation of natural and designed structures.
There are a number of specifications provided to aid the design of entirely new proteins using simple sets of parametric equations.
The Bristol University Force Field (BUFF) is a stand-alone implementation of the all-atom force field BUDE is provided for assessing structural quality.
Further, we provide a set of optimisation strategies for quickly finding the ‘best’ solutions for a given sequence-structure problem.
A more in-depth look at ISAMBARD’s functionality is provided through the tutorials and the API reference.
Python, Cython and C¶
The majority of ISAMBARD’s code is written in Python, which allows for clear, readable and expandable code. Parts of the code-base, including BUFF and the geomtric tools, are written in C++ and Python. Communication between these layers is achieved using Cython. This allows us to achieve a speed-up in the code implementation, whilst retaining the interactivity and readability of Python.
Contribute¶
ISAMBARD users are encouraged to contribute to the code, improving and expanding existing functionality. Please read our Developer Guide for more information.
License¶
ISAMBARD uses The MIT License (MIT)
Copyright (c) 2016 Woolfson Group, University of Bristol.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


SVV_VACUUM_PROGRESS
This view returns an estimate of how much time it will take to complete a vacuum operation that is currently in progress.
SVV_VACUUM_PROGRESS is visible only to superusers. For more information, see Visibility of Data in System Tables and Views.
Table Columns
| Column Name | Data Type | Description |
|---|---|---|
| table_name | text | Name of the table currently being vacuumed, or the table that was last vacuumed if no operation is in progress. |
| status | text | Description of the current activity being done as
part of the vacuum operation:
|
| time_remaining_estimate | text | Estimated time left for the current vacuum
operation to complete, in minutes and seconds: 5m
10s , for example. An estimated time is not returned
until the vacuum completes its first sort operation. If no vacuum is
in progress, the last vacuum that was executed is displayed with
Completed in the STATUS column and an
empty TIME_REMAINING_ESTIMATE column. The estimate typically becomes
more accurate as the vacuum progresses.
|
Sample Queries
The following queries, run a few minutes apart, show that a large table named SALESNEW is being vacuumed.
select * from svv_vacuum_progress; table_name | status | time_remaining_estimate --------------+-------------------------------+------------------------- salesnew | Vacuum: initialize salesnew | (1 row) ... select * from svv_vacuum_progress; table_name | status | time_remaining_estimate -------------+------------------------+------------------------- salesnew | Vacuum salesnew sort | 33m 21s (1 row)
The following query shows that no vacuum operation is currently in progress. The last table to be vacuumed was the SALES table.
select * from svv_vacuum_progress; table_name | status | time_remaining_estimate -------------+----------+------------------------- sales | Complete | (1 row)


:::: Monday, April 6th, 11am, @ Creativity Zone, Pevensey III ::::
Thanos Polymeneas-Liontiris / Stephanie Pan
(Research in progress) A study in interactive music theatre: In this first experiment of Thanos’ research on interactive music theatre, he is embarking on an exploration of the voice. Aided by improvisation as well as by fully written score, we have considered the instrument’s range, colours, and expressive possibilities. Moreover, this first study engaged with the subject of audience interaction beyond the traditional operatic setup.
Stelios Manousakis / M.Eugenia Demeglio
Hertzian Field #1 is an augmented reality surround sound environment that sonifies the dispersal of radio waves in a space caused by bodies and movement. The first of a series of pieces to come, this environment features an innovative interaction system inspired by an obscure surveillance technique. “We make wide daily use of electromagnetic radiation and depend on it increasingly to wirelessly transmit and receive information of all sorts, for all sorts of uses. Apart from carrying and distributing our data, wireless communication has a side effect: it conveys physical information about space and our own bodies as we move unawares through turbulent rivers of radio waves.”
Who:
Stelios Manousakis is a composer, performer, sound artist, and researcher, currently based in The Hague. He operates across the convergence zones of art, science, and engineering / composition, performance, and installation / the rich tradition of western sonic art and ‘digital folk’ idioms.
M.Eugenia Demeglio (IT/UK) is a maker and educator. She is an Associate Lecturer: Dance at Falmouth University and a freelance maker based in Brighton. Her practice includes movement and improvisation performances, installations, participatory events, videos, community projects and (body) sculptures.
Stephanie Pan (USA/NL) is a singer and multi-instrumentalist, performance artist, and maker based in The Hague, specializing in experimental music, new music, and experimental theater. Her work is rooted in the search for pure communication; finding contact with the audience stripped of expectations and distractions, which speaks beyond the conventional limitations and constructs of language. Her work is visceral, passionate and intense, often exploring the limits of the voice and body.
Thanos Polyemenas-Liontirs (GR/UK) is a composer, performer and sound artist. His practice comprises computer-aided compositions, interactive audiovisual installations and interactive music for dance, theater and multimedia performances. He is currently a PhD candidate at Sussex University researching on the development of audience immersive and interactive music theatre.