This privacy policy helps you understand what information we collect, how it's used, and what choices you have.
KnowHows collects the following information when you invoke the /knowhows command from Slack:
KnowHows collects the following information when you authorize us to access your GitHub account:
KnowHows uses your unique identifiers to verify that commands to KnowHows originate from you on Slack.
KnowHows begins tracking all of your public repositories after it is authorized to access your GitHub account. KnowHows uses your fully patched files to correlate the additions in commits with terms in your code. Full files and commits are processed using the srcML code parser. When completed, both are immediately discarded and only relevant isolated terms from your code are stored. This includes but is not limited to API imports, variable definitions, and class definitions.
We take various steps to protect the information you provide to us from misuse and unauthorized access. You can always revoke access for KnowHows from your list of authorized applications on the GitHub website. You can also request that KnowHows unindex and queue for removal all of your stored data using "/knowhows untrack *".
If you have any questions about our privacy policy or practices, please feel free to contact kdamevski@vcu.edu.


You need to enable JavaScript to run this app.
Bug
Suggestion
Desktop
Mobile
Windows
MAC
Linux
iOS
Android
Other
Google Chrome
Firefox
Edge
Safari
Other


JTextArea
class
provides a component that
displays multiple lines of text and
optionally allows the user to edit the text.
If you need to obtain only one line of input from the user,
you should use a
text field.
If you want the text area
to display its text using multiple fonts or other styles,
you should use an
editor pane or text pane.
If the displayed text
has a limited length and is never edited by the user,
use a
label.
Many of the Tutorial's examples use uneditable text areas
to display program output.
Here is a picture of an example called TextDemo
that enables you to type text using a text field
(at the top)
and then appends the typed text to a text area
(underneath).
Click the Launch button to run TextDemo using Java™ Web Start (download JDK 6). Alternatively, to compile and run the example yourself, consult the example index.
TextDemo.java
.
The following code
creates and initializes the text area:
textArea = new JTextArea(5, 20); JScrollPane scrollPane = new JScrollPane(textArea); textArea.setEditable(false);
JTextArea
constructor
are hints as to the number of rows and columns, respectively,
that the text area should display.
The scroll pane that contains the text area
pays attention to these hints
when determining how big the scroll pane should be.
Without the creation of the scroll pane,
the text area would not automatically scroll.
The JScrollPane
constructor
shown in the preceding snippet
sets up the text area for viewing in a scroll pane,
and specifies that the scroll pane's scroll bars
should be visible when needed.
See How to Use Scroll Panes
if you want further information.
Text areas are editable by default.
The code setEditable(false)
makes the text area uneditable.
It is still selectable
and the user can copy data from it,
but the user cannot change the text area's contents directly.
The following code adds text to the text area.
Note that the text system uses the '\n' character
internally to represent newlines;
for details,
see the API documentation for
DefaultEditorKit
.
private final static String newline = "\n"; ... textArea.append(text + newline);
Unless the user has moved the caret (insertion point)
by clicking or dragging in the text area,
the text area automatically scrolls so that the appended text is visible.
You can force the text area to scroll to the bottom
by moving the caret to the end of the text area
after the call to append
:
textArea.setCaretPosition(textArea.getDocument().getLength());
JTextArea
class inherits
from the JTextComponent
class
to set properties such as the caret,
support for dragging,
or color selection.
The following code
taken from
TextSamplerDemo.java
demonstrates
initializing an editable text area.
The text area uses the specified italic font,
and wraps lines between words.
JTextArea textArea = new JTextArea( "This is an editable JTextArea. " + "A text area is a \"plain\" text component, " + "which means that although it can display text " + "in any font, all of the text is in the same font." ); textArea.setFont(new Font("Serif", Font.ITALIC, 16)); textArea.setLineWrap(true); textArea.setWrapStyleWord(true);
By default, a text area does not wrap lines
that are too long for the display area.
Instead, it uses one line
for all the text between newline characters and
—
if the text area is within a
scroll pane —
allows itself to be scrolled horizontally.
This example turns line wrapping on with
a call to the setLineWrap
method
and then calls the setWrapStyleWord
method
to indicate that the text area should wrap lines
at word boundaries rather than at character
boundaries.
To provide scrolling capability, the example puts the text area in a scroll pane.
JScrollPane areaScrollPane = new JScrollPane(textArea); areaScrollPane.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); areaScrollPane.setPreferredSize(new Dimension(250, 250));
JTextArea
constructor
used in this example
does not specify the number of rows or columns.
Instead, the code limits the size of the text area
by setting the scroll pane's preferred size.
TextAreaDemo
example
introduces an editable text area with a special feature —
a word completion function.
As the user types in words, the program suggests hints to complete the word
whenever the program's vocabulary
contains a word that starts with what has been typed.
Here is a picture of the TextAreaDemo
application.
You can find the entire code for this program in
TextAreaDemo.java
.
This example provides a scrolling capacity for the text area with the default scroll bar policy. By default, the vertical scroll bar only appears when the display area is entirely filled with text and there is no room to append new words. You can provide a scroll pane of this type with the following code:
textArea.setWrapStyleWord(true); jScrollPane1 = new JScrollPane(textArea);
Now explore how the word completion function is implemented. Type in a word like "Swing" or "special". As soon as you have typed "sw" the program shows a possible completion "ing" highlighted in light-blue. Press Enter to accept the completion or continue typing.
The following code adds a document listener to the text area's document:
textArea.getDocument().addDocumentListener(this);
insertUpdate
method
checks whether the program's vocabulary contains the typed prefix.
Once a completion for the prefix is found, a call to the invokeLater
method submits a task for changing the document later.
It is important to remember
that you cannot modify the document
from within the document event notification,
otherwise you will get an exception.
Examine the following code below.
String prefix = content.substring(w + 1).toLowerCase(); int n = Collections.binarySearch(words, prefix); if (n < 0 && -n <= words.size()) { String match = words.get(-n - 1); if (match.startsWith(prefix)) { // A completion is found String completion = match.substring(pos - w); // We cannot modify Document from within notification, // so we submit a task that does the change later SwingUtilities.invokeLater( new CompletionTask(completion, pos + 1)); } } else { // Nothing found mode = Mode.INSERT; }
moveCaretPosition
method not only moves the caret
to a new position but also selects the text between the two positions.
The completion task is implemented with the following code:
private class CompletionTask implements Runnable { String completion; int position; CompletionTask(String completion, int position) { this.completion = completion; this.position = position; } public void run() { textArea.insert(completion, position); textArea.setCaretPosition(position + completion.length()); textArea.moveCaretPosition(position); mode = Mode.COMPLETION; } }
JTextArea
constructors and methods.
Other methods you are likely to call
are defined in JTextComponent
,
and listed in
The Text Component API.
You might also invoke methods on a
text area
that it inherits from its other ancestors,
such as setPreferredSize
,
setForeground
,
setBackground
,
setFont
, and so on.
See
The JComponent Class
for tables of commonly used inherited methods.
The API for using text areas includes the following categories:
| Method or Constructor | Purpose |
|---|---|
|
JTextArea() JTextArea(String) JTextArea(String, int, int) JTextArea(int, int) |
Creates a text area.
When present,
the String argument contains the initial text.
The int arguments specify the desired width
in columns and height in rows, respectively.
|
|
void setText(String) String getText() (defined in JTextComponent )
|
Sets or obtains the text displayed by the text area. |
| Method | Purpose |
|---|---|
|
void setEditable(boolean) boolean isEditable() (defined in JTextComponent )
|
Sets or indicates whether the user can edit the text in the text area. |
|
void setColumns(int); int getColumns() |
Sets or obtains the number of columns displayed by the text area. This is really just a hint for computing the area's preferred width. |
|
void setRows(int); int getRows() |
Sets or obtains the number of rows displayed by the text area. This is a hint for computing the area's preferred height. |
| int setTabSize(int) | Sets the number of characters a tab is equivalent to. |
| int setLineWrap(boolean) | Sets whether lines are wrapped if they are too long to fit within the allocated width. By default this property is false and lines are not wrapped. |
| int setWrapStyleWord(boolean) | Sets whether lines can be wrapped at white space (word boundaries) or at any character. By default this property is false, and lines can be wrapped (if line wrapping is turned on) at any character. |
| Method | Purpose |
|---|---|
|
void selectAll() (defined in JTextComponent )
|
Selects all characters in the text area. |
| void append(String) | Adds the specified text to the end of the text area. |
| void insert(String, int) | Inserts the specified text at the specified position. |
| void replaceRange(String, int, int) | Replaces the text between the indicated positions with the specified string. |
|
int getLineCount() int getLineOfOffset(int) int getLineStartOffset(int) int getLineEndOffset(int) |
Utilities for finding a line number or the position of the beginning or end of the specified line. |
| Example | Where Described | Notes |
|---|---|---|
| TextDemo | This section | An application that appends user-entered text to a text area. |
| TextAreaDemo | This section | An application that has a text area with a word completion function. |
| TextSamplerDemo | Using Text Components | Uses one of each Swing text components. |
| HtmlDemo | How to Use HTML in Swing Components | A text area that enables the user to type HTML code to be displayed in a label. |
| BasicDnD | Introduction to DnD | Demonstrates built-in drag-and-drop functionality of several Swing components, including text areas. |
| FocusConceptsDemo | How to Use the Focus Subsystem | Demonstrates how focus works using a few components that include a text area. |


15 Wines From Whole Foods That Will Knock Your Socks Off
by Emily CappielloPicture this: You're trying to get everything ready for a fabulous party, but you're crunched for time (OK, you don't have to picture this — we have all been here).
You're thinking you may have to phone a friend to handle the adult beverages, but you're in luck. At Whole Foods, the wine selection is quite varied, and the grocer actually has a master sommelier employed as its global beverage buyer. So go ahead: pick up a sampling of wines, and impress your gathered friends with the answer when they say, "This wine is delicious. Where did you get it?"
Product availability may vary by Whole Foods location.
Bonterra Chardonnay
Made with organic grapes in Mendocino, CA, Bonterra Chardonnay is fermented in French and American oak and stainless steel, lending bright citrus flavors with a creamy finish. The wine is refreshing on the palate, with a minerality that is both bright and clean.
Côtes du Rhône Blanc
Super values from the Rhône Valley in France (bottles cost about $11), these wines are perfect for pairing with a charcuterie spread or holiday dinner.
Meiomi Rosé
Meiomi Rosé is blended with the highest-quality grapes from Sonoma, Monterey, and Santa Barbara counties. Meiomi is known for its rich style, marked by depth and elegant expressiveness in taste that people simply love, and the 2016 Meiomi Rosé is no exception. It's a delightfully dry Rosé that boasts vibrant acidity, aromas of Summer fruit, and a cool minerality on the finish.
Santa Julia Malbec
As far as Malbecs go, Santa Julia's malbec offering is dominated by berry and grape flavors. Complex, the wine also has an herbal note to it that lends an upscale taste. Bonus: not only can it be served at room temperature, but it is also refreshing and robust when chilled.
Monterustico Piemonte Rosso
Said to have an intense structure, Monterustico Piemonte Rosso is a quality wine that begins slightly dry, but it has a smooth, clean finish that will have your friends saying, "More, please!" And the bottle only costs around $18.
El Terrano Albarino
Exclusive to Whole Foods, El Terrano's Albarino is designed to pair with dishes that highlight seafood, like paella.
French Blue Bordeaux Rosé
French Blue Bordeaux Rosé is probably one of the bottles that Rosé dreams are made of. Dry, light, and crisp, with notes of watermelon, cherry and strawberry.
Bogle Vineyards Essential Red
Bogle's Essential Red blend is made up of four distinct varietals. Rich and full bodied, the blend contains notes of juniper, herbs, and cedar. It's aged in both American and French oak.
The Federalist Bourbon Barrel-Aged Zinfandel
A bourbon barrel-aged Zinfandel, this wine spends six months in American oak and then six more in bourbon barrels, creating flavors like black fruit, smoke, caramel, and vanilla on the palate.
Josh Cellars Cabernet
Josh Cellars Cabernet usually hovers around $13 at Whole Foods, and it's truly a delicious, high-quality Cab. This is a go-to option for unwinding after a long day or for pairing with pasta with friends.
Macrostie Chardonnay
From Sonoma County, Macrostie Chardonnay is noted for its excellent value and superb balance.
Banshee Sonoma Pinot Noir
Banshee Sonoma's Pinot Noir, according to the brand, marks the end of the drought-year vintages in Northern California. The wine combines both sweet and tart flavors that include macerated berries, but it also carries a soft, earthy undertone.
Criterion Coonawarra Cabernet Sauvignon
From Australia's Coonawarra wine region, this Cabernet Sauvignon is aged for 10 months in second-used American and French oak and contains flavors from currant, eucalyptus, and black plum.
Gruet Winery Brut Rosé
From Gruet Winery, the Gruet Brut Rosé wine has tones of floral and berry aromas.
Domaine De Bernier Loire Chardonnay
Crisp and bright, Domaine De Bernier Loire Chardonnay combines fruit flavors that echo pears and apples.


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 4
Italian vegetable soups are light and healthy - kids can do most of the preparation and can help with flavouring the soup. It is best for an adult to do the actual cooking at the hob but kids can watch if they can do this from a safe distance on a stable stool or step.
Kid’s job: Chop all of the vegetables into tiny pieces, as small as you can (you can leave the peas whole). You can use your fingers, or a salad knife (with an adults help) or use clean child-friendly scissors to chop the herbs, cabbage and spring onions.
Adult’s job: Heat a large saucepan and add a teaspoon of olive oil or butter. Gently fry the spring onion or leek for five minutes, stirring often.
Adult’s job: Add the garlic, the rest of the vegetables, dried herbs and tomato puree and stir for a minute.
Adult’s job: Add the tinned tomatoes and stock and bring to the boil.
Adult’s job: Add the pasta and any meat or beans you want to use and cook for 8 more minutes.
Kid’s job:Get your grown up to spoon a little of the soup into a small bowl for you and let it cool a little.
Adult’s job: spoon into bowls to serve. You can either sprinkle herbs on top or put them in a small bowl on the table for the kids to taste first. The soup is great served with chunky bread.


Shahid Shah is an award-winning Government 2.0, Health IT, Bio IT & digital Medical Device Inventor & CTO with over 28 years of technology strategy, architecture, engineering, entrepreneurship, speaking, and writing experience.
{{ if isset site.Params "email" }} {{ site.Params.email }} {{ end }}
{{ if isset site.Params "phone" }} {{ site.Params.phone }} {{ end }}
{{ if isset site.Params "address" }} {{ site.Params.address }} {{ end }}
{{ if isset site.Params "office_hours" }} {{ site.Params.office_hours }} {{ end }}
{{ if isset site.Params "appointment_url" }} {{ site.Params.appointment_url }} {{ else }} ShahidNShah {{ end }}


Luckiest Guy is a friendly heavyweight sans-serif font inspired by custom hand lettered 1950's advertisements. Large and in charge, this offbeat, lovably legible font lends itself to all sorts of uses.
Take Luckiest Guy for a spin and let him pack a punch for both your website and your design work.


Computing is any activity that uses computers to manage, process, and communicate information. It includes development of both hardware and software. Computing is a critical, integral component of modern industrial technology.


A word cloud is generated by analyzing the titles of diagrams in your design.
Design Synthesis
Diagram Connections
Click on the edges to highlight them on the map
The chart above shows a natural language analysis of similarity of diagram titles, if two titles of a
diagram are similar they are linked with a edge. If a chart is not loaded, please refresh after a few
moments, the server may still be computing.


vmtouch
Intro to virtual memory
Doug Hoyte
Black-box view of virtual memory
Pages
- Unix divides the address space of each process into pages
-
At any given time, a page may be:
- Resident in physical memory
- Swapped out to disk/stored in a file to make room for other pages
- VM addresses point to pages, physical addresses point to frames
Filesystem Cache
- In-memory cache of the pages of files
- Extremely important optimisation
- Cache is shared by all processes on system
- A warmed up unix system should have very little "free" memory — it should cache as many filesystem pages as possible
- Directories, file meta data, etc are cached in related memory called the vnode pool
Paging System
How big are pages?
- Depends on hardware
- X86 and X86-64 base pages are 4K
- SPARC base pages are 8K
- ARM: usually 4K but can be higher or (v4/5) lower
-
4K or 8K has been typical since the 60s
- Most CPUs have "huge pages"
Translation Lookaside Buffer
- Component of the MMU hardware
- Super-fast cache of "virtual" page addresses to "real" frame addresses
- Essential for efficient virtual memory
- Usually separate TLBs for instructions and data
- TLBs are small
TLB reach = page size * TLB capacity
- This is the maximum size working set you can have without causing TLB misses
-
Intel Xeon Core:
-
Data TLB 4K pages: 256
TLB reach = 4K * 256 = 1M
-
Data TLB 4M pages: 8
TLB reach = 4M * 256 = 32M
Understanding a memory dereference
CPU support for "Huge Pages"
-
X86 Pentium Pro and later support three page sizes
4K, 2M, 4M
-
SPARC
8K, 64K, 512K, 4M, 32M, 256M
-
X86-64
4K, 2M, 4M, 1G
OS Support for Huge Pages
- Solaris is possibly the best
-
Multiple Page Size Support since Solaris 9
- Transparent to applications
-
Great tools for analyzing MMU performance
$ uname -a
SunOS neptune 5.10 Generic_127112-11 i86pc i386 i86pc Solaris
$ pagesize -a
4096
2097152
$ uname -a
SunOS pluto 5.10 Generic_138888-03 sun4v sparc SUNW Solaris
$ pagesize -a
8192
65536
4194304
268435456
OS Support for Huge Pages
- FreeBSD: Transparent huge page support on x86 and x86-64 since FreeBSD 7.2
-
Linux: HUGETLBFS
- But see RFC: Transparent Hugepage Support message to linux kernel list, Oct 26th, 2009
- Win32: No support for huge pages
Huge Pages in Kernel
- Kernel is a special case
- Linux, BSD, Solaris all use huge pages in the kernel when mapping the kernel binary itself
System calls for managing the page cache
| mmap(2) | posix_fadvise(2) |
| mincore(2) | posix_madvise(2) |
| msync(2) | posix_fallocate(2) |
| madvise(2) | readahead(2) |
| mprotect(2) | memcntl(2) |
| mlock(2) | meminfo(2) |
But where are the command line utilities?
Demo
Let's touch some memory
vmtouch
http://hoytech.com/vmtouch/
Doug Hoyte


This class represents pair of alternative segments (PAS).
More...
#include <PAS.h>
|
|
std::list< StarLink * > | segments_ [2] |
| |
|
FPType | cheapCost_ |
| |
|
FPType | expCost_ |
| |
| FPType | totalShift_ |
| |
|
int | cheapSegm_ |
| |
|
|
static FPType | zeroFlow_ = 0.0 |
| |
|
static FPType | dirTol_ = 0.0 |
| |
This class represents pair of alternative segments (PAS).
For details see [1].
- Note
- The definition of what PAS is unused is different from the paper, see isUnused().
Adds bush dag to the set of relevant origins of this PAS. If this bush is already in the set, it won't be added.
- Returns
- true if origin wad added, false otherwise.
- Note
- The pointer to entire bush is stored instead of origin index in order to facilitate access to some information required by PAS.
| FPType PAS::calcSegCost |
( |
int |
index | ) |
|
|
private |
Calculates cost of a segment given its index.
| FPType PAS::calculateFlowShift |
( |
| ) |
|
|
private |
Calculates minimum possible shifts for each origin and minimum possible total shift. It also calls getFlowShift() and ensures that it does not exceed minimum possible total shift.
| bool PAS::checkIfCostEffective |
( |
FPType |
cost | ) |
const |
|
inlineprivate |
Checks if current PAS is cost effective.
- Parameters
-
- Returns
- true if PAS is cost effective, false otherwise.
| bool PAS::checkIfEffective |
( |
FPType |
cost, |
|
|
FPType |
v, |
|
|
int |
index, |
|
|
DAGraphTapas * |
dag |
|
) |
| |
Checks if current PAS has flow and is cost effective (for details see [1]).
- Parameters
-
| cost | reduced cost. |
| v | a specific parameter of TAPAS that is used in order to consider a PAS as flow effective. |
| index | index of the expensive link of bush under investigation. |
| dag | pointer to a bush under investigation. |
- Returns
- true if PAS is effective, false otherwise.
| bool PAS::checkIfFlowEffective |
( |
FPType |
v, |
|
|
int |
index, |
|
|
DAGraphTapas * |
dag |
|
) |
| const |
|
private |
Checks if current PAS is flow effective.
- Parameters
-
| v | a specific parameter of TAPAS. |
| index | index of the expensive link of bush under investigation. |
| dag | pointer to a bush under investigation. |
- Returns
- true if PAS is flow effective, false otherwise.
| FPType PAS::getCostDiff |
( |
| ) |
|
- Returns
- cost difference between two segments.
| FPType PAS::getFlowShift |
( |
| ) |
|
|
protectedvirtual |
Calculates flow shift that must be performed from expensive segment to cheap one.
Reimplemented in PASWithStep.
- Returns
- last link in the cheap segment. NULL is returned if the segment is empty. This method is used in PASManager for checking if PAS exists already.
- Returns
- last link in the expensive segment. NULL is returned if the segment is empty. This method is used in PASManager for checking if PAS exists already.
| int PAS::getNbLinks |
( |
| ) |
const |
- Returns
- total number of links belonging to both segments.
| int PAS::getNbOrigins |
( |
| ) |
const |
- Returns
- total number of origin associated with this PAS.
- Returns
- true if PAS is unused, false otherwise. PAS is unused if the flow was not moved or if the entire origin flow from expensive segment was moved.
- Note
- This definition of unused PAS is different from what is written in the paper (according to numerical experiments it works faster - it is better to delete PAS more often).
Performs flow move within PAS, updates corresponding link flows and travel times.
- Returns
- true if flow was actually moved, false otherwise.
| void PAS::print |
( |
| ) |
const |
For debugging. Prints segments on screen.
| void PAS::pushBackToCheap |
( |
StarLink * |
link | ) |
|
This method is used for creation of segments of current PAS. Adds link to the back of cheap cost segment.
| void PAS::pushBackToExp |
( |
StarLink * |
link | ) |
|
This method is used for creation of segments of current PAS. Adds link to the back of expensive cost segment.
| void PAS::pushFrontToCheap |
( |
StarLink * |
link | ) |
|
This method is used for creation of segments of current PAS. Adds link to the front of cheap cost segment.
| void PAS::pushFrontToExp |
( |
StarLink * |
link | ) |
|
This method is used for creation of segments of current PAS. Adds link to the front of expensive cost segment.
| FPType PAS::recalcPASCosts |
( |
| ) |
|
Recalculates costs of cheap and expensive segments and updates corresponding pointer to cheap segment (after several iterations cheap segment might become an expensive one).
- Returns
- cost difference of segments
| SetType PAS::relevantOrigins_ |
|
private |
set is used in order to have log n complexity on insertion. Also uniqueness is ensured.
minimum possible total shift of flow
The documentation for this class was generated from the following files:


Havoc Pennington refers to some of his thoughts on version control in reaction to my last two posts on version control.
What he describes is very user-interface-oriented, from the perspective of bug and patch tracking as much as version control. It makes for an interesting overlap. Here's a kind of use case he gives:
- The version control system keeps track of how to submit patches (mailing list, bugzilla, etc.) and has a "submit patch" command. (Prereq: the system has a concept of a patch you're working on for submission)
- The version control system tracks submitted patches for the maintainer and supports easy review and acceptance/rejection of them.
- Easy way to have a conversation about any patch (as we do now in bugzilla typically)
- Allow the maintainer to easily hack on the patch, merge their changes with it, and then bounce the patch back to the submitter for more work - I often want to just fix the nitpicks instead of writing them down, then give someone the patch back to fix the big stuff.
 A nice feature would be to avoid the need to do this manually; just have the developer tools automatically "commit" every time you save from the editor, or even make the whole undo buffer persistent. Much more plausible with monotone than with CVS.
I can imagine doing this entirely within version control:
The version control system makes branching really easy. You start editing your checkout, and then there's a kind of "commit as branch" command. If it's a distributed system then there isn't really anything like a "checkout" (which is fine), but something more like "upload as branch".
Perhaps simply by filename convention, tracking is part of the version control system. So if you wanted to submit the patch for review, maybe you'd put request-review.txt in the system, with a note of explanation (what the branch accomplishes or fixes).
The entire repository, with all branches, should be well indexed. It should include workflow-related concepts. This could be as simple as text tags indicating status that are manually edited.
Thinking a little more -- tag the branch "for-review" (this is not like Subversion "tags"; more like setting a Subversion property). Add a property "author" that has your information. Another property lists people who are interested in being notified about changes to the branch. Another rule notifies maintainer(s) that something has been submitted. And an indexer displays what branches are in what states (for-review, in-review, rejected, accepted, etc).
The conversation takes place in more text files. Maybe the VC frontend handles the formatting. Or not, whatever.
In addition to indexing there's notification. You can register your interest in a branch. Maybe an email gateway for these conversations, where the conversation is appended to that discussion file. It's like the Talk: pages in Wikipedia.
Good merging tools make it easy to bring together branches.
When you want to change a patch but submit back to the author for further changes, you just edit their branch. Non-authoritative branches (like those that are submitted by non-maintainers) are editable by everyone. You could even simply add comments inline to the code about issues you see with the changes.
I think the ability for maintainers to edit non-trunk (and non-official-branch) code is a really important way to communicate with contributors. And for contributors to communicate with each other; this shouldn't be a wheel-and-spoke system centered around one integrator.
Autocommit is a separate issue, I think. It would be fine if an editor did this, but it's not something that screams out to me.
History is more easily available if everything is a branch, not a patch, and branches have history and you can continue development on them without being merged into the trunk.
This doesn't really address issue trackers. Issue trackers are lists of problems without solutions, and source control typically holds solutions. If the version control (or maybe just the tools built around it) was really powerful, then potentially it could be a backend for issue tracking, where "issues" are special files or directories. But the workflow for issues is typically much more automated and structured than for generic "source".
In our enterprise development one of the things that I have been working on putting together is a way that error reporting, trouble ticketing, version control, unit test coverage, and IDE are tied together.
If an unexplained error happens a support person is automatically assigned a trouble ticket and emailed. Tech does initial research and closes out ticket because he could handle the problem or bucks it up to the developers with what ever information he could glean. Developer researches, resolves the issue if he can, generates additional unit testing. New trouble ticket is generated for each developer to peer review the new unit tests and the patch. Reports at the end of the month about what code was changed and who changed it, did it cause problems, what kind of problems and how was it fixed.
I have been using Roundup as an issue management for a while and I do already create trouble tickets based on events in applications via email. The next step is tying in the versioning system. There has been many developments with Roundup and SVN in the last few months. So I think that this is what I need to set up next. My dream isn't too far away.
# count0
I think we are already most of the way there with Monotone:.
I have only been trying it out for a little while now, but it has a few features that could be glued (with a little bit of Python or something) to Bugzilla or any number of other development tracking tools.
- It supports arbitrary metadata attached to submissions and changes. This could be used to track the status of a patch, where the current discussion is taking place, a bug number, etc.
- It supports multiple head revisions. So people working on the patch can simply work on a seperate head until the patch is approved, then merge it into the "official" head.
- It is very configurable. It uses Lua: as its configuration language, and it has a large number of hooks that can be customized.
- It has a "scripting" version for its commands to make it easy to automate most tasks.
I guess all that is needed is a bit of work to tie it all together. There are already a few projects that integrate with it, but I couldn't find any that integrate with bug tracking or email patch submission systems.
# Alan Falloon
"If the version control (or maybe just the tools built around it) was really powerful, then potentially it could be a backend for issue tracking, where "issues" are special files or directories."
There seems to be a bit of convergence on this idea; I know we've tossed around such stuff some in monotone, especially when we were also experimenting with using our regression test suite as a bug tracking system -- I think that's a very powerful bit of integration for such a system to include, by the way -- and Aaron Bentley's actually put together a system called Bugs Everywhere.
My biggest problem with such a scheme is that part of what issue trackers do is track discussions; and discussions do not follow branch semantics. You generally want your discussions to be global -- gathering together comments from two different branches to figure out what's been done on a bug sounds like a royal pain. OTOH, bug states (open, closed, ...) very much do follow branch semantics -- closing a bug in a branch, then having it closed on mainline when the branch is integrated, is very slick. I'm not sure what the right solution is.
I'm hoping that as these systems get a little more mature we'll see a lot more work on workflow processes and stuff...
For coupling issue (and ticket) tracking and source control I've been very impressed by Trac
We're currently using it for ad-hoc documentation, source code viewing, and ticket tracking (we started with issues but now every piece of work has an associated ticket). It's really nice being able to cross reference change sets, wiki pages and tickets in the same environment.
I've used Trac as an issue tracker, and I've liked it well enough as that. I somewhat prefer Roundup for more involved issue tracking, but I think Trac has a more accessible UI for public projects. But I haven't felt any real motivation to use any of its other features (or Roundup Subversion integration for that matter). I don't need Yet Another Wiki (and worse Yet Another Wiki Markup). That's not how I want to keep my documentation. The Subversion integration might be good, but I never remember to link them up. They are too far away from each other, IMHO; web and svn client are very different modes for me.
# Ian Bicking


It is well established that compounds which interact with central dopamine receptors have therapeutic potential in the treatment of conditions like Parkinson's disease and psychotic disorders. For the later treatment, it is known that tardive dyskinesia (TD) is a major limitation of chronic antipsychotic drug therapy at least with older (typical) antipsychotics.
There is increased awareness of the different ways in which this condition manifests itself and the variety of disabilities that TD produces. Although a substantial research has been stimulated to identify the underlying pathophysiological mechanisms of TD, they remain largely elusive. There are several hypotheses about the pathophysiology of TD (dopamine hypersensitivity, neurotoxicity, GABA insufficiency, noradrenergic dysfunction, structural abnormalities)[ 1], however the true mechanism remains unknown.
The hypothesis of dopamine hypersensitivity proposes that the nigrostriatal dopamine system develops increased sensitivity to dopamine as a consequence of chronic dopamine receptor blockade induced by neuroleptic drugs. There is an increased incidence and prevalence of involuntary hyperkinetic dyskinesia in patients receiving dopamine antagonists in most [ 1- 3] but not all reports [ 4, 5]. Dopamine antagonists usually suppress TD, whereas dopamine agonists aggravate TD symptoms [ 6].
An alternate, though highly speculative hypothesis, is the proposal that TD is due to neurotoxic effects induced by free radical byproducts from catecholamine metabolism. The basal ganglia, by virtue of their high oxidative metabolism, are vulnerable to membrane lipid peroxidation as a result of the increased catecholamine turnover induced by neuroleptic drugs [ 7- 9]. It is known that vitamin E (a-tocopherol) serves as a free radical scavenger, thus reducing the cytotoxic effects of free radicals. Clinical studies have produced conflicting data in this area. The impression gained from these studies was that while vitamin E is safe and well-tolerated, it confers only modest benefits. Some studies do not support the hypothesis that TD is mediated through free radical damage to neurons [ 8, 10, 11] while others support that vitamin E appears to be effective in reducing the severity of TD, especially in patients who are young and have recently developed TD [ 12, 13].
Early neuroleptic agents showed great antipsychotic promise initially, however, the induction of extrapyramidal side effects associated with their use constituted a significant problem. Atypical antipsychotics possess a lower extrapyramidal side effects liability and show a better efficacy in the treatment of negative and depressive symptoms as well as cognitive disorders associated with schizophrenia. These features have been related to a higher affinity to serotonin receptors. However, they brought about various side effects such as weight gain, hyperglycemia, cholesterol level elevation, and QT interval prolongation [ 14].
A novel antipsychotic agent with a mechanism of action different from all currently marketed typical and atypical antipsychotics is aripiprazole. This quinoline derivative exerts potent partial agonistic action on D 2 and 5-HT 1A receptors and antagonistic properties at 5-HT 2A receptors. Aripiprazole claims to be the first agent of a third generation of antipsychotics, the so-called "dopamine-serotonin stabilizers"[ 14].
In a previous study [ 15] we have shown that 6,7,8,9-tetrahydro-N,N,-di-n-propyl-1 H-benz [g]indole-7-amine ( PBIA) (Figure 1) acts in vivo as a functional dopamine receptor partial agonist. It is known that a partial agonist at any dose level can not produce the same maximal biological response as a full agonist even though the partial agonist binds as tightly and as well to the receptor as the full agonist. In sum, a partial agonist has high affinity for its receptor, but low intrinsic activity. PBIA is a moderate [ 3H]-spiperone and 8-OH-[ 3H]-DPAT competitor. Spiperone is a selective D 2 antagonist while 8-OH-DPAT is a selective 5-HT 1A agonist. This means that PBIA expresses a moderate binding affinity at the dopamine D 2 and serotonin 5-HT 1A receptors in in vitro competition binding assays.
Structure of 6,7,8,9-tetrahydro-N,N,-di-n-propyl-1 H-benz [g]indole-7-amine (PBIA), 1-p-toluenesulfonyl-6,7,8,9-tetrhydro-N,N-di-n-propyl-1 H-benz [g]indol-7-amine (TPBIA) and 5-OH-DPAT
PBIA was designed as a metabolically stable bioisostere of the potent dopamine receptor agonist 5-OH-DPAT, (Figure 1). Phenolic dopamine receptor agonists suffer from poor bioavailability due to rapid metabolic inactivation via conjugation. Thus, an approach which has been pursued to overcome this problem is to develop non phenolic heterocyclic analogues. In this respect, evidence indicates that an indole NH moiety can be a bioisostere of the hydrogen-bonding H donor properties of the phenolic OH group in dopamine agonists. Based on the above, we synthesized PBIA.
In the present work, we tested the derivative 2 (Figure 1), 1-p-toluenesulfonyl-6,7,8,9-tetrhydro-N,N-di-n-propyl-1 H-benz [g]indol-7-amine ( TPBIA) for behavioral effects in rats, related to interactions with central dopamine receptors. Because TPBIA has an increased lipophilicity and an appropriate polar molecular surface area (PSA) value, we hypothesized that it might be capable of penetrating the blood-brain barrier in a considerable degree. Additionally, the presence of the tosyl group might shift the agonistic activity to that of an antagonist. It is documented that increasing the van der Waals molecular volume of an agonist makes it an antagonist [ 16]. Finally, since free radical and oxidative stress may be implicated in the pathophysiology of a number of neurodegenerative diseases [ 17] we also investigated the antioxidant potential of TPBIA, since there are some reports concerning the role of free radicals in TD [ 7].
Therefore, it becomes interesting to design compounds that maintain antipsychotic efficacy and simultaneously could be free of TD risk.
The aim of the current study was:
1) to find if TPBIA crosses the blood-brain barrier,
2) to test the behavioral effects of TPBIA with specific focus on neuroleptic effects,
3) to test its antioxidant activity.
Key step of the synthesis was a Mukaiyama type aldol condensation between the dimethyl acetal of 1-( p-toluenesulfonyl)pyrrole-3-acetaldehyde and 4-di- n-propylamino-1-trimethylsilyloxycyclohexene followed by cycloaromatization under acidic conditions. A detailed description of the procedures can be found elsewhere [ 18]. TPBIA was isolated as its hydrochloride salt. It was a white crystalline solid with melting point of 209–211°C. The salt was soluble in water in contrast to its free base form.
Adult male Fischer-344 rats (~250 g) were used.
The experimental animals were grouped as:
i. Group A: Untreated rats: TPBIA was administered i.p. in various doses and immediately afterwards the rats were placed individually in the activity cage and their motor behavior was recorded for the next 30 min.
ii. Group B: Apomorphine-treated rats: the motor activity was measured as described above in the rats treated with apomorphine (1 mg kg -1, i.p.) 10 min after the administration of TPBIA.
The experiments were conducted according to a previous reported methodology [ 15]. TPBIA was converted to its hydrochloride salt and dissolved in water. Apomorphine was dissolved in 1 mM citric acid solution. The motor activity of the rats was measured between 12-6 pm in an Ugo-Basile activity cage (type 7401) (Figure 2).
The Ugo-Basile activity cage (type 7401)
The antioxidant potential of TPBIA was investigated in the model of in vitro non enzymatic lipid peroxidation [ 19].
The experiments were conducted according to a previous reported methodology [ 15]. Hepatic microsomal fractions prepared from untreated male Fischer-344 rats were heat-inactivated (90°C, 90 s) and suspended in Tris-HCl/KCl buffer (50 mM/150 mM, pH 7.4). The incubation mixtures contained the microsomal fraction, corresponding to 0.125 g liver mL -1, ascorbic acid (0.2 mM) in Tris buffer, and various concentrations (0.01–1 mM) of the tested compounds dissolved in DMSO. An equal volume of the solvent (0.1 mL) was added to the control incubate. The reaction was initiated by adding freshly prepared FeSO 4 solution (10 μM). The mixture was incubated at 37°C for 45 min. Aliquots (0.3 mL) of the incubation mixture (final volume 4 mL) were taken at various time intervals. Lipid peroxidation was assayed spectrophotometrically (535 nm against 600 nm) by determination of the 2-thiobarbituric acid reactive material.
Antioxidants inhibit the production of malondialdehyde and, therefore, the color produced after addition of 2-thiobarbituric acid is less intense. None of the compounds interfered with the assay, neither with the conjugation of 2-thiobarbituric acid or with the absorption at 535–600 nm. Each experiment was performed at least in duplicate. The UV measurements were carried out on a Perkin-Elmer 554 spectrophotometer.
The effect of the TPBIA on the motor behavior of non treated and apomorphine pretreated rats are shown in Tables 1, 2 and Figure 3. Apomorphine is a selective agonist of the dopamine D2 receptors. It was found that:
Motor behavior of untreated rats
| Compound (dose, μmol Kg -1) | Movements (±SEM) / 30 min | Compared with the control group (%) |
| Controls | 263(81) | 100 |
| TPBIA(40) | 161(22) NS | 61 |
| TPBIA(80) | 46(16)** | 18 |
NS, P > 0.05 (not significant) and **P < 0.01 according to Student's test, n = 3–6
Motor behavior of apomorphine treated rats
| Compound (dose, μmol Kg -1) | Movements (± SEM) / 30 min | Compared with the control group (%) |
| Apomorphine treated controls | 385(68) | 100 |
| TPBIA(80) | 113(28)** | 29 |
**P < 0.01 according to Student's test, n = 4
Effect of TPBIA on the motor behavior of experimental animals
i. In non-pretreated rats, TPBIA at doses of 40 and 80 μmol/kg reduces the activity by 39 and 82% respectively (Number of experimental animals: 3–6).
ii. In apomorphine pretreated rats, TPBIA (80 μmol/kg) reverses the hyperactivity and stereotype behavior induced by apomorphine (Number of experimental animals: 4).
The time course of non enzymatic lipid peroxidation as affected by 0.5, 0.25 and 0.1 mM concentrations of TPBIA is shown in Figure 4.
Time course of lipid peroxidation as affected by various concentrations of TPBIA.
The results support our hypothesis that:
a) TPBIA crosses the blood-brain barrier,
b) modifies the motor behavior of the experimental animals,
c) shows antioxidant activity.
a) The Polar Surface Area (PSA) of a molecule is defined as the area of its van der Waals surface that arises from oxygen and nitrogen atoms as well as hydrogen atoms attached to oxygen or nitrogen atoms. As such, it is clearly related to the capacity of a compound to form hydrogen bonds. PSA has been established as a valuable physicochemical parameter for the prediction of a number of properties related to the pharmacokinetic profile of drugs. Among these properties are the intestinal absorption and the blood-brain barrier penetration. PSA has been found to be useful in modeling intestinal absorption together with a direct estimate of lipophilicity widely acknowledged as an important factor in transport across membranes. A common measure of the degree of BBB penetration is the ratio of the steady-state concentrations of the drug molecule in the brain and in the blood, usually expressed as log(Cbrain/Cblood). We expect that the increased lipophilicity (calculated [ 20] ClogP = 6.659) and the small PSA value (calculated [ 21], 38.9 Angstroems 2) of this compound will facilitate its central nervous system penetration. Thus by using an equation reported by Clark et al [ 22] we found that the steady-state distribution of TPBIA between brain and blood is approximately 1000/1 (logBB = 0.58). This computational model contains two variables: PSA and calculated logP, both of which can be rapidly computed. The model could be considered reliable; for example the measured and predicted BBB permeability of the antidepressant drug, amitryptyline were quite similar (experimental logBB = 0.76–0.98 and calculated logBB = 0.76). Finally, its low PSA value is a strong indication that it could be used per os for systematic use [ 23].
b) The presented results could suggest that TPBIA acts as a dopamine receptor antagonist in the central nervous system. The tosyl group in TPBIA, which plain was found to be perpendicular to that of the indole ring in its low energy conformation (Figure 4) [ 24] is important to the differentiation of the biological profile between compounds PBIA and TPBIA. The association of increasing molecular weight with increasing antagonistic power is well known. An antagonist is always bulkier than the corresponding agonist and it is obvious that the likelihood of forming extra van der Waals bonds with the receptor increases the chances of the bulkier molecule having a longer retention time. Because a molecule's kinetic energy of translation (which is an important factor in desorption) does not change with increase in molecular weight, any gain in size by the molecule increases its time of residence on the receptor [ 16].
c) Some clinical studies [ 6, 25] have shown that vitamin E (a well established antioxidant) may be effective in treating TD. However vitamin E does not cross readily the blood-brain barrier [ 26], which could explain why other studies failed to confirm these results [ 6]. Therefore we considered interesting to investigate the antioxidant potential of the synthesized TPBIA. It was found that TPBIA completely inhibits the peroxidation of rat liver microsome preparations at the studied concentrations
The results of the current study suggest that TPBIA crosses the blood-brain barrier, possesses neuroleptic activity and exerts antioxidative activity. The above constitute preliminary in vivo/vitro evidence suggesting that TPBIA could merit further investigation as a potential candidate as an antipsychotic agent with novel and clinically important properties.
A putative combination of dopaminergic antagonism and antioxidant activity of a compound which readily cross the blood-brain barrier could be of pharmaceutical interest especially when the compound is used for the treatment of behavioral disorders in the frame of an organic or degenerative mental disorder.
The above results indicate that TPBIA might have therapeutic potential in the treatment of psychosis, due to its dopamine antagonistic activity in the central nervous system. In addition, its antioxidant effects is a desirable property, since tardive dyskinesia – a neuroleptics' severe side effect – has been attributed, at least in part, to oxidative stress.
None declared.
Low energy conformation and van der Waals surface of compound TPBIA
This work was supported by the grants PENED91ED883 (D.V.J., G.A., R.G.V., T.E.), PENED99ED427 (D.V.J., N.I.) and P.D.E., E.P.A.N.-M.<IP_ADDRESS>., C.2000 SE 01330005 (D.V.J., N.I., Z.C.) from the General Secretariat of Research and Technology of Greece as well as from the Public Benefit Foundation Alexander S. Onassis (Z.C.).


