05.Sorting an array means to arrange its elements in increasing order. Write a script to sort an array.
Use the 'selection sort' algorithm: Find the smallest element, move it at the first position, find the smallest from the rest, move it at the second position, etc.Hint: Use a second array
Reload the page to generate another array.


fruito
A self-published iOS fruits management app
Research, design, co-develop | March 2015-May 2015
-
Fruito is a self-published iPhone app. It keeps track of fruit purchasing history and recomments various kinds of in season fruits. It also offers a custom reminder system to help develop a healthy habit of eating fruit regularly. Fruito greatly improves the fruit management experience.
-
Open fruito for the first time.
-
Oops, the bananas’ have gone bad again!
You must be familiar with this scenario, you pull fruit of out of your shopping bag and put them into the refrigerator. Several days later, you find rotting fruit in your refrigerator and can’t remember when you bought them.
-
After defining the target users, not knowing how to store fruits correctly or when to eat them causes tons of fruit to be thrown away, which means the time and money you invested in them are also thrown away.
However, most of people choose to avoid this situation which indicates that existing solution is not satisfying. Writing down the fruits that they have or making plans to eat fruits reduces joy for eating fruits.
-
Mapping design problems
In terms of conveying knowledge on the fruit’s temper, such as their preferred storage location and the best period to enjoy them, I decided to create a mobile application. The core feature of the app would be to provide the right way to store fruits and keeping track of what fruits a user has, also fun process.
-
Early stage concepts
After mapping the design problems to user behavior, I focused on simplifying the way of inputting fruit into the application and how to interact with them.
-
Seasonal fruits make for a better solution.
Displaying seasonal fruit on the main interface recommends users to eat healthier and make it easier to input the fruit they purchased. With this idea I developed a persona profile of my target users. I then picked a specific scenario to determine how my solution could help.
-
Conveying the idea to design
After researches about seasonal fruits, I made a sheet about the storing way of 29 common and popular fruits and the time they are in season.
Seasonal fruits vary in different places, so it works best for New Yorkers.
According to the thumb zones map by Luke Wroblewski, I arranged user interaction elements according to frequency of expected use.
Since I intended to have the interface clear and wordless, I kept the shape and colors of real fruits. This gave me particular difficulty in finding the perfect color scheme.
UI of version 1.0
Interactive prototype build with InVision
-
If the “edible time” is not accurate,
it is useless.Since fruit becomes rotten for many reasons, inaccurate “edible time” made adjusting the initial status of fruits useless rather than playful. Based on A/B testing, people preferred not having the feature rather than setting the time themselves. I deleted this feature and took a step back to dig deeper into the connection between every step of the app.
Creating a new tool from the old one to
refine the designI had no further luck with following Design Process, or UX, books on how to develop my app further. Armed with a list of questions, user’s interactions with the app, and the situations I wanted to solve, I sought out ways to simplify the design.
Workflow + Operation + Scenarios
-
Designing with users
WholeFoods was a great place to find my target users. With their feedback, I simplified the interface by creating a character with facial expressions like blinking, opening mouth, and chewing that users could interact with.
UI of version 2.0
-
Bringing the vision to reality
I was lucky to be able to partner with a developer. Time differences didn’t cause too many problems since we communicated with Skype and Google Drive. With clear priorities of tasks and thinking as a developer/designer we saved a lot of time of waiting on each other’s owrk. We completed the app in 12 weeks. I set up a responsive website for Fruito and received a lot of valuable feedback on demo day. I was so glad that people loved playing with and and I had all my fruit eaten at the show!
website displaying on a laptaop
website displayed on an iPhone 6
It seems that pineapples have lots of fans!
-
What's new about Version 2.0?
For the coming version, more suggestions about storing fruits and the creative way to deal with stale fruits would be added. Data visualization about fruits eating medical contraindications would encourage people enjoying fruits scientifically. (My grandma has diabetes, watermellons are dangerous for her.)
-
-
If you have feedback about this project, please comment on Medium.


Home
About me
contact me
Wellcome to my WEBSITE
Ali Houshangi
Follow Me
My Photo
about My days
follow me


Maintain My Home Request a repair
Thank you {{ data ['full-name'] }}
Your reference number is AY-983-788.
We have sent it to your phone.
We will carry out your repair on Wednesday 23rd September 2017, between 12pm and 5pm.
We will send you a text message reminder to {{ data ['telephone-number'] }}, one day before your appointment.
If you need to change your appointment, or have any questions, please call us on 020 8356 3691. We are open Monday to Friday 8am - 7pm and Saturdays 9am - 1pm.
Summary
Appointment
Date: Wednesday 23 September 2017
Time: afternoon, 12pm - 5pm
Your details
Name: {{ data ['full-name'] }}
Phone: {{ data ['telephone-number'] }}
Address: {{ data ['address'] }}
Problem
Type: {{ data ['commonRepair'] }}
Description: {{ data ['repair-notes'] }}


Iris is a pelican theme based on Flask webpage This theme is very simple and easy to read, perfect for a minimalist blog without much things and beautiful source code syntax (Thank you pygments!) Also uses various fonts:
Some of the variables that could be used:
For the analytics we have two flavours, one is Go Squared
And the other is Google analytics Google analytics has various forms. The basic one is:
If you have analytics across domains you can put this setting:
And if you have upper domain level (com, org, co.uk...)
To install, go to your pelican theme directory and clone the repo. For example:
$ cd /home/slok/.virtualenvs/blog/lib/python2.7/site-packages/pelican/themes/
$ git clone https://github.com/slok/iris.git
Set the variable THEME to iris in your pelican settings, like this:
THEME = "iris"
The theme navigation bar does a fade in if you scroll more than 300 pixels to increase the readability of an article.
ReStructuredText creates tt with ``something`` that is equivalent to markdown code that is created wit `something`. This renders inline source code. So I added tt to the css also, not only code like most themes. Example:
This theme is under the 3 clause BSD license


