Running vert.x with the OpenNTF Domino API
In the first part I got vert.x 3.0 running with my local Notes client. The mastered challenges there were 32 Bit Java for the Notes client and the usual adjustment for the path variables. The adoption of the OpenNTF Domino API required a few steps more:
The sample uses 2 inner anonymous classes:
- Set 2 evironment variables:
DYLD_LIBRARY_PATH=/opt/ibm/notes
LD_LIBRARY_PATH=/opt/ibm/notes
- Add the following parameter to your Java command line:
-Dnotes.binary=/opt/ibm/notes -Duser.dir=/home/stw/lotus/notes/data -Djava.library.path=/opt/ibm/notes
Make sure that it is one line only. (Of course you will adjust the path to your environment, will you?) - Add 4 JAR files to the classpath of your project runtime:
/opt/ibm/notes/jvm/lib/ext/Notes.jar
/opt/ibm/notes/framework/rcp/eclipse/plugins/
com.ibm.icu.base_3.8.1.v20080530.jarorg.openntf.domino.jar
org.openntf.formula.jar
NotesThread.sinitThread();
and NotesThread.stermThread();
to gain access to the Notes C API. For external applications (the ones running neither as XPage/OSGi nor as agent, the OpenNTF API provides the Domino Executor.To make things easier, besides the standard Java Runnable interface, the class AbstractDominoRunnable is provided, that allow an easy extension and access to the Domino session without the need to create/tear down the native C threads manually. The sample application that does send out the same result as in the previous chapter looks like this:
package com.notessensei.vertx.notes;
import io.vertx.core.Handler;
import io.vertx.core.Vertx;
import io.vertx.core.http.HttpServer;
import io.vertx.core.http.HttpServerOptions;
import io.vertx.core.http.HttpServerRequest;
import io.vertx.core.http.HttpServerResponse;
import java.io.IOException;
import org.openntf.domino.thread.DominoExecutor;
import org.openntf.domino.thread.AbstractDominoRunnable;
public class OpenNTFDemo {
public static void main(String[] args) throws IOException {
DominoExecutor de = new DominoExecutor(10);
new OpenNTFDemo(de);
int quit = 0;
while (quit != 113) { // Wait for a keypress
System.out.println("Press q<Enter> to stop the verticle");
quit = System.in.read();
}
de.shutdown();
System.out.println("Verticle terminated");
System.exit(0);
}
private static final int listenport = 8112;
private final DominoExecutor de;
public OpenNTFDemo(DominoExecutor dex) {
this.de = dex;
Vertx vertx = Vertx.factory.createVertx();
HttpServerOptions options = new HttpServerOptions();
options.setPort(listenport);
HttpServer hs = vertx.createHttpServer(options);
hs.requestHandler(new Handler<HttpServerRequest>() {
public void handle(HttpServerRequest req) {
final HttpServerResponse resp = req.response();
de.execute(new AbstractDominoRunnable() {
private static final long serialVersionUID = 1L;
@Override
public void run() {
StringBuilder txt = new StringBuilder();
resp.headers().set("Content-Type",
"text/html; charset=UTF-8");
txt.append("
Hello from vert.x!
");
txt.append(this.getSession().getUserName());
txt.append("");
resp.writeStringAndEnd(txt.toString());
}
@Override
public boolean shouldStop() {
return false;
}
});
}
}).listen();
}
}
The sample uses 2 inner anonymous classes:
Handler
and AbstractDominoRunnable
. With this working we have the foundation to run a local web application that makes use of data accessible through our Notes client. The next step in this article series: API considerations and functionality planning. Thereafter code, code, code.Posted by Stephan H Wissel on 06 August 2014 | Comments (1) | categories: IBM Notes vert.x


Class: EmbeddedImage
- Inherits:
-
Object
- Object
- EmbeddedImage
- Includes:
- Mongoid::Fields::Serializable
- Defined in:
- lib/transit/support/embedded_image.rb
Overview
Adds support for embedding images directly into a document as Base64 strings. These images can then be used as data uris inline in html or served via rack handler.
Defined Under Namespace
Classes: ImageData
Instance Attribute Summary (collapse)
-
- (Object) data
readonly
Returns the value of attribute data.
Instance Method Summary (collapse)
-
- (Object) deserialize(image_data)
Called on load from the database.
-
- (Object) serialize(image_data)
Called on store to the database.
-
- (Object) set_data(image_data)
Stores the image data to be serialized on save.
-
- (Object) to_s
If the stored data is a string, return it directly.
Instance Attribute Details
- (Object) data (readonly)
Returns the value of attribute data
8 9 10 |
# File 'lib/transit/support/embedded_image.rb', line 8 def data @data end |
Instance Method Details
- (Object) deserialize(image_data)
Called on load from the database
42 43 44 45 |
# File 'lib/transit/support/embedded_image.rb', line 42 def deserialize(image_data) return self.class.new unless image_data ::Marshal.load(::Base64.decode64(image_data)) end |
- (Object) serialize(image_data)
Called on store to the database
50 51 52 53 |
# File 'lib/transit/support/embedded_image.rb', line 50 def serialize(image_data) set_data(image_data) ::Base64.encode64(::Marshal.dump(self)) end |
- (Object) set_data(image_data)
Stores the image data to be serialized on save. If an uploaded file, or image based object is provided the object is stored as-is. If raw data is passed, an instance of ImageData is generated for compatability.
31 32 33 34 35 36 37 |
# File 'lib/transit/support/embedded_image.rb', line 31 def set_data(image_data) unless image_data.respond_to?(:content_type) @data = image_data.to_s else @data = ImageData.new(image_data) end end |
- (Object) to_s
If the stored data is a string, return it directly. Otherwise, base64 encode the image data and format into a string suitable for using in html.
60 61 62 63 |
# File 'lib/transit/support/embedded_image.rb', line 60 def to_s return data unless data.is_a?(ImageData) "data:#{data.content_type};base64,#{::Base64.encode64(data.body)}" end |


CHEAP: Start podcasting with Blue Yeti’s $140 monster microphone bundle
by Ivan MehtaWelcome to CHEAP, our series about things that are good, but most of all, cheap. CHEAP!
I started listening to podcasts around six years ago as a means to kill time during my daily commute. And like every person who’s barely held a guitar and immediately thinks of forming a band, I wanted to start my own podcast.
I did start one, with a friend who lived a thousand miles away. Both of us recorded on our phones, and I mixed the audio files with Audacity, a fantastic audio software.  I wish I had a better mic at that time, I might’ve been a podcaster extraordinaire, who knows.
But you shouldn’t make the same mistake. You should buy the Blue Yeti microphone bundle for just $140, down from $224. The deal includes Blue’s renowned Yeti mic, a Knox Gear pop filter, and a Knox Gear 4-port USB 3.0 hub.
We’ve used some of the Blue’s Yeti series of mics, and the results have been impressing. You can record audio at 16-bit for high-quality output. Plus, there are different modes that support recording solo or with multiple people.
Why are you sitting silently? Get your podcast underway with Blue Yeti microphone bundle for just $140 ($84 off)
This post includes affiliate links to products that you can buy online. If you purchase them through our links, we get a small cut of the revenue.
For more gear, gadget, and hardware news and reviews, follow Plugged on Twitter and Flipboard.
Price $ 140 ProductYeti microphone bundle by Blue
Buy now


The Times Digital Archive
Collection History
The Times Digital Archive was the first online digitized newspaper collection of British newspapers. This early adoption of digitization, building upon the ubiquity of Palmer’s index of the Times, ensured its prominence in historical and journalistic research, including its particular use by the House of Lords in researching past legal debates. As of 2013, it was the most searched digitized newspaper database among Cengage’s news media collections.
Produced by then Thompson Gale publishers, the collection debuted in 2002. Its initial remit was to make available the entirety of the Times, including its previous incarnations, from 1785-1985. This initial material was digitized in a relatively short period of time (2002-3), allowing for a consistency of staff, equipment, method and product, both in terms of image and OCR quality. The content was released in several batches, the first being 1936-1946, growing monthly to include 1880-1985 by the end of 2002 and the whole 200 years by the close of 2003.
Since its acquisition by Cengage in 2007, Gale has continued to expand the collection, which now currently offers the complete run of the publication from 1785 to 2010.
Collection Composition
The Times Digital Archive currently contains material from 1785-2010. This includes over 1.6 million pages from 70,000 issues, sub-divided or zoned into 11.8 million articles, catalogued by category, including advertising, editorial and commentary, news, business, news, people and photojournalism. Although the modern Times began publication in 1788, the collection includes digital issues of its precursors, The Daily Universal Register (1785-1787) and the Times, or, Daily Universal Register (1788). The collection continues to expand with additional year content added on an annual basis.
Data and Metadata
The data for the digitised newspapers comes in two forms: a scanned image of each newspaper page at 300 dpi, zoned and sub-divided at article level, and an XML file containing the text (OCR) and metadata for each article. The machine-readable text appears within the XML file, surrounded by metadata that describes various features about the article, including the title, issue, date, section, and page number. Articles between 1785-1985 were created during a single project, undertaken by the same staff and using the same equipment and processes. Subsequent additions have been included on a rolling basis and their data is contained in a separate but similar substructure within the collection.
Each XML file contains information for a single article, or textual unit, within the collection. Within a holding element, it contains the following metadata tree:
- Issue, with unique, project and collection IDs and publication type
- Publication Meta data
- Publication ID
- Project code
- Physical object ID
- Digitized Collection ID
- OCR process information
- Source information
- Source collection name
- Source collection location
- Copyright statement
- Digital collection information
- Release Date
- Unique ID
- Publication Information
- Issue Number
- Date
- Year
- Month
- Day
- Printed Date
- Standardized Date
- Page count
- Article Meta Data
- Page
- Page ID, with physical descriptors of image
- Page Number
- Asset Unique ID
- Article Type
- Digital Article Unique ID
- OCR Language
- OCR Process Data
- Object Type
- Page ID
- Column ID
- Page Count (for article)
- Word Count
- Title or Headline
- Category
- Page
This is followed by the machine-readable text, in which each individual word is encoded with spatial coordinates of its location on the corresponding image, as well as marker elements indicating new pages or columns.
Access and Use
The collection is available in many state and institutional libraries throughout the World through a commercial licencing arrangement with Gale. The underlying text and meta data can be accessed by request and a cost recovery fee by subscribing institutions.
References
Fritze, Ronald H., Brian E. Coutts, Louis Andrew Vyhnanek. Reference Sources in History: An Introductory Guide. New York: Modern Language Association of America, 2003.


Using Django¶
Django works in Pyto but with some limitations. To use Django, first install it. Go to the PyPi section and search for Django.
Once it’s installed, you can create a project (if you don’t already have one). Go to the “Run module” section. Then press the folder icon at the top right and select the folder where your project will be located. After that run django-admin startproject <project_name>
. A project will be created in the previously selected folder.
You can now open the manage.py
file inside the project. Press the Settings icon, then “Arguments” and type this: runserver --noreload --nothreading
.
Edit the script and replace this:
if __name__ == '__main__':
main()
by this:
if __name__ == '__main__':
import background as bg
with bg.BackgroundTask() as b:
main()
You can now run your server by running manage.py
.


Application name
Home
About
Contact
Register
Log in
Log in.
Use a local account to log in.
Email
Password
Remember me?
Register as a new user
Use another service to log in.
Facebook
Use another service to log in.


Toggle navigation
Home
Calculators
Game Systems
Video Games
Search
Sign Up
Login
Admin
Users
Create Post
Pending Posts


No Subject Results
Activities by Subject
Name
Subject
Sub-Category
Ages
When or Where
See details
See details
No Age Results
Activities by Age
Name
Subject
Sub-Category
Ages
When or Where
See details
See details
No When/Where Results
Activities by When/Where
Name
Subject
Sub-Category
Ages
When or Where
See details
See details


crunchycat
04-Apr-19 01:16 AM
yo, what's everybody's prediction for VBK prices when trading opens up Friday?
ah I know, I can just feel the love emanating from this discord. Couldn't resist
I'm gonna put myself in a large corp. shoes, or a govt. entity
what would be the selling point with how KMD secures a shitcoin to BTC for these orgs?
Meaning, these entities dgaf about efficiency
So if I was a govt/large corp, what would you tell me to convince me to secure my blockchain to BTC hashrate using KMD
Instead of something else like...I don't know...VBK for example
1
Legitimate question though
maybe @dukeleto can answer
he was down to answer yesterday


Introduction
Recipe 16.1. Verifying Whether a String Represents a Valid Number
Recipe 16.2. Importing a Dynamically Generated Module
Recipe 16.3. Importing from a Module Whose Name Is Determined at Runtime
Recipe 16.4. Associating Parameters with a Function (Currying)
Recipe 16.5. Composing Functions
Recipe 16.6. Colorizing Python Source Using the Built-in Tokenizer
Recipe 16.7. Merging and Splitting Tokens
Recipe 16.8. Checking Whether a String Has Balanced Parentheses
Recipe 16.9. Simulating Enumerations in Python
Recipe 16.10. Referring to a List Comprehension While Building It
Recipe 16.11. Automating the py2exe Compilation of Scripts into Windows Executables
Recipe 16.12. Binding Main Script and Modules into One Executable on Unix


Plate
Color
Entrance
The parking lot is empty
Enter the plate number
Enter the color
Pick a color
Park


public abstract class SentenceHMMState extends java.lang.Object implements java.io.Serializable, SearchState
| Modifier and Type | Class and Description |
|---|---|
static class |
SentenceHMMState.Color
A Color is used to tag SentenceHMM nodes
|
| Modifier | Constructor and Description |
|---|---|
protected |
SentenceHMMState()
Empty contructor
|
protected |
SentenceHMMState(java.lang.String name,
SentenceHMMState parent,
int which)
Creates a SentenceHMMState
|
| Modifier and Type | Method and Description |
|---|---|
static java.util.Set<SentenceHMMState> |
collectStates(SentenceHMMState start)
Collect all states starting from the given start state
|
void |
connect(SentenceHMMStateArc arc)
Connects the arc to this sentence hmm.
|
void |
dumpAll()
Dumps this SentenceHMMState and all its successors.
|
SentenceHMMStateArc |
findArc(SentenceHMMState state)
Searches the set of arcs for an arc that points to a state with an identical value
|
protected java.lang.String |
getAnnotation()
Returns any annotation for this state
|
Word |
getAssociatedWord()
Returns the word associated with the particular unit
|
SentenceHMMState.Color |
getColor()
Gets the color for this node
|
java.lang.String |
getFullName()
Gets the fullName for this state
|
SentenceHMMState |
getLexState()
Returns the lextree state
|
java.lang.String |
getName()
Gets the name for this state
|
int |
getNumSuccessors()
Gets the number of successors
|
abstract int |
getOrder()
Returns the order of this particular state
|
SentenceHMMState |
getParent()
Retrieves the parent sate
|
java.lang.String |
getPrettyName()
Returns a pretty name for this HMM
|
java.lang.String |
getSignature()
Gets the signature for this state
|
SearchStateArc[] |
getSuccessors()
Gets a successor to this search state
|
java.lang.String |
getTitle()
gets the title (fullname + stateNumber) for this state
|
java.lang.String |
getTypeLabel()
Retrieves a short label describing the type of this state.
|
java.lang.String |
getValueSignature()
Returns the value signature of this unit
|
int |
getWhich()
Retrieves the index for this state words
|
WordSequence |
getWordHistory()
Gets the word history for this state.
|
boolean |
isEmitting()
Determines if this state is an emitting state
|
boolean |
isFanIn()
Determines if this state is a fan-in state.
|
boolean |
isFinal()
Determines if this is a final state
|
boolean |
isProcessed()
Determines if this state has been 'processed'.
|
boolean |
isSharedState()
Determines if this state is a shard state
|
boolean |
isUnit()
Determines if this state is a unit state
|
boolean |
isWordStart()
Determines if this state marks the beginning of a word
|
void |
resetAllProcessed()
Reset process flags for this state and all successor states
|
void |
setColor(SentenceHMMState.Color color)
Sets the color for this node
|
void |
setFanIn(boolean fanIn)
Sets the fan in state
|
void |
setFinalState(boolean state)
Sets this is to be final state
|
void |
setProcessed(boolean processed)
Sets the processed flag for this state
|
void |
setSharedState(boolean shared)
Sets the shared state flag
|
void |
setWhich(int which)
Sets the index for this state
|
void |
setWordStart(boolean wordStart)
Sets the 'wordStart' flag
|
java.lang.String |
toPrettyString()
Returns a pretty version of the string representation for this object
|
java.lang.String |
toString()
Returns the string representation of this object
|
void |
validateAll()
Validates this SentenceHMMState and all successors
|
static boolean |
visitStates(edu.cmu.sphinx.linguist.flat.SentenceHMMStateVisitor visitor,
SentenceHMMState start,
boolean sorted)
Visit all of the states starting at start with the given vistor
|
protected SentenceHMMState(java.lang.String name, SentenceHMMState parent, int which)
name
- the name of the current SentenceHMMStateparent
- the parent of the current instancewhich
- the index of the current instanceprotected SentenceHMMState()
public boolean isWordStart()
public void setWordStart(boolean wordStart)
wordStart
- true
if this state marks the beginning of a word.public boolean isSharedState()
public void setSharedState(boolean shared)
shared
- true
if this state is sharedpublic Word getAssociatedWord()
public java.lang.String getTypeLabel()
public boolean isFanIn()
true
if the state is a fan in statepublic void setFanIn(boolean fanIn)
fanIn
- if true its a fan in statepublic void setProcessed(boolean processed)
processed
- the new setting for the processed flagpublic boolean isProcessed()
public void resetAllProcessed()
public WordSequence getWordHistory()
getWordHistory
in interface SearchState
public int getNumSuccessors()
public SearchStateArc[] getSuccessors()
getSuccessors
in interface SearchState
public SentenceHMMState getLexState()
getLexState
in interface SearchState
public void connect(SentenceHMMStateArc arc)
arc
- the path to the next statepublic boolean isEmitting()
isEmitting
in interface SearchState
public boolean isFinal()
isFinal
in interface SearchState
public void setFinalState(boolean state)
state
- true if this is a final statepublic boolean isUnit()
true
if the state is a unit state.public void dumpAll()
protected java.lang.String getAnnotation()
public void validateAll()
public java.lang.String getName()
public java.lang.String getPrettyName()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String toPrettyString()
SearchState
toPrettyString
in interface SearchState
public java.lang.String getFullName()
public java.lang.String getSignature()
getSignature
in interface SearchState
public java.lang.String getTitle()
public int getWhich()
public void setWhich(int which)
which
- the index for this statepublic SentenceHMMState getParent()
public SentenceHMMStateArc findArc(SentenceHMMState state)
state
- the state to search forpublic java.lang.String getValueSignature()
public static boolean visitStates(edu.cmu.sphinx.linguist.flat.SentenceHMMStateVisitor visitor, SentenceHMMState start, boolean sorted)
visitor
- the state visitorstart
- the place to start the searchsorted
- if true, states are sorted before visitedpublic void setColor(SentenceHMMState.Color color)
color
- the color of this nodepublic SentenceHMMState.Color getColor()
public static java.util.Set<SentenceHMMState> collectStates(SentenceHMMState start)
start
- the state to start the search frompublic abstract int getOrder()
getOrder
in interface SearchState


content_copy
Events this month
9/12 Completed
store
Expenses this month
34,245 BDT
store
Payment recieved
44,245 BDT
store
Revenue this month
10,000 BDT
| 19 June | Farin and Habib |
| 29 June | Fariha and Sakib |
| 10 July | Fatin and Sabiha |
| 10 June | Fariba and Labib |
| 20 June | Sabiha and Aakib |
| 15 July | Fatima and Sakil |
Employees Stats
Payments pending
| ID | Name | Due | |
|---|---|---|---|
| 1 | Dakota Rice | $36,738 | |
| 2 | Minerva Hooper | $23,789 | |
| 3 | Sage Rodriguez | $56,142 | |
| 4 | Philip Chaney | $38,735 |


| Libcroco Reference Manual | ||||
|---|---|---|---|---|
| Top | Description |
struct CRNum; enum CRStatus cr_num_copy (CRNum *a_dest
,CRNum const *a_src
); void cr_num_destroy (CRNum *a_this
); CRNum * cr_num_dup (CRNum const *a_this
); gboolean cr_num_is_fixed_length (CRNum const *a_this
); CRNum * cr_num_new (void
); CRNum * cr_num_new_with_val (gdouble a_val
,enum CRNumType a_type
); enum CRStatus cr_num_set (CRNum *a_this
,gdouble a_val
,enum CRNumType a_type
); guchar * cr_num_to_string (CRNum const *a_this
);
enum CRStatus cr_num_copy (CRNum *a_dest
,CRNum const *a_src
);
Copies an instance of CRNum.
|
the destination of the copy. Must be non NULL |
|
the instance of CRNum to copy. Must be non NULL. |
Returns : |
CR_OK upon successful completion, an error code otherwise. |
void cr_num_destroy (CRNum *a_this
);
The destructor of CRNum.
|
the this pointer of the current instance of CRNum. |
CRNum * cr_num_dup (CRNum const *a_this
);
Duplicates an instance of CRNum
|
the instance of CRNum to duplicate. |
Returns : |
the newly created (duplicated) instance of CRNum.
Must be freed by cr_num_destroy() . |
gboolean cr_num_is_fixed_length (CRNum const *a_this
);
Tests if the current instance of CRNum is a fixed length value or not. Typically a fixed length value is anything from NUM_LENGTH_EM to NUM_LENGTH_PC. See the definition of CRNumType to see what we mean.
CRNum * cr_num_new_with_val (gdouble a_val
,enum CRNumType a_type
);
A constructor of CRNum.
|
the numerical value of the number. |
|
the type of number. |
Returns : |
the newly built instance of CRNum or NULL if an error arises. |


--- layout: sidebar-right category: child-family-problems title: "Parenting advice: Books to help with raising every sort of family" breadcrumb: children-parents sidebar: children-parents sort: alphabetical ---
These booklists will help you tackle some of the challenges of raising a family. You can reserve these books for collection from any Suffolk Library for free using your library card online or by contacting us.
{% include post-listing.html %}


Stan Sarber
Front-end Ninja
Featured Work
AndFreeHugsForAll.com
Link to project
TheWelcomeApp.com
Link to project
JumpingBulldogs.com
Link to project
"Life, Liberty and the pursuit of free hugs."
This was my first project in this class. I learned a lot about HTML and CSS.
The Welcome app.
This was my second project in this class. I learned even more about HTML and CSS.
Jumping Bulldogs
Site devoted entirely to jumping bulldogs. There are simply not enough of them out there.


{%extends "base.html" %} {%block title%}Conference Registration - {{conference}}{%endblock%} {%block extrahead%} {%endblock%} {%block content%}
If you wish to register multiple people, or somebody other than yourself, please use the advanced form.
{# Payment not confirmed, so either invoice pending or bulk #} {%if reg.invoice%}An invoice has been created for your registration, but we have not yet received a payment for it.
If there is something wrong on this invoice, or if it was generated in error (for example in case the registration was supposed to be part of a multi-registration paid for by somebody else), you can cancel the invoice and it will be possible to make modifications to the registration again.
{%include "invoices/userinvoice_spec.html"%}Note! Your registration is not confirmed until the invoice has been paid and confirmed!
{%else%}{# must mean reg.bulkpayment #}Your registration has been made part of a multi-registration invoice owned by {{reg.bulkpayment.user.email}}. Once this invoice has been paid by the owner, your registration will automatically be approved.
{%endif%}Since your registration has been finalized, you can no longer make modifications to it. If you need to adjust anything, please contact the conference organizers at {{conference.contactaddr}}.
{%if conference.asktshirt or conference.askfood or conference.askbadgescan or conference.askshareemail%} {%endif%} {%if reg.additionaloptions.exists() %} {%endif%} {%endblock%}


Beta This is a test version of the layout of this page. Take the survey to help us improve it
Guidance
An interactive tool to help schools and academies submit an accurate autumn census return.
Some institutions risk not getting the funding they should because of inaccurate data returns.
Our post-16 interactive census tool will help you understand how your data is used to calculate your post-16 funding, as well as helping you understand common errors and how they impact on the funding we calculate. It will be particularly useful to business managers and staff responsible for preparing and submitting the autumn school census return.
This tool is designed to:
It describes each element of the funding formula such as student numbers, retention rate and which parts of census data we use for each element. Each element is illustrated with example data.
The guidance is in an Excel workbook. Please make sure that macros are enabled after opening the tool so that the workbook functions properly.
A suite of Education Funding Agency funding reports will be also available in COLLECT when the autumn census opens this October which will show you how your autumn census data looks in relation to our post-16 funding calculations. We strongly advise you to use these reports to help quality assure census returns well in advance of the close of the autumn census returns window.


Aron's Beer Trophies
×
Scott Becker
gave props 3 days ago.
"Have one on me!"
Scott Becker
gave props 3 days ago.
"Have one on me!"
Scott Becker
gave props 3 days ago.
"Have one on me!"
Scott Becker
gave props 3 days ago.
"Have one on me!"
Scott Becker
gave props 3 days ago.
"Have one on me!"
Scott Becker
gave props 3 days ago.
"Have one on me!"
Scott Becker
gave props 3 days ago.
"Have one on me!"


Comments
-
Greg Hurrell
Thanks for the report. It's an interesting observation which I hadn't really noticed myself.
The reason why I chose to dispose of the match listing buffer in this way (ie. with
:bwipeout!
) is because I wasn't sure how merely hiding the buffer would interact with people's different Vim set-ups (ie. depending on whether they have'hidden'
or'nohidden'
set, depending on whether vim was compiled with the+listcmds
feature or not etc).I'm happy to have a play around with different approaches, although I am a little worried that it might not work for all set-ups; ie. the last thing I want is when someone tries to open a file using Command-T, that Vim beeps at them and tells them "No write since last change" (for the match listing buffer) or similar.
I suppose that setting
'bufhidden'
tohide
or perhapsunload
on the match listing buffer might address that. And then I can probably use:bunload!
instead of:bwipeout!
to get rid of the match listing.I'll have a look into it anyway; please do post if you have any other comments or suggestions.
-
Greg Hurrell
Ok, this is the patch I'm playing with at the moment. Seems to work for me but I am going to run with it for a while and see if I can discover any issues with it:
commit 01edbd47f51aac3479dfe5bb21348a7c02a19142 (HEAD, master) Author: Wincent Colaiuta<EMAIL_ADDRESS>Date: Thu Nov 4 10:07:54 2010 +0100 Dispose of match listing using :bunload! rather than :bwipeout! Previously we created a new buffer every time we showed the match listing and then disposed of it each time with :bwipeout!. This caused the buffer numbers to steadily grow. Now, we dispose of the match listing using :bunload!; this frees the contents of the buffer and closes the window, but the buffer sticks around and can be re-used next time we show the match listing. In this way we always have a stable buffer number of the match listing and repeatedly using Command-T doesn't drive the buffer numbers up any more. For more info see: https://wincent.com/issues/1724 One concern with this change is that it increases our reliance on the accuracy of the buffer number, and there is a known bug in Vim 7.3 when built with --enable-largefile; see this ticket for full details: https://wincent.com/issues/1617 If you are affected by this bug the solution is to build Vim using --disable-largefile. Until the issue gets fixed upstream I am thinking of adding a workaround in Command-T (falling back to buffer name rather than number for people with a broken Vim). Signed-off-by: Wincent Colaiuta<EMAIL_ADDRESS>diff --git a/ruby/command-t/match_window.rb b/ruby/command-t/match_window.rb index eae0f87..da08fa4 100644 --- a/ruby/command-t/match_window.rb +++ b/ruby/command-t/match_window.rb @@ -29,6 +29,7 @@ module CommandT @@selection_marker = '> ' @@marker_length = @@selection_marker.length @@unselected_marker = ' ' * @@marker_length + @@buffer = nil def initialize options = {} @prompt = options[:prompt] @@ -52,28 +53,35 @@ module CommandT ::VIM::set_option 'sidescrolloff=0' # don't sidescroll automatically ::VIM::set_option 'noequalalways' # don't auto-balance window sizes - # create match window and set it up + # show match window split_location = options[:match_window_at_top] ? 'topleft' : 'botright' - split_command = "silent! #{split_location} 1split GoToFile" - [ - split_command, - 'setlocal bufhidden=delete', # delete buf when no longer displayed - 'setlocal buftype=nofile', # buffer is not related to any file - 'setlocal nomodifiable', # prevent manual edits - 'setlocal noswapfile', # don't create a swapfile - 'setlocal nowrap', # don't soft-wrap - 'setlocal nonumber', # don't show line numbers - 'setlocal nolist', # don't use List mode (visible tabs etc) - 'setlocal foldcolumn=0', # don't show a fold column at side - 'setlocal foldlevel=99', # don't fold anything - 'setlocal nocursorline', # don't highlight line cursor is on - 'setlocal nospell', # spell-checking off - 'setlocal nobuflisted', # don't show up in the buffer list - 'setlocal textwidth=0' # don't hard-wrap (break long lines) - ].each { |command| ::VIM::command command } - - # sanity check: make sure the buffer really was created - raise "Can't find buffer" unless $curbuf.name.match /GoToFile/ + if @@buffer # still have buffer from last time + ::VIM::command "silent! #{split_location} #{@@buffer.number}sbuffer" + raise "Can't re-open GoToFile buffer" unless $curbuf.number == @@buffer.number + $curwin.height = 1 + else # creating match window for first time and set it up + split_command = "silent! #{split_location} 1split GoToFile" + [ + split_command, + 'setlocal bufhidden=unload', # unload buf when no longer displayed + 'setlocal buftype=nofile', # buffer is not related to any file + 'setlocal nomodifiable', # prevent manual edits + 'setlocal noswapfile', # don't create a swapfile + 'setlocal nowrap', # don't soft-wrap + 'setlocal nonumber', # don't show line numbers + 'setlocal nolist', # don't use List mode (visible tabs etc) + 'setlocal foldcolumn=0', # don't show a fold column at side + 'setlocal foldlevel=99', # don't fold anything + 'setlocal nocursorline', # don't highlight line cursor is on + 'setlocal nospell', # spell-checking off + 'setlocal nobuflisted', # don't show up in the buffer list + 'setlocal textwidth=0' # don't hard-wrap (break long lines) + ].each { |command| ::VIM::command command } + + # sanity check: make sure the buffer really was created + raise "Can't find GoToFile buffer" unless $curbuf.name.match /GoToFile/ + @@buffer = $curbuf + end # syntax coloring if VIM::has_syntax? @@ -94,11 +102,10 @@ module CommandT @selection = nil @abbrev = '' @window = $curwin - @buffer = $curbuf end def close - ::VIM::command "bwipeout<EMAIL_ADDRESS>+ ::VIM::command "bunload! #{@@buffer.number}" restore_window_dimensions @settings.restore @prompt.dispose @@ -197,7 +204,7 @@ module CommandT unlock clear @window.height = 1 - @buffer[1] = "-- #{msg} --" + @@buffer[1] = "-- #{msg} --" lock end @@ -231,7 +238,7 @@ module CommandT def print_match idx return unless VIM::Window.select(@window) unlock - @buffer[idx + 1] = match_text_for_idx idx + @@buffer[idx + 1] = match_text_for_idx idx lock end @@ -252,10 +259,10 @@ module CommandT @window.height = actual_lines (1..actual_lines).each do |line| idx = line - 1 - if @buffer.count >= line - @buffer[line] = match_text_for_idx idx + if @@buffer.count >= line + @@buffer[line] = match_text_for_idx idx else - @buffer.append line - 1, match_text_for_idx(idx) + @@buffer.append line - 1, match_text_for_idx(idx) end end lock
-
Greg Hurrell
Ok, going to mark this as closed. The above change is already pushed out in the master branch, so if you want to try it out you can get it from the repo (git://git.wincent.com/command-t.git), or you can wait until the next release.
Do let me know if you find any issues with it.
-
Greg Hurrell
Status changed:
- From: new
- To: closed
-
Nadav Samet
Thanks for the quick response! I've pulled from the master branch and it seems to be working great.
-
anonymous
Hi Wincent, I encounter this every time I use Command-t: Exception raised every time I try to use leader t ruby/command-t/match_window.rb:93
raise "Can't find GoToFile buffer" unless $curbuf.name.match
the name of the buffer is the buffer I am currently in, not GoToFile.
I commented the line for testing, and it kind of works but not for me: I use a lot of splits piled on top of eachother, the current one being maximized. When opening a file with (modified) command-t it obliterates all of them :(
Note: My usual usage is ctags and C-] I can replace only the current one with the new file. also, using C-w C-] I can open the definition in a new one.
seeing you say this: "The reason why I chose to dispose of the match listing buffer in this way (ie. with :bwipeout!) is because I wasn't sure how merely hiding the buffer would interact with people's different Vim set-ups " I thought this feedback might help.
Thanks, Dan Baragan
Add a comment
Comments are now closed for this issue.


EBD - Easton Bible DIctionary
Jerubbaal
JERUBBAAL
"JERUBBAAL "contender with Baal; or, let Baal plead, a surname of Gideon; a name given to him because he destroyed the altar of Baal (
Judges 6:32
;
7:1
;
8:29
;
1 Samuel 12:11
).
"JERUBBAAL "contender with Baal; or, let Baal plead, a surname of Gideon; a name given to him because he destroyed the altar of Baal (Judges 6:32; 7:1; 8:29; 1 Samuel 12:11).


Typeahead Sample
Can we find him?
{{user.name}}
{{user.email}}
Some Button
Sample Data
The sample data is a javascript array of objects containing the following names:
{{thing.name}}
Typing something like 'ob' for will show you multiple options in the typeahead.


--- layout: page permalink: "/personal/heart-to-heart/" ---
...continuing and developing ideas on thoughts and stillness, a quiet conversation with the viewer... Read the Heart to Heart book (PDF)


--- layout: page title: "Encrypted Content-Encoding for HTTP" description: "This memo introduces a content coding for HTTP that allows message payloads to be encrypted." ---
| Document Name: | RFC 8188 |
|---|---|
| Document URI: |
urn:ietf:rfc:8188
|
| Online Version: |
https://datatracker.ietf.org/doc/html/rfc8188
|
| Organization: | Internet Engineering Task Force (IETF) |
| Series: | Request for Comments (RFC) |
| Abstract: | This memo introduces a content coding for HTTP that allows message payloads to be encrypted. |
aes128gcm
Return to ( Series | Organization | all Specifications )


As a coder, especially a freelance dev, it can be easy to overlook the importance of creating sharp designs for mobile apps. The functionality of the code can seem more important than the aesthetics. However, solid UI/UX design practices have three-fold criticality for app devs, and by committing time to creating solid UI/UX designs ahead of time leads to significantly better apps down the line. Solidifying Designs before development put the developer and client on the same page, helping your client understand exactly what they’ll be getting. Mockups serve as a blueprint of an app, focusing the coding process. It’s like creating an outline before writing a research paper. Solid designs create a cohesive and attractive brand throughout the mobile app, allowing the app to fit in to the company’s broader marketing efforts.
Solid designs create a cohesive and attractive brand throughout the mobile app, allowing the app to fit in to the company’s broader marketing efforts.
Coders have the full capability of generating very solid UI/UX designs.  These people are in the minority however. If you’re trying to create a professional design, you likely need a professional designer to do it. Just a warning thought: once you work with a professional designer, you might not go back, because these people create digital goldmines of user experiences. At Spaceboat Development, if a client needs a polished and professional solution, we work with highly talented and knowledgable designers to take your app to the next level.
Stephen is the founder and lead developer at Spaceboat Development, LLC, an app development company based out of Austin, Texas. He shares a birthday with both Billy Joel and Ghostface Killah, and this is important to him.


WITNESS LIST Urban Affairs Committee March 24, 2004-11:00A Interim Charge #2 On: Anderson, Elizabeth (Texas Department of Housing and Community Affairs) Anderson, Sarah (Texas Department of Housing and Community Affairs) Carrington, Edwina (Texas Department of Housing and Community Affairs) Casey, Kevin (Self) Long, David (Texas State Affordable Housing Corporation) Ocanas, Reymundo (Self and TACDC) Summer, Jan (Center of Public Policy and Dispute Resolution at University of Texas Law School) Whittmayer, Chris (Texas Department of Housing and Community Affairs) Registering, but not testifying: On: Anderson, Cris (San Antonio Police Officers Association) Jones, James (San Antonio Police Officers Association) Shultz, Susan (Center of Public Policy and Dispute Resolution at University of Texas Law School) Tarver, Tracy (Center of Public Policy and Dispute Resolution at University of Texas Law School)


This app does a lot of awesome things!!
Because this app is so awesome and fantastic, you should download it. Find out why this app is so awesome, download now!
Interested? Join our mailing list now!


Residents of a township in Pretoria complain about dirty, brownish tap water
The city says samples of the water have been taken and that these will be tested.
by Citizen reporterThis photo is for illustrative purposes only. Photo: iStock
The residents of Refilwe in the east of Pretoria are reportedly exposed to a serious health risk because of the dirty, brownish water they drink daily.
Pretoria News reported that residents complained about drinking contaminated water which sometimes would have worms.
Residents told the publication that about three weeks ago dirty water started coming through the taps and that the water had made them ill.
The City of Tshwane is reported to have been supplying residents with water delivered by water tankers.
However, residents reportedly feel overlooked, while politicians had reportedly been to Hammanskraal which has serious water issues, they seem less enthusiastic about attending to the issues happening in Refilwe.
It was reported that at times the tankers would bring water that is not good for drinking which has led to most residents choosing to buy water from local suppliers.
The publication quoted the City’s MMC for Utility Services, Abel Tau as saying that the city knows about the concerns the residents have raised and that it has taken samples of the water which will be tested.
Tau was quoted as saying that a local mine was releasing more manganese into the water than what is supposed to and that the city is receiving “sufficient services to assist”.
(Compiled by Makhosandile Zulu)


Migrating your Preferences to Alfred 4
Coming from Alfred 2 or 3, and want to get started with Alfred 4? Here's how to smoothly upgrade.
First, if you're a Powerpack user, we recommend upgrading to Alfred 4 first to take advantage of the Powerpack features in Alfred 4! Just make sure you have your old license details handy to upgrade.
Alfred's Getting Started Assistant
When you launch Alfred 4 for the first time, you'll see Alfred's Getting Started screen pop up. This is a quick way to get started with the Powerpack, backup and migrate any existing preferences and set the necessary permissions.
1. Activating your Powerpack
If you have a Powerpack license, you can enter your new Alfred 4 license details here and click "Activate Your Powerpack". Click "Buy or Upgrade Powerpack" if you have an older license you need to update.
If you're a Mega Supporter license holder, or you purchased in 2019, follow the "Buy or Upgrade Powerpack" button to get your free upgrade. You'll need to enter your old details, and your new license will be reissued!
Not a Powerpack license holder? Simply click "Continue without Powerpack" to move to the next step.
2. Backing up and Migrating your Preferences
At this point, if Alfred can see preferences from Alfred 3 or 2, you'll be presented with the following screen:
We recommend backing up your Alfred 3 preferences before starting; Click the "Backup files above to tar.gz file".
You can then copy your old preferences to the Alfred 4 folder, or use your previous Alfred 3 synced preferences. It's not essential to migrate your preferences if you prefer to start fresh in Alfred 4.
If Alfred doesn't find any permissions, you'll see a "No previous versions of Alfred found, continue without migration" message. Find out next steps if you're expecting Alfred to find existing preferences.
3. Granting Alfred Permissions
On the next screen, you'll be presented with the permissions Alfred requires.
Clicking each one will pop up macOS System Preferences for the relevant permission, so that you can type your password and grant Alfred access.
You may be prompted to restart Alfred when granting access in System Preferences, but choose "Later", as you can restart Alfred once you've granted all permissions.
Alfred 4 will now launch and you can get started! Take a look at the Guide to what's new in Alfred 4 to start discovering the new features.
Migration Troubleshooting FAQ
I'm expecting Alfred to find my preferences
If the migration options are greyed out when going through the Getting Started steps, Alfred will give a "No previous versions of Alfred found, continue without migration" message.
If you're expecting to see preferences, continue without migration, then manually sync your preferences from Alfred's Advanced preferences.
Can I use Alfred 3 and Alfred 4 concurrently?
We don't recommend running both versions concurrently, as many hotkeys are the same between the two versions, and this may result in unpredictable behaviour.
You can keep Alfred 3 installed on your Mac and quit Alfred 4 first if you need to relaunch it, but it's unlikely you'll need to go back once you've discovered Alfred 4!
What should I do with Alfred 3 when I'm done with it?
Once you've migrated your preferences to Alfred 4, we recommend deleting Alfred 3 manually.
We advise against using "app cleaners" to remove old Alfred versions, as these can be over-zealous and delete essential files for Alfred 4.
If you've lost your Alfred 4 preferences by using an app cleaner, check your Mac's Trash or refer to a backup (Time Machine, Dropbox, etc) to recover your Alfred.alfredpreferences file.
How can I re-run the Migration Assistant?
If you skipped the migration steps, you can re-run the Migration Assistant, but be aware that this may result in overwriting the changes you've made since the last time you used your Alfred 3 preferences.
- Quit Alfred
- In your user directory, navigate to ~/Library/Application Support/Alfred/ (if you see your prefs.json file, you're in the right location)
- Delete the prefs.json file in this folder
- Delete or move the Alfred.alfredpreferences from this folder
- Restart Alfred
The Migration process will start again, and you'll be able to import your preferences from Alfred 3 again.


{% if related_objects_tree.object_ref.is_local %} {% set object_name = related_objects_tree.object_name or '–' %} {% if in_export_data_modal %}{% endif %} {{ object_name }} • #{{ related_objects_tree.object_id }} {% if related_objects_tree.object is not none %} {{ import_information_symbol(object) }} {% endif %} {% if related_objects_tree.referenced_objects or related_objects_tree.referencing_objects %}


|
Vanilla Cake- Price for a slice: $5.00 Price for a whole cake: $30.00 |
Chocolate Cake- Price for a slice: $5.00 Price for a whole cake: $30.00 |
|
Black Forest Cake- Price for a slice: $6.00 Price for a whole cake: $45.00 |
Carrot Cake- Price for a slice: $5.00 Price for a whole cake: $30.00 |
|
White Bread- Price for a loaf: $5.00 |
Wheat Bread- Price for a loaf: $5.50 |
|
Ciabatta Bread- Price for a loaf: $7.00 |
Napoli Bread- Price for a loaf: $6.00 |
|
Chocolate Chip Cookies- Price for 1: $2.00 Price for a dozen: $24.00 |
Peanut Butter Cookies- Price for 1: $2.00 Price for a dozen: $24.00 |
|
French Macarons- Price for 1: $2.50 Price for a dozen: $30.00 |
Oatmeal Cookies- Price for 1: $2.00 Price for a dozen: $24.00 |


NOTE: If the MASTER dataset is known to have only one record for each key value then the code in example one is more efficient although the original code will still work.
NOTE: Only the matches are output in these examples. Additional code will be needed to handle non-matches.
Using the standard double set code SAS will not find a record in the master dataset for the second record in the transaction dataset. This occurs because SAS does not move the pointer from its previous position until it needs to look up a record in the transaction dataset with a different key value. Observation five, like observation two, has the same key value as observation one. A record from the master dataset will be returned for observation five since the pointer has been moved when the double set was issued for observations three and four(they have a different key value).
In this case we can remove the continue loop from the original double-set code since the observations in the MASTER dataset are unique. We also must add the UNIQUE option to the second set statement. This code is more efficient than the original double set code since only one lookup is performed for each record in the transaction dataset.
THUS: Use this in all cases when you know the MASTER dataset key is unique.
Example: Imagine we are looking up a series of EIN's from the work history file in the SSEL. Some of these EIN's will be repeated since individuals work for the same EIN in different years and also because multiple people work at the same firm. The dataset has the same structure as in example one. The KEY (ein) is repeated for observation one, two, and five.
This case requires resetting the pointer on each iteration of the data step. Unfortunately this requires two additional lookups in the MASTER dataset. Once to know when the end of all the records for that EIN is reached. Once more to reset the pointer.
Resetting the pointer is accomplished by looking up a key value that does not exist in the MASTER dataset. I have chosen "zzzzzzzzz" for the EIN. This may or may not be appropriate in your application.


I was bored and had nothing to do one night, so I decided to experiment with my prescribed anti-anxiety med, Neurontin. My prescribed dose is 200mg so I figure 1900mg would be fun. Hmmm, maybe not so smart - but hey, look who's talking.
Anyway, shortly after popping the pills my girl calls to hang out. So I figure hey, why not and I drive over t pick her up.
[Erowid Note: Driving while intoxicated or tripping is dangerous and irresponsible because it endangers other people. Don't do it!] Hmmm, not smart - don't drive under the influence, kids. But anyway we're riding along and decide to try to pick up some guys. I'm usually shy, but within an hour after popping the pills all I want to do is meet people. I'm singing at the top of my lungs to the music and just having an amazing time. I thought that would be the extent of my high but I was wrong.
Soon after, my vision starts to get blury and all the lights on the road start to blend together. Eh-oh. But of course I keep driving.
We decide to go over to 7-11 to see who's around. We meet some guys and I agree to drive one of them home to a town that I've never been to. So I pick up him and his friend and we're driving - having a blast with total strangers.  We finally get him home and my friend and the other guy's friend drive back to my town, but of course, we get horribly lost.  Shit. After about an hour of driving around at 1 am we find our way home alive.
I try to get out of the car and I feel like I'm drunk. I can barely walk and I'm stumbling around. I feel ridiculously stoned, sort of like a cross between marijuana and pot. I end up getting coffee and hanging out on the curb. Somehow all the lights of the cars are really interesting to me and I spend about an hour just watching people, absolutely absorbed in it.  My space and depth perception is really distorted and I just feel really heavy.
After a dangerous ride home, which I survived thanks to no one being on the road, I stumble home and lay on my bed listening to music. I close my eyes and get amazing CEVs similar to those on dxm. Then I just kind of floated away into sleep.
When I woke up I was slightly dizzy but generally felt fine. Overall, it was a pretty good high. I would describe the high as a mix between marijuana, alcohol, dxm, and xanax, all social inhibitions are gone and there's a huge sense of euphoria. I wouldn't do it that often, but it's definately good for social anxiety.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


A free, responsive, one page Bootstrap theme.Created by Start Bootstrap.
Feel free to email us to provide some feedback on our templates, give us suggestions for new templates and themes, or to just say hello!
feedback@startbootstrap.com


We're sorry but sudoku-vue doesn't work properly without JavaScript enabled. Please enable it to continue.


This is my workshop for the class Image and video processing: From Mars to Hollywood with a stop at the hospital
Since I have no professional use for Mathlab, I will be using client-side Javascript and Canvas to do the exercises and practice.
Feel free to use, fork and share the code.
Copyright (c) 2014 twenty-Six Medias, Inc
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Dr. Jian Jin
Postdoctoral Scholar, Shanghai Institute of Organic Chemistry, 2017
{{ content }}
Fun Facts
-
{% for items in post %}
- {{ post.items }} {% endfor %}
{% include head.html %}
{% include navigation.html %}


Opening a database is done using the Berkeley DB db_open interface.
The db_open interface takes seven arguments:
Here's what the code to call db_open looks like:
#define DATABASE "access.db"
int
main()
{
extern int errno;
DB *dbp;
if ((errno = db_open(DATABASE,
DB_BTREE, DB_CREATE, 0664, NULL, NULL, &dbp)) != 0) {
fprintf(stderr, "db: %s: %s\n", DATABASE, strerror(errno));
exit (1);
}
As you can see, we're opening a database named access.db.
The underlying database is a B+tree, and since we've specified DB_CREATE,
we'll create it if it doesn't already exist. The mode of any files we
create is 0664 (i.e., readable and writeable by the owner and the group,
and readable by everyone else).
If the call to db_open is successful, the variable dbp
will contain a database handle that will be used to access the underlying
database.
#include <sys/types.h>
#include <stdio.h>
#include <db.h>


Get-EnhancedChildItem builds upon the powerful and flexible builtin Get-ChildItem cmdlet by providing some additional effort-saving options to prune entire sub-trees, to filter on directories or non-directories, or to filter to Subversion-aware files only.


GCTC Leadership Fund
US Ignite is pleased to announce the GCTC Leadership Fund. This fund will make awards to defray travel costs to the GCTC Expo, and it will also provide cash awards to exceptional Action Clusters that advance their project’s objective as a part of the Global City Teams Challenge.
The GCTC Leadership Fund is available to private companies, local governments, non-profit organizations, and educational institutions, participating in the GCTC Action Clusters, regardless of their geographic location.
The Leadership Fund has two funding priorities:
- Travel Assistance Awards to assist GCTC Action Cluster teams for their travel expense to the GCTC Expo
- Leadership Award for notable projects deploying technologically replicable, scalable, and measurable IoT projects in the Smart City sphere
Key Dates and Deadlines:
- The applications deadline for both awards is April 15th, 2016.
- We encourage the interested parties to schedule a time to meet with representatives of the Leadership Fund either at the Tech Jam and/or set-up a video call before the April 15th deadline.
- Travel Assistance Award announcement will be made by April 30th, 2016.
- Organizations receiving GCTC Leadership Awards will be announced at the GCTC Expo.
Applicants interested in GCTC Leadership Fund must complete a brief application:
Application for Travel Assistance Award can be found here
Application for GCTC Leadership Awards can be found here


We are currently building the site, grab a beer and check back soon as we should be up and running in a few days. If you need assistance in the meantime send us an e-mail or give us a call<PHONE_NUMBER>.


This is a short intro of how to use the compiler and the bin-utils. It contains a step-by-step example of how to build a complete application from one C and one assembly modules. This file does not contain a complete reference for the tools used in the process. There are separate files describing those tools, in detail (see index.html).
I do assume that you have downloaded and installed the compiler and target-specific files. Windows users should use the friendly .exe installer (named cc65-2.13.0-1.exe for version 2.13.0 of the package - adjust the version number if necessary). It does not only install the target files, but will also set up necessary environment variables for you.
If you're going for the .ZIP archives, please note that there is one file for
the host platform (Windows, DOS or OS/2), one file for each target platform
(C64 or whatever) and a separate file containing the docs (which include the
file you're currently reading). So for most uses, you will need at least 3
files and unpack all three into one directory. In case of the .ZIP archives,
you will also need to set the environment variables CC65_INC
,
LD65_LIB
and LD65_CFG
as described below.
Note: There is a much simpler way to compile this example, by using the cl65 compile-and-link utility. However, it makes sense to understand how the separate steps work. How to do the example with the cl65 utility is described later.
You will find a copy of the sample modules, used in the next section, in the
"cc65/samples/tutorial
" directory. If you encounter problems with
missing include files and/or libraries, please check the environment variables
CC65_INC
, LD65_LIB
and LD65_CFG
. They should point to the
include
, lib
and cfg
subdirectories of the directory, where you
installed cc65.
To explain the development flow, I will use the following example modules:
hello.c:
#include <stdio.h>
#include <stdlib.h>
extern const char text[]; /* In text.s */
int main (void)
{
printf ("%s\n", text);
return EXIT_SUCCESS;
}
text.s:
.export _text
_text: .asciiz "Hello world!"
We assume that the target file should be named "hello", and the target system is the C64.
+---------+
| hello.c |
+---------+
|
cc65
\/
+---------+ +---------+ +---------+
| hello.s | | text.s | | crt0.o |
+---------+ +---------+ +---------+
| | |
ca65 ca65 ar65
\/ \/ \/
+---------+ +---------+ +---------+
| hello.o | | text.o | | c64.lib |
+---------+ +---------+ +---------+
| \ /
| \ /
| \ /
+----------------------->ld65<
\/
hello
crt0.o
(the startup code) and c64.lib
(the C64 version of the runtime
and C library) are provided in binary form in the cc65 package. Actually, the
startup code is contained in the library, so you won't need to care about it.
The compiler translates one C source into one assembly source, for each invocation. It does not create object files directly, and it is not able to translate more than one file per run.
In the example above, we would use the following command line, to translate
hello.c
into hello.s
:
cc65 -O -t c64 hello.c
The -O
switch tells the compiler to do an additional optimizer run, which
is usually a good idea, since it makes the code smaller. If you don't care
about the size, but want to have slightly faster code, use -Oi
to inline
some runtime functions.
The -t
switch is followed by the target system name.
If the compiler does not complain about errors in our "hello world" program, we
will have a file named "hello.s
", in our directory, that contains the
assembly source for the hello module.
For more information about the compiler, see cc65.html.
The assembler translates one assembly source into an object file, for each invocation. The assembler is not able to translate more than one source file per run.
Let's translate the "hello.s" and "text.s" files from our example:
ca65 hello.s
ca65 -t c64 text.s
The -t
switch is needed when translating the text.s
file, so the
text is converted from the input character-set (usually ISO-8859-1) into the
target character-set (PETSCII, in this example) by the assembler. The
compiler-generated file hello.s
does not contain any character constants,
so specification of a target is not necessary (it wouldn't do any harm,
however).
If the assembler does not complain, we should now have two object files (named
hello.o
and text.o
) in the current directory.
For more information about the assembler, see ca65.html.
The linker combines several object and library files into one output file. ld65 is very configurable, but fortunately has built-in configurations, so we don't need to mess with configuration files, here.
The compiler uses small functions to do things that cannot be done inline
without a big impact on code size. Those runtime functions, together with the
C library, are in an object-file archive named after the system, in this case,
"c64.lib
". We have to specify that file on the command line, so that the
linker can resolve those functions.
Let's link our files to get the final executable:
ld65 -o hello -t c64 hello.o text.o c64.lib
The argument after -o
specifies the name of the output file, the argument
after -t
gives the target system. The following arguments are object
files or libraries. Since the target library resolves imports in hello.o
and text.o
, it must be specified after those files.
After a successful linker run, we have a file named "hello
", ready for
our C64!
For more information about the linker, see ld65.html.
The cl65 utility is able to do all of the steps described above, in just one command line, and it has defaults for some options that are very well-suited for our example.
To compile both files into one executable, enter:
cl65 -O hello.c text.s
The cl65 utility knows how to translate C files into object files (it will call the compiler, and then the assembler). It does know also how to create object files from assembly files (it will call only the assembler, for that). It knows how to build an executable (it will pass all object files to the linker). And finally, it has the C64 as a default target, and will supply the correct startup file and runtime library names to the linker, so you don't have to care about that.
The one-liner above should give you a C64 executable named "hello
" in the
current directory.
For more information about the compile & link utility, see cl65.html.
Note: this section is incomplete!
Depending on the target, cc65 chooses several methods of making a program available for execution. Here, we list sample emulators and instructions for running the program. Unless noted, similar instructions would also apply to a real machine. One word of advice: we suggest you clear the screen at the start, and wait for a keypress at the end of your program, as each target varies in its start and exit conditions.
Available at https://github.com/AppleWin/AppleWin:
Emulates Apple ][/enhanced Apple //e computers, with sound, video, joysticks, serial port, and disk images. Includes monitor. Only for Windows. The package comes with a DOS 3.3 disk (called "master.dsk") image; however, you will need AppleCommander 1.4.0 or later (available at https://applecommander.github.io/).
Compile the tutorial with
cl65 -O -t apple2 hello.c text.s
for the Apple ][, or:
cl65 -O -t apple2enh hello.c text.s
for the enhanced Apple //e.
Then, put the file onto an Apple disk image, for use with an emulator. Copy
the master.dsk
which comes with AppleWin, and rename it to
cc65.dsk
, then use AppleCommander:
java -jar ac.jar -as cc65.dsk test < hello
Note that a convention in the Apple world is that "hello" is the file which is run automatically upon booting a DOS disk, sort of like the "autoexec.bat" of the MSDOS/Windows world. We've avoided that in the example, however by using "test" as the name of the program as it will appear on the Apple disk.
Start the emulator, click on the Disk 1 icon, and point to cc65.dsk; then, click the big Apple logo, to boot the system. Then, type this on the Apple:
BRUN TEST
You will see "Hello, World!" appear on the same line. Thanks to Oliver Schmidt for his help in completing this section.
Available at http://www.atari.org.pl/PLus/index_us.htm:
Emulates Atari 400/800/65XE/130XE/800XL/1200XL/5200, with stereo sound, disk images, scanline-exact NTSC/PAL video, joysticks, mouse, cartridges, and RAM expansions. Includes monitor. Unfortunately, only for Windows. You will need the emulator, "atarixl.rom" or "atariosb.rom"/"ataribas.rom", and "dos25.xfd" files (not supplied).
Compile the tutorial with
cl65 -O -t atari hello.c text.s
Start the emulator, choose File>Autoboot image or File>Load executable, and point to the "hello" executable. It is customary to rename executables of that type to "hello.xex". The file has a 7-byte header meant to be loaded directly from Atari DOS 2/2.5 or compatibles.
On a real Atari, you would need a disk drive, and Atari DOS 2.5 or compatible. Turn on the computer, type
DOS
at the BASIC prompt, then choose N. CREATE MEM.SAV,
then choose L. BINARY LOAD, and enter HELLO
.
The emulation, also, supports that method. Look at Atari>Settings, and
check Enable H: Patch for Hard Disk Devices, then Atari>Hard
disks, and set the path of H1: to your executables directory, then use
"H0:HELLO.XEX" in the above procedure (after pressing L
), to access
your harddrive directly.
Note: There is no delay after the program exits, as you are returned to the DOS menu. Your C program should wait for a keypress if you want to see any output.
Available at http://stella.sourceforge.net:
Stella is a multi-platform Atari 2600 VCS emulator. The latest version is available on the emulator's website. It is also available through the package manager of most Linux distributions (Fedora, Ubuntu, ..).
Compile the Atari 2600 sample with
make SYS=atari2600 samples
Then execute it with
stella samples/atari2600hello
Available at http://harmony.atariage.com/Site/Harmony.html:
The Harmony Cartridge allows running any Atari 2600 binary on real hardware. The binary must be copied on an SD card, to be inserted in the Harmony Cartridge. It can then be inserted on an Atari 2600 console, and run any binary on the SD card.
Available at http://code.google.com/p/oriculator/:
Emulates Oric-1 and Atmos computers, with sound, disk images, scanline-exact NTSC/PAL video, and movie export. Includes a monitor. Fortunately, for all SDL platforms. You will need just the emulator; all ROMs are supplied.
Compile the tutorial with
cl65 -O -t atmos hello.c text.s -o hello.tap
Start the emulator, choose F1 and Insert tape..., and point to the "hello.tap" executable. After it has finished loading, type
RUN
On a real Atmos, you would need a tape drive. Turn on the computer, type
CLOAD""
at the BASIC prompt. After it has finished loading, type
RUN
The emulation, also, supports that method.
Available at https://github.com/commanderx16/x16-emulator/releases:
Emulates the Commander X16 Single Board Computer, with sound, SD card images, VGA and NTSC video, and a NES game controller emulation. Includes a monitor. It runs on all SDL2 platforms.
Compile the tutorial with
cl65 -O -t cx16 hello.c text.s
Start the emulator. Then, type
LOAD"HELLO",1
RUN
(Type those lines in lower-case; but, they will appear as upper-case.)
On a real computer, you would type an 8
instead of a 1
.
Available at https://vice-emu.sourceforge.net/:
Emulates Commodore 64/128/VIC-20/PET/CBM II/Plus 4 computers. Supports printers, serial port and adapters, stereo sound, disk drives and images, RAM expansions, cartridges, ethernet connection, cycle-exact NTSC/PAL video, mice, graphics tablet, lightpens, and joysticks. Includes monitor. Runs on MSDOS/PCDOS, Win9x/ME/NT/2000/XP, OS2, BeOS x86, Acorn RISC OS, and most Unixes.
Compile the tutorial with
cl65 -O -t <sys> hello.c text.s
Substitute the name of a Commodore computer for that <sys>
:
c128
c16
c64
cbm510
cbm610
pet
plus4
vic20
Start the desired version of the emulator (CBM610 programs run on
the CBM II [xcbm2
] emulator).
Choose File>Autostart disk/tape image..., choose your executable, and click OK.
The file has a 14-byte header which corresponds to a PRG-format BASIC program, consisting of a single line, similar to this:
1000 sys2061
On a real Commodore with attached disk drive, you would type:
LOAD "0:HELLO",8
for VIC-20/C64, or:
DLOAD "HELLO"
on PET/CBM II/C128/C16/Plus 4; then, type
RUN
On a Commodore 128, you can combine those two commands:
RUN "HELLO"
The output will appear on a separate line, and you will be returned to a BASIC prompt.
Before you can run the cartridge image produced by the linker, the binary has to be patched using the gamate-fixcart tool that is included in the cc65 package in the util/gamata directory.
gamate-fixcart <image.bin>
Available at https://www.mamedev.org:
MESS (Multiple Emulator Super System) is a multi system emulator that emulates various cc65 targets. It once started as a MAME fork, but was marged into MAME again at some point.
mess gamate -debug -window -skip_gameinfo -cart <image.bin>
Available at Click Here Software's GEOS download section:
Graphics Environment Operating System. It provides a WIMP GUI (Windows, Icons, and Mouse-Pointer Graphical User Interface) for Commodore's computer models 64 and 128. It can be controlled by many different types of input devices:
The tutorial files are different for GEOS. You will find them "next door," in
"cc65/samples/geos
"; they are called "hello1.c
" and
"hello1res.grc
".
Compile the tutorial with
cl65 -t geos-cbm -O -o hello1 hello1res.grc hello1.c
Copy the resulting file "hello1
" onto a (GEOS-format) disk.
Boot the GEOS master disk/image.
When you want to run GEOS in an emulator, you must adjust that emulator so that it does a "true drive" emulation. Each emulator has its own way of turning that feature on.
In VICE, got to Settings -> Settings, then Peripherial devices -> Drive. Then, you must enable the True drive emulation checkbox.
Find the CONVERT program on the boot disk [tap the 6-key; then, you
should see its icon in the fourth position on the deskTop's directory
notePad]. Move GEOS's pointer over to CONVERT's icon; double-click
it to run that program. Click on the Disk icon; put the disk with
"hello1
" into the drive; and, click the OK icon. Use the little
icons under the list of file-names to move through that list until you find
"hello1
". Click on it; and then, click on the Convrt icon.
CONVERT will ask you to confirm that you choose the correct file; click
YES if you did (or, click NO if you made a mistake). After the
program has converted "hello1
" from a CBM file into a GEOS file, it will
announce what it did -- click on OK. CONVERT will show the file list
again. This time, click on Quit.
(You might need to put the boot disk back into the drive, in order to reload deskTop. Then, you must swap back to the disk with the tutorial program on it, and click on its disk icon [on the right side of the screen].)
Now, you must find hello1. Click on the lower left-hand corner of the directory notePad. Look at the eight file-positions on each page until you see hello1. Double-click on its icon.
The output is shown in a GEOS dialog box; click OK when you have finished reading it.
Alternatively you can use the c1541 program that comes with VICE to write the file to a disk image directly in GEOS format, so it can be used in GEOS directly without having to use the CONVERT program.
c1541 -attach geos.d64 -geoswrite hello1
Available at https://mednafen.github.io/releases/:
Mednafen is a multi system emulator that emulates a couple of the supported targets of cc65: Apple II/II+, Atari Lynx, Nintendo Entertainment System and PC Engine/TurboGrafx 16.
mednafen -force_module nes <image.bin>
The osic1p
runtime library returns to the boot prompt when the main()
program exits. Therefore, the C file in the tutorial must be modified
slightly, in order to see the results on the screen. Otherwise, the program
would print the text string, and then jump to the boot prompt, making it
impossible to see the results of running the tutorial program.
In addition to that, the osic1p
target does not yet have support for stdio
functions. Only the functions from the conio library are available.
Therefore, modify the "hello.c
" source file, as follows:
#include <conio.h>
#include <stdlib.h>
extern const char text[]; /* In text.s */
int main (void)
{
clrscr ();
cprintf ("%s\r\nPress <RETURN>.\r\n", text);
cgetc ();
return EXIT_SUCCESS;
}
Compile the tutorial with
cl65 -O -t osic1p -u __BOOT__ -o hello.lod hello.c text.s
The program is configured for a Challenger 1P computer with, at least, 32 kB of RAM. See the Ohio Scientifc-specific documentation for instructions about how to compile for other RAM sizes.
Plug a cassette player into your C1P computer; or, connect an RS-232 cable between your C1P and a PC (set the PC's serial port to 300 Bits Per Second, 8 data bits, No parity, and 2 stop bits). (Turn on the computers.)
Tap the "BREAK" key, to display the boot prompt; then, tap the "M
"
key, to enter the 65V PROM monitor. Tap the "L
" key. Either start the
cassette player (with a tape of the program), or start a transfer of the
program file "hello.lod
" from the PC. After a while, you should see the
following text on the screen:
Hello world!
Press <RETURN>.
(Stop the cassette player.) After hitting the RETURN key, you should see the boot prompt again.
Available at http://osi.marks-lab.com/#Emulator:
Emulates the Ohio Scientific Challenger computers in different configurations. Configure it to emulate a C1P (model 600 board) with 32 kB of RAM.
Compile the tutorial with the same command that is used to make the program for a real machine.
Start the emulator. Tap the "M
" key, to enter the 65V PROM monitor; then,
tap the "L
" key. If you had configured WinOSI to ask for a file when it
starts to read data from the serial port, then you will see a file dialog box;
otherwise, you must tap your host keyboard's F10 function key. Select the file
"hello.lod
". After a moment, you should see the following text on the
screen:
Hello world!
Press <RETURN>.
After hitting the RETURN key, you should see the boot prompt again.
Available at http://www.pcjs.org/docs/c1pjs/:
Emulates the Ohio Scientific Challenger 1P computer in different configurations. The 32 kB RAM machine that must be used with the default compiler settings is here.
In addition to cc65, the srec_cat program from the SRecord tool collection must be installed. Some Linux distributions also provide srecord directly as an installable package.
Compile the tutorial with this command line:
cl65 -O -t osic1p hello.c text.s
Convert the binary file into a text file that can be loaded via the Ohio Scientific 65V PROM monitor, at start address 0x200:
srec_cat hello -binary -offset 0x200 -o hello.c1p -Ohio_Scientific -execution-start-address=0x200
Open the URL that points to the 32 kB machine; and, wait until the emulator
has been loaded. Click on the "BREAK" button to display the boot prompt;
then, press the "M
" key to enter the 65V PROM monitor. Click the
"Browse..." button; and, select the file "hello.c1p
" that was
created as the output of the above invocation of the "srec_cat
" command.
Press the "Load" button. You should see the following text on the screen:
Hello world!
Press <RETURN>.
After hitting the RETURN key, you should see the boot prompt again.
For the cartridge image produced by the linker to work in emulators and on real hardware, its content must be rearranged so the first 8k block becomes the last 8k block in the image.
For example, for a 32k image this can be done using dd as follows:
dd if=infile.bin bs=8K skip=3 > outfile.pce
dd if=infile.bin bs=8K count=3 >> outfile.pce
Available at https://mednafen.github.io/releases/:
Mednafen is a multi system emulator that emulates a couple of the supported targets of cc65: Apple II/II+, Atari Lynx, Nintendo Entertainment System and PC Engine/TurboGrafx 16.
mednafen -force_module pce <image.pce>
We need your help! Recommended emulators and instructions for other targets are missing. We suggest that you choose emulators with good compatibility. Also, being able to run all computers in the target series is good for target compatibility testing. A machine-language monitor is almost essential for debugging, but a native debugger could be used, as well.
Finally, emulators which run on Unix or Windows would help to reach a wider audience.


Buhari replaces Tunde Fowler as FIRS boss
by Ifeanyi NgeremPresident Muhammadu Buhari on Monday, December 9, replaced Federal Inland Revenue Service (FIRS) boss Tunde Fowler with Muhammad Nami..
Nami replaces Tunde Fowler whose tenure expired on Monday.
A statement by the president’s spokesman, Garba Shehu, said the president also approved the composition of the FIRS board.
Part of the statement reds:
“Mr Muhammad, a well-trained tax, accounting and management professional with highly rated qualifications and professional practice and licenses from relevant professional bodies, has almost three decades of practical working experience in auditing, tax management and advisory and management services to clients in the banking, manufacturing, services and public sectors as well as non-profit organisations”.
The new FIRS boss is a tax consultant and graduate of Ahmadu Bello University, Zaria.


My First Bootstrap Page
This is some profile.
Name:
Surname:
City:
Msk
Spb
Vol
Sex:
Male
Female
Description:
Remember me
Add row (js)
Send person (ajax jquery)
Clear form
Name
Surname
City
Sex
Description


SPARQL allows custom property functions to add functionality to the triple matching process. Property functions can be registered or dynamically loaded.
See also the free text search page.
See also the FILTER functions FILTER functions library.
Prefix apf:
which is <http://jena.hpl.hp.com/ARQ/property#>
.
Direct loading using a URI prefix of
<java:com.hp.hpl.jena.sparql.pfunction.library.>
(note the
final dot) also works.
The prefix list:
is http://jena.hpl.hp.com/ARQ/list#
.
| Property name | Description |
|---|---|
list list:member member |
Membership of an RDF List (RDF Collection). If list is not bound or a constant, find and iterate all lists in the graph (can be slow) else evaluate for one particular list. If member a variable, generate solutions with member bound to each element in the list. If member is bound or a constant expression, test to see if a member of the list. |
list list:index (index member) |
Index of an RDF List (RDF Collection). If list is not bound or a constant, find and iterate all lists in the graph (can be slow) else evaluate for one particular list. The object is a list pair, either element can be bound, unbound or a fixed node. Unbound variables in the object list are bound by the property function. |
list list:length length |
Length of an RDF List (RDF Collection). If list is not bound or a constant, find and iterate all lists in the graph (can be slow) else evaluate for one particular list. The object is tested against or bound to the length of the list. |
container rdfs:member member |
Membership of an RDF Container (rdf:Bag,
rdf:Seq, rdf:Alt). Pre-registered URI. If this infers with queries
running over a Jena inference model which also provides
rdfs:member , then remove this from the global registry. PropertyFunctionRegistry.get(). |
apf:textMatch |
Free text match. See the free text search page for details. |
bag apf:bag member |
The argument bag must be bound by this point in the query or a constant expression. If bag is bound or a URI, and member a variable, generate solutions with member bound to each element in the bag. If member is bound or a constant expression, test to see if a member of the list. |
seq apf:seq member |
The argument seq must be bound by this point in the query or a constant expression. If seq is bound or a URI, and member a variable, generate solutions with member bound to each element in the sequence. If member is bound or a constant expression, test to see if a member of the list. |
seq apf:alt member |
The argument alt must be bound by this point in the query or a constant expression. If alt is bound or a URI, and member a variable, generate solutions with member bound to each element in the alt . If member is bound or a constant expression, test to see if a member of the list. |
varOrTerm
apf:assign varOrTerm |
Assign an RDF term from one side to the other. If both are fixed RDF terms or bound variables, it becomes a boolean test that the subject is the same RDF term as the object. |
iri apf:splitIRI (namespace localname) iri apf:splitURI (namespace localname) |
Split the IRI or URI into namespace (an
IRI) and local name (a string). Compare if given values or bound
variables, otherwise set the variable. The object is a list with 2
elements.splitURI is an synonym. |
subject apf:str object |
The subject is the string form of
the object, like the function str(). Object must be bound or a constant. Object can not be a blank node (see apf:blankNode ) |
subject apf:blankNode label |
Subject must be bound to a blank node or a constant. Label is either a string, in which case test for whether this is the blank node label of subject, or it is a variable, which is assigned the blank node label as a plain string. Argument mismatch causes no match. Use with care. |
subject apf:versionARQ version |
Set the subject to the IRI for ARQ and set the object to either the version string or to major and minor version strings. If any of the variables are already set, test for the correct value. |
var apf:concat (arg arg ...) |
Concatentate the arguments in the
object list as strings, and assign to var .
|


The video below is an
HTTP Live Stream
.
URL to Load:
Player Options:
URL Content Type:
Default Caption Track Label (blank for none):
Technology Mode:
Auto
HTML
Flash
Autoplay:
On
Off
Live UI:
On
Off
Override Native:
On
Off
Load
Player Stats
Current Time:
0
Buffered:
-
Video Buffered:
-
Audio Buffered:
-
Seekable:
-
-
-
Video Bitrate:
0 kbps
Measured Bitrate:
0 kbps
Video Timestamp Offset
0
Audio Timestamp Offset
0
Event Counts
Play:
0
Playing:
0
Seeking:
0
Seeked:
0
Quality Levels:
Bitrate Switching
Once the player begins loading, you'll see information about the operation of the adaptive quality switching here.
Timed Metadata


class SquareResizer implements Resizer
This reziser crop the image when the width and height are specified.
Every time you specify the W and H, the script generate a square with the
smaller size. For example, if width is 100 and height 80; the generated image
will be 80x80.
Methods
| __construct(ImagineInterface $adapter, string $mode) | ||
| resize(Media $media, File $in, File $out, string $format, array $settings) | ||
| getBox(Media $media, array $settings) |


{% extends "base.html" %} {% load url from future %} {% block head %} {% endblock %} {% block content %}
Hooks for all the annotated gold items, a total of {{ n_jobs }} jobs, were fired.


{BASE_URL}
refers to the directory of the anchor in this pages url.
{BASE_URL}
would be http://<IP_ADDRESS>/poll
when the url
of this page is http://<IP_ADDRESS>/poll/#/about
.
Where data is returned by or sent to the service, it is by default in JSON format. It is possible to adjust this to a wide variety of different formats (XML, JSON, PHP [values only], HTML, CSV and Serialized) by modifying the content-type and accept headers.
JSONP is also supported by appending ?callback={CALLBACK_NAME}
to the request URI, with
{CALLBACK_NAME}
referring to the desired callback function name.
In all use cases, the restful service will return a 404 Not Found
response on a failure and a
20X
code upon success.
| Service URL | Method | Request Data | Response Data |
|---|---|---|---|
| Get a summary of all the available polls within the database. | |||
{BASE_URL}/index.php/service/polls |
GET | None | An object, representing a list of polls, their titles and their unique ID's. |
| Create a new poll. | |||
{BASE_URL}/index.php/service/polls |
POST | Object in same form as GET except without an ID. | None (Header contains a 'Location' field pointing to new poll). |
| Get details about a specific poll. | |||
{BASE_URL}/index.php/service/polls/{POLL_ID} |
GET | None | An object, representing a poll. Contains id, title, question and answers in 0-based indexed order. |
| Update an existing poll. Note: using this method will delete any votes on the poll. | |||
{BASE_URL}/index.php/service/polls/{POLL_ID} |
PUT | Object in same form as GET except without an ID. | None |
| Delete a poll. | |||
{BASE_URL}/index.php/service/polls/{POLL_ID} |
DELETE | None | None |
| Get the votes on a poll. | |||
{BASE_URL}/index.php/service/votes/{POLL_ID} |
GET | None | An object containing the poll title, question, and an answer-number of votes mapped array. |
| Delete all votes on a poll. | |||
{BASE_URL}/index.php/service/votes/{POLL_ID} |
DELETE | None | None |
| Vote on a poll. | |||
{BASE_URL}/index.php/service/votes/{POLL_ID}/{ANSWER_INDEX} |
POST | None | None |
Voting on polls is possible using the "Polls" item on the main navigation bar. From the page that appears it is possible to select a poll. Upon selecting a poll, the user will be presented with the question and a series of radio buttons with an answer to the question on each one.
Clicking on a radio button will automatically place a vote with the selected option.
Once voting has been performed, the radio options will be grayed out and the following will be shown at the bottom of the poll:
Thank you for voting on this poll, your vote has been received.
This was all implemented using AngularJS JSONP requests to the backend API.
Poll administration is possible using the "Results" item on the main navigation bar. From the page that appears it is possible to select a poll. Upon selecting a poll, the user will be presented with the question, a pie graph and table of results as well as a series of buttons to do different things with the poll.
|
The buttons, as seen below, provide options to go back to the poll selection page, edit the poll, reset the vote count and delete the poll.
Attempting to delete the poll or reset the votes will be met with a confirmation box like the following:
Creating a poll is available on the Results list page and editing a poll is available from within the poll statistics page. Saving a new poll/changes is only possible if the input data is valid.
During loading on slow connections, each page will show a loading bar.
Loading...
" text will change to an appropriate error message.
At all times a back button is shown to allow the user to return to the previous page.
| Bug/Quirk |
|---|
| In the poll result view, the Pie chart is blank when there are no votes. |
| Error messages within progress bars are not centered vertically. |
| After using the toolbar there is a selection highlight (FFX38.0.1). |
| In the poll result view, clicking the reset button immediately followed by the delete button (or vise versa) will cause warnings for both to be shown. |
| It is not possible to click on the row of the poll table instead of the provided radio button. |
| Library | Usages | Website |
|---|---|---|
| AngularJS | Every Front-End Page | https://angularjs.org/ |
| Angular Chart | /result/* | http://jtblin.github.io/angular-chart.js/ |
| Bootstrap | Every Front-End Page | http://getbootstrap.com |
| Chart.js | /result/* | http://www.chartjs.org/ |
| CodeIgniter | /index.php/* | http://www.codeigniter.com/ |
| CodeIgniter-RestServer | /index.php/* | https://github.com/chriskacerguis/codeigniter-restserver/ |
Credit for assistance mainly goes to the people at StackOverflow whom had solutions for some of the problems I had.
Most solutions were not noted at the time so specific attribution cannot be given.
| Name | Matthew Knox |
|---|---|
| Date | 29/05/2015 |
| User Code | mrk45 |
| Student ID | 81118603 |
|<EMAIL_ADDRESS>|


This scenario allows you to add direct content uris for content prefetching or clear all direct content uris.
To make the operating system perform a prefetch of these contents in a developer scenario for testing, use Visual Studio’s ContentPrefetcher integration. You can access it by selecting Debug ▸ Other Debug Targets ▸ Trigger Windows Store App Prefetch in Visual Studio.
| Direct Content URI | Content in cache? |
|---|


I'm Bhargav, a second-year graduate student from University of Southern California, majoring in Computer Science.
My interests are full-stack software development, machine learning and data analytics.
I'm currently a Sofware Developer at Redfin, in the RedfinNow team.
I previously interned as a Software Developer at Emotive, a startup based in Los Angeles, California.
I developed the core features of the product using Django and built the frontend using HTML, CSS and AngularJS.
I'm also enthusiastic about machine learning and deep learning. During my senior year in my undergrad, I interned at Bosch,
where I developed a deep learning convolutional neural network (CNN) algorithm, to detect disorders in the eye. I used Python and libraries such as Theano, Lasagne and Tensorflow
to build the neural network and train it. My project improved the performance of the model, achieving an accuracy of 92%.
My interests outside the computer sciences include, but not limited to, movies, soccer, playing video games and listening to podcasts.
Courses Taken
An educational chat-bot app for kids to interact with their favorite marvel superheroes.
Implemented with Marvel API and Microsoft Cognitive Services API to create the chatbot.
Demoed at Hacktech 2018 (Caltech)
A Python script that analyzes Anthony Fantano's face in his thumbnails, using Microsoft Cognitive Services API and Youtube API. Built the website using AngularJS.
View WebsiteA simple Python script to keep a tab on players' rise and fall in price and aid the user in making transfers.
View Project
An interactive web application to demonstrate the working of a simplified blockchain.
Developed using HTML,CSS, AngularJS and SHA-256 javascript library for encryption.
A game-playing AI agent in C++ to determine the best next move for a player up to 9 moves ahead.
View ProjectA computer graphics project using OpenGL and C++. Visualized various types of sorting algorithms on a randomly generated array of numbers.
View Project


COM3105 Advanced Algorithms
| Summary |
Algorithms and algorithmic problem solving are at the heart of computer science. This module teaches the design and analysis of advanced efficient
algorithms for solving computational problems. Students learn about general algorithmic tools for solving a variety of optimisation problems
efficiently, and how to design algorithms for challenging problems. A major focus of this module will be on research-led teaching, introducing students
to cutting-edge research topics in the theory of algorithms. |
| Session |
Spring 2018/19 |
| Credits |
10 |
| Assessment |
- The course will be assessed by 4 marked problem sheets and a 2 hour written exam. Problem sheets will cover questions of various types,
from analysing and evaluating the efficiency of different algorithms (learning objectives 1 and 2), practising the use of algorithmic ideas and
design principles (learning objectives 3 and 4) and describing or simulating efficient algorithms for fundamental problems (learning
objective 5). The exam will cover all learning objectives 1-5 in similar style, so that the problem sheets serve as preparation for the final
exam. The Formal Examination is worth 70% of the module assessment.
|
| Lecturer(s) |
Dr Pan Peng & Dr Sebastian Ordyniak |
| Resources |
|
| Aims |
This unit aims to:
- Develop 'students' algorithmic thinking and their ability to analyse the efficiency of algorithms;
- Enable students to find different approaches for dealing with challenging computational problems;
- Provide insight into cutting-edge research-led teaching in modern subfields of algorithms theory.
|
| Objectives |
By the end of the unit, a candidate will be able to:
- Appreciate what constitutes an efficient and an inefficient solution to a computational problem (aims 1 and 2);
- Analyse the efficiency of advanced algorithms (aims 1);
- Evaluate and choose appropriate ways of dealing with challenging computational problems (aims 2 and 3);
- Identify and apply design principles for the design of advanced efficient algorithms (aims 1-3);
- Describe efficient algorithms for a range of computational problems, along with their computational complexity (aims 1 - 3).
|
| Content |
The main topics of this course are:
- Approximation algorithms (2 hours)
- Randomized algorithms (2 hours)
- Parameterized algorithms (4 hours)
- Decomposition-based algorithms (4 hours)
- Sublinear-time and streaming algorithms (4 hours)
- Randomized Search Heuristics (3 hours)
|
| Teaching Method |
- The theoretical background and techniques will be presented in a series of formal lectures. Students will reinforce the material through
self-study, and through weekly problems classes where students will apply analytical skills obtained in class. Both lectures and problem
classes are designed to achieve the intended learning objectives 1-5.
|
| Feedback |
Assignments marked using published criteria, submission
commented and returned by MOLE within 3 weeks. |
| Recommended Reading |
- Parameterized Algorithms, Cygan et al. (ISBN 978-3-319-21275-3)
- Algorithm Design, Kleinberg and Tardos
- Randomized Algorithms, Rajeev Motwani and Prabakhar Raghavan
|
|


Divine Darkness Retreats have been used by a variety of spiritual traditions throughout the centuries as a higher-level practice. The aspirant enters a room specially prepared to admit absolutely no light and spends a number of days under this sensory deprivation in order to bring about a profound shift of consciousness.
A Divine Darkness Retreat is an ancient healing practice, especially helpful during challenging times, or when you need a deeply restorative break. Retreating in complete darkness is a practice common to many of the ancient and contemporary spiritual traditions across the world..
From the monks and lamas in Tibet, to the Kogi Mamos in Colombia; the ancient Egyptians and the mystics of 15th Century France, divine darkness retreats have provided revelation and illumination to countless practitioners who have sought the inner light.
A Divine Darkness Retreat is a unique experience. It helps to quiet the mind and gives the body an incredible rest, supporting its own natural rejuvenation. It is thought that the biological structure associated with the third eye, or inner eye, is a gland called the pineal gland. Activation of the pineal gland may be what ancient mystics have called “opening your third eye”.
Meditation in the dark naturally stimulates the pineal gland enhancing clarity and discernment. Spiritual awakening is a shift in perception. It is not the outer world that changes, but the inner world. Along the way, the practitioner may or may not experience shifts in perception such as psychic abilities, astral travel and lucid dreaming.
After extended time in darkness, is known that the brain releases DMT. This is a chemical that is also released in birth and death. Darkness can create this chemical naturally and thus we shift perception. We are enabled to enter our depths and the depths of life. It is also deeply restorative, as we have a break from stimulation and sink back into the world of non-doing.
 Some people come face to face with fears and challenging thoughts. In fact, this practice is so healing in part because it helps you to face your fears and move through them with grace. You may also experience illuminating visions and a deep sense of peace.
If your physical condition is good, we recommend that you stay in the room for the duration of your planned retreat, even if you are faced with challenges.
On your way out be kind to yourself and take some time to integrate. It is not recommended to jump right into work or even much conversation. To receive the full benefits of the retreat, it is important to have time to rest, get in contact with your senses again, and surround yourself with peaceful nature.


{% extends "base.html" %}
{% block title %}SPACS Shops{% endblock %}
{% block content %}
{{ super() }}
Shops
Shops currently associated with SPACS.
{% for shop in query %}
| Shop ID |
Shop Owner |
Address |
Email |
{% for owner in owners %}
{% if shop.shop_admin_id == owner.id %}
| {{ shop.id }} |
{{ owner.name }} |
{{ owner.address }} |
{{ owner.email }} |
{% endif %}
{% endfor %}
| Shop Name |
Shop Address |
Shop Email |
Shop Phone |
| {{ shop.name }} |
{{ shop.address }} |
{{ shop.email }} |
{{ shop.phone }} |
{% else %}
No shops registered with SPACS.
{% endfor %}
{% endblock %}


This App is designed to open lines of communication between the educators, care takers and students of our great school.
Before you can begin, you will need to have a school email address
- For teachers: Done! You got one when you were hired.
For
care takers: Every student in the district is automatically
assigned an account, if you need to activate your child's account
please go to Student Email page and enter the
correct data. If you need help please ask the office or see Mr.
ViDemantay.
Now for some bad news... The App is in beta and only invited users will be able to access it. Please be patient during this initial phase which may take up to a year. Thank you in advance for your understanding.
That's right! This App is built on top of Google Apps which means you use your school SSO to login. It also means better security and protection because Google has it on lock.
This App will help you keep track of your learning goals. It is designed to individualize learning modalities to meet your needs. It also offers links to help you expand your knowledge base so that you move from content learner to content EXPERT.
All the tools you need in one simple place. Gradebook, Seating Chart, Behavior Management? Yeah we got that. This App was inspired by the lack of common sense tools that actually accommodate to your style, not the other way around. Don't get it twisted, this tool will not change the way you TEACH ; it will however change the way you WORK.
This is App is still in ground-level development which means your ideas will matter. Please bring your great ideas to the Technology Committee. Better yet join the committee and start making a difference to student learning outcomes.


Demo Comments:
- Modify data in an edit control and observe the above data table changes;
- The label with red star(*) means field is required;
- Click the tool button, and see the dataset event log;
- Set default value of field "ID" when insert a new record;
- Click "Delete" button, and see how to intercept the delete action.


Ahhhhh!
Error 404: Page not found.
Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. Head back home to try finding it again, or search for it on the archives page.
Error 404: Page not found.
Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. Head back home to try finding it again, or search for it on the archives page.