Detection is based on PROSITE pattern PS00001. Mean local hydrophilicity (Hopp and Woods, 1981) is used to assess if the asparagines are buried.
scan_nglc(data, ...) # S3 method for character scan_nglc(data, ...) # S3 method for data.frame scan_nglc(data, sequence, id, ...) # S3 method for list scan_nglc(data, ...) # S3 method for default scan_nglc(data = NULL, sequence, id, span = 5L, cutoff = 0, nsp = 15L, ...) # S3 method for AAStringSet scan_nglc(data, ...)
| data | A data frame with protein amino acid sequences as strings in one column and corresponding id's in another. Alternatively a path to a .fasta file with protein sequences. Alternatively a list with elements of class |
|---|---|
| ... | currently no additional arguments are accepted apart the ones documented bellow. |
| sequence | A vector of strings representing protein amino acid sequences, or the appropriate column name if a data.frame is supplied to data argument. If .fasta file path or list with elements of class "SeqFastaAA" provided to data, this should be left blank. |
| id | A vector of strings representing protein identifiers, or the appropriate column name if a data.frame is supplied to data argument. If .fasta file path or list with elements of class "SeqFastaAA" provided to data, this should be left blank. |
| span | An integer specifying how many amino acids around the target asparagine residues is used to calculate hydrophilicity. At default set to 5: asparagine position - 5 to asparagine position +5 residues. Range to consider: 3 - 10. Acceptable values are 0 - 20. |
| cutoff | An integer specifying the cutoff value for hydrophilicity. Range to consider: -1 - 1. Values lower then -3.4 exclude hydrophilicity as a parameter, while values higher than 3 result in no motifs being found. |
| nsp | An integer, either of length 1 or length equal the number of sequences, specifying the number of N-terminal amino acids to exclude. |
https://prosite.expasy.org/PDOC00001
A data frame with columns:
Character, as supplied in the function call.
Integer, start of motif match.
Character, the motif matched.
the average hydrophilicity.
Boolean, is the N-glycosylation likely based on hydrophilicity.
Optional integer column provided when nsp argument is of equal length to the number of input sequences
For N-glycosylation to happen the protein must enter the endoplasmic reticulum. Please check if the proteins are likely to contain a N-terminal signal peptide. The motif Asp-Xaa-Ser/Thr (where Xaa is not Pro) on which N-glycosylation occurs is relatively common, however for N-glycosylation to occur the motif needs to be located on the protein surface. Mean local hydrophilicity (Hopp and Woods, 1981) is used here to evaluate if the asparagines are located in a hydrophilic surrounding which is more likely on the protein surface.
Hopp TP. Woods KR. (1981) Prediction of protein antigenic determinants from amino acid sequences. Proceedings of the National Academy of Sciences of the United States of America, 78(6): 3824-8
original R code by Thomas Shafee, modified by Milan Dragićević


