The Viewers SDK is an API for deploying report
viewers. This API also lets you incorporate report exporting to a range of
different formats in your web application.
JSF version of the DHTML report page
viewer
The DHTML Viewer is the primary report viewer that
is used to view report files using RAS as the report server.
The JSF version of the DHTML report page viewer is
implemented by the
ReportPageViewer component. The
ReportPageViewer component has
functionality similar to the DHTML report page viewer, including a toolbar that
allows a user to navigate, search, and export the report to other formats.
The
ReportPageViewer component
renders the report in DHTML and provides a toolbar that enables the user to
navigate the report. You can customize the appearance and behavior of the
ReportPageViewer component by
setting its attributes.
To display a report using the
ReportPageViewer component, you
must specify a report source. A report source is an object used by the
ReportPageViewer component to
access the properties of a report. It provides the
ReportPageViewer component with
the means to query for report data, page information, and other internal report
information.
You can customize the appearance of the
ReportPageViewer component by
setting various attributes. Some commonly used attributes include the
following:
toolPanelViewType
attribute
The tool panel appears on the left side of the
ReportPageViewer component and
can display the group tree or the parameter panel. The group tree is displayed
by default. You can set the
ReportPageViewer component to
display the parameter panel or to hide the tool panel by setting the
toolPanelViewType
attribute to
ParameterPanel or
None,
respectively.
displayToolbar
attribute
The Toolbar is the main method of report
navigation. It includes buttons to export, search, and page through the report.
By default, the
ReportPageViewer component
displays the Toolbar. You can disable rendering of the Toolbar or specific
components of the Toolbar, by setting the
displayToolbar
attribute or related attributes to false. For example, to display the Toolbar
but disable exporting, set the
displayToolbarExportButton to
false.