| DOSE: T+ 0:00 |
6.0 mg |
oral |
2C-E |
(powder / crystals) |
| T+ 2:00 |
5.0 mg |
oral |
2C-E |
(powder / crystals) |
| T+ 2:00 |
1 bowl |
smoked |
Cannabis |
|
| T+ 4:00 |
4.0 mg |
oral |
2C-E |
(powder / crystals) |
| T+ 4:00 |
1 bowl |
smoked |
Cannabis |
|
| T+ 5:00 |
4.0 mg |
oral |
2C-E |
(powder / crystals) |
| T+ 6:00 |
1 bowl |
smoked |
Cannabis |
|
| T+ 10:00 |
1 bowl |
smoked |
Cannabis |
|
I am a 20 year old English student, who is fairly well versed in the majority of psychadelia, having tried (on many occasions) LSD, magic mushrooms, 2ct2, 2cb and 2ci, not to mention the majority of commonly available stimulant drugs (even though I'm far more comfortable with psychadelia).
A few weeks ago I had been given 60mg of 2ce by one of my friends from London, who claimed the drug was 'like 2ct2, without residual nausea'. Naturally I'd been waiting for the right opportunity to do it, and last night seemed like a prime moment - with no work to do over the next few days, nothing to attend and basically nothing to really worry about.
At about six o' clock or so, I decided to take a reasonably small dose just to see what the effects were like, to better gauge a bigger trip in the future. I wrapped 6mg in a Rizla and dropped it at about 6pm, and chilled with my other two friends, friend a
(female) and b (female). The other two did not drop with me at that time.
+1 hr: I am noticing slight distortions in my perceptions of space - there are no real visual hallucinations, more the inability to really gauge how far away things are. Somebody calls me on the phone and I get them off pretty quickly - it’s getting difficult to concentrate on two things at once!
+1:30: Colours are starting to become more apparent, and it’s the typical psychedelic colours I’m used to with the phenyls - mainly deep greens and occasional purples. Still nothing too spectacular.
+2 hr: My mood has been almost completely elevated - from being pretty tired I am now awake and feeling slightly speedy rushes going through me. A & B have seen how the drug has affected me, and decide they want to be a part of it. A drops a 7mg dose with B, while I top myself up with another 5mg, then we go outside to smoke some pot.
+3hr: Now the visual element of the trip is starting. The air is becoming thicker and more static, as though it is many-layered and filled with brighter fractal light. The wall patterns are shifting slightly, and my posters seem to be coming away from the wall. During this time, A & B come up very quickly, and we enjoy sitting down in my room, talking about the softer colours.
+4hr: The main light in the room is becoming slightly too intense - I turn on a side lamp and myself and B drop again (another 4mg dose each, again wrapped in a Rizla and swallowed). Now the light intensity is down slightly, I can notice the physical properties of the drug - standard pupil expansion, followed by almost cocaine rushes of warmth and goodwill through the body. A & B are amazingly happy - something I was very relieved about due to neither of them being very well versed in psychedelic drugs. More pot now and again is added to facilitate the come-up.
+5hr: The drug is starting to take more and more of a hold over all of us - the visuals are becoming slicker and more noticeable constantly - the sides of my vision are sometimes impossible to steady, and if I look at any bright colours, they seem almost overtly extreme, and leave vivid afterimages across my eyes. Myself, A & B decide to take one last dose to push ourselves as far as possible while still maintaining safety - A takes another 3mg dose (bringing her to 10mg), B takes another 4 mg dose (bringing him to 15mg) and I take another 4mg dose (bringing me to 19mg)
+6hr: Come midnight, there are occasional foreshadowings of danger. B seemed to be going through a slightly difficult time; a general lack of understanding as to what was happening, slight paranoia (he had to be convinced for a while that the water in my room was not spiked with LSD) and a general concern for his environment. This was easily handled by him however - he went quiet for about half an hour before rejoining the conversation as normal (something very rare and impressive in a non-versed psychedelic user!) Again, marijuana seems to help even everybody out, and bring them back to normality, albeit briefly.
A was enjoying the trip, though not getting quite the visual element of myself and B - we were watching a poster of a sunset over a beach, in which the waves were lapping at the sky, the trees seemed to be pulsating and stretching away from the poster. Every inanimate object in the room seemed slightly…incorrect in its dimensions - curtains would be billowing constantly in no wind, the wardrobe seemed to be growing and shrinking, and every surface in the room seemed to be melting slightly.
 My vision around the outside is balling slightly, and I get the feeling I am constantly falling forward - something which plays merry hell with my balance. This is accompanied by brief nausea, which is overcome by a few sips of water.
+8hr: The visuals seem to be integrating more with my perceived vision - though I can still see the amazing amount of colours and the movement around the room, I seem to be almost accepting them as normal, which means I am less likely to notice them. A great wave of love is felt throughout the room, and the three of us spend a good few minutes just hugging one another, and mentioning how safe we all feel taking such strong substances in good company. I am hungry but still unable to eat.
+10hr: Tiredness has started to creep in slightly - A goes upstairs to rest for a while, while me B and I decide to watch ‘Alice in Wonderland’ (a standard for me while tripping!) We manage to eat some sweets which nicely boosts blood sugar, and we go outside to smoke more spliffs than the rest of the night put together. Perhaps this is to help with the slight coming down experience, I am not too sure.
+11hr: Halfway through the film, A returns, looking far more awake. The three of us finish the film, and start browsing the internet, looking for games to download, and watching videos on you tube. The visuals are still popping up every now and again, though it is mainly colour distortions again now; fractal light patterns and overemphasis of colour as opposed to any movement or true visual distortions.
+13hr: Finally make myself some food, and find after a small bowl of cereal that I am damned starving. Make a huge amount of food with A & B, finish it off, and then everyone collectively decides that it is time to go to sleep. Part ways with A & B (with another hugging session, and everyone thanking everyone else for ‘just being there’) - lie down in my bed, cover myself over, and have no trouble falling asleep almost instantly. My sleep is not great - I keep waking after short, two hour dreams, but end up waking up properly at 4pm (when I’m writing this). I do not feel many traces of the hangover - my mind is slightly slower, and I am not exactly relishing the prospect of going out drinking (which I promised a friend I would do tonight!)
In conclusion, this was one of the most pleasant tripping experiences of my life. 2CE had the visual elements of acid, with the lucidity to truly enjoy it, and without the background worry of me or someone else getting lost in their own head. Have yet to see either A or B this morning - am looking forward to see how they relate the experience.
Caution should also be recommended - this drug was excellent in small doses, and a large dose was eye-opening, however I definitely reached my limit. Any more could have been quite detrimental to me, both physically and mentally.
Random
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.


Chapter 5 Fluorescence Anisotropy & Applications of Fluorescence
5.1 Fluorescence anisotropy
Just as we modified our basic spectroscopy of absorbance to look at the effect of polarisation, we can also modifiy fluorescence to look at the effect of polarisation, this modified technique is called ‘fluorescence anisotropy’. The technique can be used in both the steady state and in lifetime studies.
In fluorescence anisotropy the fluorimeter is modified by the inclusion of two ‘two-position’ polarising filters (figure 5.1), each of which can be in either a horizontal (H) or vertical (V) position. Spectra are measured in each of the four combinations (HH, HV, VH & VV). The fluorescence anisotropy (\(r\)) can then be calculated:
\[\begin{equation} r=\frac{I_{VV}-GI_{VH}}{I_{VV}+2GI_{VH}} \tag{5.1} \end{equation}\]
(the other ‘set’ of measurements (HH & HV) are used as comparison to ensure that ‘unbiased’ intensities of fluorescent light are recorded with no artifacts of the response of either the monochromator or other optics in the system).
The term \(G\) in equation (5.1) is a response factor for the instrument which normalises the detector for any differences in response against the sensitivity of the detector for light polarised in the horizontal and vertical directions. Instruments do not return individual intensities of polarisation, but instead just report values of \(r\) directly.
We have seen previously that each of the absorbance transitions (from S0 to S1, S2, S3…) occurs at a different angle (relative to the principle axis in the molecule), and that Kasha’s rule states that all emission occurs from the vibrationally relaxed lowest excited state of that spin multiplicity (or there is just a single emission transition).
Anisotropy measurements can be used to determine the offset in the transition dipoles of the absorbance and emission transitions within a molecule. The largest ‘anisotropy’ measurements occur when these transitions are ‘co-linear’.
\[\begin{equation} r_0=\frac{2}{5}\left(\frac{3 \cos ^2 \beta -1}{2} \right) \tag{5.2} \end{equation}\]
| \(\beta\) / \(^\circ\) | \(r_0\) |
|---|---|
| 0 | 0.40 |
| 45 | 0.10 |
| 54.7 | 0.00 |
| 90 | -0.20 |
5.1.1 Time-resolved anisotropy
Time-resolved anisotropy can be used to study the depolarisation of emission from a rotating chromophore, when we excite chromophores using polarised light only chromophores with the transition dipole moment aligned with the excitation light are excited. Molecules are always in motion, large molecules move more slowly than small molecules.
After excitation the molecules in motion rotate, very small molecules (like chromophores) rotate very quickly and any isotropic information is lost very quickly (usually more fast than the fluorescence emission), however large molecules like proteins rotate much more slowly, and the rate of depolarisation is consequently considerably slower.
To give some context, small molecules (like most typical chromophores) will rotate in around 50-100 ps, and most fluorescence lifetimes are in the 1-5 ns region.
The rate of this depolarisation depends upon the temperature of the system (\(T\)), the viscosity of the solution (\(\eta\)) and the volume of excited species(V).
\[\begin{equation} r(t)=r_\infty + (r_0-r_\infty)e^{-\frac{t}{\theta}} \tag{5.3} \end{equation}\]
where:
\[\begin{equation} \theta = \frac{\eta V}{RT} \tag{5.4} \end{equation}\]
Equation (5.4) has been simplified for a spherical molecule, but with small changes to this equation it it possible to model for non-spherical systems.
The Perrin equation shows the time dependence of rotational deactivation for a spherical rotor, where \(\tau\) is the fluorescence lifetime:
\[\begin{equation} \frac{r_0}{r}=1+\frac{\tau}{\theta} \tag{5.5} \end{equation}\]
Globular proteins have a correlation time which may be approximated to be proportional to the molecular weight of the protein.
Steady state anisotropy only gives ‘average’ anisotropy of the sample, considerably more information may be determined with fluorescence lifetime anisotropy studies, and since laser sources are already polarised experiments are very simple.
5.1.2 FRET
Another use of anisotropy is in resonance energy transfer studies. Energy transfer relies on a dipole dipole interaction between a donor & acceptor chromophore, but showing that it is an energy transfer and not emission and reabsorption of a photon can be shown by anisotripic studies.
The depolarisation of anisotripic light is far more efficient in energy transfer systems than would be expected for systems which involve emission and reabsorption.
5.2 Application of fluorescence
Both isotropic fluroescence and fluorescence anisotropy may be used to determine thermodynamic properties of the binding between chromophores and other molecules (typically DNA or proteins), this only works if there is an enhancement of the emisison upon binding to the target molecule (figure 5.3).
There exists and equilibrium between the complex (DNA used as an example, but it is true of all systems), and the free molecules:
\[\begin{equation} K_b=\frac{[\textrm{dye:DNA}]}{[\textrm{dye}][\textrm{DNA}]} \tag{5.6} \end{equation}\]
If we consider the emission at a single wavelength then we can combine information about the emission of unbound dye (\(I_0\)), the emission when all dye is bound (which is estimated from an asymptotic model, \(I_b\)) with the measured emission at that point (\(I_x\)) to determine the proportion of dye in complex (equation (5.7), figure 5.4).
If we want to undertake these experiments it is important that the concentration of dye is constant so that there are no concentration effects on the emission intensity.
Recall P/D is the ratio of ‘phosphate’ (or DNA bases) and dye.
\[\begin{equation} \alpha = \frac{I_x - I_0}{I_b-I_0} \tag{5.7} \end{equation}\]
From this we can say that the concentration of bound dye, \([D]_b=\alpha [D]t\) (where \([D]_t\) is the total concentration of dye), and consequently the concentration of unbound (or free) dye is \([D]_f=(1-\alpha) [D]t\).
We can then define \(r\) (this is a different r from anisotropy - I know it’s a pain) as (where [DNA} is the concentration of DNA bases):
\[\begin{equation} r = \frac{[D]_b}{[\textrm{DNA}]}=\alpha \frac{[D]_t}{[DNA]} \tag{5.8} \end{equation}\]
The Scatchard plot then gives information on the equilibrium constant of binding (\(K_b\)), and number of binding sites (\(B\)) per base.
\[\begin{equation} \frac{r}{[D]_f} = K_b B - K_b r \tag{5.9} \end{equation}\]
5.3 Workshop task
The final workshop of this course looks at the binding of a chromophore to a protein and uses a Scatchard analysis on fluorescence anisotropy data. This paper has been published in an education journal and so is consequently much more accessible than many research papers; consequently I would like for you to read this (very short) paper, which can be found on Moodle.
When reading the paper consider the following questions:
- What are the key findings?
- What was the experimental configuration?
- Characteristics of the binders?
- What do steady state and time resolved measurements tell you?
- Can you explain the findings in your own words?
- How are the conclusions arrived at?
As before we will discuss this as a group (and I will summarise our discussions).


Catherine is a 3rd Year Psychology student and her hobbies include drumming and video games.
Catherine is a 3rd Year Psychology student and her hobbies include drumming and video games.
Sinead is a 3rd Year PPE student, who enjoys cooking and reading in her free time.
Sithara is also a PPE student in her 3rd Year and likes to read or bake in her free time.
Hi, and welcome to Student Food - a guide to cooking for students at Durham University! This website has been created as our project for CFG:17/18.
We created this website with the aim to make food easy for students! Check out our student on a budget page if you're wanting recipes that are cheap and easy. We also have vegetarian and german cooking if you're in the mood for something different. If you're looking for some Christmas cheer, check out our baking page. Alternatively, if you can't be bothered to cook - have a look at our restaurants page!
Find us below:


Reports problems found in Comparator.compare() implementations:
- Warns if parameter is not used. Most likely this is the result of a typing mistake and one parameter is compared
with itself or the method is not implemented correctly.
- Warns if it's evident that comparator does not return 0 for same elements. Such comparator violates the contract
and result of sorting could be unpredictable if equal elements are encountered. In particular,
sorting method may fail with exception on some data sets.


Moviezone
Είδος Ταινίας
Action
Adventure
Animation
Biography
Cartoon
Children's
Comedy
Crime
Documentary
Drama
Epic
Fantasy
Film-Noir
Historical
Horror
Musical
Mystery
Romance
Sci-Fi
Sports
Thriller
War
Western
Uncategorized
Action
Adventure
Animation
Biography
Cartoon
Children's
Comedy
Crime
Documentary
Drama
Epic
Fantasy
Film-Noir
Historical
Horror
Musical
Mystery
Romance
Sci-Fi
Sports
Thriller
War
Western


A mini blog application built on the MEAN Stack.
{{ post.date | date:'medium' }} by {{ post.author }} | Permalink
{{ comment.body }}


| CONTENTS |
Go to http://examples.oreilly.com/upt3 for more information on: diff
The diff command displays different versions of lines that are found when comparing two files. It prints a message that uses ed-like notation (a for append, c for change, and d for delete) to describe how a set of lines has changed. The lines themselves follow this output. The < character precedes lines from the first file and > precedes lines from the second file.
Let's create an example to explain the output produced by diff. Look at the contents of three sample files:
|
test1 |
test2 |
test3 |
|---|---|---|
|
apples |
apples |
oranges |
|
oranges |
oranges |
walnuts |
|
walnuts |
grapes |
chestnuts |
When you run diff on test1 and test2, the following output is produced:
$ diff test1 test2 3c3 < walnuts -- > grapes
The diff command displays the only line that differs between the two files. To understand the report, remember that diff is prescriptive, describing what changes need to be made to the first file to make it the same as the second file. This report specifies that only the third line is affected, exchanging walnuts for grapes. This is more apparent if you use the -e option, which produces an editing script that can be submitted to ed, the Unix line editor. (You must redirect standard output (Section 43.1) to capture this script in a file.)
$ diff -e test1 test2 3c grapes .
This script, if run on test1, will bring test1 into agreement with test2. (To do this, feed the script to the standard input of ed (Section 20.6) or ex; add a w command (Section 20.4) at the end of the script to write the changes, if you want to.)
If you compare the first and third files, you find more differences:
$ diff test1 test3 1dO < apples 3a3 > chestnuts
To make test1 the same as test3, you'd have to delete the first line (apples) and append the third line from test3 after the third line in test1. Again, this can be seen more clearly in the editing script produced by the -e option. Notice that the script specifies editing lines in reverse order; otherwise, changing the first line would alter all subsequent line numbers.
$ diff -e test1 test3 3a chestnuts . 1d
So what's this good for? Here's one example.
When working on a document, it is common practice to make a copy of a file and edit the copy rather than the original. This might be done, for example, if someone other than the writer is inputing edits from a written copy. The diff command can be used to compare the two versions of a document. A writer could use it to proof an edited copy against the original.
$ diff brochure brochure.edits 49c43,44 < environment for program development and communications, -- > environment for multiprocessing, program development > and communications, programmers 56c51 < offering even more power and productivity for commericial -- > offering even more power and productivity for commercial 76c69 < Languages such as FORTRAN, COBOL, Pascal, and C can be -- > Additional languages such as FORTRAN, COBOL, Pascal, and
Using diff in this manner is a simple way for a writer to examine changes without reading the entire document. By redirecting diff output to a file, you can keep a record of changes made to any document. In fact, just that technique is used by both RCS and CVS (Section 39.4) to manage multiple revisions of source code and documents.
DD, from Unix Text Processing (Hayden Books, 1987)
You can use the diff3 command to look at differences between three files. Here are three sample files, repeated from Section 11.1:
|
test1 |
test2 |
test3 |
|---|---|---|
|
apples |
apples |
oranges |
|
oranges |
oranges |
walnuts |
|
walnuts |
grapes |
chestnuts |
For each set of differences, diff3 displays a row of equal signs (====) followed by 1, 2, or 3, indicating which file is different; if no number is specified, then all three files differ. Then, using ed-like notation (Section 11.1), the differences are described for each file:
$ diff3 test1 test2 test3 ====3 1:1c 2:1c apples 3:0a ==== 1:3c walnuts 2:3c grapes 3:2,3c walnuts chestnuts
With the output of diff3, it is easy to keep track of which file is which; however, the prescription given is a little harder to decipher. To bring these files into agreement, the first range of text (after ====3) shows that you would have to add apples at the beginning of the third file (3:0a). The second range tells you to change line 3 of the second file to line 3 of the first file change lines 2 and 3 of the third file, effectively dropping the last line.
The diff3 command also has a -e option for creating an editing script for ed. It doesn't work quite the way you might think. Basically, it creates a script for building the first file from the second and third files.
$ diff3 -e test1 test2 test3 3c walnuts chestnuts . 1d . w q
If you reverse the second and third files, a different script is produced:
$ diff3 -e test1 test3 test2 3c grapes . w q
As you might guess, this is basically the same output as doing a diff on the first and third files.
DD
The diff examples in Section 11.1 and Section 11.2 show compact formats with just the differences between the two files. But, in many cases, context diff listings are more useful. Context diffs show the changed lines and the lines around them. (This can be a headache if you're trying to read the listing on a terminal and there are many changed lines fairly close to one another: the context will make a huge "before" section, with the "after" section several screenfuls ahead. In that case, the more compact diff formats can be useful.) A related format, unified diff, shows context but doesn't take as much space.
Go to http://examples.oreilly.com/upt3 for more information on: rcs
The rcsdiff command shows differences between revisions in an RCS (Section 39.5) file (and will only be available if you have RCS installed). We'll use it here instead of diff but the concepts are the same. Incidentally, these examples would also work with cvs diff (Section 39.7), if you have CVS installed.
The -c option shows before-and-after versions of each changed section of a file. By itself, -c shows three lines above and below each change. Here's an example of a C file before and after some edits; the -c2 option shows two lines of context. The -u option shows changed lines next to each other, not in separate before-and-after sections. Again, an option like -u2 shows two lines of context around a change instead of the default three lines.
A diff -c listing starts with the two filenames and their last-modified dates ("timestamps"). The first filename (here, atcat.c revision 1.1) has three asterisks (***) before it; the second name (atcat.c revision 1.2) has three dashes (---). These markers identify the two files in the difference listings below:
*** atcat.c 1987/09/19 12:00:44 1.1 --- atcat.c 1987/09/19 12:08:41 1.2
A diff -u listing also starts with the two filenames and their last-modified dates ("timestamps"). The first filename (here, atcat.c revision 1.1) has three minus signs (---) before it, meaning "from" or "before." The second name (atcat.c revision 1.2) has three plus signs (+++). Again, these markers identify the two files in the difference listings that follow:
--- atcat.c 1987/09/19 12:00:44 1.1 +++ atcat.c 1987/09/19 12:08:41 1.2
Each difference section in a diff -c listing starts with a row of asterisks:
***************
In a diff -u listing, each difference section starts with a line that has a pair of line numbers and line counts. This one means that the first version of the file (with a - before it) starts at line 14 and contains 5 lines; the second version of the file (with a +) also starts at line 14 and has 5 lines:
@@ -14,5 +14,5 @@
In a diff -c listing, changed lines that exist in both files are marked with an ! (exclamation point) character in the left margin. So, one of the lines between lines 15-19 was changed. Other lines in the section weren't changed:
*** 15, 19 **** #ifndef lint static char rcsid[ ] = ! "$Id: ch11.xml,v 1.33 2002/10/13 03:51:58 troutman Exp troutman $"; #endif not lint --- 15,19 ---- #ifndef lint static char rcsid[ ] = ! "$Id: ch11.xml,v 1.33 2002/10/13 03:51:58 troutman Exp troutman $"; #endif not lint /* end of Identification */
A diff -u listing always shows lines that are marked with a minus (-) only in the first version and lines marked with a plus (+) in the second version. Here, one line was changed:
@@ -15,5 +15,5 @@ #ifndef lint static char rcsid[ ] = - "$Id: ch11.xml,v 1.33 2002/10/13 03:51:58 troutman Exp troutman $"; static char rcsid[ ] = + "$Id: ch11.xml,v 1.33 2002/10/13 03:51:58 troutman Exp troutman $"; #endif not lint /* end of Identification */
In a diff -c listing, a line that exists in the first version but not the second version is marked with a minus sign (-). None of the lines from the second version are shown. So, line 62 in the first version (lines 64-68) was deleted, leaving lines 64-67 in the second version:
*** 64,68 **** { int i; /* for loop index */ - int userid; /* uid of owner of file */ int isuname; /* is a command line argv a user name? */ int numjobs; /* # of jobs in spooling area */ --- 64,67 ----
A diff -u listing simply shows the deleted line with a minus (-) sign before it. The section started at line 64 and had 5 lines; after the change, it starts at line 64 and has 4 lines:
@@ -64,5 +64,4 @@ { int i; /* for loop index */ - int userid; /* uid of owner of file */ int isuname; /* is a command line argv a user name? */ int numjobs; /* # of jobs in spooling area */
In a diff -c listing, lines that are added are marked with an exclamation point (!) and only appear in the second version. So, one of the lines between lines 111-116 was changed, and two other lines were added, leaving lines 111-118 in the second version:
*** 111,116 **** * are given, print usage info and exit. */ ! if (allflag && argc) usage( ); /* --- 111,118 ---- * are given, print usage info and exit. */ ! if (allflag && argc) { usage( ); + exit(1); + } /*
In a diff -u listing, lines that are only in the second version are always marked with a +. Here, one line was changed, and two lines were added. The original version started at line 111 and had 6 lines; the changed version started at line 111 and has 8 lines:
@@ -111,6 +111,8 @@ * are given, print usage info and exit. */ - if (allflag && argc) + if (allflag && argc) { usage( ); + exit(1); + } /*
Context diffs aren't just nice for reading. The patch (Section 20.9) program reads context diff listings and uses them to update files automatically. For example, if I had the first version of atcat.c, someone could send me either of the previous diff listings (called a "patch"). From the original and the patch, patch could create the second version of atcat.c. The advantage of a context diff over the formats in Section 11.1 and Section 11.2 is that context diffs let patch locate the changed sections even if they've been moved somewhat. In this case, it's probably not a good idea to save space by reducing the number of context lines (with -c2 or -u2, as I did here); giving all three lines of context can help patch locate the changed sections.
JP
After you've used diff for a while, the output is easy to read. Sometimes, though, it's just easier to see two files side-by-side. The sdiff command does that. Between the files, it prints < to point to lines that are only in the first file, > for lines only in the second file, and | for lines that are in both, but different. By default, sdiff shows all the lines in both files. Here's a fairly bogus example that compares two files that contain the output of who (Section 2.8) at different times:
$ sdiff -w75 who1 who2 jake vt01 Sep 10 10:37 jake vt01 Sep 10 10:37 uunmv ttyi1i Sep 16 11:43 < jerry ttyi1j Sep 15 22:38 jerry ttyi1j Sep 15 22:38 jake ttyp1 Sep 9 14:55 jake ttyp1 Sep 9 14:55 jake ttyp2 Sep 9 15:19 | ellen ttyp2 Sep 16 12:07 > carolo ttyp5 Sep 16 13:03 alison ttyp8 Sep 9 12:49 alison ttyp8 Sep 9 12:49
To see only lines that are different, use -s (silent):
$ sdiff -s -w75 who1 who2 2d1 uunmv ttyi1i Sep 16 11:43 < 5c4,5 jake ttyp2 Sep 9 15:19 | ellen ttyp2 Sep 16 12:07 > carolo ttyp5 Sep 16 13:03
The output lines are usually 130 characters long. That's too long for 80-column-wide screens; if you can put your terminal in 132-column mode or stretch your window, fine. If you can't, use the -w option to set a narrower width, like -w80 for 80-column lines; sdiff will show the first 37 characters from each line (it doesn't write quite all 80 columns). If you can set your printer to compressed type or have a very wide window, use an option like -w170 to get all of each line.
Section 11.5 explains a very useful feature of sdiff: building one file interactively from two files you compare.
JP
One problem you might be tempted to tackle with diff3 (Section 11.2) is sorting out the mess resulting if two people make copies of the same file, and then make changes to their copies. You often find that one version has some things right and another version has other things right. What if you wanted to compile a single version of this document that reflects the changes made to each copy? You want to select which version is correct for each set of differences. An effective way to do this would be to use sdiff (Section 11.4). (Of course, the best thing to do is to prevent the problem in the first place, by using RCS or CVS (Section 39.4).)
One of the most powerful uses of sdiff is to build an output file by choosing between different versions of two files interactively. To do this, specify the -o option and the name of an output file to be created. The sdiff command then displays a % prompt after each set of differences.
You can compare the different versions and select the one that will be sent to the output file. Some of the possible responses are l to choose the left column, r to choose the right column, and q to exit the program.
TOR and JP
The diff (Section 11.1) utility adds extra characters (>, <, +, and so on) to the beginning of lines. That can cause you real grief with tabstops because the extra characters added by diff can shift lines enough to make the indentation look wrong. The diff -t option expands TABs to 8-character tabstops and solves the problem.
If you use nonstandard tabstops, though, piping diff's output through expand or pr -e doesn't help because diff has already added the extra characters.
The best answers I've seen are the <( ) process-substitution operator and the ! (exclamation point) script. You can expand TABs before diff sees them. For example, to show the differences between two files with 4-column tabstops:
$ diff <(expand -4 afile) <(expand -4 bfile) process substitution % diff `! expand -4 afile` `! expand -4 bfile` other shells
Of course, nonstandard tabstops cause lots more problems than just with diff. If you can, you're better off using 8-space TABs and using spaces instead of tabs for indentation.
JP
cmp is another program for comparing files. It's a lot simpler than diff (Section 11.1); it tells you whether the files are equivalent and the byte offset at which the first difference occurs. You don't get a detailed analysis of where the two files differ. For this reason, cmp is often faster, particularly when you're comparing ASCII files: it doesn't have to generate a long report summarizing the differences. If all you want to know is whether two files are different, it's the right tool for the job.
It's worth noting, though, that cmp isn't always faster. Some versions of diff make some simple checks first, such as comparing file length. If two binary files have different lengths, they are obviously different; some diff implementations will tell you so without doing any further processing.
Both diff and cmp return an exit status (Section 35.12) that shows what they found:
|
Exit status |
Meaning |
|---|---|
|
0 |
The files were the same. |
|
1 |
The files differed. |
|
2 |
An error occurred. |
Within a shell script, the exit status from diff and cmp is often more important than their actual output.
ML
The comm command can tell you what information is common to two lists and what information appears uniquely in one list or the other. For example, let's say you're compiling information on the favorite movies of critics Ebert and Roeper. The movies are listed in separate files (and must be sorted (Section 22.1)). For the sake of illustration, assume each list is short:
% cat roeper Citizen Kane Halloween VI Ninja III Rambo II Star Trek V Zelig % cat ebert Cat People Citizen Kane My Life as a Dog Q Z Zelig
To compare the favorite movies of your favorite critics, type:
% comm roeper ebert Cat People Citizen Kane Halloween VI My Life as a Dog Ninja III Q Rambo II Star Trek V Z Zelig
Column 1 shows the movies that only Roeper likes; column 2 shows those that only Ebert likes; and column 3 shows the movies that they both like. You can suppress one or more columns of output by specifying that column as a command-line option. For example, to suppress columns 1 and 2 (displaying only the movies both critics like), you would type:
% comm -12 roeper ebert Citizen Kane Zelig
As another example, say you've just received a new software release (Release 4), and it's your job to figure out which library functions have been added so that they can be documented along with the old ones. Let's assume you already have a list of the Release 3 functions (r3_list) and a list of the Release 4 functions (r4_list). (If you didn't, you could create them by changing to the directory that has the function manual pages, listing the files with ls, and saving each list to a file.) In the following lists, we've used letters of the alphabet to represent the functions:
% cat r3_list b c d f g h % cat r4_list a b c d e f
You can now use the comm command to answer several questions you might have:
Which functions are new to Release 4? Answer:
% comm -13 r3_list r4_list Show 2nd column, which is "Release 4 only" a e
Which Release 3 functions have been dropped in Release 4? Answer:
% comm -23 r3_list r4_list Show 1st column, which is "Release 3 only" g h
Which Release 3 functions have been retained in Release 4? Answer:
% comm -12 r3_list r4_list Show 3rd column, which is "common functions" b c d f
You can create partial lists by saving the previous output to three separate files.
comm can only compare sorted files. In the GNU version, the option -l (lowercase L) means the input files are sorted using the LC_COLLATE collating sequence. If you have non-ASCII characters to sort, check your manual page for details.
DG
Section 11.8 didn't show one of my least-favorite comm features. The default output (with text in "columns") confuses me if the lines of output have much text (especially text with spaces). For example, if I'm looking at two who (Section 2.8) listings to compare who was logged on at particular times, the columns in the who output are jumbled:
$ comm who1 who2 root tty1 Oct 31 03:13 jpeek tty2 Oct 31 03:15 jpeek pts/0 Oct 31 03:19 jpeek pts/1 Oct 31 03:19 jpeek pts/2 Oct 31 03:19 ally pts/4 Oct 31 03:19 jpeek pts/3 Oct 31 03:19 xena pts/5 Nov 3 08:41
The commer script (see later) filters the comm output through sed. It converts comm's indentation characters (one TAB for lines in "column 2" and two TABs for lines in "column 3") into labels at the start of each output line. The default output looks like this:
$ commer who1 who2 BOTH>root tty1 Oct 31 03:13 BOTH>jpeek tty2 Oct 31 03:15 TWO>jpeek pts/0 Oct 31 03:19 BOTH>jpeek pts/1 Oct 31 03:19 BOTH>jpeek pts/2 Oct 31 03:19 TWO>ally pts/4 Oct 31 03:19 BOTH>jpeek pts/3 Oct 31 03:19 ONE>xena pts/5 Nov 3 08:41
With the -i option, the script uses both labels and columns:
$ commer -i who1 who2 BOTH> root tty1 Oct 31 03:13 BOTH> jpeek tty2 Oct 31 03:15 TWO>jpeek pts/0 Oct 31 03:19 BOTH> jpeek pts/1 Oct 31 03:19 BOTH> jpeek pts/2 Oct 31 03:19 TWO>ally pts/4 Oct 31 03:19 BOTH> jpeek pts/3 Oct 31 03:19 ONE> xena pts/5 Nov 3 08:41
Go to http://examples.oreilly.com/upt3 for more information on: commer
Here's the script. The sed substitute (s) commands have one or two TABs between the first pair of slashes. Note that the sed script is inside double quotes ("), so the shell can substitute the value of $indent with an ampersand (&) into the sed script if the -i option was used:
#!/bin/sh # commer - label columns in "comm" output # Usage: commer [-i] file1 file2 # -i option indents output lines into columns as "comm" does # # Note that script WILL FAIL if any input lines start with a TAB. case "$1" in -i) indent='&'; shift ;; -*|"") echo "Usage: `basename $0` [-i] file1 file2" 1>&2; exit 1 ;; esac # In "comm" output, column 1 (lines in file 1) has no leading TAB. # Column 2 (lines in file 2) has one leading TAB. # Column 3 (lines in both files) has two leading TABs. # Search for these tabs and use them to label lines. # (You could replace ONE and TWO with the filenames $1 and $2) comm "$1" "$2" | sed "{ /^ / {s//BOTH>$indent/; b} /^ / {s// ONE>$indent/; b} s/^/ TWO>/ }"
|
JP
The make program is a Unix facility for describing dependencies among a group of related files, usually ones that are part of the same project. This facility has enjoyed widespread use in software-development projects. Programmers use make to describe how to "make" a program which source files need to be compiled, which libraries must be included, and which object files need to be linked. By keeping track of these relationships in a single place, individual members of a software-development team can make changes to a single module, run make, and be assured that the program reflects the latest changes made by others on the team.
Only by a leap of the imagination do we group make with the other commands for keeping track of differences between files. However, although it does not compare two versions of the same source file, it can be used to compare versions of a source file and to the formatted output.
Part of what makes Unix a productive environment for text processing is discovering other uses for standard programs. The make utility has many possible applications for a documentation project. One such use is to maintain up-to-date copies of formatted files which make up a single manual and provide users with a way of obtaining a printed copy of the entire manual without having to know which preprocessors or formatting options (Section 45.13) need to be used.
The basic operation that make performs is to compare two sets of files for example, formatted and unformatted files and determine if any members of one set, the unformatted files, are more recent than their counterpart in the other set, the formatted files. This is accomplished by simply comparing the last-modification date (Section 8.2) ("timestamp") of pairs of files. If the unformatted source file has been modified since the formatted file was made, make executes the specified command to "remake" the formatted file.
To use make, you have to write a description file, usually named Makefile (or makefile), that resides in the working directory for the project. The Makefile specifies a hierarchy of dependencies among individual files, called components. At the top of this hierarchy is a target. For our example, you can think of the target as a printed copy of a book; the components are formatted files generated by processing an unformatted file with nroff Section 45.12).
Here's the Makefile that reflects these dependencies:
lp Section 45.2
manual: ch01.fmt ch02.fmt ch03.fmt lp ch0[1-3].fmt ch01.fmt: ch01 nroff -mm ch01 > ch01.fmt ch02.fmt: ch02 tbl ch02 | nroff -mm > ch02.fmt ch03.fmt: ch03a ch03b ch03c nroff -mm ch03[abc] > ch03.fmt
This hierarchy is represented in Figure 10-1.
The target is manual, which is made up of three formatted files whose names appear after the colon. Each of these components has its own dependency line. For instance, ch01.fmt is dependent upon a coded file named ch01. Underneath the dependency line is the command that generates ch01.fmt. Each command line must begin with a TAB.
When you enter the command make, the end result is that the three formatted files are spooled to the printer. However, a sequence of operations is performed before this final action. The dependency line for each component is evaluated, determining if the coded file has been modified since the last time the formatted file was made. The formatting command will be executed only if the coded file is more recent. After all the components are made, the lp (Section 45.2) command is executed.
As an example of this process, we'll assume that all the formatted files are up-to-date. Then by editing the source file ch03a, we change the modification time. When you execute the make command, any output files dependent on ch03a are reformatted:
$ make nroff -mm ch03[abc] > ch03.fmt lp ch0[1-3].fmt
Only ch03.fmt needs to be remade. As soon as that formatting command finishes, the command underneath the target manual is executed, spooling the files to the printer.
Although this example has actually made only limited use of make's facilities, we hope it suggests more ways to use make in a documention project. You can keep your Makefiles just this simple, or you can go on to learn additional notation, such as internal macros and suffixes, in an effort to generalize the description file for increased usefulness.
TOR, from Unix Text Processing (Hayden Books, 1987)
Thinking about make will pay off in many ways. One way to get ideas about how to use it is to look at other Makefiles.
One of my favorites is the Makefile for NIS (Section 1.21) (formerly called YP, or "Yellow Pages"). I like this Makefile because it does something that you'd never think of doing (even though it suits make perfectly): updating a distributed database.
The Makefile is fairly complicated, so I don't want to get into a line-by-line explication; but I will give you a sketch of how it works. Here's the problem: a system administrator updates one or more files (we'll say the passwd file) and wants to get her changes into the NIS database. So you need to check whether the new password file is more recent than the database. Unfortunately, the database isn't represented by a single file, so there's nothing to "check" against. The NIS Makefile handles this situation by creating empty files that serve as timestamps. There's a separate timestamp file for every database that NIS serves. When you type make, make checks every master file against the corresponding timestamp. If a master file is newer than the timestamp, make knows that it has to rebuild part of the database. After rebuilding the database, the Makefile "touches" the timestamp, so that it reflects the time at which the database was built.
The Makefile looks something like this:
passwd: passwd.time passwd.time: /etc/master/passwd @ lots of commands that rebuild the database @ touch passwd.time @ more commands to distribute the new database hosts: hosts.time hosts.time: similar stuff
You may never need to write a Makefile this complicated, but you should look for situations in which you can use make profitably. It isn't just for programming.
ML
| CONTENTS |


You are walking through some shelves with more of those books with tiny spines. You know from previous experience, that tiny spines on books = children. The last time you saw the tiny spine books was in the children’s picture books section.
Are these picture books too? You pick on up. It’s about drawing animals. You pick up another one. Its about the history of clay. Seems like nonfiction books, but for children.
Why do the spines have to be so small! Is it because children have small hands?
There are so many more books in this nonfiction section than there were in the picture book section. And the spines, the spines go even smaller!


Concept DestructibleConceptA type with a destructor.
A type with a destructor.
| All Subcl's | ContainerConcept, ForwardContainerConcept, IntegerConcept, RandomAccessContainerConcept, ReversibleContainerConcept, SegmentableConcept, SignedIntegerConcept, StringConcept, UnsignedIntegerConcept |
|---|---|
| Defined in | <seqan/basic.h> |
| Signature |
Destructible<T>
|
Detailed Description
Expects an instance of type T to be destructible.
Valid Expressions
T() T a;


It's always fun to see a drift car doing many trick to impress the crowd. What is the
real meaning of drifting? Drifting is the act or activity of steering an automobile so that it makes a controlled skid sideways
through a turn with the front wheels pointed in a direction opposite to that of the turn
The History
Drifting began in the early 1980s with a Japanese race-car driver named Keiichi Tsuchiya. Mr. Tsuchiya, who was in his 20s, started
experimenting with drifting and practiced it on curvy roads deep in the mountains near his
hometown. He says he was perfecting his ability to not spin out
on curves in car races.
Formula Drft
Formula D or Formula DRIFT Black Magic Pro Championship Presented by BlackVue Dash Cameras is the premier United States-based drifting series. Formula Drift, Inc. was co-founded by Jim Liaw and Ryan Sage in 2003 as a sister company to the now defunct Slipstream Global Marketing, the same partnership that introduced D1 Grand Prix to the United States. The new entity would solely own, operate and launch the first official drifting series in North America. 2018 was Formula Drift's fifteenth year of competition
Source : Wikipedia
With 60 currently licensed drivers competing in PRO and PROSPEC, Formula Drift is recognized as the premier North American professional drifting championship series. The series consists of an eight-round championship played out at race tracks across North America. Judged on line, angle, and style, rather than who finishes the course in the fastest time, Formula Drift brings together traditional racing and extreme sports.
Formula Drift works closely with a huge variety of sponsors such as: Black Magic Car Care, BlackVue Dash Cameras, NOS Energy Drink, and the United States Air Force. Most notably Formula Drift works with the largest amount of tire suppliers to a single series. Federal Tire, Falken Tire, Nexen Tire, GT radial and Nitto Tire all work together to supply teams and develop test their products.


--- layout: page title: 4D regular polyhedra (THREE.js) --- Click here to see the visualization
This is the practical part of my bachelor thesis on 4D polyhedra
Project is expected to be finished in January 15th.
Click here to see the end result. Assignment's GitHub page.


| Name:SHIJO | Reg No:015-11SMHC18 |
|---|---|
| Age / Sex:28 | Contact No:9916605534 |
| Marital Status:SINGLE | Date:24/11/18 |
| Occupation:SUPERVISOR | Dr. PNB |
Address:DODDADONASANDRA Chik thirupathi. |
DIAGNOSIS- |
1.Allergic to home dust after brooming reoon,hands,neck,stomach becomes red,hot,mild tching-1yr
Scalp psoriasis,chin,ear,chest-3yrs
White scaliness,dryness
Painful while combing
Fear of losing hair,if hair present will cover the rashes
Agg-wet(after head bath when touches pain)
Feels asahya,fear of losing
Intolerance to sound,talking
Anger when repeatedly asking questions (except interested)
Headache while laughing more
Father drinking feels sad and becomes emotional
Intolerance to sun
Likes being alone.
f/h:
Joint pain mom,
Range 1050/- for one month
Rx:
Nat mur 200 1 dose on 25th nov mng.
Nat mur 200 1 dose on 9th dec mng b/brush water doses.
Sl 30 doses 1 dose ight b/food.
Pentaphos 2-0-2
Pl pills 4 pills mng b/food
21/12/18:
1.same,but under control compare to previous but he stopped sterod ointment
Rx:
1.senega+hydrocotyl+justecea Q 15-0-15
2.sil6x 4-0-4
3.rub1m 30 tab mrng b/food
4.mez 200+nat mur200disk 3-0-3
4.thuj50m 4doses weekly 1dose
r/a 1mnth
2/2/19: feeling better. Wt: 72 kg.
Rx:
1.senega+hydrocotyl+justecea Q 15-0-15
2.sil6x 4-0-4
3.rub1m 30 tab mrng b/food
4.mez 200+nat mur200disk 3-0-3
4.thuj50m 4doses weekly 1dose
r/a 1mnth
1350/-


PostgreSQL supports a set of experimental facilities which are intended to allow extension modules to add new scan types to the system. Unlike a foreign data wrapper, which is only responsible for knowing how to scan its own foreign tables, a custom scan provider can provide an alternative method of scanning any relation in the system. Typically, the motivation for writing a custom scan provider will be to allow the use of some optimization not supported by the core system, such as caching or some form of hardware acceleration. This chapter outlines how to write a new custom scan provider.
Implementing a new type of custom scan is a three-step process. First, during planning, it is necessary to generate access paths representing a scan using the proposed strategy. Second, if one of those access paths is selected by the planner as the optimal strategy for scanning a particular relation, the access path must be converted to a plan. Finally, it must be possible to execute the plan and generate the same results that would have been generated for any other access path targeting the same relation.


nips nips2004 nips2004-33 nips2004-33-reference knowledge-graph by maker-knowledge-mining
Source: pdf
Author: Françcois Rivest, Yoshua Bengio, John Kalaska
Abstract: Successful application of reinforcement learning algorithms often involves considerable hand-crafting of the necessary non-linear features to reduce the complexity of the value functions and hence to promote convergence of the algorithm. In contrast, the human brain readily and autonomously finds the complex features when provided with sufficient training. Recent work in machine learning and neurophysiology has demonstrated the role of the basal ganglia and the frontal cortex in mammalian reinforcement learning. This paper develops and explores new reinforcement learning algorithms inspired by neurological evidence that provides potential new approaches to the feature construction problem. The algorithms are compared and evaluated on the Acrobot task. 1
[1] Foster, D. & Dayan, P. (2002) Structure in the space of value functions. Machine Learning 49(2):325-346.
[2] Tsitsiklis, J.N. & Van Roy, B. (1996) Featured-based methods for large scale dynamic programming. Machine Learning 22:59-94.
[3] Sutton, R.S., McAllester, D., Singh, S. & Mansour, Y. (2000) Policy gradient methods for reinforcement learning with function approximation. Advances in Neural Information Processing Systems 12, pp. 1057-1063. MIT Press.
[4] Barto A.G. (1995) Adaptive critics and the basal ganglia. In Models of Information Processing in the Basal Ganglia, pp.215-232. Cambridge, MA: MIT Press.
[5] Suri, R.E. & Schultz, W. (1999) A neural network model with dopamine-like reinforcement signal that learns a spatial delayed response task. Neuroscience 91(3):871-890.
[6] Suri, R.E. & Schultz, W. (2001) Temporal difference model reproduces anticipatory neural activity. Neural Computation 13:841-862.
[7] Doi, E., Inui, T., Lee, T.-W., Wachtler, T. & Sejnowski, T.J. (2003) Spatiochromatic receptive field properties derived from information-theoritic analysis of cone mosaic responses to natural scenes. Neural Computation 15:397-417.
[8] Sutton R.S. & Barto A.G. (1998) Reinforcement Learning: An Introduction. Cambridge, MA: MIT Press.
[9] Doya K. (1999) What are the computations of the cerebellum, the basal ganglia and the cerebral cortex? Neural Networks 12:961-974.
[10] Foster, D.J., Morris, R.G.M., & Dayan, P. (2000) A model of hippocampally dependent navigation, using the temporal difference learning rule. Hippocampus 10:1-16.
[11] Wickens, J. & Kötter, R. (1995) Cellular models of reinforcement. In Models of Information Processing in the Basal Ganglia, pp.187-214. Cambridge, MA: MIT Press.
[12] Whiteson, S. & Stone, P. (2003) Concurrent layered learning. In Proceedings of the 2 nd Internaltional Joint Conference on Autonomous Agents & Multi-agent Systems.
[13] Amari, S-I (1999) Natural gradient learning for over- and under-complete bases in ICA. Neural Computatio n 11:1875-1883.


This text produces two pages on paged media. This text begins about two inches down from the top of the page.
This text begins about one half inch down from the top of the page.


CODEOWNERS ext
Codeowners Extension Requires a
Github Access Token
Why!?
This extension fetches your
CODEOWNERS
file using GithubApi, and also fetches all of your user's team names
To read more, go to our
Github Repo
Save


Write a function that receives a recipe in the form of a dictionary, as well as all of the ingredients you have available to you, also in the form of a dictionary. Both of these dictionaries will have the same form, and might look something like this:
The keys will be the ingredient names, with their associated values being the amounts. In the case of the recipe dictionary, these amounts will represent the amount of each ingredient needed for the recipe, while in the case of the ingredients dictionary, the amounts represent the amounts available to you.
Your function should output the maximum number of whole batches that can be made for the supplied recipe using the ingredients available to you, as indicated by the second dictionary.
For example
# should return 0 since we don't have enough butter!
recipe_batches(
{ 'milk': 100, 'butter': 50, 'flour': 5 },
{ 'milk': 138, 'butter': 48, 'flour': 51 }
)
Run the test file by executing python test_recipe_batches.py
.
You can also test your implementation manually by executing python recipe_batches.py
.


I am a data enthusiast, who is currently enrolled in the Metis Data Science Bootcamp (Fall 2018). Learn about the fun stuff I am doing as a part of the coursework in my blog.
I also have a PhD in Molecular Biology and have spent a better part of the last decade as a researcher working on Genomics and Proteomics. You can find out more about my previous avatar, either on Google Scholar or ResearchGate.
Some fun facts about the setup of this project include:
Have questions or suggestions? Contact me on GitHub or ask me on Twitter.
Thanks for reading!


I am pretty sure that you know when was your birthday.
But do you know the actual day you were born? I guess NO.
Let me help you with that. I will also give you an Akan Name. Sounds fun.
Akan names are derived from Ghanian culture. Frequently in Ghana, children are given their first name as a 'day name' which corresponds to the day in the week they were born. For example, a male child born on Sunday is called Kwasi while a female child born on the same day is called Akosua . Click here for more.


'Shameful' for UK not to publish Russia meddling probe: Clinton
LONDON: Hillary Clinton said Tuesday (Nov 12) it was "shameful" that the British government had not published a delayed parliamentary report into possible Russian interference in British politics ahead of December elections.
British Prime Minister Boris Johnson's government has previously rejected claims it was suppressing the report to avoid a scandal ahead of next month's snap poll.
"Every person who votes in this country deserves to see that report before your election happens," the defeated US presidential candidate told BBC Radio 4 during a book tour.
READ: 'Necessary procedure': Britain says of Russia meddling report delay
Clinton said there was "no doubt" that Russia is "determined to try to shape the politics of western democracies".
"Not to our benefit, but to theirs," said the Democrat, who lost the 2016 US election to President Donald Trump in a race that US intelligence chiefs have said was marred by Russian interference.
"I find it inexplicable that your government will not release a government report about Russian influence. Inexplicable and shameful," she told BBC Radio 5 Live.
Britain's parliament was previously told a report by the Intelligence and Security Committee was sent to the prime minister for approval on Oct 17.
The probe into suspected Russian covert actions in Britain's democratic process reportedly includes examining whether Moscow tried to interfere with the 2016 Brexit vote and the 2017 general election.
Moscow has been accused of spearheading sophisticated disinformation campaigns around the world to further its interests.
The Intelligence and Security Committee, which oversees the work of the country's intelligence agencies, submits its reports to the government before publication to avoid the inadvertent release of sensitive information.
A former head of domestic spy agency MI5 and the committee's chairman have suggested Johnson is stalling on the release of the 50-page report with the December 12 general election looming.
Jonathan Evans, head of MI5 from 2007 to 2013, called on the government to explain the delay.
Foreign Office minister Chris Pincher has previously said that the report is going through "an intensive security review".
Pincher has also played down concerns, saying there is "no evidence" to suggest there has been any successful Russian involvement in the British electoral system.


(Route : File Menu, Page Setup Command)
This tab page allows you to set the margins used when printing from Ameol.
This is a Hot Spot image. Move your mouse pointer over the image
and when the mouse pointer changes to the shape of a hand click
the left mouse button once for extra help.
The printer will not print anything beyond the margins that you set.


---
layout: presentation
title: "Introduction to EOS Key Pairs"
date: 2018-08-07 01:40:40 +0800
author: croath
categories: eos key
---
class: middle, center
# Introduction to EOS Key Pairs
---
# Agenda
1. What are key pairs
2. Why it's secure
3. What kind of keys is EOS using
4. Signature
5. Conclusion
---
# What are Key Pairs?
{% highlight bash %}
Private Key: 5J3Aa7Z98cZn9Rjy4aEaYUsN2EmYveLvh4YgCHCvvNB6EYJ94PA
Public Key: EOS7HZtQrJuKTDF79jmHwSqVT7ff5eZxXmzfSZ91ndS7XW1JwBUkb
{% endhighlight %}
EOS key pairs are generated from elliptic curves.
---
# What are Key Pairs?
## Elliptic Curves Cryptography (ECC)
y2 = x3 + ax + b
---
# Why It's Secure?
If your private key is generated from a simple character, like `q`...
... or from a data stream like `10`
[NIST](https://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technology) and [ANSI X9](https://en.wikipedia.org/wiki/ASC_X9) set the minimum key size standard. RSA and DSA is 1024, ECC is 160.
---
# Why It's Secure?
## secp256k1 vs. secp256r1
Bitcoin uses secp256k1.
Satoshi said secp256k1 is secure for at least 5-10 years, unless there's a breakthrough.
But NIST made secp256r1 a standard curve.(Honeypot?)
---
# Why It's Secure?
## Dual_EC_DRBG
Honeypot: Const Q in BSAFE.
RSA warns developers not to use the default Dual_EC_DRBG generator in BSAFE.
[ref link](https://wikileaks.org/hackingteam/emails/emailid/167263)
---
# Why It's Secure?
So in general purpose, we can believe in secp256k1.
---
# What kind of keys is EOS using
secp256k1 and secp256r1
---
# Signature
Here's [an article](http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html) talking about it in plain language.
### Before all:
1. Make your public key public.
2. Make your private key private.
### Make people recognize that's you:
1. Sign stuffs with your private key.
2. Other people can decrypt it with your public key, but they can not make a fake one under your name.
### And per se,
1. Other people can use public key to sign data.
2. The one that has the private key can decrypt it.
---
# Signature
## https (off topic)
### 1
Data: `ProChain is good`
Server -> router_1 -> router_2 -> ... router_BAD ... -> router_n -> your computer
router_BAD: change server's data to: `ProChain is good. Free 10,000 EOS click here.`
### 2
Data: `send 1 USD to Alice`
your computer -> router_1 -> router_2 -> ... router_BAD ... -> router_n -> Server
router_BAD: change your data to: `send 100 USD to Bob`
---
# Signature
## EOS Transaction Structure
```json
{
"account":"eosio.token",
"name":"transfer",
"authorization":[
{
"actor":"agoodaccount",
"permission":"active"
}
],
"data":{
"from":"agoodaccount",
"to":"gq3dinztgage",
"quantity":"1.0000 EOS"
}
}
```
---
# Signature
## Raw tx
```json
{
"from":"agoodaccount",
"to":"gq3dinztgage",
"quantity":"1.0000 EOS"
}
```
## Pack it!
```
a4f38c5b390282247889000000000100a6823403ea3055000000572d3
ccdcd01104260d33d364dc300000000a8ed323241104260d33d364dc3
204260d33d364dc31027000000000000044a554e474c4500205465737
4206279207368616e676a696e67202e20203230313830393033303032
00
```
---
# Signature
## Packed tx
```
a4f38c5b390282247889000000000100a6823403ea3055000000572d3
ccdcd01104260d33d364dc300000000a8ed323241104260d33d364dc3
204260d33d364dc31027000000000000044a554e474c4500205465737
4206279207368616e676a696e67202e20203230313830393033303032
00
```
## Sign it!
```
SIG_K1_KdRNkKSDNFUb7gU45UZcySykeGRGp4ESzEZj4pyJwWsuDVkRcH
jREViyF1qQmci8981zib3zGebD64YAXgsNQkzAa7jftK
```
## Compress it!
Or not.
---
# Signature
## Signed tx
```json
{
"signatures": [
"SIG_K1_KdRNkKSDNFUb7gU45UZcySykeGRGp4ESzEZj4pyJwWsuDVkRcHjREViyF1qQmci8981zib3zGebD64YAXgsNQkzAa7jftK"
],
"compression": "none",
"packed_context_free_data": "",
"packed_trx": "a4f38c5b390282247889000000000100a6823403ea3055000000572d3ccdcd01104260d33d364dc300000000a8ed323241104260d33d364dc3204260d33d364dc31027000000000000044a554e474c45002054657374206279207368616e676a696e67202e2020323031383039303330303200"
}
```
## Finally, push it.
`POST https://yourdomainandport/v1/chain/push_transaction`
---
class: middle, center
# Tech Details
---
# Generate a Private Key
```swift
func wifStringPureSwift(enclave: SecureEnclave) -> String {
let size_of_data_to_hash = count + 1
let size_of_hash_bytes = 4
var data: Array = Array(repeating: UInt8(0), count: size_of_data_to_hash+size_of_hash_bytes)
data[0] = UInt8(0x80)
let bytes = [UInt8](self)
for i in 1..num_bytes, x);
uECC_decompress(deR, coR, curve);
uECC_vli_bytesToNative(Rx, coR, curve->num_bytes);
uECC_vli_bytesToNative(Ry, coR+curve->num_bytes, curve->num_bytes);
EccPoint_mult(R, R, s, 0, uECC_vli_numBits(s, BITS_TO_WORDS(curve->num_n_bits)), curve);
EccPoint_mult(sum, curve->G, e, 0, uECC_vli_numBits(e, BITS_TO_WORDS(curve->num_n_bits)), curve);
EccPoint_add(sumx, sumy, Rx, Ry, curve);
uECC_vli_nativeToBytes(comp_pk, curve->num_bytes, sumx);
uECC_vli_nativeToBytes(comp_pk+curve->num_bytes, curve->num_bytes, sumy);
if (comp_char(public_key, comp_pk, curve->num_bytes*2)) {
return recid;
}
```
---
# Conclusion
1. What are key pairs, what are elliptic curves?
2. Why it's secure, and what is not secure?
3. What kind of keys is EOS using, K1 or R1?
4. Signature of Transacions (Step 1,2,3...)


Projects - back{4}app demo
Please, select a project
New project
Title
Description
{{project.title}}
{{project.description}}
Delete
Selected project: {{vm.selectedProject.title}}
Title
Description
Save


Search
Preparing search index...
The search index is not available
@davidvella/sharepoint-rest-react
Options
All
Public
Public/Protected
All
Inherited
Externals
Only exported
Menu
Globals
@davidvella/sharepoint-rest-react
Index
External modules
"common/
Locales"
"common/datatypes/
Control
Mode"
"common/services/
Document
Service"
"common/services/IDocument
Service"
"common/services/IList
Form
Service"
"common/services/
List
Form
Service"
"common/services/SPTerm
Store
Picker
Service"
"common/services/datatypes/
Render
List
Data"
"components/
List
Form"
"components/
List
View"
"components/SPForm
Field"
"components/SPView
Fields"
"components/file
Type
Icon/
File
Type
Icon"
"components/file
Type
Icon/IFile
Type
Icon"
"components/form
Fields/
Date
Form
Field"
"components/form
Fields/
Form
Field"
"components/form
Fields/
Number
Form
Field"
"components/form
Fields/SPField
Boolean
Edit"
"components/form
Fields/SPField
Choice
Edit"
"components/form
Fields/SPField
Date
Edit"
"components/form
Fields/SPField
Lookup
Display"
"components/form
Fields/SPField
Lookup
Edit"
"components/form
Fields/SPField
Number
Edit"
"components/form
Fields/SPField
Taxonomy
Edit"
"components/form
Fields/SPField
Text
Display"
"components/form
Fields/SPField
Text
Edit"
"components/form
Fields/SPField
Url
Display"
"components/form
Fields/SPField
User
Display"
"components/form
Fields/SPUser
Edit"
"components/form
Fields/index"
"components/peoplepicker/IPeople
Picker"
"components/peoplepicker/IUsers"
"components/peoplepicker/
People
Picker
Component"
"components/peoplepicker/
Principal
Type"
"components/taxonomy
Picker/
Error
Message"
"components/taxonomy
Picker/ITaxonomy
Picker"
"components/taxonomy
Picker/ITerm
Picker"
"components/taxonomy
Picker/
Taxonomy
Picker"
"components/taxonomy
Picker/
Term"
"components/taxonomy
Picker/
Term
Parent"
"components/taxonomy
Picker/
Term
Picker"
"components/types/IField
Configuration"
"components/types/IList
Form
Props"
"components/types/IList
Form
State"
"components/types/IList
View
Props"
"components/types/IList
View
State"
"components/types/index"
"index"
Globals
"common/
Locales"
"common/datatypes/
Control
Mode"
"common/services/
Document
Service"
"common/services/IDocument
Service"
"common/services/IList
Form
Service"
"common/services/
List
Form
Service"
"common/services/SPTerm
Store
Picker
Service"
"common/services/datatypes/
Render
List
Data"
"components/
List
Form"
"components/
List
View"
"components/SPForm
Field"
"components/SPView
Fields"
"components/file
Type
Icon/
File
Type
Icon"
"components/file
Type
Icon/IFile
Type
Icon"
"components/form
Fields/
Date
Form
Field"
"components/form
Fields/
Form
Field"
"components/form
Fields/
Number
Form
Field"
"components/form
Fields/SPField
Boolean
Edit"
"components/form
Fields/SPField
Choice
Edit"
"components/form
Fields/SPField
Date
Edit"
"components/form
Fields/SPField
Lookup
Display"
"components/form
Fields/SPField
Lookup
Edit"
"components/form
Fields/SPField
Number
Edit"
"components/form
Fields/SPField
Taxonomy
Edit"
"components/form
Fields/SPField
Text
Display"
"components/form
Fields/SPField
Text
Edit"
"components/form
Fields/SPField
Url
Display"
"components/form
Fields/SPField
User
Display"
"components/form
Fields/SPUser
Edit"
"components/form
Fields/index"
"components/peoplepicker/IPeople
Picker"
"components/peoplepicker/IUsers"
"components/peoplepicker/
People
Picker
Component"
"components/peoplepicker/
Principal
Type"
"components/taxonomy
Picker/
Error
Message"
"components/taxonomy
Picker/ITaxonomy
Picker"
"components/taxonomy
Picker/ITerm
Picker"
"components/taxonomy
Picker/
Taxonomy
Picker"
"components/taxonomy
Picker/
Term"
"components/taxonomy
Picker/
Term
Parent"
"components/taxonomy
Picker/
Term
Picker"
"components/types/IField
Configuration"
"components/types/IList
Form
Props"
"components/types/IList
Form
State"
"components/types/IList
View
Props"
"components/types/IList
View
State"
"components/types/index"
"index"
Generated using
TypeDoc


Bit Bash is Chicago’s first alternative games and arts festival. I am a co-organzier contributing with design, marketing, social media, and project managing.
In early 2014, a few Chicagoans traveled to the annual Game Developers' Conference in the Bay Area, had a blast, and lamented about how Chicago doesn’t have any large events (festivals, conferences) for the games industry. In response, they gathered friends and began to plan Chicago’s first games festival. Jamie Sanchez invited me along to help with design and marketing.
Bit Bash started to take shape in the spring of 2014 as the mission and goals were being fleshed out between the co-organizers. As a team, we decided that we wanted to make diverse games accessible to diverse people. We wanted to make games available that weren’t playable at home, games that offered unique experiences, enjoyable by a large to unlimited amount of people, games created by a mix of developers from many different backgrounds, telling many different stories.
To be inclusive, we have been clear and upfront about our Code of Conduct with our organizers, volunteers, volunteer captains, and attendees. It is very important to us to create a safe space for any and every person to enjoy various art forms together, and our CoC helps lay that foundation.
Co-organizers curated a long list of games that fit the criteria and contacted the developers. We also expanded the festival to include Art Bash, a poster showcase that allowed people to submit work that would eventually be printed with Risograph, if selected by a guest panel of judges, previously including AIGA and VGA Gallery. We facilitated the printing and selling of the posters. All proceeds went back to the artists.
Each event has had DJ sets in the evening, indoor and outdoor games, and special hardware games. Bit Bash 2015 featured a tabletop sit down area by Cards Against Humanity.
Planning our first Bit Bash helped us realize where each of our strengths are and where we most successfully fit in contributing to the project. For 2015, we formed loose teams to organize ourselves and establish some hierarchy. The teams were marketing, logistics, curation, and operations/admin.
My role began as design support, including creating the logo, brainstorming each event’s theme, conceptually exploring the visual design for each theme, designing the t-shirt and other branded materials for each event, and assisting Jamie in laying out a cohesive brand style as it evolves along with us. For Bit Bash 2015, I was sorted into the marketing team and casually picked up the role of social media manager. I will likely move into more of a project manager role as we move forward.
Our first Bit Bash happened on Saturday, September 6, 2014. We held a a smaller event appropriately titled Itty Bitty Bash on Thursday, February 6, 2015. The second classic Bit Bash festival was held Saturday, August 22, 2015. More to come!
Keep in touch for our future events. You can sign up for our newsletter on our website, and find us at the following links: twitter, instagram, tumblr.
Co-Organizers: Jamie Sanchez, Ryan Wiemeyer, Rob Lach, Brice Puls, Tom Eastman, David Laskey, John Murphy, Rob Lockhart, Dana Trebella, Andy Saia
We also couldn’t do it without: All our many, many volunteers, the game developers making really cool games, our hosts Threadless and Bottom Lounge, Arcade Brewery, VGA Gallery, Dark Matter Coffee, Sony, Alienware, Chicago Loot Drop, Cards Against Humanity, SteelSeries, and many other sponsors & partners.
All photos in this post were taken by the great Brent Knepper.


--- title: 100 Time Series Data Mining Questions - Part 4 author: Francisco Bischoff date: '2020-09-20' slug: 100-time-series-part-4 categories: - r-bloggers - datamining - R - timeseries - tsmp tags: [] publishDate: '2020-09-20T12:00:00+01:00' mathjax: yes ---
In the last post we’ve understood and find Discords in our data.
For the next question, we will still be using the datasets available at https://github.com/matrix-profile-foundation/mpf-datasets so you can try this at home.
The original code (MATLAB) and data are here.
Now let’s start:
Now we will see one of the most interesting and fast jobs that the Matrix Profile can do (there are more, for sure).
In the later tasks, we were comparing a dataset with itself. Now we will compare two datasets, using a rolling window.
This may sound trivial, but as always, you need to know your data.
First, let’s load the tsmp
library and import our datasets:
# install.packages('tsmp')
library(tsmp)
baseurl <- "https://raw.githubusercontent.com/matrix-profile-foundation/mpf-datasets/102b8b0451cc9436879c025d21d5709cb4c8a601/"
dataset_queen <- read.csv(paste0(baseurl, "real/mfcc_queen.csv"), header = FALSE)$V1
dataset_vanilla <- read.csv(paste0(baseurl, "real/mfcc_vanilla_ice.csv"), header = FALSE)$V1
And plot it as always:
def_par <- par(no.readonly = TRUE) # always save the previous configuration
par(mfrow = c(2, 1), cex = 0.8)
plot(dataset_queen, main = "Queen Song", lwd = 1, type = "l", ylab = "", xlim = c(0, 25000))
plot(dataset_vanilla, main = "Vanilla Ice Song", lwd = 1, type = "l", ylab = "", xlim = c(0,
25000))
par(def_par) # and in the end, restore the configurations
Now, remember, know your data. These are sound data. More precisely, these are one of the MFCC representation of these musics that allows us to better represent the sound.
As you may (or not) remember, the MASS algorithm normalizes the data by default, and this may be helpful to find patterns that are basically the same, but differ in amplitude, for example. Here, in this case, normalizing the data would basically mess up with our task! The reason is simple: you can have sequences of the same notes, but with a higher or lower pitch, so they are not the same.
In this case, we will use the SiMPle algorithm that uses a non-normalized version of MASS.
# First we will crop the Queen to be the same size of Vanilla Ice
dataset_queen <- dataset_queen[1:length(dataset_vanilla)]
# and use the SiMPle algorithm. This algorithm is not optimized yet... so it takes more
# time.
mp_obj <- simple_fast(cbind(dataset_queen, dataset_vanilla), window_size = 300, exclusion_zone = 1,
verbose = 1)
## Finished in 27.44 secs
# and now let's plot all together:
def_par <- par(no.readonly = TRUE) # always save the previous configuration
par(mfrow = c(3, 1), cex = 0.8)
plot(dataset_queen, main = "Queen Song", lwd = 1, type = "l", ylab = "", xlim = c(0, 25000))
plot(dataset_vanilla, main = "Vanilla Ice Song", lwd = 1, type = "l", ylab = "", xlim = c(0,
25000))
plot(mp_obj$mp, main = "Matrix Profile", lwd = 1, type = "l", ylab = "", xlim = c(0, 25000))
par(def_par) # and in the end, restore the configurations
You can see that the lower parts of the Matrix Profile align well with that famous bassline from “Under Pressure” by Queen which was plagiarized by Vanilla Ice.
So we did it again!
This ends our fourth question of one hundred (let’s hope so!).
Until next time.
PS: When I was writing this post, I realized that the tsmp
package lacks some tools to better visualize what is going on with the SiMPle approach. I promise that in a later version of the package I’ll cover this issue, and get back to this post.


The venerable Soekris 4801 with 128 megabytes of RAM and slow 233 MHz processor can still maintain a useful role. Thousands reside quietly in drawers and closets around the globe, forgotten as expired goods past their relevance.
Even an ancient Soekris box running OpenBSD is more than adequate for use as a serial console server, a recursive/caching DNS, a lightweight monitoring server, etc.
OpenBSD is an ideal candidate operating system for the Soekris, since it’s built lean by default, yet an array of functions are available in the base system.
One might also consider custom OpenBSD systems such as flashrd or its derivation resflash. Both are aimed at small systems, and minimize disk writes which is ideal for flash media-based systems. However, flashrd hasn’t been updated since OpenBSD 5.9 and resflash is in its early stages of development.
In terms of formatting with this piece:
bold indicates user input
indented and shadowed text indicates standard output as it’s displayed
a number after a command, such as sshd(8), indicates an OpenBSD manual page
and { } represents custom user input, such as a user name
Needs:
bootable media with OpenBSD/i386 stable on a USB stick. Using current (snapshots) is not ideal in this scenario, as we’re looking for a low-maintenance system. With the introduction of syspatch(8) in OpenBSD 6.1 -stable, keeping the system patched became enormously easier.
compact flash (CF) card with adapter
bootstrap i386/amd64 computer with any operating system
a serial console cable with a null modem
With the bootable media attached via USB, launch the bootstrap computer and enter the OpenBSD installation program.
The OpenBSD installer is graphics-free, yet clear and simple to navigate.
Type i to enter the install system.
Welcome to the OpenBSD/i386 6.1 installation program.
(I)nstall, (U)pgrade, (A)utoinstall or (S)hell? i
Plug in the CF card adapter and note the device listed to standard output, normally sd(4) with a respective number, such as sd2.
Hit “enter” for [default]
Choose your keyboard layout ('?' or 'L' for list) [default]
Designate the system’s hostname
System hostname? (short form, e.g. 'foo') {hostname}
Next the list of interfaces is displayed, both wired and wireless devices. This can be configured for DHCP if available, as it will only be used to pull the relevant install sets from a remote OpenBSD mirror. Note that the interfaces only apply temporarily to the bootstrap computer, and will need to be adjusted manually on the actual Soekris device which uses sis(4) for the network interfaces.
Password for root account? (will not echo)
sshd(8) will likely be necessary.
Start sshd(8) by default [yes]? yes
Since we are looking for a small, tight system, X Windows and xdm(1) are unnecessary.
Do you want the X Window System to be started by xdm(1)? [no] no
Configuring a non-privileged user is an important step in running a secure system.
Setup a user? (enter a lower-case loginname, or 'no') [no] {user name}
And set the password.
Allow root ssh login? (yes, no, prohibit-password) [no] no
Available disks are: sd0 sd1 sd2.
An incorrect choice here, such as selecting the bootstrap computer’s disk, will mean overwriting the wrong disk.
Type ? to verify the correct disk.
Which disk is the root disk? ('?' for details) [sd0] ?
Enter the appropriate disk, in this case it’s sd2.
Next the fdisk(8) utility runs displaying the disk’s slices.
Choose w to utilize the entire disk.
Use (W)hole disk, use the (O)penBSD area, or (E)dit the MBR? [OpenBSD] w
Next the autoconfigured partition layout will be displayed. How the disk is configured depends on a few factors, including the CF card size and the function of this system. For an 8Gb CF card, it might make sense to create a 1G /, 300M swap, plus /usr and /home partitions. While swap should generally be avoided on media such as CF cards, it could be vital for a system with only 128Mb of RAM. Note that a /tmp partition should be configured, but in this case a tmpfs mount will be added after the initial boot.
Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout [a]? c
At this point, the installer will ask for the next disk to configure. Type done as our disk setup is complete.
Which disk do you wish to initialize? (or 'done') [done] done
The install sets now need to be accessed, either on a local disk or via HTTP. http is our choice, as the install media didn’t contain the files, and the install sets need to be pulled from a remote OpenBSD mirror.
Let's install the sets!
Location of sets? (disk http or 'done') [http] http
If you’re using a proxy, enter it here.
HTTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none]
Now enter an OpenBSD mirror. Typing ? will display a list of the current mirrors.
HTTP Server? (hostname, list#, 'done' or '?') {your-mirror-selection}
The OpenBSD project insists on maintaining identical directory hierarchies on their mirrors. The next prompt illustrates why, since you just need to hit “enter.”
Server directory? [pub/OpenBSD/6.1/i386]
The full list of sets is then displayed. In our case, the Soekris install should be painfully small, and not contain any unnecessary parts of the base system.
Set name(s)? (or 'abort' or 'done') [done]
To remove install sets, type - before the ones you want to remove, including the SMP kernel, since Soekris has an ancient CPU. Useless uses of * are acceptable.
-bsd.mp
-comp*
-man*
-game*
-x*
At this point there should only be three install components remaining: the kernel bsd, the RAM kernel bsd.rd and the vital base58.tgz.
Location of sets? (disk http or 'done') [http] {done}
We are sure the bsd.mp kernel is unnecessary, so type yes.
Are you *SURE* your install is complete without 'bsd.mp'? [no] yes
The install process will complete and return to a prompt from which we’ll reboot.
# reboot
As the system reboots, disconnect both the USB disk with the install media and the CF card adapter.
Ideally, the bootstrap computer will boot normally, and you didn’t do a fresh OpenBSD install to the wrong disk. Measure twice, cut once!
There is an important set of changes to make to boot the Soekris board with OpenBSD as there is no VGA output, and the default output is to console.
The default install will cease booting at this line unless console access is enabled.
entry point at 0x200120
The easiest way to make these changes is to mount(8) the CF card on an OpenBSD computer and manually make the changes.
mount /dev/sd2a /mnt
In /etc/ttys, change this line:
tty00 "/usr/libexec/getty std.9600" unknown off
to this:
tty00 "/usr/libexec/getty std.9600" vt220 on secure
Create /etc/boot.conf, and add the following line:
set tty com0
OpenBSD removed sudo from its base, and replaced it with doas(1). Configuration is simple. Setup the non-privileged user with doas(1) permissions in /etc/doas.conf(5):
permit nopass keepenv {user name} as root
Create /etc/rc.conf.local for minimizing unnecessary daemons, such as sndiod(1) and smtpd(8), and forcing ntpd(8) to synchronize on boot:
sndiod_flags=NO
smtpd_flags=NO
ntpd_flags="-s"
Install the CF card into the Soekris, plug in an ethernet cable to the first port on the right (sis0) and plug in the serial console cable.
Depending on the CF card model, there might be various errors connected to mounting wd(4), which refers to the CF card, due to DMA mode errors. The system may or may not still boot, but there will at least be a delay as the kernel adjusts.
This is a known issue with legacy hardware and UDMA. The first step for a (one-time) successful boot is to disable UDMA and use PIO mode.
At the boot prompt:
boot> boot hd0a:/bsd -c
Which delivers you into the UKC(8), the User Kernel Config, in which we’ll just type change wd, set the 0x0ff0 flag for wd(4) devices and quit:
UKC> change wd
53 wd* at wdc0|wdc1|wdc*|wdc*|pciide*|pciide* channel -1 flags 0x0
change (y/n) ?
channel [-1] ?
flags [0] ? 0x0ff0
53 wd* changed
53 wd* at wdc0|wdc1|wdc*|wdc*|pciide*|pciide* channel -1 flags 0xff0
UKC> quit
The OpenBSD FAQ documents this issue with legacy hardware. The change to wd(4) can be made permanent with config(8) in multi-user mode.
To enter the kernel edit mode with a copy of the current /bsd kernel as /bsd.wd:
# config -o /bsd.wd -e /bsd
The interface will change to the above view with the UKC> prompt.
Adjust the changes as above, and reboot.
At the boot> prompt, enter the new kernel:
boot> boot /bsd.wd
If the system boots fine without any wd(4) errors, make the new, edited kernel the default kernel:
# mv /bsd /bsd.org
# mv /bsd.wd /bsd
By default, the default flag for wd should now be 0x0ff0. If there are any problems, the original kernel is still available as /bsd.org.
By default, the Soekris 4801 uses 19200 as the console speed, yet we set the speed to 9600 in the /etc/boot.conf and /etc/ttys files. In this case, we’ll set the Soekris console speed to 9600 in the BIOS.
From an OpenBSD shell and the serial console cable connected, use cu(1) to access the Soekris system.
cu -l /dev/ttyU0 -s 19200
Setting systems to 9600 makes sense since it’s the default for programs such as cu(1), and it’s rarely necessary to have speeds exceeding 9600 for console access.
Plug in the Soekris power, and hit control-p when prompted, and display the current BIOS settings.
comBIOS monitor. Press ? for help.
> show
Set the console speed to 9600.
> set conspeed=9600
Type show to confirm the new setting.
> show
Begin booting OpenBSD.
> boot
For more details about Soekris’ BIOS, the Soekris Wiki provides some insight.
At this point, close the current cu(1) session with ~ . and reconnnect with:
cu -l /dev/ttyU0
Finally, it’s necessary to configure the sis(4) network interface as directed by hostname.if(5).
vi /etc/hostname.sis0
Either set a static address with:
inet {IP} {netmask}
And add the appropriate gateway in /etc/mygate and DNS in /etc/resolv.conf.
Or set to dhcp:
dhcp
As noted earlier, the /tmp partition will be mounted as a tmpfs device, and not use the CF card. In this case, a small 10Mb /tmp partition should be sufficient. Considering that the Soekris only provides 128Mb of RAM, a memory disk larger than 10Mb should be approached cautiously.
echo "swap /tmp tmpfs rw,-s10m,nodev,nosuid,noexec 0 0" >>/etc/fstab
Reboot and the Soekris is ready for the particular function you’ve chosen.
To confirm the disk layout, use mount(8):
$ mount
/dev/wd0a on / type ffs (local)
/dev/wd0e on /home type ffs (local, nodev, nosuid)
/dev/wd0d on /usr type ffs (local, nodev)
tmpfs on /tmp type tmpfs (local, nodev, noexec, nosuid)
As noted above, syspatch(8) was introduced in OpenBSD 6.1 -stable for applying binary patches to a system.
While removing some install sets such as x11 will cause the system to bark since certain parts are unavailable for syspatch(8) to apply patches to, the tool is still of utility.
There’s a major caveat to making the /tmp mount only 10M: syspatch(8) requires more space.
To temporarily work around it, edit /etc/fstab to make it 50M in size.
Even with that size, syspatch(8) will note that the file system is full after one, two or three patches are applied.
/tmp: write failed, file system is full
tar: Failed write to file bsd: No space left on device
tar: Failed write to file bsd.mp: No space left on device
But the /tmp files will clear out once syspatch(8) stops running. Run syspatch repeatedly until all the patches apply. When it’s done, change the /tmp back to 10M in size, and reboot.
As some patches reset the kernel to the default GENERIC version, it may be necessary to change the wd(4) attributes again in UKC> mode.
The Soekris running OpenBSD should be ready for any number of simple functions at this point, with the obvious restraints one would expect from a low-powered legacy device.


The Central Interior air zone is one of the seven broad air zones in British Columbia. It covers the Omineca Region, the Cariboo Region, and parts of the Skeena Region. This air zone includes population centres like Smithers, Prince George, Quesnel, and Williams Lake. Air quality monitoring within the Central Interior air zone includes stations operated by the Ministry, community airshed management roundtables, and industrial permits. These stations are strategically located to measure population exposure near major urban centres or determine the impact of industrial emissions. In recent years, this air zone has experienced significant air quality events due to the increasing frequency and intensity of wildfires.
The top five most populous cities/towns in the Central Interior Air Zone are:
| Municipality | Population (2021) |
|---|---|
| Prince George | 76,708 |
| Williams Lake | 10,947 |
| Quesnel | 9,889 |
| Smithers | 5,378 |
| Vanderhoof | 4,346 |


DBC isn’t just about teaching you to code. It’s also about learning to code with others. Pairing is an essential part of the curriculum at DBC that I’ve really come to appreciate. Every pairing sessions starts with a discussion of pairing preferences, before moving onto the coding challenge. After the challenge is completed, I always try to reflect on what went well, what went poorly, and what we could try to do differently next time. After the pairing session, giving feedback is mandatory. Since pairing occurs about 3 times a week, after the first month, you will not only have received peer and mentor feedback about 12 times, you’ll also have written a similar amount of feedback for others.
The feedback you write is passed along anonymously to other members of the cohort who rate it according to how actionable specific and kind it is. Developing the habit of giving and receiving feedback is great. I’m my professional experience, feedback is largely limited to perfunctory semi annual reviews, which are largely ignored. Not particularly effective.
Giving and receiving feedback is inherently uncomfortable, which is part of the reason it necessitates practice. Opening the first few pieces of feedback I received made me feel a little nervous, but also excited. I wanted to know how others had perceived our pairing sessions and if those perceptions differed from mine.
The feedback I received that was helpful ranged from very specific items to broader concepts. Here are a few of the examples (1) “discuss time restraints at the beginning of the session” (2) “at times it felt like you were waiting for me to tell you what to type, but I really would've preferred to collaborate on creating the content” (3) “some times I felt like you were moving a little too fast”.
In giving feedback, the hardest thing has been to give actionable feedback. Being kind is and specific is relatively easy, but actionable feedback can feel confrontational and unkind. It’s also hard to know what sort of actionable feedback is appropriate. Do you suggest, “read chapter 3 of the well grounded rubyist” or “make sure not to interrupt your pair too often”? It depends on the situation and there are some many different situations. Suffice it to say, it takes a lot of practice.
The first few pieces of feedback I wrote were specific and kind, but not at all actionable. Writing actionable feedback is definitely something I am working on. I’ve already gotten a lot better, but still have a long way to go.


fanovaGraph: Building Kriging Models from FANOVA Graphs
Estimation and plotting of a function's FANOVA graph to identify the interaction structure and fitting, prediction and simulation of a Kriging model modified by the identified structure. The interactive function plotManipulate() can only be run on the RStudio IDE with RStudio's package 'manipulate' loaded. RStudio is freely available (www.rstudio.org), and includes package 'manipulate'. The equivalent function plotTk() bases on CRAN Repository packages only.
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=fanovaGraph
to link to this page.


Interest-Selection-Page
Interest
Select the Interests of your choice!
Health
Interest1
Option
Sports
Interest1
Option
Travel
Interest1
Option
Entertainment
Interest1
Option
Arts
&
Literature
Interest1
Option
Politics
Interest1
Option
Technology
Interest1
Option
NGO
Interest1
Option
Spritual
&
Devotional
Interest 9
Option