{% block h1 %}Service unavailable{% endblock %}
Tax credits has been replaced by Universal Credit.
Contact the Tax Credit Office if you need to speak to someone about your tax credits.
You can:
Tax credits has been replaced by Universal Credit.
Contact the Tax Credit Office if you need to speak to someone about your tax credits.
You can:


I expected a program like this sooner. JHymn will rip your copy protected iTunes AAC files to mp3. I wonder how long before the lawyers circle and consume this project? Get your copy while it lasts. I wonder how long before the FBI kicks in my door, shoots my dog, and hauls me off to jail. I am a criminal now, am I not? I wonder how long before people who rip their legally purchased content will be labeled terrorists of one sort or another?
hymn -- decrypt iTunes and iPod music / unprotect AAC files (m4p --> m4a)


{% extends "base_forms.html" %} {% load crispy_forms_tags %} {% block logo %} {% include "includes/logo.html" %} {% endblock %} {% block content %}
Our instructor training classes are for people who wish to learn how to teach Carpentry workshops. We teach impactful pedagogical techniques and prepare you to become an Instructor in our community. We use this form to register interest and build new communities of Instructors around the world.
If you wish to apply to our open instructor training program, please fill in the form below. Tell us about yourself, what excites you about teaching, and how The Carpentries can help in your community. Spaces are limited, so use this form to share with us what excites you about spreading our teaching to your organization. We will notify applicants as limited spaces become available. If you have any questions, please mail<EMAIL_ADDRESS>If you would like to accelerate the process, check out our membership program. Organizational members make ongoing commitments to supporting The Carpentries and are guaranteed seats in instructor training. If you need help making the case at your organization, feel free to contact us at<EMAIL_ADDRESS>we'd be happy to help.
Please note that as a condition of taking this training:
For our instructor training curriculum, please see http://carpentries.github.io/instructor-training/.
If you are scheduled to receive training at a member site, and have been asked to fill in this form to give us information about yourself, please do so and we will follow up when your site's training has been scheduled.