Configuring Simulations (1)
Once you have written a fist simulation, you can adapt it by modifying parameters, or you can increase the number of cells in your simulation and examine interactions between different cell types.
The Simulation class allows you to make many of those changes by simply modifying the its configuration object, which will be the topic of this tutorial. The next tutorial will show you how you can make even more advanced simulations by writing custom functions - but for now we will focus on changes you can make through configuration only.
We will start from this very simple simulation from the previous tutorial:
This tutorial assumes you have completed the previous tutorial, and we will
examine the config
object of the simulation you generated there in more detail:
let config = {
// Grid settings
field_size : [100,100],
// CPM parameters and configuration
conf : {
T : 20, // CPM temperature
// Adhesion parameters:
J: [[0,20], [20,100]] ,
// VolumeConstraint parameters
LAMBDA_V : [0,50], // VolumeConstraint importance per cellkind
V : [0,500] // Target volume of each cellkind
},
// Simulation setup and configuration
simsettings : {
// Cells on the grid
NRCELLS : [1], // Number of cells to seed for all
// non-background cellkinds.
RUNTIME : 500, // Only used in node
CANVASCOLOR : "eaecef",
zoom : 4 // zoom in on canvas with this factor.
}
}
We will now see how changes to this object can alter the simulation.
Configuring the CPM itself
First, let's see how we can control the CPM model class itself. For this lesson, we recommend you start from the HTML version of the simulation in the previous tutorial. This HTML version will allow you to see the effect of your changes more quickly than running a node script would.
Changing CPM parameters
As we've seen before, the config
object has three parts: the
field_size
, the conf
, and the simsettings
.
We will now look at the conf
part, which controls the CPM model itself.
// CPM parameters and configuration
conf : {
T : 20, // CPM temperature
// Adhesion parameters:
J: [[0,20], [20,100]] ,
// VolumeConstraint parameters
LAMBDA_V : [0,50], // VolumeConstraint importance per cellkind
V : [0,500] // Target volume of each cellkind
},
The CPM shown here has only two constraints: the
Adhesion and
Volume
constraints. The T
parameter belongs to the CPM itself and controls to
what extent the model "listens" to the energy rules it gets. The higher T, the more likely
the model is to misbehave.
Exercise :
Try some different values for T here, and see what happens with your simulation.
The other parameters here belong to the constraints. The J
values form
a matrix controlling the adhesion between cell and background. The $J_{00}$ value, which
is here 0, is never used (the adhesion constraint only counts adhesion between pixels
belonging to different cells, and since there is only one background "cell", there can
be no background-background adhesion). The $J_{01}$ and $J_{10}$ values (here 20) are
the adhesion between cell and background, and are important for this simulation.
The $J_{11}$ would be the adhesion between two different cells and is also not relevant
yet, since there is only one cell.
The V
and LAMBDA_V
parameters control the volume constraint,
see its documentation.
Exercises :
- Change the values in
J
, and try to make the cell fall apart. Do you understand why this happens? - How would you make the cell twice as big? Try it.
Finally, note that we can also add more different constraints to the model via the
conf
object. We'll do that in a later tutorial.
Setting a random seed
If you look at the simulation on the top of this page and then refresh a few times,
you should see that every simulation "run" goes a little differently. This happens because
the CPM is stochastic. If you don't want this, because you want someone else to be able
to reproduce exactly your results, you can try setting a random seed
:
// CPM parameters and configuration
conf : {
T : 20, // CPM temperature
seed : 1,
// Adhesion parameters:
J: [[0,20], [20,100]] ,
// VolumeConstraint parameters
LAMBDA_V : [0,50], // VolumeConstraint importance per cellkind
V : [0,500] // Target volume of each cellkind
},
Exercise :
Set a random seed in your simulation's HTML file. Refresh the page a few times and look what happens. What is different now?
Configuring the grid
Field size
Open your file MyFirstSimulation.html
from the previous tutorial in the web
browser. You should see a black cell floating inside a square gray area, which
is the field or "grid" the simulation runs in.
The size of this grid is controlled by field_size
in the config
object. The entry
// Grid settings
field_size : [100,100],
ensures that the simulation is performed on a 100 x 100 pixel (2D) grid. We can change
the size of this grid by changing the numbers x
and y
between
the square brackets: [x,y]
, where x
controls the grid's width
and y
controls its height. For example, changing this setting to:
// Grid settings
field_size : [150,100],
makes the grid slightly broader, but equally high as before.
Exercise :
How would you make a grid with a width of 100 pixels and a
height of 200 pixels? Open your file MyFirstSimulation.html
in your
favourite text editor, change the field_size
in the appropriate manner,
and save the file. Now open MyFirstSimulation.html
in your web browser
(or just refresh the page if you had already done so). Did it work?
Grid boundaries
Have a look at the following simulation:
When the cell leaves the grid on the right, we see that it re-enters on the left. We call this a grid with periodic boundaries. Because grid boundaries are linked, the cell feels as though it is roaming an infinite space.
In the CPM
object, the grid boundary conditions can be set through the
torus
property in the configuration object like this:
// CPM parameters and configuration
conf : {
T : 20, // CPM temperature
torus : [true,true],
// Adhesion parameters:
J: [[0,20], [20,100]] ,
// VolumeConstraint parameters
LAMBDA_V : [0,50], // VolumeConstraint importance per cellkind
V : [0,500] // Target volume of each cellkind
},
When torus=true
, this means that the grid boundaries are linked as in the
example above (this is also the default when we don't supply the torus
property in the configuration settings). If we don't want linked boundaries, we can
change this value to false:
// CPM parameters and configuration
conf : {
T : 20, // CPM temperature
torus : [false,false],
// Adhesion parameters:
J: [[0,20], [20,100]] ,
// VolumeConstraint parameters
LAMBDA_V : [0,50], // VolumeConstraint importance per cellkind
V : [0,500] // Target volume of each cellkind
},
However, what we get is not quite what we intended:
The problem here is that we can't just say that there are boundaries without telling the CPM how to deal with those boundaries. A pixel at the border of the grid will have fewer neighboring pixels to contribute to its adhesion or surface energy, which will give artefacts. In reality, any physical boundary a cell might encounter would contribute to adhesion energy.
To solve such problems, it is possible to create a layer of boundary pixels at the edges of the grid, to which the adhesion can be explicitly defined. See this example for details and implementation (once you see the simulation, right click on the page (outside of the simulation grid) and select "view page source" to see code).
Configuring the Simulation object
The Simulation object automatically takes care of many aspects of the simulation, such as seeding cells on the grid, running the simulation for a number of steps, drawing the output images and computing output statistics. We'll discuss how to tune some of these aspects here.
Have a look at the documentation for the constructor
of the simulation
class here.
All the options listed under simsettings
here are options to configure the
simulation, which we will discuss here.
Controlling the simulation
Using the option NRCELLS
, we can specify how many cells of each
CellKind we want to seed
on the grid at the beginning of the simulation. Note that this needs to be an array with
one element for each non-background cellkind on the grid. This means this array is one
element shorter than most typical CPM parameters (e.g. LAMBDA_V
) which are
specified for each cellkind including background. If the lengths of these
different arrays are not consistent with each other, the CPM will get confused about
how many cellkinds you want on the grid. It will crash.
By default, the simulation class seeds them in random positions. We'll discuss how
to seed cells in more customized locations in a later tutorial. But for now, try
modifying the NRCELLS
property of your simulation and see what happens.
The RUNTIME
property determines for how many Monte Carlo Steps (MCS) the
simulation will run. This property is actually only used by node simulations.
You can use the RUNTIME_BROWSER
property in the browser, but then you must
use that in your step()
function like this:
function step(){
sim.step()
meter.tick()
if( sim.conf["RUNTIME_BROWSER"] == "Inf" | sim.time+1 < sim.conf["RUNTIME_BROWSER"] ){
requestAnimationFrame( step )
}
}
This way, the simulation will only keep running until RUNTIME_BROWSER
is
reached. If we wouldn't do this, the browser simulation would just keep running infinitely
(or in practice, until your patience or your computer's battery runs out and you close
the browser window).
Controlling the visualization
The Simulation class contains a default method
drawCanvas()
that takes care of drawing the grid for you. You can control the way this function draws
the grid via the simsettings
object as well, by setting:
CANVASCOLOR
, the color code to draw the background in. If left unspecified, this is white ("FFFFFF""
).CELLCOLOR
, the color code to draw the cells in. If left unspecified, this is black ("000000""
). If you do wish to specify it, you must provide an array with a color for each CellKind just like we did for NRCELLS above. E.g. for one black and one red cell kind, that would be["000000","FF0000"]
ACTCOLOR
, whether or not to draw the activity gradient if the cells have an ActivityConstraint. If left unspecified, this is set tofalse
for each CellKind.SHOWBORDERS
, whether or not to draw the borders of each cell as well as their area. This isfalse
by default.BORDERCOL
, the color to draw the cell borders in, once more specified for each CellKind. This is only used wheneverSHOWBORDERS
is set totrue
.zoom
the factor by which to enlarge the image (note that using a higher zoom factor may slow down your simulation, since it takes more time to draw the grid in a larger image. If a simulation is fast enough, this won't be an issue, but if you notice your simulations being too slow you might want to adjust this factor).
For all the options involving color, this online color picker may come in handy.
Exercise :
Given all the information we have covered so far, can you reproduce a simulation that looks roughly like the one below?
Controlling outputs
The simulation class helps you by generating outputs automatically. This happens inside
the function createOutputs()
,
which does two things:
- Drawing things on the screen (browser version) or on an output PNG image (node version)
- Computing and logging statistics to the console (both versions)
In node, you can control the following aspects of the PNG images that are written:
SAVEIMG
, are any images saved at all? Defaults tofalse
;IMGFRAMERATE
, how often should an image be saved? Defaults to1
(save an image every simulation step), but you might set it to e.g.10
to save an image only once every 10 steps. This may significantly speed up your simulations since drawing images can be a speed bottleneck. Very often, drawing every step is not necessary to get a smooth movie in the end;SAVEPATH
, in which folder should images be stored? You have to make sure this folder exists, or you will get an error. Although this option is documented as "optional", this is only true because you don't have to give it whenSAVEIMG=false
. If you setSAVEIMG=true
, you must provide this option.EXPNAME
, a name used to generate the name of the output images. These will be stored as[SAVEPATH]/[EXPNAME]-t[STEP].png
. Defaults to"mysim"
.
Note that the options above only apply to node, since the browser version does not support
writing PNG images. If you want to make a movie from the browser version, just record your
screen. If you wish to change the IMGFRAMERATE
of your browser simulation,
you can adjust your step()
function (see also
this tutorial) to something like this:
function step(){
// Run IMGFRAMERATE simulation steps before rendering
for( let s = 0; s < config.simsettings.IMGFRAMERATE; s++ ){
sim.step()
}
requestAnimationFrame( step )
}
Note that
sim.step()
will still call
drawCanvas()
every
step, but the grid will only be rendered once every IMGFRAMERATE
steps. Since rendering is often the bottleneck, this will still speed up your simulation
most of the times.
The createOutputs()
also takes care of logging statistics to the console. By default, it logs the simulation
step, the cellID, the
CellKind, and the centroid
of every cell on the grid. To adjust this, you can overwrite this method, which we will
discuss in a later tutorial.
Two settings in the simsettings
object control the logging of statistics:
LOGSTATS
, specifying for browser and node separately whether statistics should be logged to the console. Defaults to{ browser: false, node: true }
;
LOGRATE
, specifying how often statistics are computed and logged. Defaults to1
(log every simulation step), but you might set it to e.g.10
to log only once every 10 steps.


Leaves Falling
A Chill in the Air
Ghouls Calling
A Frightful Scare
Pumpkin Spice
Trick-or-Treat
Turkey Slice
Football Suite.
By, Ayla Carpenter


Security Protocol
Security protocol, in general, supports the secure transfer of data to and from networked computers. In order to use Git with a team, it is important to understand these protocol to be able to perform server-related actions, such as cloning. While a number of security protocols exist , there are two main protocol you'll most often encounter:
HTTPS and SSH
The method you use when cloning down a repository will remain with that clone instance, unless you simply reclone using an alternative method or reconfigure the repository's URL on your local machine.
Click the right arrow for a brief overview of each...
HTTPS
HTTPS (Hypertext Transfer Protocol Secure) is a more secure extension of HTTP that has become very popular. Modern browsers, for example, often mark websites as secure or not based on whether the site uses HTTP or HTTPS. It uses public-private key cryptography to authenticate users. When using HTTPS, Git will by default always ask for a your password for server-related actions (e.g. push, pull, and clone). It is possible, though not recommended, to have Git store your credentials for you HTTPS is easier to set up than SSH, though it is generally a bad habit to enter your password frequently.
SSH
SSH also uses public-private key cryptography to authenticate users. Unlike HTTPS though, it does not use username/password for confirming user identity. In order to create SSH keys, you'll need to either enter ssh-keygen -t rsa from the command line or use a tool such as PuTTy for Windows. This process will create public and private keys. When using SSH with Git, you'll need to ensure you upload your public (NOT private) key to your server. Your private key should never be shared. These keys can be used for multiple different servers. If you change computers, you'll need to recreate keys. This process is cheap and easy though. It's often easier to just recreate keys than resolve a protocol error when performing server-related actions (pushes, pulls, clones, etc).


This diagram illustrates a floating image that overlaps the borders of one paragraph in normal flow: the paragraph borders are clipped by the non-transparent parts of the image. The second paragraph is forced below the float by the 'clear' property.
There are two paragraphs in normal flow, each surrounded by a red border. A left-floating image causes the final three lines of the upper paragraph to float along its right side. The paragraph borders shine through the margin area of the image box. The non-transparent part of the image content area clips them, however.
The second paragraph flows normally, starting below the image's bottom margin. Sufficient "clearance" is added above the top margin of the second paragraph, so that its border meets the bottom margin of the preceding paragraph.


My Movie List
New Movie
Name
Category
Action
Adventure
Animation
Comedy
Detective
Fantasy
History
Horror
Musical
Pirate
Romantic
SCI-FI
War
Western
Issue Year


A report from the course DA377B VT20
S01
Q: Did you before know about the techniques Git, GitHub, Markdown and/or GitHub Pages?
A: I did know about Git, GitHub. I've heard about Markdown, but i've did not knew about GitHub Pages
Q: Have you ever created websites before?
A: Yes we have created some websites before in previous courses. But we merely scraped the surface, so this is new territory for me.
Q: Briefly explain your experience and knowledge of web application development.
A: In our project course (Software Engineering 2) we created a website for our smarthouse. But this is the only time I've done a whole website,
I have created some minor websites when we learnd about restfulAPI, but in that course the focus was on creating restfulAPIs and not websites.
Q: What is your TIL for this course section?
A: Today I learned about GitHub pages which was really cool. I also learned some basics html which is always nice.
S02
Q: Have you any previous experience of HTML, CSS and/or JavaScript?
A: Yes from when we did our smartHouse project we worked with vue.js, where we used HTML, CSS and JavaScript
Q: Explain the role of HTML, CSS and JavaScript in web development.?
A: HTML provides the basic structure of sites, which is enhanced and modified by other technologies like CSS and JavaScript. CSS is used to control presentation, formatting, and layout. JavaScript is used to control the behavior of different elements.
Q: Give a brief explanation of how the browser, the HTTP protocol and the web server interacts.
A: The browser initiates a TCP connection to the webserver or server pool (using port 80 by default) through its IP address as published in DNS. As part of this process, the browser also makes DNS lookup requests to convert the URL to an IP address.
After the server completes the acknowledgment of its side of the TCP connection, the browser sends HTTP requests to the server to retrieve the content.
Q: What is your TIL for this course section?
A: Today I learned about how to effecivly add images to your website and also how to copy files from a forked GitHub repo.
S03
Q: Do you have any previous experience of client side JavaScript?
A: Yes, I have done a project with vue.js before which is an open-source Model–view–viewmodel JavaScript framework
Q: Can you compare and relate the JavaScript language to any other language you know?
A: The language I'm most comfortable with is Java, and even thouhghb JavaScript maybe not relate to it so much if you compare it to other language it still has alot of the same syntax. But as I mentioned before vue.js is a language which really could be compared to JavaScript.
Q: Describe how you worked with the coding exercise, what grade do you aim for and how did your code turn out to be?
A: For this exercise I aimed for the grade 5 and the code turned out really well actually, exactly how I wanted it. I worked with this exersice for a whole day and put some effort into it to be able to fetch the correct municipality
Q: What is your TIL for this course section?
A: In this section I've learned a lot more about CSS and JavaScript. When it comes to CSS I feel like I can more quickly create the design I want. Also learned about xampp
S04
Q: Tell me about your previous experience on node/npm or any equal programming tools.
A: As previously mentioned, I have done a project with vue.js before which is an open-source Model–view–viewmodel JavaScript framework and in that project we worked with node/npm
Q: How do you feel about working with JavaScript, Node and Express?
A: I enjoy it very much, I think it is quite easy to understand what is going on and how to implement the correct solutions, even though it's going great I still learn alot for every new assignment, which is great.
Q: Explain how you did take on the coding assignment, did you have a plan and did it work?
A: I just followed the instructions and worked my way from the bottom, and it worked out pretty well.
Q: What grade did you aim for and was it a difficult level?
A: For this exercise I aimed for the grade 3, because i knew my time was limited this week, will try to get to a higher grade for later. But for now a 3. For a the level 3 i did not think it was very difficult.
Q: What is your TIL for this course section?
A: I learned more about using Node and express. I improved my JavaScript skills even further. I also learned some more about the routing of the different pages.
S05
Q: How do you feel about PHP as a programming language?
A: I actually really enjoyed it as a back-end-language. It was quite easy to grasp right from the start and it is a language that I want to learn more about
Q: Can you compare PHP to other languages you know?
A: From my own experience there isn't really another programming language that I have used that looks or feels like PHP, as stated Java is the one that I'm most experienced with, and of course they are both server-side-languages, but other than that there is no other ressemblance that I can think of. If anything the syntax looks more like JavaScript in terms of that you dont have to declare the type when creating variables
Q: Describe how you took on the coding exercise, what grade did you aim for and are you satisfied with the result?
A: For this exercise I looked a lot a your videos and worked my way from the bottom to structure the code in a correct way. Starting with creating the database. I aimed for the grade 3, because i knew my time was limited this week, will try to get to a higher grade for later.
Q: What is your TIL for this course section?
A: The most important thing i learned was using PHP and database
S06
Q: What is your own opinion on popularity of programming languages and what are your thoughts of future popularity among programming languages?
A: my own opinion on popularity of programming languages is that the most populare ones are the ones that has been around for some time like Java or all the C languages like C+, C++ and somewhat C#. For the future I think the easier the language is to grasp the more popular it will be. As we can see with python which is a easy script-language to understand(but hard to master) and is very fast growing.
Q: What will be your own choice for selecting future programming languages?
A: When I focus on which programming language to learn more about I must enjoy working with it to be willing to really dig deep into it. And also I always look at job advertisment to see what they require and which language that is the most requested.
Q: Do your own investigation on https://trends.google.com (Links to an external site.) to customize your own comparison on programming languages (or frameworks) and elaborate on the results.
A: I decided to compare Java with C++, because of they are both to old giants in the industry. And what i could see which was a bit of a surprise was that they both looked very stable the last 12 month. C++ even hade some upward curve in the graph.
Q: If you were to recommend a language/framework/technology to your potential employer and your next large project, what would it be and how would you “sell it”?
A: of course it depends on the project. But if that is a factor that does not matter in this case then I would recommend some kind of JavaScirpt framework, because there is a lot of manpower out there with a lot of knowledge in the language.
Q: What is your TIL for this course section?
A: I learned that even if there comes up some new buzzwords or some new populare languages, the old ones are still going steady and are still widely used with no signs of stepping down.
S07
Q: Try to explain the platform .NET (C#, ASP.NET) to a skilled programmer, but newbie to this Microsoft technology.
A: ASP stands for Active Server Pages, ASP is a development framework for building web pages. ASP.NET is ahigh-performance, open-source framework for building modern, cloud-based, Internet-connected applications. C# is intended to be a simple, modern, general-purpose, object-oriented programming language.
Q: Elaborate by comparing .NET technologies with the other technologies we learned during the course.
A: To start of I think this section with the .Net technologies was the hardest section to grasp if I was to compare it with the other ones. There was a lot of things going on in the background a lot of things that was auto generated and a lot of templates. So for a newbe with the .NET technologies it was sometimes hard to keep up.
Q: Describe how you took on the coding exercise, what grade did you aim for and are you satisfied with the result?
A: I aimed for the grade 3. For this exercise i started with the console wich i thought was a lot easier than the webapplication. I think that is because we are used to do console applications from our time working with Java. The web application was a lot harder and took some time to really get it to work. But in the end I'm happy with the result.
Q: What is your TIL for this course section?
A: The TIL for this course section would be everything that has to do with the .NET technologies because of how new this territory was for me.
S08
Group members: Elias Magnusson
Websites chosen: Facebook, Twitter, LinkedIn
I chose these websites because they are very similiar in their content. So it will be interesting to compare them.
Findings and elaboration
The best of the three websites was definitely Twitter, it loaded the fastest, and performed best on almost every aspect. LinkedIn was not very far behind, as it also was a quick and good website. Facebook on the other hand, was not very close to the other two websites. It was a slow website compared to them. I used pagespeed to see the biggest problems of the websites and how to solve them. And there I was able to see why Facebook was performeing so badly, the bad performance is directly linked to all the advertisment on the website. The website handle the loading of the advertisment images in a bad way, which seems very surprising for a website like Facebook. Facebook also had was also told to 'Avoid an excessive DOM size' which could increase memory usage, and cause longer style calculations, and the website had alot of excessive DOM size. So thet should Avoid an excessive DOM size.
Down below you can see the documented data from Facebook, Twitter, LinkedIn
What is your TIL for this course section?
I learned how to compare and analyse different websites.
S09
One concern i often have that is related to the OWASP top ten is the 'Sensitive Data Exposure'. A lot of applications/services wants a lot of data when you are signing up for/to them, but my concern is if all of this applications that takes my information really have the proper security to protect all my sensetive data.
Another concern i often have that is related to the OWASP top ten is when I develop some software and also always have to thinks about the security. I might feel like a competent developer, but my strength isn't security. So number 6 'Security Misconfiguration' is something that i really can relate to.
'Broken Authentication' is another one from OWASP top ten that I as a developer can relate to, it is extreamly important to configure Application functions related to authentication in a correct way.
My guidelines to follow to create secure web applications would be take your time to focus on the security within the application. Another tip would be to always use Https insted of http because it's more secure. Another way to easy enhance the security would be to use multi-factoring authentications.
My TIL for this assignment is that I have learned about the top ten security issues in web programming.
S10
The different programs and techniques I've been using during this project is Visual Studio Code, GitHub, MySQL, GearHost for hosting the server. The languages that we used was mainly PHP and JavaScript. Me and Delay worked in a agile way, we used the "Issue"-section on GitHub to split upp our work and to assign different Issues to ourself. The biggest problem I had during the project was with a specific API that we wanted to use, and unfortunately we could not solve it because it was a matter of authentication to the specific API, we did not think that we needed to autheticate so after a while we decided to just go with another way. I really enjoyed working with this project and I have really developed my PHP-skills during this project. Some part of the project was very basic of course and somethings was quite hard, it often comes down to what you have done before and what you never done before. I think it was a very reasonable project for this course and good thing that it was quite free to decide on your own how you wanted to implement it. I have to say that our teamwork has been great and both part took big responsibility during the whole project.
I really liked the course, I have developed a lot of skills during this course. The guide and the material was very clear and usefull. I would recommend this course to others. My feedback and suggestions for the future is that there might be a little to much different techniques in the course, like I really developed my skill in javascript and PHP, but i might didn't learned as much as i wanted when it came to asp.NET maybe, in my opinion you had to choose what you want to focus on because there was so many diffrent techniques, but that is OK for me. I will deffenitly take up the asp.NET later now that i know the basics.
My TIL for this course is every technique that we have used, as I mentioned i have developed some skills more than others. The skills that I have developed the most is JavaScirpt and PHP.


array array_flip ( array $trans )
array_flip() returns an array in flip order, i.e. keys from trans become values and values from trans become keys. Note that the values of trans need to be valid keys, i.e. they need to be either integer or string. A warning will be emitted if a value has the wrong type, and the key/value pair in question will not be flipped. If a value has several occurrences, the latest key will be used as its values, and all others will be lost.
Returns the flipped array on success and NULL on failure.


From a comment in my last post I looked at FileSystemView as an alternative to LocalFS. FSView certainly feels cleaner, but I'm not 100% sure... here's my initial thoughts:
My conclusion: unless I'm missing something, it's mostly a wash (at least given the development I've already done on LocalFS). FileSystemView may have more of a future; it's not even clear who is developing LocalFS at this point (though I assume the SF project is defunct). FSView avoids some of LocalFS's complications by being read-only; of course, filesystem permissions can make LocalFS thoroughly read-only too, avoiding some potential problems. FSView's policy of looking in Products annoys me -- it might make sense in the context of CMF or some other system or company, but it makes it more difficult to adapt to our local conventions. I dislike putting policy into code; internally to an organization it's probably good, but for public code it's a burden.
There was also a suggestion to use APE. APE is a much larger project, but also seems to be pretty actively developed. In the past it didn't seem that compelling to move stuff out of the ZODB and into a database or filesystem if the objects were still opaque. But apparently it has custom mappings for some types (probably all the types I'm interested in), which would presumably make the files pretty transparent.
Unfortunately APE requires Zope 2.7, and we're using Zope 2.6 here. There's more and more reasons we need to upgrade to 2.7... but anyway, both LocalFS and FileSystemView work fine with 2.6, and I don't want to delay this by adding another task to the mix -- I'd rather switch products later than delay moving code into the filesystem/repository. Ideally the product will allow the logical placement of code on the filesystem, so that moving to a different product won't be too complicated.
Then, just now, I get a suggestion for zfolder2product. This also requires Zope 2.7, and seems to dump ZODB objects to the filesystem, then allow you to put them back into the ZODB from those files -- the object that recreates those ZODB objects is the "product" you create. I suspect the synchronization is less transparent than LocalFS or FSView (which are basically live views of the filesystem), but I'm not able to try it yet.
Actually, the one thing I'm worried about is security, something that has always made me uncomfortable in Zope (part of the nature of its pervasive object publishing metaphor). FSView doesn't allow permissions to be set at all (below the root folder), and LocalFS does but it lies -- it forgets all settings. This might be something to I can hack onto LocalFS, but it makes me uncomfortable, and my initial experiments have been painful (I blame Acquisition once again... blast you Acquisition, you are my nemesis!)
I suspect APE supports security restrictions and all those other possible annotations well, and zfolder2product can probably support it with a little work because of its imperative nature (you could just add another task to the end of the ZODB-object-creation step that fixes up the permissions).
APE saves everything - permissions, properties, source, etc, since it is a ZODB storage layer and not some magic folder or object that reads and writes things it knows to the file system. So everything gets saved. When it serializes an object, it goes through a chain of objects that can store different pieces of it, and an event tracks what persistent attributes have been dealt with. So something with properties uses the properties serializer which writes the properties to a file (or RDBMS table, etc) in a usable format, and marks those attributes as having been dealt with. Then the next serializer might be the one responsible for storing permission settings (since those are also persistent attributes). The next might serialize the text source (Python Script, ZPT Page, etc) or binary source (file, image), etc. If after all of these serializers have been used and there are still persistent attributes remaining that haven't been stored or marked as used yet, those get written out in a pickled format. Changes made on the file system, or new files added in the file system, get picked up immediately. And because it's a ZODB storage, nothing changes in how you interact with the object in the ZMI.
My terminology and specifics about how it works may not be 100% correct, but that's my understanding of how it worked as of Ape 0.7. Since 0.7, the design has actually been simplified.
Ape 0.7 worked with Zope 2.6, and I think I still have a copy of it. Or maybe it was Ape 0.6. If you're interested, I've put those old copies online at toulouse.share.
If I recall correctly, things did get a little funny when CVS was installed (basically because all of the CVS directories and their contents show up in Zope). But it worked really really well for dumping a site to the file system, editing it on the file system, and then even copying it back into a regular FileStorage based area of the ZODB - it did it all transparently, and nothing was lost.
Thanks -- I'm trying it out now. It seems like it creates an ini file for the properties; a boring example script called test gives me a test.py file and a .test.py.properties file that looks like:
[classification] class_name=Products.PythonScripts.PythonScript.PythonScript [security] local-role role="Owner" username="ianb"That seems pretty workable. You have to edit a configuration file to make new directories available, so it can't be done purely through the ZMI (and I suspect requires a server restart).
It looks like a pretty good basis for putting legacy ZODB code into a repository, without having to mess with the code (which would make us unwittingly turn legacy code into current code, which is what we're trying to avoid ;)


Breadcrumbs are a navigational landmark that let the user discover their current position in the site hierarchy and provide a means to navigate upwards through that hierarchy.
Typically, the last breadcrumb is the current page, therefore that link's href attribute is not relevant and can be removed.
If the last breadcrumb is not the current page, then that link must have a valid href.
Anchor tags can be replaced with buttons if the hierarchy is not intended to be deep linkable. This is a rare & unlikely scenario - therefore please exercise caution!
Long breadcrumbs can arise due to any combination of small screen sizes, large category names and language translations. In these situations the breadcrumbs will need to get an overflow treatment in the second node with an overflow button and menu items.
If there are 4 or more nodes for breadcrumbs, an overflow on node 2 should be used instead of various additional nodes between that node and the final one. The list of items in the overflow menu should include content from node 2 until last node minus 2 nodes so that there are always 4 nodes on screen including the overflow button node. You cannot show more than 3 breadcrumbs + overflow, or 4 breadcrumbs. The minimum amount to show is 1 leading item, overflow, and the current page you are on.
Additionally, to account for smaller screens, there is a maximum width limit on each node label. Please check the CSS for details (not specified here intentionally to avoid doc/code misalignment).
{% highlight html %} {% endhighlight %}


Links to connect to other pages
Html Pages
lists page
Heading Page
Sub script page
Basic title page
New tab instead of going directly to the site
html Css include page
Html Int page
Line Break page
Txt Info Summary page


12 December 2012 - The Ministry of Health of the Republic of Congo is launching an emergency mass-vaccination campaign against yellow fever in Ewo District in Cuvette-Ouest region, beginning next week.
The emergency vaccination campaign aims to cover approximately 35,000 people in three health districts of Mbama, Ewo and Okoyo, all of which belong to the administrative district of Ewo.
The emergency vaccination campaign is being carried out after recent confirmation of a case with yellow fever virus infection that occurred in October 2012. The case was identified through the national surveillance programme for yellow fever.
Laboratory confirmation was done at Institut National de Recherche Biomédicale Kinshasa (INRB), and reconfirmed by a WHO regional reference laboratory for yellow fever, Institut Pasteur, Dakar, Senegal.
The vaccination campaign is being supported by the International Coordinating Group on Yellow Fever Vaccine Provision (YF-ICG1), the GAVI Alliance and the European Commission’s Humanitarian Aid and Civil Protection Department (ECHO).
1 The YF-ICG is a partnership that manages the stockpile of yellow fever vaccines for emergency response on the basis of a rotation fund. It is represented by United Nations Children's Fund (UNICEF), Médecins Sans Frontières (MSF) and the International Federation of Red Cross and Red Crescent Societies (IFRC) and WHO, which also serves as the Secretariat. The stockpile was created by GAVI Alliance.


The Jets running back expressed frustration Wednesday after claimingthe league has randomly drug tested him five times in the past 10 weeks. Bell said he's not going to cooperate if he gets tested again.
MORE: Tua drops out of first round in 2020 NFL Mock Draft
Bell responded to a few other people who tweeted at him, staying strong in his stance that he won't participate in another test. One user told him the NFL "is petty" and will test him a sixth time just because of Bell's tweet. The running back responded, "and I won't be doin it."
He also pushed back on the notion that he was being tested for drugs like marijuana. He's had previous issues with the league's substance abuse policy, serving a two-game suspension in 2015 and a three-game suspension in 2016.
While Bell's anger is understandable, it could also result in serious consequences. He's unlikely to face punishment for the tweet itself, but him saying, "I’m not doing another after today" could be an issue in the future.
A copy of the NFL and NFLPA's agreement of the policy for performance-enhancing drugs clearly states that players unwilling to participate are subject to discipline. The policy states, "Players who fail to [appear for testing]without a valid reason as determined by the Independent Administrator will be subject to discipline."
Thatdiscipline includes, according to the policy:
- First-time offense: Fine up to $25,000
- Second-time offense: Fine of two week's pay
- Third-time offense: Four-game suspension without pay
Of course, Bell will need to be tested again at some point this season before we worry about any of that.


· Added $version variable in version.h
·
Version code in splayer.cpp
· Enhanced menu support.
· Pop-up (right mouse button) menu support.
· Documentation.
· Minor cleanup and bugs.
· Sound. Implemented and documented.
· Cut and Paste support, for both Unicode and ASCII
· Switched from bool back to BOOL. There were too many problems with native support of bool – a better solution on many fronts.
· Assorted bugs.
· Some code cleanup.
· Streaming. An interface for files streaming is implemented. The interface mimics the Netscape calls in order to provide a common reference point for both plug-ins and stand alone players. The streaming interface is a part of the NativePlayerWnd class.
· File.h and File.cpp removed. Deprectated as a result of the new streaming interface.
· Edit Text is now restored and implemented as core code.
· Bugs in the control menu and MenuStatus structure are fixed.
· Window redraw code is fixed. The window is no longer completely redrawn with every frame.
· Fixed size windows tested and documented.


Class Strings
- java.lang.Object
-
- com.shawnclake.morgencore.core.component.Strings
-
public class Strings extends java.lang.Object
Helper string methods todo: move the line break regex into the symbols class and then reference it here
-
-
Constructor Summary
Constructors Constructor Description Strings()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
countOccurrences(java.lang.String haystack, char needle)
Counts the number of occurences of a char within a string Taken from Jon Skeets answer from https://stackoverflow.com/questions/275944/java-how-do-i-count-the-number-of-occurrences-of-a-char-in-a-stringstatic java.util.ArrayList<RegexResult>
getMatches(java.lang.String text, java.lang.String regex)
Returns all the RegexResult objects for regex matches within a stringstatic boolean
isNumeric(java.lang.String str)
Taken from CraigTP's answer on StackOverflow https://stackoverflow.com/questions/1102891/how-to-check-if-a-string-is-numeric-in-java Does not work for numbers that are negative or decimalsstatic boolean
isNumericInternational(java.lang.String str)
Taken from CraigTP's answer on StackOverflow https://stackoverflow.com/questions/1102891/how-to-check-if-a-string-is-numeric-in-javastatic boolean
isNumericRegex(java.lang.String str)
Taken from CraigTP's answer on StackOverflow https://stackoverflow.com/questions/1102891/how-to-check-if-a-string-is-numeric-in-java Works for negative and decimal numbers but not internationalstatic void
printMatches(java.lang.String text, java.lang.String regex)
Prints to console the occurences of each regex match within a string of text Taken from Jean Logeart's answer from https://stackoverflow.com/questions/8938498/get-the-index-of-a-pattern-in-a-string-using-regexstatic java.lang.String
removeLineBreaks(java.lang.String string)
Removes all line break characters from a supplied stringstatic java.lang.String
splitCamelCase(java.lang.String s)
Takes a String s in camel class and splits it by injecting a space Taken from polygenelubricants answer on https://stackoverflow.com/questions/2559759/how-do-i-convert-camelcase-into-human-readable-names-in-javastatic java.lang.String
splitCamelCase(java.lang.String s, java.lang.String replacement)
Takes a String s in camel class and splits it by injecting the supplied replacement Taken from polygenelubricants answer on https://stackoverflow.com/questions/2559759/how-do-i-convert-camelcase-into-human-readable-names-in-java
-
-
-
Method Detail
-
splitCamelCase
public static java.lang.String splitCamelCase(java.lang.String s)
Takes a String s in camel class and splits it by injecting a space Taken from polygenelubricants answer on https://stackoverflow.com/questions/2559759/how-do-i-convert-camelcase-into-human-readable-names-in-java- Parameters:
s
-- Returns:
-
splitCamelCase
public static java.lang.String splitCamelCase(java.lang.String s, java.lang.String replacement)
Takes a String s in camel class and splits it by injecting the supplied replacement Taken from polygenelubricants answer on https://stackoverflow.com/questions/2559759/how-do-i-convert-camelcase-into-human-readable-names-in-java- Parameters:
s
-- Returns:
-
removeLineBreaks
public static java.lang.String removeLineBreaks(java.lang.String string)
Removes all line break characters from a supplied string- Parameters:
string
-- Returns:
-
countOccurrences
public static int countOccurrences(java.lang.String haystack, char needle)
Counts the number of occurences of a char within a string Taken from Jon Skeets answer from https://stackoverflow.com/questions/275944/java-how-do-i-count-the-number-of-occurrences-of-a-char-in-a-string- Parameters:
haystack
-needle
-- Returns:
-
printMatches
public static void printMatches(java.lang.String text, java.lang.String regex)
Prints to console the occurences of each regex match within a string of text Taken from Jean Logeart's answer from https://stackoverflow.com/questions/8938498/get-the-index-of-a-pattern-in-a-string-using-regex- Parameters:
text
-regex
-
-
getMatches
public static java.util.ArrayList<RegexResult> getMatches(java.lang.String text, java.lang.String regex)
Returns all the RegexResult objects for regex matches within a string- Parameters:
text
-regex
-- Returns:
-
isNumericRegex
public static boolean isNumericRegex(java.lang.String str)
Taken from CraigTP's answer on StackOverflow https://stackoverflow.com/questions/1102891/how-to-check-if-a-string-is-numeric-in-java Works for negative and decimal numbers but not international- Parameters:
str
-- Returns:
-
isNumericInternational
public static boolean isNumericInternational(java.lang.String str)
Taken from CraigTP's answer on StackOverflow https://stackoverflow.com/questions/1102891/how-to-check-if-a-string-is-numeric-in-java- Parameters:
str
-- Returns:
-
isNumeric
public static boolean isNumeric(java.lang.String str)
Taken from CraigTP's answer on StackOverflow https://stackoverflow.com/questions/1102891/how-to-check-if-a-string-is-numeric-in-java Does not work for numbers that are negative or decimals- Parameters:
str
-- Returns:
-
-


The requested URL /mirror/wikimedia.org/dumps/commonswiki/20190801/notfound was not found on this server.


Current Balance
$200
Savings
$100
Rewards
200
Available
$300
| Month | Spend | Savings | Rewards | Savings-Rank | Reward-Rank |
|---|---|---|---|---|---|
| September | $2000 | $300 | 200 | 1 | 2 |
| October | $1800 | $800 | 300 | 2 | 2 |
| November | $2100 | $1000 | 100 | 1 | 1 |
| Month | Spend | Savings | Rewards | Savings-Rank | Reward-Rank |
|---|---|---|---|---|---|
| September | $2000 | $300 | 200 | 1 | 2 |
| October | $1800 | $800 | 300 | 2 | 2 |
| November | $2100 | $1000 | 100 | 1 | 1 |


File
New
Properties
Clear
Import
Export *.fold
Export *.svg
crease
uncrease
flip
between points
point to point
edge to edge
bisect sector
pleat
rabbit ear
kawasaki collapse
perpendicular
ray modifier
Reflect
Stop
None
segment modifier
full page
segment
pleat modifier
Pleats
perpendicular modifier
full page
segment
line selection
crease
grid
perpendicular
parallel
through
point selection
endpoint
grid
midpoint
on
none
FLAT FOLDED
New Crease Pattern
Shape:
square
rectangle
right triangle
isosceles triangle
regular polygon
Dimensions:
sides
Cancel
OK
Properties
Name:
Grid:
none
square
rectangular
diagonal
isometric
parallelogram
rhombic
isosceles
triangular
custom
Dimensions:
Angle:
Vectors:
Origin:
Triangulate:
no
yes
Symmetry:
none
book
double-book
diagonal
double-diagonal
octagonal
rotational
tile
custom
Order:
Center:
Tile:
Point:
Vectors:
Cancel
OK


Update Required
To play the media you will need to either update your browser to a recent version or update your Flash plugin.
Gcast | Podcast Player for jPlayer
Gcast | jQuery Podcast parser for jPlayer ( XML RSS media )
For jPlayer with the jPlaylist addon
Real music site with Gcast Podzic - Electronic music
DropDown load Podcast Playlist:
-------------------------------------
-------------------------------------
-------------------------------------
Features
- Play all podcast XML RSS with media (audio|video) : ogg, mp3, m4a, m4v, mp4,
- Compressed Gcast is only 1.43kb.
- Show podcast poster.
- You can load any playlist with jQuery.
- Use Google Feed Api.
How to use Gcast
player: myPlaylist: The playlist namevar myPlaylist = new jPlayerPlaylist({...}
url: podcast-url
limit: 5: Default 20
$.gcast({
player: myPlaylist
url: 'http://feeds.feedburner.com/tiestos_club_life',
limit: '10'
});
Load playlist with Drop down
<select id="drop-playlist"> <option value="">Select Podcast</option> <option value="http://feeds.twit.tv/twit" selected>This Week in Tech</option> <option value="http://downloads.bbc.co.uk/podcasts/worldservice/globalnews/rss.xml">BBC News</option> </select>
Drop down playlist example
$("#drop-playlist").change(function () {
$.gcast({url: this.value, player: myPlaylist});
});
Quick start
Clone the repo, git clone git://github.com/onigetoc/gcast.git
.
Bug tracker
Have a bug? Please create an issue here on GitHub.
https://github.com/onigetoc/gcast/issues
Author
Gino Cote
Copyright and license
The MIT License is simple and easy to understand and it places almost no restrictions on what you can do with Gcast.
http://opensource.org/licenses/mit-license.php


Reports instance methods whose names are too short, too long, or do not follow
the specified regular expression pattern. Instance methods that override library
methods are ignored by this inspection.
Use the fields provided below to specify minimum length, maximum length and regular expression expected for instance method names.
Regular expressions should be specified in the standard java.util.regex format.


--- title: Additional Helper Functions keywords: fastai sidebar: home_sidebar summary: "Miscellaneous functions reused across the toolbox to carry out simple numerical operations" description: "Miscellaneous functions reused across the toolbox to carry out simple numerical operations" nb_path: "Miscellaneous_Helper_Functions.ipynb" ---
Note: A few helper functions included in the MATLAB version of the PCIT toolbox are not present here. When it comes to numerical helper functions logsumexp.m
and round_to.m
, this is because a Python version of the function is already included in a required scientific programming library such as scipy
or numpy
. When it comes to visualization helper functions savesamesize.m
and jbfill.m
, it's because equivalent Python functions are either unnecessary or not applicable in the context of matplotlib
's library. In either case, equivalent functionality is achieved without implementation of an additional toolbox function.
This function implements the $\beta_1$ likelihood-ratio test described in Section 4.10 of the P-CIT Toolbox Manual.
If we want to build confidence that this function is an exact reproduction of the MATLAB implementation, we can ask whether our version returns (-20, 1)
for the arguments (l1=10.0, l0=20.0, k1=8.0, k0=5.0)
as the MATLAB version does:
likratiotest(l1=10.0, l0=20.0, k1=8.0, k0=5.0)
(-20.0, 1.0)
As an example, we can generate and visualize the result of applying the function to some arbitrary paremeters:
import matplotlib.pyplot as plt
# generate a sample
sample = truncated_normal(a=.7, b=1.3, mu=1.0, sigma=.1, n=10000.0)
# visualize its distribution
n_bins = 100
plt.hist(sample, bins=n_bins)
plt.title('truncated_normal(a=.7, b=1.3, mu=1.0, sigma=.1, n=10000.0)')
plt.savefig('figures/truncated_normal_example.svg')
plt.show()
sample
array([0.88296168, 1.22801193, 0.8565991 , ..., 0.87280798, 1.09364587,
0.96110738])
As an example we can execute the function with a few arbitrary parameters:
scale_data([8.3256, 1000.0, 23.0, 564.0], 0, 1)
As specified, it returns the vector scaled between 0 and 1.
array([[0. , 1. , 0.0147976 , 0.56033956]])
Notably, the output is 2-dimensional rather than a vector; this enforces consistency in the shape of the function's output regardless of the shape of the input. It also helps ensure compatibility with other code translated from the MATLAB implementation of the toolbox.


RSVP
Name
Enter your full name
Email
Enter a valid email address
Attendence
Attending
Not Attending
Let us know if you are able to attend our wedding
No. of tickets
Let us know how many seat(s) you need (maximum of 8)
RSVP


ledmon
Section: Intel(R) Enclosure LED Monitor Service (8)Updated: February 2012
Index Return to Main Contents
NAME
ledmon - Intel(R) LED monitor service for storage enclosures.SYNOPSIS
ledmon [OPTIONS]DESCRIPTION
The ledmon application is a daemon process used to monitor a state of software RAID devices (md only) or a state of block devices. The state is visualizing on LEDs associated to each slot in an enclosure or a drive bay. There are two types of system: 2-LEDs system (Activity LED, Status LED) and 3-LEDs system (Activity LED, Locate LED, Fail LED). This application has the highest priority when accessing the LEDs.The ledmon application uses SGPIO and SES-2 protocol to control LEDs. The program implements IBPI patterns of SFF-8489 specification for SGPIO. Please note some enclosures do not stick close to SFF-8489 specification. It might happen that enclosure processor will accept IBPI pattern but it will blink LEDs not according to SFF-8489 specification or it has limited number of patterns supported.
LED management (AHCI) and SAF-TE protocols are not supported.
There's no method provided to specify which RAID volume should be monitored and which not. The ledmon application monitors all RAID devices and visualizes their state.
The ledmon application has been verified to work with Intel(R) storage controllers (i.e. Intel(R) AHCI controller). The application might work with storage controllers of other vendors (especially SAS/SCSI controllers). However storage controllers of other vendors have not been tested.
The ledmon application is part of Intel(R) Enclosure LED Utilities. Only single instance of the application is allowed.
OPTIONS
- -c or --config=path
- Sets a path to local configuration file. If this option is specified the global configuration file and user configuration file has no effect.
- -l or --log=path
- Sets a path to local log file. If this option is specified the global log file /var/log/ledmon.log is not used.
- -t or --interval=seconds
- Sets time interval between scans of sysfs. The value is given in seconds. The minimum is 5 seconds the maximum is not specified.
- --quiet or --error or --warning or --info or --debug or --all
- Verbose level - 'quiet' means no logging at all and 'all' means to log everything. The levels are given in order. If user specifies more then one verbose option the last option comes into effect.
- -h or --help
- Prints this text out and exits.
- -v or --version
- Displays version of ledmon and information about the license and exits.
FILES
- /var/log/ledmon.log
- Global log file, used by ledmon application. To force logging to user defined file use -l option switch.
- ~/.ledctl
- User configuration file, shared between ledmon and all ledctl application instances.
- /etc/ledcfg.conf
- Global configuration file, shared between ledmon and all ledctl application instances.
LICENSE
Copyright (c) 2009 Intel Corporation.This program is distributed under the terms of the GNU General Public License as published by the Free Software Foundation. See the build-in help for details on the License and the lack of warranty.
BUGS
The ledmon application does not recognize PFA state (Predicted Failure Analysis), hence the PFA pattern from SFF-8489 specification is not visualized.SEE ALSO
ledctl(8), ledctl.conf(5)AUTHOR
This manual page was written by Artur Wojcik<EMAIL_ADDRESS>It may be used by others.
Index
This document was created by man2html, using the manual pages.
Time: 05:34:27 GMT, December 24, 2015


I advise ACO, the Lighthouse, and work through the Office of Spiritual and Religious Life. I'm an Allegheny grad (1998), mother and wife, and have been serving students on campus for 20 years through the CCO.
Major: Neuroscience
Minor: Religous Studies
Class Standing: Senior
Major: Theater + Integrative Informatics
Minor: Economics
Class Standing: Senior
Major:
Neuroscience
Minor: Economics
Class Standing: Sophomore
Major: English
Minor: Psychology
Class Standing: Senior
Major: English
Minor: Spanish + Education
Class Standing: Junior
Major:
Biology + Environmental Science
Minor: Spanish
Class Standing: Junior


{% extends "base.html" %} {% block title %}About || {{ block.super }}{% endblock title %} {% block content %}
When the time came to choose classes among many alternative electives and even more sections, I always struggled to build the perfect schedule. So I decided to write a program to show me a list of possible schedules given the constraints (mandatory sections and such). Then I decided to take it to the next by including a user interface, and I wanted to get into web programming, so this project was born. With this application you can select all the classes you have to take and add some electives, and you will be shown all the possible schedules. All you will have to do is select your favourite schedule and you will be given the CRN's you need to enter to your school's registeration system.
I am a student enrolled in a Dual-Diploma Program by Istanbul Technical University and Binghamton University. I am currently a senior majoring in Computer Science. You can access my personal website here.


Play
Pause
Stop
CR-78
TR-909 Detroit
TR-909 SP
MRK-2
TR-505
LM-2
Pearl Master Studio
Measure length
BPM
Detune / Tune
Enabled gain
Init gain
Max gain
Attack time
Sustain time
Release time
Enabled delay
Delay
Filter
Save as
Get JSON
Delete selected


[gecode-users] Linking Error when building Example in VC 2008
Jeffrey
jeffreym9 at yahoo.com.hk
Wed Dec 24 13:03:10 CET 2008
I'm a new Gecode user.
I've tried to build the example in Visual Studio 2008 platform.
I've added the Gecode\lib as the library directory and set linker to link all the nine library including GecodeSupport.lib.
It compiles with no error but carries 4 errors when trying to link the SizeOptions class.
Error 1 error LNK2001: unresolved external symbol "public: void __thiscall SizeOptions::parse(int &,char * * const)" (?parse at SizeOptions@@QAEXAAHQAPAD at Z) LeagueSchedule.obj LeagueSchedule2
Please help.
Is there anyone tried to build the example on visual studio 2008? could you share your project with me?
Big thanks!!!!
Regards,
Jeffrey
Yahoo!香港提供網上安全攻略，教你如何防範黑客! 請前往 http://hk.promo.yahoo.com/security/ 了解更多!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ps.uni-sb.de/pipermail/users/attachments/20081224/f00fd599/attachment.htm>
More information about the gecode-users
mailing list


Issue: STEP-MINIMALForum: Editorial
References: STEP (p441)
Category: CLARIFICATION
Edit history: 04-Mar-91, Version 1 by Pitman
Status: For X3J13 consideration
Problem Description:
What is the minimal interpretation of STEP? Specifically, must it
pause for some user interaction, or can it just proceed without
pausing in implementations (probably `compiled-only' implementations)
which do not choose to implement this feature?
In particular, are either of the following implementations valid?
(DEFMACRO STEP (FORM) `(PROGN ,FORM))
or
`(LET ((VALUES (MULTIPLE-VALUE-LIST ,FORM)))
(FORMAT T "~&~S => ~{~S~^, ~}~%" ',FORM VALUES)
(VALUES-LIST VALUES)))
Proposal (STEP-MINIMAL:PERMIT-PROGN):
Clarify that it is permissible to implement (STEP x) as (PROGN x)
in implementations which do not wish to provide more elaborate
functionality.
Rationale:
For a delivery Lisp, this would be a minimal amount of work.
Proposal (STEP-MINIMAL:REQUIRE-PAUSE):
Clarify that (STEP x) must, at minimum, pause in some way that permits
user intervention.
This also implies that in implementaions which do have a query loop,
some form of query must occur even for constant forms, like (STEP 5).
Rationale:
Users who introduce STEP into a program might do so on the assumption
that execution will not proceed beyond that point (e.g., into some
dangerous code that follows) without offering them a way to intervene
first.
Current Practice:
Symbolics Genera requires intervention.
Symbolics Cloe Runtime (the part that runs on the 386) behaves like PROGN
in the example I tried (a couple of nested arithmetic operations).
Cost to Implementors:
REQUIRE-PAUSE: Probably none. If there are any minimalist
implementations which do not currently require a pause now, they
would need a very small amount of additional code.
PERMIT-PROGN: None.
Cost to Users:
None. This is a debugging feature that affects -how- Lisp is used in
subtle ways, but is not likely to be present in stable code so wouldn't
have a direct cost. It might be argued that there was a slight cost
to PERMIT-PROGN for users who wanted the pause and didn't get it in
some implementation; there is also a risk of larger cost with
PERMIT-PROGN of users who expect a pause and don't get it and fall
through to code they didn't intend to run.
Cost of Non-Adoption:
Unclear specification. Implementors of certain implementations won't
know what to do. Users won't know what to expect.
Benefits:
See above.
Aesthetics:
Probably negligible.
Discussion:
Pitman has a slight preference for REQUIRE-PAUSE, but supports any
interpretation that makes this clear.


Olivier Leplus built Google Assistant Freebox remote control as a open source app. This SERVICE is provided by Olivier Leplus at no cost and is intended for use as is.
This page is used to inform website visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.
If you choose to use my Service, then you agree to the collection and use of information in relation with this policy. The Personal Information that I collect are used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.
Information Collection and Use
For a better experience while using my Service, I may require you to provide me with certain personally identifiable information, including but not limited to your email address. The information that I request is retained on your device and is not collected by me in any way.
Log Data
I want to inform you that whenever you use my Service, in case of an error in the app I collect data and information (through third party products). This Log Data may include information such as the configuration of the app when utilising my Service, the time and date of your use of the Service, and other statistics.
Cookies
Cookies are files with small amount of data that is commonly used an anonymous unique identifier. These are sent to your browser from the website that you visit and are stored on your devices’s internal memory.
This Services does not uses these “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collection information and to improve their services. You have the option to either accept or refuse these cookies, and know when a cookie is being sent to your device. If you choose to refuse my cookies, you may not be able to use some portions of this Service.
Service Providers
I may employ third-party companies and individuals due to the following reasons:
I want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on my behalf. However, they are obligated not to disclose or use the information for any other purpose.
Security
I value your trust in providing me your Personal Information, thus I am striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.
Links to Other Sites
This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over, and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.
Children’s Privacy
This Services do not address anyone under the age of 13. I do not knowingly collect personal identifiable information from children under 13. In the case I discover that a child under 13 has provided me with personal information, I immediately delete this from my servers.
Changes to This Privacy Policy
I may update this Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately, after they are posted on this page.
Contact me
If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me.


The ASUMH Business Boutique is available for all of your businesswear needs. Feel free to stop by our location to borrow suits, dresses, belts, shoes, whatever you need!
The ASUMH Business Boutique is available for all of your businesswear needs. Feel free to stop by our location to borrow suits, dresses, belts, shoes, whatever you need!


SEND
Section: Linux Programmer's Manual (2)
Updated: 2014-08-19
Index
Return to Main Contents
NAME
send, sendto, sendmsg - send a message on a socket
SYNOPSIS
#include <sys/types.h>
#include <sys/socket.h>
ssize_t send(int sockfd, const void *buf, size_t len, int flags);
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
const struct sockaddr *dest_addr, socklen_t addrlen);
ssize_t sendmsg(int sockfd, const struct msghdr *msg, int flags);
DESCRIPTION
The system calls
send(),
sendto(),
and
sendmsg()
are used to transmit a message to another socket.
The
send()
call may be used only when the socket is in a
connected
state (so that the intended recipient is known).
The only difference between
send()
and
write(2)
is the presence of
flags.
With a zero
flags
argument,
send()
is equivalent to
write(2).
Also, the following call
send(sockfd, buf, len, flags);
is equivalent to
sendto(sockfd, buf, len, flags, NULL, 0);
The argument
sockfd
is the file descriptor of the sending socket.
If
sendto()
is used on a connection-mode
(SOCK_STREAM,
SOCK_SEQPACKET)
socket, the arguments
dest_addr
and
addrlen
are ignored (and the error
EISCONN
may be returned when they are
not NULL and 0), and the error
ENOTCONN
is returned when the socket was not actually connected.
Otherwise, the address of the target is given by
dest_addr
with
addrlen
specifying its size.
For
sendmsg(),
the address of the target is given by
msg.msg_name,
with
msg.msg_namelen
specifying its size.
For
send()
and
sendto(),
the message is found in
buf
and has length
len.
For
sendmsg(),
the message is pointed to by the elements of the array
msg.msg_iov.
The
sendmsg()
call also allows sending ancillary data (also known as control information).
If the message is too long to pass atomically through the
underlying protocol, the error
EMSGSIZE
is returned, and the message is not transmitted.
No indication of failure to deliver is implicit in a
send().
Locally detected errors are indicated by a return value of -1.
When the message does not fit into the send buffer of the socket,
send()
normally blocks, unless the socket has been placed in nonblocking I/O
mode.
In nonblocking mode it would fail with the error
EAGAIN
or
EWOULDBLOCK
in this case.
The
select(2)
call may be used to determine when it is possible to send more data.
The flags argument
The
flags
argument is the bitwise OR
of zero or more of the following flags.
- MSG_CONFIRM (since Linux 2.3.15)
-
Tell the link layer that forward progress happened: you got a successful
reply from the other side.
If the link layer doesn't get this
it will regularly reprobe the neighbor (e.g., via a unicast ARP).
Only valid on
SOCK_DGRAM
and
SOCK_RAW
sockets and currently implemented only for IPv4 and IPv6.
See
arp(7)
for details.
- MSG_DONTROUTE
-
Don't use a gateway to send out the packet, send to hosts only on
directly connected networks.
This is usually used only
by diagnostic or routing programs.
This is defined only for protocol
families that route; packet sockets don't.
- MSG_DONTWAIT (since Linux 2.2)
-
Enables nonblocking operation; if the operation would block,
EAGAIN
or
EWOULDBLOCK
is returned (this can also be enabled using the
O_NONBLOCK
flag with the
F_SETFL
fcntl(2)).
- MSG_EOR (since Linux 2.2)
-
Terminates a record (when this notion is supported, as for sockets of type
SOCK_SEQPACKET).
- MSG_MORE (since Linux 2.4.4)
-
The caller has more data to send.
This flag is used with TCP sockets to obtain the same effect
as the
TCP_CORK
socket option (see
tcp(7)),
with the difference that this flag can be set on a per-call basis.
Since Linux 2.6, this flag is also supported for UDP sockets, and informs
the kernel to package all of the data sent in calls with this flag set
into a single datagram which is transmitted only when a call is performed
that does not specify this flag.
(See also the
UDP_CORK
socket option described in
udp(7).)
- MSG_NOSIGNAL (since Linux 2.2)
-
Requests not to send
SIGPIPE
on errors on stream oriented sockets when the other end breaks the
connection.
The
EPIPE
error is still returned.
- MSG_OOB
-
Sends
out-of-band
data on sockets that support this notion (e.g., of type
SOCK_STREAM);
the underlying protocol must also support
out-of-band
data.
sendmsg()
The definition of the
msghdr
structure employed by
sendmsg()
is as follows:
struct msghdr {
void *msg_name; /* optional address */
socklen_t msg_namelen; /* size of address */
struct iovec *msg_iov; /* scatter/gather array */
size_t msg_iovlen; /* # elements in msg_iov */
void *msg_control; /* ancillary data, see below */
size_t msg_controllen; /* ancillary data buffer len */
int msg_flags; /* flags (unused) */
};
The
msg_name
field is used on an unconnected socket to specify the target
address for a datagram.
It points to a buffer containing the address; the
msg_namelen
field should be set to the size of the address.
For a connected socket, these fields should be specified as NULL and 0,
respectively.
The
msg_iov
and
msg_iovlen
fields specify scatter-gather locations, as for
writev(2).
You may send control information using the
msg_control
and
msg_controllen
members.
The maximum control buffer length the kernel can process is limited
per socket by the value in
/proc/sys/net/core/optmem_max;
see
socket(7).
The
msg_flags
field is ignored.
RETURN VALUE
On success, these calls return the number of bytes sent.
On error, -1 is returned, and
errno
is set appropriately.
ERRORS
These are some standard errors generated by the socket layer.
Additional errors
may be generated and returned from the underlying protocol modules;
see their respective manual pages.
- EACCES
-
(For UNIX domain sockets, which are identified by pathname)
Write permission is denied on the destination socket file,
or search permission is denied for one of the directories
the path prefix.
(See
path_resolution(7).)
(For UDP sockets) An attempt was made to send to a
network/broadcast address as though it was a unicast address.
- EAGAIN or EWOULDBLOCK
-
The socket is marked nonblocking and the requested operation
would block.
POSIX.1-2001 allows either error to be returned for this case,
and does not require these constants to have the same value,
so a portable application should check for both possibilities.
- EAGAIN
-
(Internet domain datagram sockets)
The socket referred to by
sockfd
had not previously been bound to an address and,
upon attempting to bind it to an ephemeral port,
it was determined that all port numbers in the ephemeral port range
are currently in use.
See the discussion of
/proc/sys/net/ipv4/ip_local_port_range
in
ip(7).
- EBADF
-
An invalid descriptor was specified.
- ECONNRESET
-
Connection reset by peer.
- EDESTADDRREQ
-
The socket is not connection-mode, and no peer address is set.
- EFAULT
-
An invalid user space address was specified for an argument.
- EINTR
-
A signal occurred before any data was transmitted; see
signal(7).
- EINVAL
-
Invalid argument passed.
- EISCONN
-
The connection-mode socket was connected already but a
recipient was specified.
(Now either this error is returned, or the recipient specification
is ignored.)
- EMSGSIZE
-
The socket type
requires that message be sent atomically, and the size
of the message to be sent made this impossible.
- ENOBUFS
-
The output queue for a network interface was full.
This generally indicates that the interface has stopped sending,
but may be caused by transient congestion.
(Normally, this does not occur in Linux.
Packets are just silently dropped
when a device queue overflows.)
- ENOMEM
-
No memory available.
- ENOTCONN
-
The socket is not connected, and no target has been given.
- ENOTSOCK
-
The argument
sockfd
is not a socket.
- EOPNOTSUPP
-
Some bit in the
flags
argument is inappropriate for the socket type.
- EPIPE
-
The local end has been shut down on a connection oriented socket.
In this case, the process
will also receive a
SIGPIPE
unless
MSG_NOSIGNAL
is set.
CONFORMING TO
4.4BSD, SVr4, POSIX.1-2001.
These function calls appeared in 4.2BSD.
POSIX.1-2001 describes only the
MSG_OOB
and
MSG_EOR
flags.
POSIX.1-2008 adds a specification of
MSG_NOSIGNAL.
The
MSG_CONFIRM
flag is a Linux extension.
NOTES
According to POSIX.1-2001, the
msg_controllen
field of the
msghdr
structure should be typed as
socklen_t,
but glibc currently types it as
size_t.
See
sendmmsg(2)
for information about a Linux-specific system call
that can be used to transmit multiple datagrams in a single call.
BUGS
Linux may return
EPIPE
instead of
ENOTCONN.
EXAMPLE
An example of the use of
sendto()
is shown in
getaddrinfo(3).
SEE ALSO
fcntl(2),
getsockopt(2),
recv(2),
select(2),
sendfile(2),
sendmmsg(2),
shutdown(2),
socket(2),
write(2),
cmsg(3),
ip(7),
socket(7),
tcp(7),
udp(7)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- The flags argument
-
- sendmsg()
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- NOTES
-
- BUGS
-
- EXAMPLE
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 02:54:47 GMT, September 18, 2014


|
SVPWM co-Pilot
1.0
assisting the SVPWM pilot
|
includes the main function More...
Macros | |
| #define | VF_SLOPE 0.13333 |
| #define | MAX_VOLT 12 |
| #define | MIN_VOLT 0.2 |
| #define | AMMETER_VOLT 0.35 |
| #define | RESISTOR_VALUE 1 |
| #define | CURRENT_THRESHOLD 2 |
Functions | |
| int | main (void) |
| the main function More... | |
Variables | |
| float | Volt |
| Stores current set Volt value. | |
| float | prev_Volt |
| Stores previous set Volt value to check for change. | |
| float | Freq |
| Stores current commutation frequency. | |
| float | C_PHa |
| Stores current Phase A current value. | |
| float | C_PHb |
| Stores current Phase B current value. | |
| float | C_PHc |
| Stores current Phase C current value. | |
| uint8 | ACK_Flag |
| Stores previous ACK value to check for change. | |
includes the main function
the main function acquires data like set Voltage, Phases current, Direction, etc.; and it sends that data to the LCD and the main controller over the parallel bus and sends an ERROR signal if any current overload happens for any of the 3 phases.
| int main | ( | void | ) |
the main function
see main.c description


CSS Property - Font
Value: [ <font-style> || <font-variant> || <font-weight> ]? <font-size> [ / <line-height> ]? <font-family>
Initial: not defined for shorthand properties
Applies to: all elements
Inherited: yes
Percentage values: allowed on <font-size> and <line-height>
The "font" property is a shorthand property for setting the individual "font" properties in one string in a style sheet or as an inline style in a HTML document. The syntax of this property is based on a traditional typographical shorthand notation to set multiple properties related to fonts.
For a definition of allowed and initial values, see the previously defined properties. Properties for which no values are given are set to their initial value.
Example:
p {font: 12pt/14pt sans-serif;}
p {font: 80% sans-serif;}
p {font: x-large/110% "new century schoolbook", serif;}
p {font: bold italic large Palatino, serif;}
p {font: normal small-caps 120%/120% fantasy;}
In the second rule, the font size percentage value ("80%") refers to the font size of the parent element. In the third rule, the line height percentage refers to the font size of the element itself.
In the first three rules above, the "font-style", "font-variant" and "font-weight" are not explicitly mentioned, which means they are all three set to their initial value ("normal"). The fourth rule sets the "font-weight" to "bold", the "font-style" to "italic" and implicitly sets "font-variant" to "normal".
The fifth rule sets the "font-variant" ("small-caps"), the "font-size" (120% of the parent"s font), the "line-height" (120% times the font size) and the "font-family" ("fantasy"). It follows that the keyword "normal" applies to the two remaining properties: "font-style" and "font-weight".


| DOSE: T+ 0:00 |
45 mg |
oral |
AMT |
(capsule) |
| T+ 2:00 |
1 cig. |
smoked |
Cannabis |
(plant material) |
| T+ 11:00 |
1 cig. |
smoked |
Cannabis |
(plant material) |
About two months ago I had my first experience with a drug known as AMT. I had been strictly a pot smoker and lsd tripper up until that point. A friend of mine recommended me and a friend of mine, whom we'll refer to as C, try some of this drug which he had obtained a good amount of. We purchased two gelcaps containing exactly 45 mg of AMT. We took these at about 7:00 P.M. on a Friday night.
8:00 P.M.
Me and C went to eat at TGIFridays. We were feeling sped up and really good at this point. C was having no difficulty driving so I had no problem riding. Everything was good.
9:00 P.M.
We decide, after eating, to ride to the local bookstore and see what was up. We smoked a joint on the way to the bookstore so we were both in 'high' spirits and feeling generally good. The sense of euphoria heightened up until we left the bookstore at 11:00 P.M.
12:00 A.M.
At this point me and C decide to go back to our friend who had sold us the AMT's house. After smoking another joint with him, we all sat down and began talking. This is when the hallucinations began. Walls breathing, photos moving, colors around, but unlike acid, I was in control of it all. These visuals lasted the two hours we were there, up and down peaks, like a roller coaster of trip. This was going to be fun.
2:30 A.M.
I was a tad uneasy about letting C drive on this but he said he had it and he's my best friend so I trusted him. The ride was intense with lots of sensory 'treats'. We both almost freaked out completely though when a cop pulled us over to check C's license and insurance but it was handled well and that was that. NOTE: Even though C can drive quite well on AMT, I would not personally recommend it, my reasons will be saved for another report. After a short ride we arrived at our friend, B's, house.
3:15 A.M.
Damn, B's not at home.  This ride was on the way and worth the 45 minutes of 'eye candy' we got from his house and tree.
4:30 A.M.
We arrive back at C's house, still dazed and confused. He turns on his blacklight, puts on some Floyd, and we proceed to 'trip-out'.
Melting walls, talking posters, audio hallucinations, all the treats with none of the mindscrew of LSD. We tripped out until daylight and then went outside.
6:00 A.M.
Still getting mild visuals, trees appear to be blowing in the wind but really aren't. We smoke another joint and enjoy the outdoors. At one point I was on a low point and C was on a peak, it was funny because he thought the trees were moving and I could see that they really won't. Static vision is there, all the treats.
9:00 A.M.
We both start to come down and decide to catch some T.V.  Anything, infomercials, cartoons, commercials, all funny. It was great.
12:00 P.M.
After a nice night of tripping, we decide to take a ride. The AMT effect is gone but there's a nice feeling of experiencing something that great for a while afterwards.
Afterthought
The first trip was excellent. I would recommend this drug to anyone but I would suggest that you do some studying and ask people about their experiences with it first. Use a reasonable dosage your first time and have fun. Take notes, record yourself, examine music and literature. This drug was really a mind opening experience for me.
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.


ISS-Conky Help and Configuration Guide
Introduction
This document describes how to install and configure "Conky-iss" , a Conky project I developed for my Ubuntu 16.04 LTS system.After downloading and unzipping the archive, move the archive to your $HOME (~) directory and call it .conky_iss (note the preceding dot to make it a hidden folder).
Inside that folder, you will see the following files
- Readme.md - Always read a Readme file!
- guide.htm - This document
- screenshot.png - Screenshot of what it looks like in my own environment
- conky_disk.conf - Configuration for the disk usage Conky
- conky_clock.conf - Configuration for the clock Conky
- conky_sys.conf - Configuration for the system Conky
- conky_functions.lua - Lua script, this contains further configuration
- launch_conky.sh - Launcher script
- LICENCE - The MIT licence agreement (please read before using this software but don't worry: it's not onerous!)
The scripts with the supplied configuration works well with the photograph of the International Space Station in the supplied screenshot. When using a different wallpaper, you may want to change some things to get it to look exactly how you want.
I also make use of a font called "Nasalization" if this is not what you want, then change every instance of the word "Nasalization" in every code source file to the desired font.
The ISS wallpaper and Nasalization font are both copyrighted material, although free to use I have deliberately not included them with this repo as I haven't checked the rights regarding redistribution.
Installation and Launching
After extracting the ZIP archive, move it to your $HOME directory and call it .conky_iss. That is, the full path to the folder will be $HOME/.conky_iss (or ~/.conky_iss).Open the folder and lanuch it by double-clicking on launch_conky.sh. You can create a symbolic link to allow it to be launched from anywhere else if you wish.
Conky Configuration Parameters
Pertains to files: conky_disk.conf, conky_clock.conf and conky_sys.confOnly the ones highlighted in red are different between the Conky set-ups in this project.
Full details for Conky configuration can be found online (that's a polite way to say STFW!).
- alignment - Where to place the Conky window, for example top_left means top left on the left-hand monitor
- background - Leave set to true
- border_width - Border width surrounding the Conky window
- cpu_avg_samples - Leave set to 2
- default_color - Default Conky text colour, set to "gray"
- default_outline_color - Default value is "white"
- default_shade_color - Default value is "white"
- draw_borders - Default value is false
- draw_graph_borders - Default value is true
- draw_outline - Default value is false
- draw_shades - Default value is false
- use_xft - Default value is true
- font - Default font, value is "DejaVu Sans Mono:size=11"
- gap_x
- How far to the right/left to place the Conky window from the alignment above - gap_y - How far from the top/bottom to place the Conky window from the alignment above
- minimum_height - Minimum Conky window height
- minimum_width - Minimum Conky window width
- maximum_width - Maximum Conky Window width
- net_avg_samples - Default value is 2
- no_buffers - Default value is true
- out_to_console - Default value is false
- out_to_stderr - Default value is false
- extra_newline - Default value is false
- own_window - Default value is true
- own_window_class - Leave this set to "Conky"
- own_window_type - Leave this set to "normal"
- own_window_hints - Leave this set to "undecorated,below,sticky,skip_taskbar,skip_pager"
- own_window_transparent - Default value is false
- own_window_argb_visual - Default value is true
- own_window_argb_value - Alpha, Red, Green, Blue value for window (0 = transparent)
- double_buffer - Leave set to true unless you like flickering Conky windows!
- stippled_borders - Default value is 0
- update_interval - Update frequency in seconds
- uppercase - Default value is false
- use_spacer - Default value is "none"
- show_graph_scale - Default value is false
- show_graph_range - Default value is false
- lua_load - Path and name of the Lua file (leave this alone!)
Lua functions Configuration Parameters
Pertains to file: conky_functions.lua The top part of this file contains the configuration tables for the rings and the clock. After that come the functions themselves.A convention I have adopted is that any function whose name begins with "conky_" is one which is called from a Conky configuration file whereas a function whose names does NOT begin with "conky_" is only ever used inside this file. Any additions should hopefully follow this convention.
Conky Disk Usage Configuration
This consists of an array, one entry in the array ringdefsfor each ring to be displayed. These are the main settings for each ring to be drawn (not exhaustive) and it is recommended that any undocumented ones are left as-is:- parm - Shell command to run to get the value for the used amount of the ring. If blank, then use min
- min - Minimum value, usually zero
- max - Maximum value, must be greater than min but if not, then the Shell command in max_command will be run to get a maximum value
- max_command - If max is less than or equal to min (see below), then run this shell command to obtain the maximum value
- bg_colour - Background colour as an RGB value, for example, 0xff0000
- bg_alpha - Background alpha value, for example 0.6
- fg_colour - Foreground colour as an RGB value, for example, 0xff0000
- fg_alpha - Foreground alpha value, for example 0.6
- x - X-coordinate of the centre of the ring, for example 200
- y - Y-coordinate of the centre of the ring, for example 200
- radius - Ring radius, for example 150
- thickness - Ring thickness, for example 24
- start_angle - Start angle from the top of the ring going clockwise in degrees, for example 30
- end_angle - End angle from the top of the ring going clockwise in degrees, for example 330
- text - Display text, for example "/dev/sda5"
- text_hoffset - Text horizontal offset, for example 144. If may be necessary to fiddle with this to get it right.
- text_voffset - Text vertical offset, for example 120. If may be necessary to fiddle with this to get it right.
- text_fontface - Font face for the text, for example "Nasalization"
- text_fontsz - Font size, for example 12
- text_colour - Text colour, for example "Black"
Conky Clock Configuration
This is a simple analogue clock with hours, minutes and seconds hands. It also gives the time in digital form as well as the current system date. The configuration is held in a Lua table called clockpars and contains the following settings:- parm - If this is set to "Yes" then show the clock. Otherwise, don't bother
- clockface_colour - Colour to use for the clock face as an RGB value. Default is 0x000033
- clockface_alpha - Alpha value for the clock face. Default is 0.8
- x - X-coordinate in the Conky box of the centre of the clock. Default is 200
- y - Y-coordinate in the Conky box of the centre of the clock. Default is 200
- radius - Clock radius. Default is 160
- border_size - Clock border; this is in addition to the radius, not included in it. Default is 4
- border_colour - Colour of the clock border as an RGB value in hex. Default is 0xaaaaee
- border_alpha - Alpha value for the clock border. Default is 0.8
- hour_marker_colour - Colour to use for the twelve hour markers around the clock. Default is 0xcccccc
- hour_marker_alpha - Alpha value for the twelve hour markers around the clock. Default is 0.8
- hour_marker_thickness - How thick the twelve hour markers are. Default is 4
- hour_marker_percentage - Percentage of the radius to use as the length of the hour markers. Default is 20 (percent)
- minute_marker_colour - Colour to use for the 48 minute markers around the clock. Default is 0xaaaaaa
- minute_marker_alpha - Alpha value for the 48 minute markers around the clock. Default is 0.8
- minute_marker_thickness - How thick the 48 minute markers are. Default is 2
- minute_marker_percentage - Percentage of the radius to use as the length of the minute markers. Default is 10 (percent)
- seconds_hand_colour - Colour to use for the seconds hand. Default is 0xff0000 (red)
- seconds_hand_alpha - Alpha value for the seconds hand. Default is 1.0
- seconds_hand_thickness - How thick the seconds hand is. Default is 2
- seconds_hand_percentage - Percentage of the radius to use for the length of the seconds hand. Default is 90 (percent)
- minute_hand_colour - Colour to use for the minute hand. Default is 0x00ff00 (green)
- minute_hand_alpha - Alpha value for the minute hand. Default is 0.6
- minute_hand_thickness - How thick the minute hand is. Default is 3
- minute_hand_percentage - Percentage of the radius to use as the length of the minute hand. Default is 80 (percent)
- hour_hand_colour - Colour to use for the hour hand. Default is 0xff8800 (orange-ish)
- hour_hand_alpha - Alpha value for the hour hand. Default is 0.6
- hour_hand_thickness - How thick the hour hand is. Default is 4
- hour_hand_percentage - Percentage of the radius to use as the length of the hour hand. Default is 60
- text_voffset - vertical offset for the text (date/time). Default is 220. You may need to fiddle with this to get it right. Set to zero to not show the date/time as text.
- text_fontface - The font to use for the date/time text display. Default is "Nasalization"
- text_fontsz - Font size to use for date/time text display. Default it 14
- text_colour - The colour to use when displaying the date and time. Default is "Grey"


"Lokavore" is an online shopping site for locally sourced food. Once you have made a customer account you are able to see exactly how far away products are from your registered location. You can use the navigation bar to find the category you are interested in and then browse the products and the producers of these. Accounts are available for both customers and producers. If you register as a producer you have the option to add details and a picture of your establishment, you are then presented with a quiz that will determine the sustainability rating for your establishment. Once you have added your producer details you can then edit them or start to add and edit produce! There is also the option to delete your account which will remove your establishment and all associated produce from our website. We have added some example produce and producers so you are able to get a feel of what the website would look like with users.