CEDDO A film review by Mark R. Leeper Copyright 1987 Mark R. Leeper
Capsule review: Micro-epic from Senegal. The film is weak on style, acting, and pacing, but has a really good story. Never released in Senegal, nominally over a disagreement about the spelling of the title, but more likely for anti-Islamic sentiments.
Imagine, if you will, a story written for Akira Kurosawa. You know, one with armies clashing and sieges of great castles. Now imagine the story was done instead by a third-grade grammar-school class of about thirty people--the same heavy themes but where Kurosawa would show an army the play has to use two people. Instead of a castle there would be a tent.  Okay, now you have some idea what a "micro-epic" might be. Ousmane Sembene's 1977 Senegalese film CEDDO is a very big film on a very small scale. The film, based on a true story, takes place in one village but it is still the stuff of epics.
In one small village in Senegal, three cultures are fighting for dominance: one worshiping the traditional village fetishes, one the new Islamic faith, and the third represented by two white Europeans. Admittedly, the latter are not so interested in converting souls as they are in trading guns for slaves. As the power shifts back and forth, more than one group decides it has to spend a few people on guns. The real catalyst of the events of the film occurs when three anti-Islamic villagers kidnap the daughter of the Islamic king. This starts a small-scale civil war that has a local band of Moslems (allies of the Islamic king against the anti- Islamic villagers) attempting to oust the king and seize control for themselves.
Senegal's film industry is still a fledgling and this film in all but its plotting falls well below what we have come to expect as Western standards. The pacing and acting are poor; the camera-work is only fair. The plot, on the other hand, is excellent. CEDDO is a film of political dialogue and philosophy and, at times, even action. Much of the excitement of the action scenes is sapped away by mishandling. Sembene is predominantly a novelist and when he made this film he did not have the filmmaking talent his story deserved. It cannot be that hard to pick up the talents Sembene is missing. Hundreds of directors in this country know how to get a reasonable acting job and how to make a film of minimal polish. They just do not have a good enough story. Sembene has a good story, one that is every bit as good as the story of Z. If Sembene could pick up a little polish in his style, he could be making first-class films. As it is, I would still give CEDDO a +1 on the -4 to +4 scale.
Mark R. Leeper ihnp4!mtgzz!leeper<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Workshop Follow Up
Question: How do I add Row Headers to tables in PowerPoint?
Question From Professional Development Workshop "Columns and Rows"
More Information: How do I add Row Headers to tables in PowerPoint?
As answered 23 April 2019
Designate Row Headers by clicking the "First Column Box". To get to the area in PowerPoint 2016 in which you are able to click a "First Column" box, you'll need to click on the table itself, and watch for the "Table Tools" tab to appear in the upper part of the PowerPoint ribbon. There will be two tabs in the "Table Tools". The first will be "Design" and the second will be "Layout". Ensure that you have the "Design" tab selected, and the checkboxes for Header Row and First Column will be visible.
However, be aware that checking this option in PowerPoint addresses accessibility as it applies to perception, but may not necessarily screen readers concerns. Please go ahead and check this box, even though in the present time it does not necessarily help screen readers.
There's several reasons to do this. First, it does help with cognition; it's easier to understand, visually speaking, that this first column has a different purpose than the others. Second, Microsoft is constantly working to improve the accessibility of its products; in the background, the company may be adding code so that screen readers will perceive the first column as one which connects relationships between the first column and the others in a row. Finally, by checking the first column box, it will possibibly enable true accessibility handling in follow-on processes (for example, when transfering the content to a word document or PDF).
Most screen readers will not identify table headers in PowerPoint, but we still recommend going through this process. It is important to identify headers visually, and support for table headers in Microsoft Office is improving constantly. Plus, these headers will identified when saving to PDF in the most up-to-date versions of PowerPoint.
From WebAIM's article on Accessibility in PowerPoint | As accessed 23 April 2019
Tables in PowerPoint While it’s possible to visually format a row in PowerPoint so that looks like it has header rows (e.g., make the top row of cells bold and with darker background fill), there’s not a way to mark it up for screen reader software to be able to identify the header rows. For this reason, Webaim recommends to share the PowerPoint file as a PDF and to tag the PDF with table tags in Adobe Acrobat.
Accessible U | Tables In Documents as accessed 25 April 2019


The steemSTEM project in a nutshell
Just about two months ago, we have decided to relaunch the steemSTEM initiative. To sum up a long story, the steemSTEM project is a community-supported project aiming to increase the quality and the visibility of STEM (STEM is the acronym for Science, Technology, Engineering and Mathematics) articles on Steemit.
The Monthly Status Report
The steemSTEM crew has continued to promote quality STEM content posted on Steemit with upvotes, comments and resteems via the @steemstem account. Moreover, an extra bonus reward in Steem Power has been provided directly to all of the the creators of well written, informative and correctly referenced STEM articles chosen for promotion by this project.
Do not therefore hesitate to follow the @steemstem account for being kept up-to-date of good STEM Steemit articles! We try to guarantee at least 5 good posts a week!
We show below the list of posts that we have resteemed and granted a 10SP reward to their author during the last 28 days. Through those rewards we have directly redistributed a total of 240 SP to the community (Also note that no members of the steemSTEM team have received compensation from this project, helping the community grow is it’s own reward).
The list also illustrates the diversity of topics that have attracted the team’s attention. We strive with this to promote all types of authors unknown and well known, big and small. Additionally no topic is off limits for promotion so long as it is STEM related!
It has been a real pleasure to encourage following those authors who work so hard to create great STEM content on Steemit.
The List of SteemSTEM-Acknowledged Authors Over The Past Month
Please consider following these great content creators, let us work together to promote sort of quality content that will both help steemit grow strong and keep our minds growing as well.
This page is synchronized from the post: The SteemSTEM Status Report Dec 21 - Jan 17


| {expression/expr9} | Print Permit |
| Permit Holder | {expression/expr8} |
| Phone Number | {expression/expr2} |
| Date Issued | {issue_date} |
| Date Expire{expression/expr4} | {expire_date} |
| Follow Calendar | {expression/expr5} |
| Parcel Size | {site_acreage} Acres{expression/expr6} |
{expression/expr7}


average QoS
days in warning
days in critical
It seems you don't have any configuration for the {{ itemCtrl.label }} label.
Maybe you created it in the past, some QOS have been computed so you can see older ones, then you removed it and no new QOS can be computed.
Go to the configuration tab to fix it.
The QOS of {{ itemCtrl.name }} is computed from the rule {{ itemCtrl.rule.name }}
.
The QOS of {{ itemCtrl.name }} is computed using the following query : {{ itemCtrl.currentConfig[itemCtrl.label].qos }}
This node has more than 1000 dependencies, we can not display them all. We are working hard to provide you a better experience on this.
| {{ dep.label }} | {{ dep.name }} |


I knew it was going to happen. After spending upwards of $150 on the Steam summer sale, a friend introduces me to a nice free-to-play in-browser game called Card Hunter and now its the only thing I play in my free time. What am I going to do with myself?
Card Hunter, made by the equisitely named Blu Manchu, is a turn-based strategy and tactics game (ala Final Fantasy Tactics) mixed with trading card mechanics (ala Magic the Gathering). You control a party of three characters customized from a choice of 3 races (the hardened dwarves, the nimble elves, and the pinacle of normality humans) and 3 classes (warrior, wizard, and cleric) as you explore a map littered with D&D like adventures, each populated with 1-4 combat scenarios. Upon winning (whether by defeating all enemies or fulfilling some kind of victory condition) you are showered with loot in the form of cards that you can equip on to your characters to give them additional armor and abilities.
The strategy in the game is defined by how well you outfit your characters for an adventure and how well you take advantage of the terrain as you position them to engage against the ravenous hoards that bear down you.
Oddly, my favorite part of the game is the aethestic. The graphics are modeled after what a traditional real world board game would look like, complete with background deck and dice for added visual appeal. The models are all two dimensional cutouts that, while attacking and moving, have very little in the way of animation, but still evoke a strong charm to the imagination.
The game itself is challenging, sometimes frustrating, because like all TCGs, elements of randomness from the simulated dice rolls and card draws are a huge factor into how you choose to strategize and you can quickly find yourself resigning a battle just after it begins to dawn on you how strongly luck is not on your side.
This is one of the more friendlier F2P games I’ve played recently. There are things the game does to remind you that you could be having more fun if you ponied up some real coin, but none of it is annoying. And while the game would be a tad easier, there’s no guarantee. So not paying doesn’t feel like playing with a handicap.
Overall, this game is pretty awesome. A-


Pairwise Web Service Developer API Reference
Version 2.0
February 12, 2010
Pius Uzamere<EMAIL_ADDRESS>About the API
The API conforms to the RESTful Ruby on Rails ActiveResource pattern. For more details on ActiveResource, please see http://api.rubyonrails.org/files/vendor/rails/activeresource/README.html.
Questions
Creating a new question
Client->"/questions": POST params (xml) note right of "Client": Authenticate using HTTP. Requires a question parameter hash. note right of "/questions": We add the question to our database "/questions"-->Client: xml version of the newly created question
Retrieving a specific question
Client->"/questions/:id": GET (xml) note right of "Client": Authenticate using HTTP. note right of "/questions/:id": We get the question from our database "/questions/:id"-->Client: xml version of the question
Updating a question
Client->"/questions/:id": PUT (xml) note right of "Client": Authenticate using HTTP. Requires a question parameter hash. note right of "/questions/:id": We activate the question so that it can be shown to users "/questions/:id"-->Client: xml version of the question
Activating a question
Client->"/questions/:id/activate": PUT (xml) note right of "Client": Authenticate using HTTP. note right of "/questions/:id/activate": We activate the question so that it can be shown to users "/questions/:id/activate"-->Client: xml version of the question
Suspending a question
Client->"/questions/:id/suspend": PUT (xml) note right of "Client": Authenticate using HTTP note right of "/questions/:id/suspend": We suspend the question so that it will not be shown to users "/questions/:id/suspend"-->Client: xml version of the question
Clicks
Creating a click
Client->"/clicks": POST params (xml) note right of "Client": Authenticate using HTTP. Required parameters are "what_was_clicked_on" and "sid" note right of "/clicks": We add the click to our database "/clicks"-->Client: xml version of the newly added click
Choices
Creating a choice
Client->"/questions/:id/choices": POST params (xml) note right of "Client": Authenticate using HTTP. Requires a choice parameter hash. note right of "/questions/:id/choices": We add the choice to our database "/questions/:id/choices"-->Client: xml version of the newly added choice
Retrieving choices
Client->"/questions/:id/choices": GET (xml) note right of "Client": Authenticate using HTTP. note right of "/questions/:id/choices": We get the choices for the question from our database "/questions/:id/choices"-->Client: xml version of the choices
Retrieving a specific choice
Client->"/questions/:question_id/choices/:id": GET (xml) note right of "Client": Authenticate using HTTP. note right of "/questions/:question_id/choices/:id": We get the choice from our database "/questions/:question_id/choices/:id"-->Client: xml version of the choice
Updating a specific choice
Client->"/questions/:question_id/choices/:id": GET (xml) note right of "Client": Authenticate using HTTP. Requires a choice parameter hash. note right of "/questions/:question_id/choices/:id": We get the choice from our database "/questions/:question_id/choices/:id"-->Client: son version of the choice
Activating a choice
Client->"/questions/:question_id/choices/:id/activate_from_abroad": PUT (xml) note right of "Client": Authenticate using HTTP. note right of "/questions/:question_id/choices/:id/activate_from_abroad": We activate the choice so that it can be shown to users. In future versions, this method should be renamed to "activate." "/questions/:question_id/choices/:id/activate_from_abroad"-->Client: xml version of the choice
Suspending a choice
Client->"/questions/:question_id/choices/:id/update_from_abroad": PUT (json or xml) note right of "Client": Authenticate using HTTP. note right of "/questions/:question_id/choices/:id/update_from_abroad": We suspend the choice so that it will not be shown to users. In future versions, this method should be renamed to "suspend" or "deactivate." "/questions/:question_id/choices/:id/update_from_abroad"-->Client: xml or json version of the choice
Prompts
Prompts are different combinations of choices that can be shown to users
Retrieving a specific prompt
Client->"/questions/:question_id/prompts/:id": GET (xml) note right of "Client": Authenticate using HTTP. note right of "/questions/:question_id/prompts/:id": We get the prompt from our database "/questions/:question_id/prompts/:id"-->Client: xml version of the prompt
Activating a prompt
Client->"/questions/:question_id/prompts/:id/activate": PUT (xml) note right of "Client": Authenticate using HTTP. note right of "/questions/:question_id/prompts/:id/activate": We activate the prompt so that it can be shown to users "/questions/:question_id/prompts/:id/activate"-->Client: xml version of the prompt
Suspending a prompt
Client->"/questions/:question_id/prompts/:id/suspend": PUT (xml) note right of "Client": Authenticate using HTTP. note right of "/questions/:question_id/prompts/:id/suspend": We suspend the prompt so that it will not be shown to users "/questions/:question_id/prompts/:id/suspend"-->Client: xml version of the prompt
Vote for the choice on the left of the prompt
Client->"/questions/:question_id/prompts/:id/vote_left": POST params (xml) note right of "Client": Authenticate using HTTP. Requires an 'auto' parameter corresponding to the session id. note right of "/questions/:question_id/prompts/:id/vote_left": We add a vote for the choice on the left "/questions/:question_id/prompts/:id/vote_left"-->Client: xml version of a new prompt for the question
Vote for the choice on the right of the prompt
Client->"/questions/:question_id/prompts/:id/vote_right": POST params (xml) note right of "Client": Authenticate using HTTP. Requires an 'auto' parameter corresponding to the session id. note right of "/questions/:question_id/prompts/:id/vote_right": We add a vote for the choice on the right "/questions/:question_id/prompts/:id/vote_right"-->Client: xml version of a new prompt for the question
Skip prompt
Client->"/questions/:question_id/prompts/:id/skip": POST params (xml) note right of "Client": Authenticate using HTTP note right of "/questions/:question_id/prompts/:id/skip": We skip the prompt "/questions/:question_id/prompts/:id/skip"-->Client: xml version of a new prompt for the question


| Soap image | Soap Color Preference | Soap Purchase Intent | Soap Features Liked |
|---|---|---|---|
|
|
At $5.00/unit |
|
|
|
|
At $8.00/unit |
|
|
|
Tell us about yourself
|
|||
|
gender
|
Age: (under 25 enter 1,25-40 enter 2,else erter)
|
||
|
Your comments are welcome
|


×
- Deauthorize the Trello token:
-
-
- Once reloaded, click the main button again
- A pop-up will request you "Authorize Trello"
- To completely clear the Trello cookie:
-
- To do this manually, under menu "Chrome":
- Select "Clear Browsing Data..."
- Check "Clear data from hosted apps"
- Press button "Clear browsing data"


{% extends "base.html" %} {% block content %} {{ itemCard(item) | safe }}
Are you sure you want to delete this item from the catalog? Once you do this, it cannot be undone.


I have recently rented the movie "Kids" and have to say that this film was "real to life" than any other film focusing on teens. The story is about a day in the lives of three New Yorkers.  After this encounter, he brags about it to his friend, Casper. The two drink, steal from a grocer, hangs out with teens, and engage in illegal activities. One of Telly's girls discovers that she contracted HIV, thus she tries to find Telly and tell him.
In my opinion, as I said in the beginning, this is very true and in-depth as if "Kids" was filmed like a documentary. If I am not mistaken, this was released at the same time as "Clueless" and "Dangerous Minds." Although "Dangerous Minds" is based on a true story, the film had typical aspects that were portrayed in other films: concerned teacher, unappreciated students, etc. The acting in "Kids" is wonderfully portrayed ; the direction was original, and it was told uniquely by the writers.
The film raised controversy about its subject matter. If I'm not mistaken, Miramax was under fire for being involved with this film( since The Walt Disney Co. bought it.) Instead of being scrutinized, it was released under the banner "Shining Excalibur Films" and was released in some cities. When movies are released in limited cities, it is like a response to studios that "Middle America" will not accept it. (Remember "Henry and June" and "The Last Temptation of Christ") They( film industry) are scared to release socially conscious films because of losing money and being boycotted by groups. If you ask me, I think that we, as moviegoers, should wirte to film/video/TV distributors and tell them to make films that have and make a difference rather than tell cliched tales, especially television. To finalized, "Kids" should be watched by older, mature teens and adults( with caution.)
NOTE: I would appreciate it if you do not send any unsolicited e-mail to this address. This is a simple request one can follow and apply. Thank you.
K. A. Harris
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The map is just an accessory. We know exactly where you want to go.
Find the closest drop off location to your destination
Quick Tip: Double click anywhere on map to mark a location.


EXCLUSIVE: Turkish side Gaziantep offer €5 million for USL best player Solomon Asante
Turkish side Gaziantep F.K have made a €5 million offer for Phoenix Rising captain Solomon Asante ahead of the winter transfer window, GHANASoccernet.com can exclusively report.
The diminutive winger was in dazzling form for American outfit Phoenix Rising in the just ended United Soccer League Championship.
Asante won the league's Golden Boot after netting 22 goals with just three goals shy of the highest number of goals by a player in a single season in the history of the Championship.
The Ghana international also set two USL records this season as he made the highest number of assists in a single season with 17 and a combined goals and assists of 39.
The 29-year-old's swashbuckling has prompted several clubs in the Major League Soccer and Europe to enquire about his services next term.
Reports reaching GHANASoccernet.com suggest that Turkish Super Lig outfit Gaziantep have acted swiftly by making a concrete offer of €5 million for the Ghanaian ahead of the forthcoming window transfer window.
However, the Arizona-based side are reported to be reluctant on selling their prized asset in January with the hope that they will get an improved offer for him during the summer window.
It remains to be seen if the Didier Drogba-owned club will soften their stance for the Falcons.
Should Gaziantep manage to acquire the winger, he will become the fourth Ghanaian on the books of the club after Yusif Rahman Chibsah, Aziz Tetteh and Patrick Twumasi.
Watch highlights of Solomon Asante's performance in the USL this season


-
Discuss strategies and stay up to date on all guild news! -
Check out all of the current news at the Crowfall forums! -
It can be difficult sometimes to quickly find the information you are looking for.


Cookies are small bits of text that are downloaded to your computer or mobile device when you visit a website. Your browser sends these cookies back to the website every time you visit the site again, so it can recognise you and can then tailor what you see on the screen.
Cookies are an important part of the internet. They make using websites much smoother and affect lots of the useful features of websites.
Some cookies are essential so you can move around the website and use its features. Without these cookies, services you've asked for can't be provided. These cookies dont gather information about you that could be used for marketing or remembering where you've been on the internet.
Cookies help keep you logged into forums, so you don't have to log in every time you visit our site. If we have a survey, cookies remember is you have already filled it in. They also help us operate our polls, so that you can't vote more than once.
They help improve your experience on our site and decide what type of advertisement you will see and also how often you might see them. They remember you if you have used social media to share stories so you don't have to keep logging in.
Cookies help us with Analytics, so we know what our audience are reading and how the use our site.
These cookies don't collect information that identifies you. The information collected is anonymous and is grouped with the information from everyone elses cookies.
You can restrict or disable the use of cookies in your web experience but it is important to note that you will lose some functions of a website if you do so. Your browser's help screen allows you to change your cookie settings.


Greetings, My Friend, Permit me to introduce first myself then the purpose of this letter. I am Mr PAPA BELLO, Bank Manager of ORIENT BANK OF NIGERIA, Lagos Branch. I have urgent and very confidential business proposition for you and it is carefully explained for your understanding as follows. On June 6 1997, an American oil consultant/contractor with the Nigerian National Petroleum Corporation, Mr. Barry Kelly made a numbered time account (Fixed) deposit for twelve calendar months, valued at US$25,000,000.00 (Twenty-five Million United States Dollars) in my branch. Upon maturity, I sent a routine notification to his forwarding address but got no reply. After a month, we sent a reminder and finally we discovered from his contract employers, Nigerian National Petroleum Corporation that Mr. Barry Kelly has since died from an automobile accident. On further investigation, I found out that he did not leave a WILL and all attempts to trace his next of kin were fruitless. I therefore made further investigation and discovered that Mr. Barry Kelly did not declare any next of kin in all his official documents, including his Bank Deposit paperwork. This sum of US$25,000,000.00 is still sitting in the Bank and the interest is being rolled over with the principal sum at the end of each year. No one will come forward to claim it. According to the Nigerian Law, at the expiration of 5 (five) years, the money will revert to the ownership of the Nigerian Government if nobody applies to claim the funds. Consequently, my proposal is that I will like you as a foreigner to stand in as the next of kin to Mr. Barry Kelly so that the fruits of this old man's labour will not get into the hands of some undeserving and corrupt officials. This is simple, I will like you to provide me immediately with the following; your full names, date and place of birth and complete address with confidential telephone and fax numbers so that the attorney will prepare the necessary documents and affidavits, which will put you in place as the next of kin. We shall employ the services of two attorneys for drafting and notarization of the WILL and obtain the necessary documents and letter of probate/administration in your favor for the transfer. A bank account in any part of the world, which you would provide, will then facilitate the transfer of this money to you as the beneficiary/next of kin. The money will be paid into your account for us to share in the ratio of 60% for me and 40% for you. There is no risk at all as all the paperwork for this transaction will be done by the attorney and my position as the Branch Manager guarantees the successful execution of this transaction. If you are interested, Upon your response, I shall then provide you with more details and relevant documents that will help you understand. Please observe utmost confidentiality, and rest assured that this transaction would be most profitable for both of us because I shall require your assistance to invest my share in your country. Awaiting your urgent reply via e-mail. Thanks and regards, Mr PAPA BELLO.


URL of current tab:
Name of problem:
Github status:
Preview:
Injecting Script....
Notification
All good.
Ship it


Education
| 2022 - present |
Ph.D. in Computer Science
> Supervisors: Prof. Chul Lee > Dongguk University, Seoul, Korea | |
| 2016 - 2018 |
Master of Engineering > Thesis: Facial Expression Recognition Using a Temporal Ensemble of Multi-level Convolutional Neural Networks > Supervisor: Prof. Soo-Hyung Kim > Chonnam National University, Gwangju, South Korea > GPA 4.44/4.5 |
|
| 2011 - 2015 |
Bachelor of Mathematics and Computer Science > Thesis: A Method for Iris Liveness Detection Based on Eye's Movements > Supervisor: Prof. Pham The Bao (in Vietnamese) > HCMC University of Science, Hochiminh City, Vietnam > GPA 8.32/10.00 |
Professional Activities
|
Reviewer for Journals: > IEEE Transactions on Affective Computing > Elsevier Signal Processing | ||
|
Reviewer for Conferences: > ICCV 2023 > ICIP 2023 > ECCV 2022 > ICPR 2020 |
International (ISI) Journal Articles
-
D. H. Nguyen, I. S. Na, S. H. Kim, G. S. Lee, H. J. Yang, and J. H. Choi, “Multiple Human Tracking in Drone Image,” Multimed. Tools. Appl., vol. 78, pp. 4563-4577, Feb. 2019
-
D. H. Nguyen, S. Yeom, G. S. Lee, H. J. Yang, I. S. Na, and S. H. Kim, “Facial Emotion Recognition Using an Ensemble of Multi-level Convolutional Neural Networks,” Int. J. Pattern Recognit. Artif. Intell., vol. 33, no. 11, pp. 1940015, Oct. 2019 | GitHub
-
D. H. Nguyen, S. H. Kim, G. S. Lee, H. J. Yang, I. S. Na, and S. H. Kim, “Facial Expression Recognition Using a Temporal Ensemble of Multi-level Convolutional Neural Networks,” IEEE Trans. Affect. Comput., vol. 13, no. 1, pp. 226-237, Oct. 2019 | GitHub
-
Duong Hai Nguyen, Se-Ho Lee, and Chul Lee, “Multiscale Coarse-To-Fine Guided Screenshot Demoiréing,” IEEE Signal Process. Lett., Jul. 2023 | GitHub
Selected Conference Papers
-
D. H. Nguyen, S. Yeom, I. S. Oh, K. M. Kim, and S. H. Kim, “Facial Expression Recognition Using a Multi-level Convolutional Neural Network,” in Proc. Int. Conf. Pattern Recognit. Artif. Intell., May 2018, pp. 217-221. (best paper) | GitHub
-
Duong Hai Nguyen and Tien Dai Bui, “An Adaptive Model for Face Distortion Correction,” in Proc. IEEE Conf. Pattern Recognit., Jan. 2020, pp. 2966-2971. | GitHub
-
Duong Hai Nguyen and Chul Lee, “A Contrastive Learning Approach for Screenshot Demoiréing,” in Proc. Proc. IEEE Int. Conf. Image Process., Oct. 2023
Other Publications
-
D. H. Nguyen, I. S. Na, and S. H. Kim, "Hand Segmentation and Fingertip Tracking from Depth Camera Images Using Deep Convolutional Neural Network and Multi-task SegNet," arXiv preprint arXiv:1901.03465, 2019.
-
D. H. Nguyen and S. H. Kim, "Automatic Whole-body Bone Age Assessment Using Deep Hierarchical Features," arXiv preprint arXiv:1901.10237, 2019.
-
D. H. Nguyen, From Facial Expression to Driver's Attention, Poster at BMW Summer School, 2019.
Awards and Honors
| Mar 2022: | SRD Scholarship for International Students, Dongguk University, Korea. |
| Oct 2021: | Centre for Pattern Recognition and Machine Intelligence Graduate Scholarship, Concordia University, Canada. |
| Jun 2019: | BMW Summer School Grants, BMW Group, Germany. |
| May 2019: | Concordia International Tuition Award of Excellence, Concordia University, Canada. |
| May 2019: |
Concordia University Graduate Fellowship, Concordia University, Canada. |
| May 2019: |
Concordia University Faculty Research Grant, Concordia University, Canada. |
| May 2018: |
Best Paper Award, ICPRAI'18, Facial Expression Recognition Using a Multi-level Convolutional Neural Network, CENPARMI, Canada. |
| Apr 28, 2018: |
Best Paper Award, Smart Media and Applications 2018, Fingertip Detection from RGB-D Image Using Deep Neural Networks, Korean Institute of Smart Media (KISM), South Korea. |
| Nov 2017: |
Winner of ICDAR 2017 Competition (RDCL2017), Pattern Recognition and Image Analysis (PRImA) Research Lab, The University of Salford, United Kingdom. |
| Sep 2016: |
Global Scholarship for International Students, Chonnam National University, South Korea. |
| Dec 14, 2015: |
Consolation Prize of Informatics Field, The 17th Research Competition for Students 2015 (Eureka), Ho Chi Minh City Youth Organization, Vietnam. |
| Dec 3, 2015: |
2nd Place Prize of Informatics Field, Undergraduate Student Research Award, Vietnam National University - Ho Chi Minh City, Vietnam. |
| Oct 28, 2015: |
1st Place Prize of Informatics Field, Undergraduate Student Research Award, HCMC University of Science, Vietnam. |
| Sep 03, 2015: |
Odon Vallet Scholarship, Scholarship for the Excellence in Research, Rencontres du Vietnam, Vietnam. |
| Mar 14, 2015: |
SAKURA Exchange Program in Science Scholarship, Exchange Program in Science, Japan. |
| 2011 - 2013: |
Study Encouragement Scholarship, HCMC University of Science, Vietnam. |
| Nov 21, 2010: |
Nhan Tai Dat Viet 2010 (2010 Vietnam Talent Award), Vietnam Posts and Telecommunications Group, Vietnam. |


| Position: | | Principal |
| Employer: | | Lobaserv |
| Location: | | Honolulu, HI |
| Period: | | September 2006 - December 2006 |
| Responsibilities: |
|
- Microsoft Virtual Earth web-based content delivery application design / development - "Hiki No!"
- 2006 HCPO/PacGeo conference presentation / demonstration - "Hiki No!"
- Prospective client proposal development and presentation
- Founded business within State of Hawaii licensing structure
|
| Experience: |
|
I founded Lobaserv in the Fall of 2006 as a way to test the prospects of an independent GIS firm
in Hawaii and to gain first-hand knowledge of the business certification process. The Hawaii-Pacific ESRI
office recommended Lobaserv to an Engineering firm with a project on Kauai who had asked for GIS support.
I met with the engineers and completed a proposal and cost schedule for services.
I developed a Microsoft Virtual Earth application
called Hiko No! - "Can do" in the Hawaiian language - and presented it at the 2006 HIGICC PacGeo conference.
Lobaserv was short lived - I accepted a position with Hi-Tech Urban Solutions in December - but the
experience was invaluable.
|


Application keys should be stored in a well defined location, such as the Java KeyStore. Do not hard code them or store them as plaintext inside configuration files or source code.
The following code shows a hard-coded encryption key inside the application. A determined attacker will be able to compromise the key once they gain access to the source code.
String encKey = "encryption key";
MessageDigest md = MessageDigest.getInstance("SHA-512");
md.update(encKey.getBytes("UTF-8"));
byte[] rawKey = md.digest();
md.reset();
SecretKeySpec skeySpec = new SecretKeySpec(rawKey, "AES");
The following code loads the encryption key from the Java key store. Because the key is properly stored, it is impossible for an attacker to steal the actual key without also stealing the master password.
String keyStoreName = MyApp.getKeyStoreName();
char[] keyStorePass = MyApp.getKeyStorePass();
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
FileInputStream keyStoreFile = new FileInputStream(keyStoreName);
keyStore.load(keyStoreFile, keyStorePass);
keyStoreFile.close();
final String keyName = "MyAppEncryptionKey";
// Note: Although the example uses the same password for storing the KeyStore
// on disk and adding keys to the KeyStore, the 2 passwords can be different
// from one another
SecretKey skey = (SecretKey)keyStore.getKey(keyName, keyStorePass);


Tiny Templates JS
A tiny reactive template engine written in javascript.
Download: tiny-templates-0.7.js | tiny-templates-0.7.min.js
Overview
TinyTemplates is a tiny templating engine in javascript that lets you create reusable, reactive
components that can be rendered and updated in the DOM. The templates are created by using a view that
consists of the standard the HTML syntax combined with a few additional nodes that work as statements (if
)
or loops (for
, foreach
). Data, that needs to be reactive, is stored as state
that embeds in the view to get updated if any changes are made to the data.
diffDOM is used to detect and patch these changes in as few steps as possible. Please have a look
at the example below for a better understanding of the syntax.
Example
// Our example is a simple counter.
let counter = new TinyTemplate(
// Name
"counter",
// State
{
number: 0
},
// Methods
{
increaseNumber: function() {
this.changeState({ number: this.getState("number") + 1 });
},
reset: function() {
this.changeState({ number: 0 });
}
},
// Template-view
`

<fieldset>
<legend>Counter</legend>

Counting: {{number}}

<button on-event="onclick" call="increaseNumber">Increment</button>
<button on-event="onclick" call="reset">Reset</button>
</fieldset>

`
);
// Mount the template to a root node to add it to the DOM.
counter.mount(document.getElementById("root-node-id"));


Sock and Key at the CalArts Music Source Recording Event 2018
Sock and Key at the CalArts Music Source Recording Event 2017
Socks starring as Ray in Gillian Perry's ballet operetta, "Children Cannot Sleep"
Socks starring as Ray in Gillian Perry's ballet operetta, "Children Cannot Sleep"
Socks as Anne Egerman in the Opera Theater showcase, "Two Boys, Three Sisters, and the Rest of the Family"
Socks as Anne Strewson in the Opera Theater showcase, "Two Boys, Three Sisters, and the Rest of the Family"


| About Dailyrotten |
|
Feedback
If you like this page, hate it, or would like to suggest changes,
<EMAIL_ADDRESS>is listening. This page
is experimental and somewhat different from what we usually offer, so please
do send your feedback.
Adding Stories
If you are a rotten newshound and you would like to suggest a story,
visit our submit page to
send us the URL. Stories that are accepted will have your name credited.
Posting Comments
In order to post comments to stories, you will have to
create an account.
Accounts will generally be validated within 24 hours, and of
course will be disabled if there is abuse.
Viewership
On the first full day this page went live, 100,000 people visited this Rotten
News page. Of course that was the day after the WTC attacks, so that number is
somewhat distorted. Right now this page gets between 50,000 and 75,000 people
every day.
Linking
We encourage everyone to link to this page; if you like it, others probably
will as well.
Other Rotten
Rotten
Gaping Maw
Celebrity Morgue
Mugshots
Rotten Store
Rate My Poo
Rate My Kitten
Rate My Finger
Penny Postcards
Phallic
Boners
Home
Make Dailyrotten your start page
|
|
|
April 27, 2002
Man Drinks Dog
Hindustan Times | Submitted by: Bob Scene
The Korean dog meat industry plans to hand out free samples of dog meat
juice to foreigners attending the World Cup next month. "They will enjoy
it instead of Coke," said Choi Han-Gwon, a leader of a national
association of dog meat restaurants. The Koreans clearly have superior
restaurants and restaurant associations than we do.
Also: Best headline ever.
|
|
Read article...
|
|
Quick eating boy's life ends with slow death
Japan Today | Submitted by: Cannabis Kid
"A 14-year-old junior high school student in Aichi Prefecture died
Wednesday three months after he fell into a coma brought on by choking
after mimicking a television "quick-eating contest" program, school
officials revealed Saturday... He rushed out of the classroom to a
nearby sink and tried to vomit but collapsed there. A school nurse removed
the food stuck in his throat and he was rushed by ambulance to the
hospital, but his heart and lungs had stopped when he arrived."
|
|
Read article...
|
|
Mad caper nets jewels
Providence Journal | Submitted by: Evil Adam
"In a caper with the makings of a Hollywood screenplay, several thieves
opened a phony jewelry store in town just long enough to rob two unsuspecting
jewelry suppliers on sales calls. The suppliers, who arrived at Mineral
Spring Jewelers 15 minutes apart on Thursday, were taken separately into a
back room, where they were sprayed with tear gas, hit in the head, tied up
and gagged, according to the police."
|
|
Read article...
|
|
More of that really bad pizza, please
New Jersey Online | Submitted by: SeMeN SPeRmS
"Every day for the past five years, with a handful of exceptions, Mike
Uris has called the Domino's on Main Street in Ramsey, where he lives, and
orders the same thing. Medium pizza, four Diet Cokes. You want to hear
the specials, Mr. Uris? No, he'll politely say, I really don't." Do the
cheesy math -- in five years, Uris, a retired advertising director,
has eaten nearly 2,000 eight-slice pizzas."
|
|
Read article...
|
|
Al Jazeera apparently rotten 24/7
Time | Submitted by: tjd
"Today's grim scenes from the West Bank city of Nablus are quieter,
accompanied by imprecise reports of "tens of martyrs." The silently
rolling footage reveals corpses in every conceivable state: lying in
pools of blood, eyes still open in the frozen glance before death,
contorted in stairwells, stacked up on shelves, wrapped in floral
blankets, awkwardly fit into body bags with limbs poking out,
dumped into trucks, lined up in rows of white bags on a dirt road."
|
|
Read article...
|
|
How hard could this driving thing be
Guardian | Submitted by: anonymous
"The three children drowned when Barker drove his untaxed and uninsured
Vauxhall Astra into a disused chalk pit known as the Blue Lagoon lake, in
Arlesley, Bedfordshire, while going at up to 30mph with his left foot
operating all three pedals and his right dangling out of the car."
That leg was "propping open the driver's door that he had opened
to cool off."
|
|
Read article...
|
|
The stench from the Bench
Law.com | Submitted by: Soylent
"Welcome to the fifth annual survey of, for lack of a better term,
the stench from the bench. Here are 10 judges and ex-judges who won't
be presiding this May 1, Law Day, and whose absence is cause for
celebration. Some are on suspension, others have been ousted and a growing
number have resigned while under investigation by state conduct bodies."
|
|
Read article...
|
|
|
|
|