Last night a few of my friends, P and R, came to visit me and we decided to take some 5-MeO-DiPT. I have a small stash of it dissolved in some alcohol. I've used the substance two times before, the dosages were 4 mg and 10 mg. 4mg didn't do wonders, a + on Shulgin's rating. 10 mg however was a definate +++, but I had some problems controlling it. I vomited soon after ingesting the 10 mg, even though I haven't eaten in at least 15 hours. I felt fine afterwards and it seemed that the trip was getting really intense, but I had trouble relaxing and a general uneasyness took over me. Well, that's enough about the earlier experiences.
So, P and R came to my place a little before 21:00 and we almost immediately ingested some. I took 7 mg, 'cause I thought that the 10 mg felt a bit too much. P, who has tried the substance before with 5 mg wanted to take 10 mg and R, who didn't have former experiences, took 6 mg.
Our setting was quite good, it was dark outside and I've got a comfortable place. I was on a good mood, since I got some important work done last week. Oh, by the way, I study philosophy at the university. So, we drank a few ml's of the liquid, which contains 1mg/ml of 5-MeO-DiPT.
T+20min
We all start to feel some effects, we're listening to music and watching a cool plasma on my computer's screen.
T+50min
The humming of my computer starts to get annoying and we decide to turn it off and just put on some music; my lava lamp is on as well.
T+1h
Well, now the stuff is really working, all three of us are laying with our eyes closed and listening to Ozric Tentacles (an album named Erpland), that's just about best trip music in the world!
T+1,5-3h
We mostly trip on our own and every now and then we smoke some herb mixture that I recently purchased (not intoxicating), there's also some incense burning.
I'm getting some visuals with my eyes closed, but not really any patterns or anything. To me, it's a bit like the 'holodeck effect' on DXM, some resemblance to LSD as well, but not as intense, not with 7 mg's anyway. As with all psychedelics, I try achieve a state very close to lucid dreaming, only a lot more intense and euphoric. I had some very good time with my mind and especially the music sounded great, I was all in to it. The herbs and incense created an interesting odor in my room and P suggested that it was the smells which created the music we heard; have to admit, it really felt that way when I gave some thought to it.
T+3,5h
We're all coming down now, but still feeling quite strange. The really intense part of the experience lasted only for 2,5h or something, but I was quite content with it, I achieved a most comfortable state of mind.
T+4,5h
Unfortunately, P and R had to leave though they were definately not sober, I guess they had an interesting bus trip...
T+5,5h
I fall asleep quite easily, feeling comfortable. I had some interesting dreams too. I had some trouble falling asleep on my two earlier experiences with 5-MeO-DiPt, but too serious though.
In conclusion, last night was a success. I haven't spoken with P and R yet, but they really seemed to enjoy it too, we didn't have any nausea and it seemed that the body load was minimal as well. I think that none of us had any great insights, but a really good time still. It seems that 5-MeO-DiPT can be quite a lot of fun at low dosages. I'll probably try it with a higher dose as well, but I don't believe that it get's more profound than this.
By the way, I really enjoyed using it with some friends, since when I tried it alone, I really was in need of some company although I usually enjoy taking psychedelics by myself.
I don't really see why some people have suggested that 5-MeO-DiPT would be fun only if you're on the move: outside, dancing or something. No doubt it would be fun to dance or walk somewhere outside with low doses, but at least for me it was just as good inside, just laying and tripping in my mind. Then again, that's really what I enjoy doing with all psychedelics.
I enjoyed sticking to a relatively small dose and and just diving into my mind. With a little practise I really didn't need a high dose to get an intense experience. I'd really hate to read another story about someone ending up to the ER with 50mg or more of 5-MeO-DiPT.
By the way, I'm not a native english speaker, so please excuse any errors.
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.


Download Win Log Files Borrar Windows 10 Gif. Many users noticed a debug.log file on their desktops. To free up disk space, you may choose to delete them.
Well things have improved in the final version of windows 10. The number of failed uninstalls is really a headache for your windows 10 operating system. Reading windows log files is an important part of maintaining proper operation and ensuring system security.
To free up disk space, you may choose to delete them.
System crashed windows error reporting files. Installing windows 10 using the media creation tool. Feel free to post your questions in the comments below. To read the windows update logs in windows 10 preview, microsoft suggests the following method:


Protected Member Functions | |
| object | getObj (string key, object defaultValue) |
| void | setObj (string key, object value) |
| virtual void | writeXmlState (XmlTextWriter xmlOut) |
| virtual void | readXmlState (XmlTextReader xmlIn) |
| virtual bool | shouldSerializeProperty (PropertyInfo prop, object currentVal) |
Static Protected Member Functions | |
| static bool | registerChildType (Type childType) |
| static bool | registerChildType (string elementName, string fullyQualifiedClassName) |
| static BaseEntity | createFromXml (XmlTextReader xmlIn) |
| static void | setPropertyFromXml (Type childType, object child, string xmlName, string xmlVal) |
Protected Attributes | |
| Dictionary< string, object > | m_values = new Dictionary<string, object>() |
Static Protected Attributes | |
| static Dictionary< string, string > | s_knownChildTypes = new Dictionary<string, string>() |
Properties | |
| virtual string | InnerElementName [get] |
While the .NET XML serialization process is good enough under most situations, the XML output it creates is a little more verbose than it should be for the purpose of inner content within a control. Also, when serializing a heterogenious list of BaseEntity child classes, the .NET XML serialization process produces very tedious XML that would be hard to recreate by hand.
This class has a static list of registered childen that it can use like a class factory during de-serialization. This allows a simple name from an XML element to be used as the key into the colection of registered classes to recreate the objects. This was done in a way as to also be compatible with the ASP.NET process of reading the inner content of a server control and creating the objects that they represent. Thus, the format of the inner contents for all the Nitobi controls can be processed by the methods in this class and the standard ASP.NET mechanism.
With the serialization mechanisms of this class, the Nitobi ASP.NET server controls can offer the ability to load their inner content through a method that takes XML rather than having that inner content specified in the ASPX or user control. For example, rather than having to have the columns of a grid specified inside the grid server side HTML, the application could read the column information from a database and provide that to the grid. That would serve as a good foundation for users of the application being able to have customized columns for any given grid. This is similar to outlook which lets its users customize the order of the columns and which columns out of all the possible columns they would like to see.
| object Nitobi.BaseEntity.getObj | ( | string | key, | |
| object | defaultValue | |||
| ) | [protected] |
| void Nitobi.BaseEntity.setObj | ( | string | key, | |
| object | value | |||
| ) | [protected] |
| virtual void Nitobi.BaseEntity.writeXmlState | ( | XmlTextWriter | xmlOut | ) | [protected, virtual] |
| virtual void Nitobi.BaseEntity.readXmlState | ( | XmlTextReader | xmlIn | ) | [protected, virtual] |
| virtual bool Nitobi.BaseEntity.shouldSerializeProperty | ( | PropertyInfo | prop, | |
| object | currentVal | |||
| ) | [protected, virtual] |
| static bool Nitobi.BaseEntity.registerChildType | ( | Type | childType | ) | [static, protected] |
| static bool Nitobi.BaseEntity.registerChildType | ( | string | elementName, | |
| string | fullyQualifiedClassName | |||
| ) | [static, protected] |
| static BaseEntity Nitobi.BaseEntity.createFromXml | ( | XmlTextReader | xmlIn | ) | [static, protected] |
| static void Nitobi.BaseEntity.setPropertyFromXml | ( | Type | childType, | |
| object | child, | |||
| string | xmlName, | |||
| string | xmlVal | |||
| ) | [static, protected] |
Dictionary<string, object> Nitobi.BaseEntity.m_values = new Dictionary<string, object>() [protected] |
Dictionary<string, string> Nitobi.BaseEntity.s_knownChildTypes = new Dictionary<string, string>() [static, protected] |
virtual string Nitobi.BaseEntity.InnerElementName [get, protected] |


redwood
-- Ruby-flavored tree
redwood
[OPTIONS] DIRECTORY
redwood
is an implementation of tree
in Ruby. Like the original Tree
, Redwood
is a recursive directory listing program, producing a pretty-looking depth indented listing of directory contents. Without arguments, redwood
lists the files in the current directory. Like tree
, after listing, redwood
prints a summary of the total number of files and/or directories listed.
And, again like the original tree
, symbolic links are not followed and hidden files (those beginning with a '.') remain unseen by default. You can reveal them with options. File system constructs, the current directory as '.' and the parent directory as '..', are never printed.
Learn more about the original tree
with tree(1) and at http://mama.indstate.edu/users/ice/tree/
This is a proof-of-concept. It's written in Ruby. It does half of what tree
does pretty well. You should probably just use tree
.
-a
Print all files, even hidden ones (that begin with a '.').
-d
Only list directories.
-l
Follow symbolic links (that point to directories), as though they were directories. There is no protection from recursion, so don't do that.
-f
Print the full path prefix for each file.
-s
Print the size of each file in bytes.
-D
Print the date of last modification for the file, in the format like: 'Aug 25 14:92'
-F
Appends '/' to directories, '@' to symlinks, '=' to sockets, '*' to executables, and '|' to FIFO's, as per ls -F.
-L
levelMax display depth of the directory tree. Has got to be greater than 0.
Other:
--help
Print the help message and quit.
--version
Print the redwood
version and quit.
If you have RubyGems installed:
gem install redwood
Redwood is Copyright (C) 2010 Mark Wunsch
tree(1), ls(1)


As a lesson in Javascript for myself, I wrote a slideshow application. After fiddling with it quite a bit, I think it's actually a good bit of code, not just "working". Most Javascript seems like it's just "working". Anyway, it uses the document as its data source (instead of Javascript literals), is object-oriented (you can have more than one slideshow on a page), and can be customized. If viewcvs doesn't break (stupid permission issues) you can view it at svn://colorstudy.com/home/ianb/slideshow; an open issue is how to have permalinks within the slideshow. Javascript doesn't, I think, have access to GET variables or anything, and I'm trying to avoid a server-side component. Maybe the fragment identifier, somehow?
Anyway, here's my first slideshow: my sister and I painted my my girlfriend Emily's car.
JavaScript actually does have access to GET variables:
http://www.devguru.com/Technologies/ecmascript/quickref/location.html
The location object has two properties which might interest you:
location.search is the part of the current URL beginning with a question mark. Should be easy to parse
location.hash is the part of the current URL beginning with a hash mark (#), which denotes an anchor name in the document# Will McCutchen
In my build of Mozilla 1.6, the prev/next buttons are floating all the way to the sides of the browser window -- the next button to the right of your blogroll, the prev button sticking out a bit to the left of the red border around your main blog div.
# Jacob
Yeah, that button... it worked fine when the slideshow has its own window, but with the sidebar it's causing problems. I have the CSS set to position: absolute; right: 5px;. I'm not sure how to indicate that it should hang out on the right side of its container. float: right, maybe, but I've had bad luck with floats and consistent rendering on different browsers.
# Ian Bicking
IE doubles side margins on floats. Generally, if you float, say, a div, you should set display to 'inline':
div#bar {
float: right;
display: inline;
}
...which will fix the right margin for IE without changing Moz, Opera, et al.
http://www.positioniseverything.net/explorer/doubled-margin.html# Robert Brewer
In IE 6 (or 6.0.2800.1106.xpsp2.030422-1633, to be precise), I only get a list of hyperlinks to JPEG images (and a bunch of javascript errors). Is that what you meant with "not just working" ? ;-)
On osx, using either Safari or OmniWeb (both use webkit), there is no slide show, just some descriptive text links to jpeg files.#  It was working, and then I just tweaked it a little bit, and it broke. Part of this is Mozilla's fault, as it seems much more lenient on syntax and some other rules, so it works where IE breaks.
 Javascript doesn't have bound methods, so you can't register a method as a callback for an event. Well, you can, but then this suddenly becomes the window. So I have to create a string that represents the object (an object which otherwise could have been anonymous). But IE doesn't like it either way. Arr! I was feeling fairly happy with Javascript for a while there.# Ian Bicking
Floats don't seem to work correctly on Mozilla (haven't tested IE). The prev button stacks ontop of the next button. All that after struggling to apply the float style, because you can't do obj.style.float = 'right'; instead you have to do someOtherObject.innerHTML = '[a style="float: right"][/a]' (this comment system tends to mess up angle brackets, so I replaced those with square brackets). Floats seem really unreliable to me. And I still have to work on the events.# Ian Bicking
Neat paint job! I have a car of similar age and appearance. If you and your sister happen to be in Sydney with a spare day on your hands... ;)float is a reserved word in JavaScript. -> use CSSfloat instead.
float is a reserved word in JavaScript. -> use CSSfloat instead.
to bad I can't edit my posting:
It's style.cssFloat
sorry for double posting.
I'm currently painting my bathroom .. maybe i don't choose the same design / colors :)
Bye Bye Ian# Jkx
I think you need run svnadmin recover:
fn@lunix:~$ svn co svn://colorstudy.com/home/ianb/slideshow slideshow
svn: Berkeley DB error while opening environment for filesystem /var/lib/subversion/repository/db:
DB_RUNRECOVERY: Fatal error, run database recovery
On Firefox 0.9.2 and Mozilla 1.7.1, the "prev" button reloads the page, in addition to cycling the image. I'm not sure why it would do that, but I suspect that it's because you're using the a tag's onclick property over an href javascript link. Try href="javascript:" link instead, even though onclick is abstractly more elegant. Another option might be to use the button tag, although that has issues in IE.
Sweet paint job.
Yeah, I tried the href="javascript:..." thing too. But I couldn't return false (some stupid error about not being able to return false in that context), so it kept loading the return value of the function into the window (even if it's false).  Ian Bicking


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import partials.main_template @import uk.gov.hmrc.customs.emailfrontend.model.Email @import uk.gov.hmrc.customs.emailfrontend.controllers.routes.WhatIsYourEmailController @import views.html.helper._ @this(main_template: main_template) @(emailForm: Form[Email], email: String)(implicit request: Request[_], messages: Messages) @inputText(field: String, label: String, args: (Symbol, Any)*) = { @defining(Seq( '_label -> label ) ++ args) { args => @helpers.input( emailForm(field), args: _* ) } } @main_template(messages("customs.emailfrontend.change-your-email.title-and-heading")) { @helpers.errorSummary(emailForm) @helper.form(WhatIsYourEmailController.submit(),'id -> "emailForm") { @CSRF.formField


This is needed on SUN workstations because the mailtool program keeps an exclusive kernel lock while its window is open. SUN software uses user.lock files only. Unless you remove all SUN mail software, kernel locks just give a false sense of security.


WILL BE HERE SOON
The solution can be found here.
The time constraints are very generous. Past that there is only two things to see, it isn't worthwhile to increment b after any divisions have started, and never will b have to be incremented very high. The reason for the first claim is floor(a / (b + 1)) < floor(a / b), so for any pair of additions and divisions, it is better to the addition first as it will improve the subsequent division.
The reason for the second claim is we can upper bound the amount of moves it takes to make a number 0. Namely increment b once (a moves) and then divide a by the value of b >= 2 (in the worst case taking around log_2(10^9) equal to roughly 30 moves). Therefore the maximum amount of moves to make a zero is 31.
This means we can iterate over all possible sequence of moves (as all additions are before divisions) and see which gets a to zero the quickest. That means trying first one addition followed by the required amount of divisions. Then two additions followed by some amount of divisions. Then continuing until 31 additions followed by some required amount of divisions is tried. The minimum of some of number of additions and number of divisions is the answer.
Since the constraint for d is pretty small, we can store the the value of each salad eaten on each day in its own array. We can also store a global array, containing all the salads. Now we can run prefix sum on each of the arrays (including the global array). To get the answer, we can loop through the prefix sum arrays for each day, and compute for every i'th day and for every j'th salad, you can only choose the salad you can eat on ith day before the j-1th salad + all the salad from the jth salad to the j+kth salad (on any day) + the salad you can only eat from the ith day starting from the j+k+1th salad. You will need to compute this for each j from 0 to n-k (0-indexed). This can easily be computed with a combination of prefix sum arrays for each day and the global array. The time complexity is O(nd)
Look at the top row and for each character there, see what the bottom row should be. If the top row has the patter "LR" (we know there will be an 'L' followed by an 'R') we can just mimic it with an "LR" on the bottom row. If there is a 'U' on the top row, that domino has to be completed by outputting a 'D' on the bottom row. Similarly if there is a "RL" pattern then that can be mimiced on the bottom row with another "RL" patter and a 'D' on the top row will be completed with a 'U' on the bottom row.
Creating a new string using these rules will solve the problem.
The solution is to look at the parity (odd or evenness) of |a-b|. For it to be possible to use a set of operations to get c and d the difference |c-d| must have the same parity as |a-b| (both odd or both even). This is because adding k to both a and b maintains the value of |a-b| and adding k to one number and subtracting k from the other adds (or subtracts) an even number from |a-b|. |a-b| must equal |c-d| if a=c and b=d so and so the differences must have the same starting parity.
If the parities are the same we can construct the solution with casework.
A note: checking parity and seeing it is invariant between |a-b| and |c-d| is something to keep in mind. It comes up occasionally. Looking for an invariant is a good general problem solving strategy and checking parities can often be helpful as well.
The solution (if it exists can be constructed). Let a_1, a_2,..., a_k be single character strings. We know these compose the first k characters of the string and also must compose the last k characters of the string. Additionally, these first k characters must be the reverse of the last k characters because of the order they are added to the string. If this isn't he case the answer is "NO". Finally, a_k+1 can fill the middle part of the string left. If there is string left to fill (i.e. 2k < n) then the answer is "YES", else "NO".
Example construction: "abcddcba"k = 2a_1 = "a"a_2 = "b"a_3 = "cddc"so the answer is "YES"
"abba"k = 2a_1 = "a"a_2 = "b"nothing left for a_3 so the answer is "NO"
The first thing to notice is that a & b <= min(a, b).
 As replacing a 1 with a 0 at a place value decreases the value of that number, a&b <= min(a, b).
The second (and final thing to notice) is that it is possible to preform the operation on every pair of elements in the sequence.  Preforming the operation on the interval [i, j] results in a_i = a_i & a_j = a_j = a_j & a_i. Note all of the other changed in the interval will be <= to what they were before by the first thing noticed.
Therefore, the answer can be found by taking all pairs and preforming the operation on them. This causes every element in the array to become a_1 & a_2 & a_3 & ... & a_n, the answer.
This is a pretty standard greedy problem. You want to maximize and minimize the prefix of the number, so we can compute the maximum number and the minimum number separately. Since digits can only be from 0-9, we can use that. We can create an 2d array of size 10 (indexed from 0 to 9) and store the index of which they appear in the s. To create the maximum number, we will need to keep track of a running index initialized at -1. For each of the k digits, we can loop from 9 to 0, and see if the digit exists from index+1 to n-k (we do not want to run out of digits at the end). If it does, we add the digit to the number, update the running index, and break out of the loop. You can check whether we can add a certain digit by doing binary search in each of the arrays. The same thing can be done for the smallest possible number, but you loop from 0 to 9 instead. The complexity is (10klog(n)).
There are a bunch of solutions (the problem author for example just outputs 2,3,4,...,n,n+1 which you can check works yourself). The one I used was printing out prime numbers.
A prime number doesn't isn't divisible by the number before it becuase there is no integer > 1 which divides it. The hard part of this solution however is to find these prime numbers. Generally though, there are a lot of prime numbers so it is likely that the solution will work. The solution is quick to code and quick to test locally.
To check if some natural number n is prime, verify that all integers > 1 and <= sqrt(n) don't divide n. This takes O(sqrt(n)) time, iterating over sqrt(n) integers.
Then, starting at some small prime, say 2 or 3, iterate over the integers, checking if each is prime and outputing it if it is. Finish outputing numbers when n have been printed.
Quickly timing the program locally with the maximum test cases will show it runs fast enough. Alternatively, if you know a lot of math you might know the prime number theorem which approximates the amount of primes and shows this algorithm will run quickly enough.
The first realization is to simplify the problem, fix c = 1. This might not work, but trying it is a good step because it choosing 2 numbers is much easier than choosing 3. Then there are a couple things which could be done, but in my opinion the most straightforward is to realize there are a lot of prime numbers (kind of like last potd) so bashing out values of a and b with a = 2 or 3 or 4 or 5 or ... and b = n - 1 - a will almost certainly be fast enough and work.
The editorial here also gives two variations on the basing through a and b solutions and a nice constructive solution by considering n modulo 2 and n modulo 4. It is worth a read if you are curious about those solutions to the problem.
Lets say we choose m teams. What constraints can we put on m? Each team must have a programmer and a mathematician so a-m and b-m must be positive.
Also there must be enough remaining people to fill out the teams, two more people needed on each team, a-m + b-m >= 2m. Rearranging the gets (a+b) / 4 >= m.
As we want the maximum m, we want m to be very close to (or even equal to) (a+b)/4 but the first condition must still be satisfied.
That gives a closed form for the answer of min(min(a,b),(a+b)/4).
Alternatively we can use a binary search over the integers from 0 to 10^9 to find m and just check if that m works by a similar set of conditions as to what was used to find the closed form. That is simpler to come up with in my opinion but longer to implement.
Based on the rules of the game, the character can move horizontally one cell in one move, vertically one cell in one move, or both horizontally and vertically in one move. This results in the character able to move horizontally, vertically, or diagonally. For player to be unable to reach the end of the level, there must be a wall stopping them they can't move diagonally, horizontally, or vertically through. A bit of experimentation shows such a wall is only possible with the pattern:11Therefore to solve the problem check if there such a pattern, a column of only 1s, and if so print out "NO", else "YES".


{% extends "index.html" %} {% block content %}
Your fight history will not be saved unless you are logged in. Click here to register.


@tonymorony Hi, thanks for the report!
Price is not corrupted here, it's decimal representation of corresponding rational number with maximum available precision, e.g. from the linked issue:
"price_rat":[[1,[2431504384,46]],[1,[3600861933,17618]]] - it's actually<PHONE_NUMBER>00/75672334682861, that is ~ 0.002642973827068902744216955210886791832516153690411964494336800995627777720251367932848888234461954501. So the number has infinite decimal representation, but as BigDecimal has limited...


Arborist accurately expands large-scale taxonomies with edge semantics that are heterogeneous and unobserved.
Arborist learns global latent representations of the edge semantics with local taxonomic-role embeddings of the nodes.
Arborist guarantees easy human verification by minimizing the network distance between predicted and actual taxonomy parents.
Emaad Manzoor, Dhananjay Shrouty, Rui Li, Jure Leskovec. Expanding Taxonomies with Implicit Edge Semantics. In Proceedings of The Web Conference (WWW). 2020.


| Country |
Convention on Biological Diversity
CBD
|
Cartagena Protocol on Biosafety
CPB
|
Kuala Lumpur Supplementary Protocol on Biosafety
NKLSPB
|
Nagoya Protocol on Access and Benefit-Sharing
NPABS
|
|---|---|---|---|---|
| {{country.name}} |
|
|
|
|


How technically impressive was the hack? Was the technical problem the team tackled difficult? Did it use a particularly clever technique or did it use many different components? Did the technology involved make you go "Wow"?
Was thought put into the user experience? How well designed is the interface? For a website, this might be how beautiful the CSS or graphics are. For a hardware project, it might be more about HCI (is it easy to use or does it use a cool interface?).
Does the hack work? Did the team achieve everything they wanted?
Did the team stretch themselves? Did they try to learn something new? What kind of projects have they worked on before? If a team which always does virtual reality projects switch up and try doing a mobile app instead, that exploration should be rewarded.
The most random hack
Eve Hoggan is an Associate Professor in Human-Computer Interaction at the AU CS department. Her main interests are physical computing and multimodal interaction.
Esben Hardenberg is a radio host of the weekly radio program Digitalt, that deals with all aspects of our technology permeated present and near future.
A self-proclaimed veteran script kiddie, Esben is not afraid to get his hands somewhat dirty, for example when building custom arcade joysticks, or when dabbling with various web technologies.
Producer of Aarhus Mini Maker Faire. Maker of stuff at Dokk1.
Associate Professor, Department of Digital Design and Information Studies, Aarhus University
Happy42
Thomas Riisgaard Hansen has a Master from Information Studies and a PhD from Computer Science, Aarhus University. In 2006 he co-founded Cetrea that was sold to Getinge in 2014. He is currently the CEO of Kite Invent, works as a mentor for Innovationsfonden, helps the university with supporting entrepreneurship and is an active angel investor
Alumnus of Aarhus University Computer Science, Master’s Degree in ICT Product Development.
Lab Manager, ORBIT Lab @ Aarhus University School of Engineering.
Kim leads the Stibo Accelerator, an initiative aimed to support talented young students, interns and entrepreneurs working on promising innovations for the media, retail and manufacturing industries. The Stibo Accelerator program runs 10-20 radical innovation research projects each year focused on how emerging trends and technologies will potentially impact the industries served by the four Stibo divisions.
David is a hackathon-veteran with 30+ events under his belt. He is a Full Stack Developer at Clearhaus where he is developing prototypes to test new ideas and technologies - basically, he is doing one long hackathon :-)
If you have any problems, please contact us at the information desk.


Toggle navigation
In
ouse
Sign in
Location
north
south
Amenities
has dining hall
has a.c.
Size of Dorm
small
medium
large
Rooms Available
single
double
Noise Level
party
quiet
Allison
0
Ayers
0
Bobb
0
Elder
0
Hinman
0
Plex
0
Sargent
0
Shepard
0
Slivka
0


Off the grid destination
Indonesia is the dazzling jewel in Southeast Asia’s crown – an unspoilt land full of historic and natural attractions. It doesn’t boast strong digital connectivity, but don’t let that put you off. With its volcanoes, forests, beaches and temples, you’ll have too many fantastic landscapes to capture to waste time applying filters and uploading albums, so save your battery and upload later.
Dating back to the 9th century, Borobudur is the world’s largest Buddhist temple. It’s a UNESCO World Heritage Site and is made up of various platforms and domes – along with 504 Buddha statues. Get there super early to watch the sunrise (and avoid the crowds).
Tucked away in a corner of Indonesia is Raja Ampat: a picture-perfect paradise made up of 1,500 small, jungle-covered islands. You’ll find tranquil beaches, hiking trails, friendly locals, and some of the world’s best diving spots.  If you’re not too tired of paradise, then head over to the nearby western Pacific archipelago of Palau for similarly surreal desert-island scenes.
No visit to Java is complete without a hike up the towering Mount Bromo. Standing 2,329m tall, it’s an active volcano that still billows smoke, so some parts are closed to the public. Nevertheless, the two-hour hike to the top guarantees some stunning views, so don’t forget your selfie stick.
At the summit of Mount Kelimutu, an active volcano, is a truly unusual sight – a tri-coloured lake. Its three sections all have different colours that change over time, so any photo you take will be totally unique.


Download and unzip spark-2.2.0-bin-hadoop2.7.tgz, and export $SPARK_HOME
Package carbon jar, and copy assembly/target/scala-2.11/carbondata_2.11-1.3.0-SNAPSHOT-shade-hadoop2.7.2.jar to $SPARK_HOME/jars
mvn clean package -DskipTests -Pspark-2.2
Start a socket data server in a terminal
nc -lk 9099
type some CSV rows as following
1,col1
2,col2
3,col3
4,col4
5,col5
Start spark-shell in new terminal, type :paste, then copy and run the following code.
import java.io.File
import org.apache.spark.sql.{CarbonEnv, SparkSession}
import org.apache.spark.sql.CarbonSession._
import org.apache.spark.sql.streaming.{ProcessingTime, StreamingQuery}
import org.apache.carbondata.core.util.path.CarbonTablePath
import org.apache.carbondata.streaming.parser.CarbonStreamParser
val warehouse = new File("./warehouse").getCanonicalPath
val metastore = new File("./metastore").getCanonicalPath
val spark = SparkSession
.builder()
.master("local")
.appName("StreamExample")
.config("spark.sql.warehouse.dir", warehouse)
.getOrCreateCarbonSession(warehouse, metastore)
spark.sparkContext.setLogLevel("ERROR")
// drop table if exists previously
spark.sql(s"DROP TABLE IF EXISTS carbon_table")
// Create target carbon table and populate with initial data
spark.sql(
s"""
| CREATE TABLE carbon_table (
| col1 INT,
| col2 STRING
| )
| STORED AS carbondata
| TBLPROPERTIES('streaming'='true')""".stripMargin)
val carbonTable = CarbonEnv.getCarbonTable(Some("default"), "carbon_table")(spark)
val tablePath = carbonTable.getTablePath
// batch load
var qry: StreamingQuery = null
val readSocketDF = spark.readStream
.format("socket")
.option("host", "localhost")
.option("port", 9099)
.load()
// Write data from socket stream to carbondata file
qry = readSocketDF.writeStream
.format("carbondata")
.trigger(ProcessingTime("5 seconds"))
.option("checkpointLocation", CarbonTablePath.getStreamingCheckpointDir(tablePath))
.option("dbName", "default")
.option("tableName", "carbon_table")
.option(CarbonStreamParser.CARBON_STREAM_PARSER,
CarbonStreamParser.CARBON_STREAM_PARSER_CSV)
.start()
// start new thread to show data
new Thread() {
override def run(): Unit = {
do {
spark.sql("select * from carbon_table").show(false)
Thread.sleep(10000)
} while (true)
}
}.start()
qry.awaitTermination()
Continue to type some rows into data server, and spark-shell will show the new data of the table.
Streaming table is just a normal carbon table with "streaming" table property, user can create streaming table using following DDL.
CREATE TABLE streaming_table (
col1 INT,
col2 STRING
)
STORED AS carbondata
TBLPROPERTIES('streaming'='true')
| property name | default | description |
|---|---|---|
| streaming | false | Whether to enable streaming ingest feature for this table Value range: true, false |
"DESC FORMATTED" command will show streaming property.
DESC FORMATTED streaming_table
For an old table, use ALTER TABLE command to set the streaming property.
ALTER TABLE streaming_table SET TBLPROPERTIES('streaming'='true')
At the begin of streaming ingestion, the system will try to acquire the table level lock of streaming.lock file. If the system isn't able to acquire the lock of this table, it will throw an InterruptedException.
The streaming data will be ingested into a separate segment of carbondata table, this segment is termed as streaming segment. The status of this segment will be recorded as "streaming" in "tablestatus" file along with its data size. You can use "SHOW SEGMENTS FOR TABLE tableName" to check segment status.
After the streaming segment reaches the max size, CarbonData will change the segment status to "streaming finish" from "streaming", and create new "streaming" segment to continue to ingest streaming data.
| option | default | description |
|---|---|---|
| carbon.streaming.segment.max.size |<PHONE_NUMBER> | Unit: byte max size of streaming segment |
| segment status | description |
|---|---|
| streaming | The segment is running streaming ingestion |
| streaming finish | The segment already finished streaming ingestion, it will be handed off to a segment in the columnar format |
Use below command to change the status of "streaming" segment to "streaming finish" segment. If the streaming application is running, this command will be blocked.
ALTER TABLE streaming_table FINISH STREAMING
Use below command to handoff "streaming finish" segment to columnar format segment manually.
ALTER TABLE streaming_table COMPACT 'streaming'
Config the property "carbon.streaming.auto.handoff.enabled" to auto handoff streaming segment. If the value of this property is true, after the streaming segment reaches the max size, CarbonData will change this segment to "streaming finish" status and trigger to auto handoff this segment to columnar format segment in a new thread.
| property name | default | description |
|---|---|---|
| carbon.streaming.auto.handoff.enabled | true | whether to auto trigger handoff operation |
Config the property "carbon.stream.parser" to define a stream parser to convert InternalRow to Object[] when write stream data.
| property name | default | description |
|---|---|---|
| carbon.stream.parser | org.apache.carbondata.streaming.parser.RowStreamParserImp | the class of the stream parser |
Currently CarbonData support two parsers, as following:
1. org.apache.carbondata.streaming.parser.CSVStreamParserImp: This parser gets a line data(String type) from the first index of InternalRow and converts this String to Object[].
2. org.apache.carbondata.streaming.parser.RowStreamParserImp: This is the default stream parser, it will auto convert InternalRow to Object[] according to schema of this DataSet
, for example:
case class FileElement(school: Array[String], age: Int)
case class StreamData(id: Int, name: String, city: String, salary: Float, file: FileElement)
...
var qry: StreamingQuery = null
val readSocketDF = spark.readStream
.format("socket")
.option("host", "localhost")
.option("port", 9099)
.load()
.as[String]
.map(_.split(","))
.map { fields => {
val tmp = fields(4).split("\\$")
val file = FileElement(tmp(0).split(":"), tmp(1).toInt)
StreamData(fields(0).toInt, fields(1), fields(2), fields(3).toFloat, file)
} }
// Write data from socket stream to carbondata file
qry = readSocketDF.writeStream
.format("carbondata")
.trigger(ProcessingTime("5 seconds"))
.option("checkpointLocation", tablePath.getStreamingCheckpointDir)
.option("dbName", "default")
.option("tableName", "carbon_table")
.start()
...
If user needs to implement a customized stream parser to convert a specific InternalRow to Object[], it needs to implement initialize
method and parserRow
method of interface CarbonStreamParser
, for example:
package org.XXX.XXX.streaming.parser
import org.apache.hadoop.conf.Configuration
import org.apache.spark.sql.catalyst.InternalRow
import org.apache.spark.sql.types.StructType
class XXXStreamParserImp extends CarbonStreamParser {
override def initialize(configuration: Configuration, structType: StructType): Unit = {
// user can get the properties from "configuration"
}
override def parserRow(value: InternalRow): Array[Object] = {
// convert InternalRow to Object[](Array[Object] in Scala)
}
override def close(): Unit = {
}
}
and then set the property "carbon.stream.parser" to "org.XXX.XXX.streaming.parser.XXXStreamParserImp".
Use below command to handoff all streaming segments to columnar format segments and modify the streaming property to false, this table becomes a normal table.
ALTER TABLE streaming_table COMPACT 'close_streaming'
Example
Following example shows how to start a streaming ingest job
sql(
s"""
|CREATE TABLE source(
| id INT,
| name STRING,
| city STRING,
| salary FLOAT,
| tax DECIMAL(8,2),
| percent double,
| birthday DATE,
| register TIMESTAMP,
| updated TIMESTAMP
|)
|STORED AS carbondata
|TBLPROPERTIES (
| 'streaming'='source',
| 'format'='csv',
| 'path'='$csvDataDir'
|)
""".stripMargin)
sql(
s"""
|CREATE TABLE sink(
| id INT,
| name STRING,
| city STRING,
| salary FLOAT,
| tax DECIMAL(8,2),
| percent double,
| birthday DATE,
| register TIMESTAMP,
| updated TIMESTAMP
|)
|STORED AS carbondata
|TBLPROPERTIES (
| 'streaming'='true'
|)
""".stripMargin)
sql(
"""
|CREATE STREAM job123 ON TABLE sink
|STMPROPERTIES(
| 'trigger'='ProcessingTime',
| 'interval'='1 seconds')
|AS
| SELECT *
| FROM source
| WHERE id % 2 = 1
""".stripMargin)
sql("DROP STREAM job123")
sql("SHOW STREAMS [ON TABLE tableName]")
In above example, two table is created: source and sink. The source
table's format is csv
and sink
table format is carbon
. Then a streaming job is created to stream data from source table to sink table.
These two tables are normal carbon tables, they can be queried independently.
As above example shown:
CREATE STREAM jobName ON TABLE tableName
is used to start a streaming ingest job.DROP STREAM jobName
is used to stop a streaming job by its nameSHOW STREAMS [ON TABLE tableName]
is used to print streaming job informationWhen this is issued, carbon will start a structured streaming job to do the streaming ingestion. Before launching the job, system will validate:
The format of table specified in CTAS FROM clause must be one of: csv, json, text, parquet, kafka, socket. These are formats supported by spark 2.2.0 structured streaming
User should pass the options of the streaming source table in its TBLPROPERTIES when creating it. StreamSQL will pass them transparently to spark when creating the streaming job. For example:
CREATE TABLE source(
name STRING,
age INT
)
STORED AS carbondata
TBLPROPERTIES(
'streaming'='source',
'format'='socket',
'host'='localhost',
'port'='8888',
'record_format'='csv', // can be csv or json, default is csv
'delimiter'='|'
)
will translate to
spark.readStream
.schema(tableSchema)
.format("socket")
.option("host", "localhost")
.option("port", "8888")
.option("delimiter", "|")
The sink table should have a TBLPROPERTY 'streaming'
equal to true
, indicating it is a streaming table.
In the given STMPROPERTIES, user must specify 'trigger'
, its value must be ProcessingTime
(In future, other value will be supported). User should also specify interval value for the streaming job.
If the schema specified in sink table is different from CTAS, the streaming job will fail
For Kafka data source, create the source table by:
CREATE TABLE source(
name STRING,
age INT
)
STORED AS carbondata
TBLPROPERTIES(
'streaming'='source',
'format'='kafka',
'kafka.bootstrap.servers'='kafkaserver:9092',
'subscribe'='test'
'record_format'='csv', // can be csv or json, default is csv
'delimiter'='|'
)
CREATE STREAM job123 ON TABLE sink
STMPROPERTIES(
'trigger'='ProcessingTime',
'interval'='10 seconds'
)
AS
SELECT *
FROM source
WHERE id % 2 = 1
When DROP STREAM
is issued, the streaming job will be stopped immediately. It will fail if the jobName specified is not exist.
DROP STREAM job123
SHOW STREAMS ON TABLE tableName
command will print the streaming job information as following
| Job name | status | Source | Sink | start time | time elapsed |
|---|---|---|---|---|---|
| job123 | Started | device | fact | 2018-02-03 14:32:42 | 10d2h32m |
SHOW STREAMS
command will show all stream jobs in the system.
When the streaming application is stopped, and user want to manually trigger data conversion from carbon streaming files to columnar files, one can use
ALTER TABLE sink COMPACT 'CLOSE_STREAMING';


Roomwide Announcements
An overview page with an interactive black board for all important room-internal announcements. The integrated message function allows you to contact all roommates quickly and effectively. Do you like a note? Just highlight it and give it a Like! If you ever forget who lives with you, you'll also find an overview there.
Inventive Shoppinglist
Food-Shopping for a full stomach is a central topic in a flat-sharing community. But what was missing in the fridge again? So that you don't forget anything, HORGANIZE comes with a flat-wide shopping list. As soon as an item has been purchased, it can be removed from the list so that it is not bought twice. Keeping track can be so easy!
Interactive Calendar
If several people live together, it is important to know the other people's schedule. A parent's visit to a flatmate doesn't get along so well with your house party, right? To avoid this, HORGANIZE comes with a room-wide calendar to keep track of all appointments. View or add events of the month, week or day at one glance.
Common Wallet
When it comes to shared living and shopping, it is common to split expenses. The weekly shopping trip or the rent for the apartment must be divided fairly among all flatmates. Therefore, Horganize comes with an interactive wallet that easily displays expenses and debts.


Chapter 2 Data sources
2.1 Dataset description
BG Readings: The bg_readings data contains information of all blood glucose (BG) values recorded at a given timestamp, in mg/dl, for a particular meal, before or after the meal; columns include: time, bg, meals_kind, meal_id, and readings_kind.
Meals: The meals data contains all information about each meal the users consumed, including time, meal title, ingredients, meal kind, nutrients evaluation and calories estimation by experts and by users themselves, and nutrient proportions, etc.
Activities: Only a small portion of users opted-in and shared Fitbit data. We are provided the activities-steps file and the activities-distance file for each user with Fitbit device available. In both files, time is the number of minutes since the anchor_date, while value is the value recorded for that timestamp - either number of steps or distance (in miles). Since the distance data is merely a linear function of the number of steps data, we use the steps data as a proxy for user’s activity level in this project. *anchor_data: midnight eastern on the day before the first meal recording
Sleep: Only a small portion of users opted-in and shared Fitbit data. In the sleep_overview file for each user, we see the date of sleep, duration, minutes asleep, time in bed, etc. We mainly use minutesAsleep as the proxy for sleep data and compare that with activities and meals data in this project.
Meal Photos: Images are in the images folder in each user directory. Users are expected to submit their meal photos for evaluations by the professional nutritionist evaluators. Once the meal photos are uploaded in the app, information on nutritional composition of their meals is recorded and can be found in the meals data.
2.2 Table: users
Observations: 66
Variables: 7
$ user_id <dbl> 24, 56, 57, 58, 88, 99, 124, 377, 445,…
$ app <chr> "GlucOracle", "GlucOracle", "GlucOracl…
$ total_meals <dbl> 93, 60, 48, 36, 38, 2, 8, 13, 7, 48, 8…
$ total_bg_readings <dbl> 193, 120, 96, 71, 80, 3, 15, 23, 14, 5…
$ meals_with_nutrition_eval <dbl> 93, 60, 48, 36, 38, 2, 8, 12, 7, 1, 34…
$ meals_with_pre_post_bg <dbl> 87, 58, 40, 34, 35, 1, 7, 10, 7, 6, 46…
$ complete_meals <dbl> 87, 40, 32, 32, 35, 1, 1, 1, 1, NA, 15…
2.3 Table: bg_readings
Observations: 7,057
Variables: 6
$ user_id <dbl> 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24…
$ time <dbl> 2710.000, 2805.000, 3255.000, 3320.000, 3325.000, …
$ bg <dbl> 81, 94, 84, 89, 89, 85, 86, 97, 82, 92, 84, 99, 99…
$ meals_kind <chr> "dinner", "dinner", "morning_snack", "morning_snac…
$ meal_id <dbl> 811, 811, 812, 812, 813, 813, 814, 814, 819, 819, …
$ readings_kind <chr> "premeal", "postmeal", "premeal", "postmeal", "pre…
bg_reading
was a dataset we skipped after the initial data investigation, as it’s content (pre and post meal BGs) were already integrated with the meals dataset described below.
2.4 Table: meals
Observations: 4,361
Variables: 31
$ user_id <dbl> 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, …
$ meal_id <dbl> 811, 812, 813, 814, 819, 821, 822, 825, …
$ eaten_at <dbl> 2771.446, 3260.292, 3335.071, 3709.311, …
$ title <chr> "Taco fried shrimp And spinach salad", …
$ ingredients <chr> "Fried shrimp corn meal crusted, tortia,…
$ kind <chr> "dinner", "morning_snack", "breakfast", …
$ photo_file_name <chr> "cdv_photo_001.jpg", "cdv_photo_002.jpg"…
$ carbs_eval <dbl> 57, 7, 29, 29, 22, 6, 24, 1, 48, 63, 22,…
$ protein_eval <dbl> 22, 4, 30, 4, 45, 4, 34, 22, 25, 36, 18,…
$ fat_eval <dbl> 35, 1, 28, 8, 14, 1, 29, 28, 16, 33, 13,…
$ calories_eval <dbl> 637, 53, 374, 191, 423, 51, 475, 335, 43…
$ fiber_eval <dbl> 5, 0, 12, 5, 2, 0, 10, 1, 2, 17, 3, 2, 0…
$ evaluator_id <dbl> 6865, 6865, 6865, 6865, 59, 59, 59, 59, …
$ platemate_id <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ carbs_user <dbl> 47, 4, 36, 22, 30, 4, 38, 10, 31, 41, 12…
$ protein_user <dbl> 14, 0, 18, 8, 30, 1, 18, 26, 28, 18, 9, …
$ fat_user <dbl> 35, 1, 36, 3, 10, 1, 36, 15, 16, 40, 9, …
$ calories_user <dbl> 570, 80, 400, 300, 520, 80, 400, 600, 60…
$ fiber_user <dbl> 12, 0, 8, 3, 5, 0, 8, 20, 14, 8, 3, 11, …
$ premeal_bg <dbl> 81, 84, 89, 86, 82, 84, 99, 89, 115, 95,…
$ premeal_bg_time <dbl> 2710, 3255, 3325, 3700, 4030, 4720, 4790…
$ postmeal_bg <dbl> 94, 89, 85, 97, 92, 99, 105, 90, 98, 99,…
$ postmeal_bg_time <dbl> 2805.000, 3320.000, 3425.000, 3755.000, …
$ eval_calories_computed <dbl> 631, 53, 488, 204, 394, 49, 493, 344, 43…
$ eval_proportion_carbs <dbl> 0.36133122, 0.52830189, 0.23770492, 0.56…
$ eval_proportion_protein <dbl> 0.13946117, 0.30188679, 0.24590164, 0.07…
$ eval_proportion_fat <dbl> 0.4992076, 0.1698113, 0.5163934, 0.35294…
$ user_calories_computed <dbl> 559, 25, 540, 147, 330, 29, 548, 279, 38…
$ user_proportion_carbs <dbl> 0.33631485, 0.64000000, 0.26666667, 0.59…
$ user_proportion_protein <dbl> 0.1001789, 0.0000000, 0.1333333, 0.21768…
$ user_proportion_fat <dbl> 0.5635063, 0.3600000, 0.6000000, 0.18367…
Meals dataset contains the following fields:
2.4.1 General fields
user_id
- identifies a user of the applicatoinmeal_id
- indentifier for the mealeaten_at
- timestamp (in seconds since the anchor date)title
- user’s description of the mealingredients
- user’s description of the ingredientskind
- designates meal kind with values “breakfast”, “morning_snack”, “lunch”, “afternoon_snack”, “dinner”, “after_dinner_snack”photo_file_name
- a filename of the image file. Not actually matching the image filenames as those have a format.png
2.4.3 Nutritionist evaluation fields
evaluator_id
- identifier of the professional who performed the evaluationplatemate_id
- always NAcarbs_eval
- evaluated amount of carbs (carbohydrates) in the meal (in grams)protein_eval
- evaluated amount of protein (in grams)fat_eval
- evaluated amount of fat (in grams)calories_eval
- evaluated amount of calories (in grams)fiber_eval
- evaluated amount of fat (in grams)eval_calories_computed
- computed number of calories based on the amount ofcarbs_eval
,protein_eval
,fat_eval
,fiber_eval
. This is in contrast tocalories_eval
amount which was entered by the evaluatorseval_proportion_carbs
- calculated proportion of carbs in the mealeval_proportion_protein
- calculated proportion of protein in the mealeval_proportion_fat
- calculated proportion of fat in the meal
2.4.4 User estimation fields
carbs_user
- user estimated amount of carbs in the meal (in grams)protein_user
- user estimated amount of protein in the meal (in grams)fat_user
- user estimated amount of fat in the meal (in grams)calories_user
- user estimated amount of calories in the meal (in grams)fiber_user
- user estimated amount of fiber in the meal (in grams)
user_calories_computed
- computed number of calories based on the amount ofcarbs_user
,protein_user
,fat_user
,fiber_user
. This is in contrast tocalories_user
amount which was entered by the evaluatorsuser_proportion_carbs
- calculated proportion of carbs in the meal based on user estimatesuser_proportion_protein
- calculated proportion of carbs in the meal based on user estimatesuser_proportion_fat
- calculated proportion of carbs in the meal based on user estimates


Responsible Conflict
How to figure out who should own a bad situation
Sunday May 31, 2015
Who is going to take responsiblity for a difficult situation?
Recently, in a work situation at the school I worked at, there was a situation where it became clear that the support for a difficult student needed to change. This set off a cascade of difficult conversations where most were trying to pass-off the problem to someone else. There was a lot of he-said-she-said, a lot of confusion, and leadership. This impacted me personally, because I was being told that the whole situation was being passed to me, by coworkers, without talking to me about it, or deciding as a group.
Fuzzy Communication
At its core, this situation was a problem of communication. I was getting messages through other people, who themselves weren't involved in making decisions. This lead to me feeling disrespected, as I wasn't consulted about changes that would have a drastic impact on my classroom. I felt like I was being forced to take on a responsiblity, because others didn't want to take responsiblity. This made me think that they didn't respect me as a professional, and angry that others decisions were having a negative impact on my work.
Resolution
After a particularly heated discussion with a coworker, I insisted on bringing in our boss to resolve the conflict. I think this was suboptimal, as the final schedule of responsiblities could have been arranged by everyone without her help. However, in a situation like that, were the communication had broken down before it began, bringing in an arbiter is necessary. If I were the initiating party, I'd like to think that I would initiate a conversation with the other party, and will endevour to make it part of team culture in the teams I'm on in the future to talk to stake-holders directly.


|
Destination Imagination Science Fair Competition
March 19, 2011
|
|
Lori, AH6OS (left) and Jane, KA0USA represented PWARC
when they joined with several members of Pueblo Ham Club to provide
communications for Destination Imagination at CSU-Pueblo on Saturday,
March 19.
The annual competition features creative science
projects made by young students from throughout the state. |
|
Four Members Attended Quartzfest 2011, Jan. 23-30,
near Quartzsite, AZ
Quartzfest is an annual gathering of ham radio
operators from across the nation and Canada that "boondock"
in the desert while holding their hamfest. This was the first time
for both couples to attend the event.
PWARC First Antenna Party
Saturday, September 11, 2010
PWARC held its first Antenna Party on September 11 at
the home of WA0KAQ & KA0USA. Paul, KB0JIT, brought samples of
several VHF antennas helped the participants build their antennas.
Neal, KD0MBL, and Andy, ND0P, (below left) built 2-meter J-Pole
antennas for portable work from 300-ohm TV lead in wire. David,
KD0MQB, (below right) brought a homebrew 2-meter beam he was in the
process of building and took home the completed project.
Watch for another
PWARC Antenna
Party next spring ! |


Base class for predefined eviction policies.
More...
|
| int | BatchSize [get, set] |
| | Gets or sets the size of the eviction batch. Batch eviction is enabled only if maximum memory limit isn't set (MaxMemorySize == 0). More...
|
| |
| int | MaxSize [get, set] |
| | Gets or sets the maximum allowed cache size (entry count). 0 for unlimited. More...
|
| |
| long | MaxMemorySize [get, set] |
| | Gets or sets the maximum allowed cache size in bytes. 0 for unlimited. More...
|
| |
| const int Apache.Ignite.Core.Cache.Eviction.EvictionPolicyBase.DefaultBatchSize = 1 |
| const long Apache.Ignite.Core.Cache.Eviction.EvictionPolicyBase.DefaultMaxMemorySize = 0 |
| int Apache.Ignite.Core.Cache.Eviction.EvictionPolicyBase.BatchSize |
|
getset |
| long Apache.Ignite.Core.Cache.Eviction.EvictionPolicyBase.MaxMemorySize |
|
getset |
| int Apache.Ignite.Core.Cache.Eviction.EvictionPolicyBase.MaxSize |
|
getset |


Generate a Password
To use: Click "Generate Password" button and follow the series of prompts to create a password matching your criteria.
To use: Click "Generate Password" button and follow the series of prompts to create a password matching your criteria.


Barren Bogs [an19], swamp, in Mandoria, wilderness
Last updated Turn #135
Barren Bogs [an19], swamp, in Mandoria, wilderness
------------------------------------------------------------------------
18: Captain Kraken [k3k], Imperial Empire, duke, priest of the Church of
18: Halon [157], with 50 nazgul, arrived from the west, accompanied by:
18: Phantom III [d6x], Imperial Empire, priest of the Church of
18: Dol [153], with seven nazgul
18: Veejay [v8j], Imperial Empire, Bishop of the Church of Ham [155],
18: with five angels
18: Goon III [b9v], Imperial Empire, Bishop of the Church of Dol [153],
18: with five angels, 54 hvy. xbowmen, ten nazgul
18: Lord Rodrigo Bane [c8b], Imperial Empire, priest of the Church of
18: Dol [153], with ten workers, 50 hvy. xbowmen, five nazgul
18: Licia [i1l], Imperial Empire, Bishop of the Church of Ham [155],
18: with five angels, 50 hvy. xbowmen
18: Odin [y5z], Imperial Empire, with 55 hvy. xbowmen
18: Thorg [j8u], Imperial Empire, with one warmount
18: Jupiter [m8j], Imperial Empire, duke, the High Priest of the Church
18: of Halon [157], with ten angels, 52 hvy. xbowmen
18: Dryeth [q4e], Imperial Empire, priest of the Church of Dol [153],
18: with seven nazgul
18: Firefly [f3f], Imperial Empire, priest of the Church of
18: Halon [157], with 50 hvy. xbowmen
18: Sunwalker [a8x], Imperial Empire, duke, Bishop of the Church of
18: Halon [157], with five angels, 40 nazgul
18: Thomas [o5y], Imperial Empire, priest of the Church of Dol [153],
18: with 52 hvy. xbowmen, five nazgul
18: Alexei Galantor [j7l], Imperial Empire, duke, priest of the Church
18: of Halon [157], with 53 nazgul
18: Sir Peter [u9p], Imperial Empire, with 37 peasants
18: George [p7f], Imperial Empire, duke, priest of the Church of
18: Dol [153], with 31 nazgul
18: Lucca [h0t], Imperial Empire, priest of the Church of Halon [157],
18: with five peasants, five skirmishers, 50 nazgul
18: Johny [w2d], Imperial Empire, priest of the Church of Halon [157],
18: with 28 nazgul
18: Osmosis [o2n], Imperial Empire, priest of the Church of
18: Halon [157], with 43 nazgul
18: Stefano [t8e], Imperial Empire, Bishop of the Church of
18: Halon [157], with five angels, 50 nazgul
18: Sir Andrew [v9a], Imperial Empire, priest of the Church of
18: Halon [157], with one soldier, 50 nazgul, four hvy. xbowmen
18: Sir Charles [j5r], Imperial Empire, priest of the Church of
18: Halon [157], with five soldiers, 50 nazgul
19: Captain Kraken [k3k], Imperial Empire, duke, priest of the Church of
19: Halon [157], with 50 nazgul, went east, accompanied by:
19: Phantom III [d6x], Imperial Empire, priest of the Church of
19: Dol [153], with seven nazgul
19: Veejay [v8j], Imperial Empire, Bishop of the Church of Ham [155],
19: with five angels
19: Goon III [b9v], Imperial Empire, Bishop of the Church of Dol [153],
19: with five angels, 54 hvy. xbowmen, ten nazgul
19: Lord Rodrigo Bane [c8b], Imperial Empire, priest of the Church of
19: Dol [153], with ten workers, 50 hvy. xbowmen, five nazgul
19: Licia [i1l], Imperial Empire, Bishop of the Church of Ham [155],
19: with five angels, 50 hvy. xbowmen
19: Odin [y5z], Imperial Empire, with 55 hvy. xbowmen
19: Thorg [j8u], Imperial Empire, with one warmount
19: Jupiter [m8j], Imperial Empire, duke, the High Priest of the Church
19: of Halon [157], with ten angels, 52 hvy. xbowmen
19: Dryeth [q4e], Imperial Empire, priest of the Church of Dol [153],
19: with seven nazgul
19: Firefly [f3f], Imperial Empire, priest of the Church of
19: Halon [157], with 50 hvy. xbowmen
19: Sunwalker [a8x], Imperial Empire, duke, Bishop of the Church of
19: Halon [157], with five angels, 40 nazgul
19: Thomas [o5y], Imperial Empire, priest of the Church of Dol [153],
19: with 52 hvy. xbowmen, five nazgul
19: Alexei Galantor [j7l], Imperial Empire, duke, priest of the Church
19: of Halon [157], with 53 nazgul
19: Sir Peter [u9p], Imperial Empire, with 37 peasants, five hvy.
19: xbowmen
19: George [p7f], Imperial Empire, duke, priest of the Church of
19: Dol [153], with 31 nazgul
19: Lucca [h0t], Imperial Empire, priest of the Church of Halon [157],
19: with five peasants, five skirmishers, 50 nazgul
19: Johny [w2d], Imperial Empire, priest of the Church of Halon [157],
19: with 28 nazgul
19: Osmosis [o2n], Imperial Empire, priest of the Church of
19: Halon [157], with 43 nazgul
19: Stefano [t8e], Imperial Empire, Bishop of the Church of
19: Halon [157], with five angels, 50 nazgul
19: Sir Andrew [v9a], Imperial Empire, priest of the Church of
19: Halon [157], with 50 nazgul
19: Sir Charles [j5r], Imperial Empire, priest of the Church of
19: Halon [157], with four soldiers, 50 nazgul, one hvy. xbowman
19: Stack of cyclops [iu8c], cyclops, number: 6, arrived from the east.
21: Stack of cyclops [iu8c], cyclops, number: 6, went west.
26: Stack of cyclops [co5n], cyclops, number: 8, arrived from the west.
28: Stack of cyclops [co5n], cyclops, number: 8, went east.
Routes leaving Barren Bogs:
North, swamp, to Barren Bogs [am19], 14 days
East, swamp, to Barren Bogs [an20], 14 days
South, swamp, to Barren Bogs [ao19], 14 days
Garrison [fx9a], garrison, Mandor Confederacy, with ten undead
West, swamp, to Barren Bogs [an18], 14 days
Seen here:
Stack of cyclops [it1j], cyclops, number: 9
Stack of centaurs [bt4h], centaurs, number: 39
Pack of wolves [an3a], wolves, number: 10
Stack of cyclops [fv1c], cyclops, number: 8
Stack of cyclops [iu8c], cyclops, number: 5


--- layout: posts title: Northern Rhône image: northern-rhone imagecaption: The Rhone Valley, seen to the north from the heights of Tournon-sur-Rhône imageby: David Monniaux date: 2016-03-16 tags: wset3 category: wine permalink: /wine/northern-rhone/index.html excerpt_separator: ---
Steep slopes with south-facing aspects, These AOC wines are exclusively Syrah with deep colour, medium to high tannins, black fruit, and sometimes black pepper and floral aromas.
The valley is narrow and steep, and vineyards are mainly planted close to the river, where the best have south-facing aspect. Much smaller region than Southern Rhône
Temperatures are noticeably cooler than in the Southern Rhône. The sites are often in lateral valleys which help protect from the cold north winds known as the mistral, which flows down the Rhône from the Massif Central.
Syrah is the only black variety permitted, and is at the northern limit of successful ripening, therefore southern aspect and steep slopes are important. Some winemakers use high portion of new oak, others use older oak or larger barrels.
Viognier is full-bodied white with perfumed aromas of blossom and apricots, flavours of stone fruits. Sometimes blended with Syrah to add aromatic intensity. Very late ripening, so the wines tend to have low acidity and high alcohol. New oak can be used, but can overwhelm the varietal aromas. Some late-harvested off-dry styles.
The most northern appellation, almost entirely steep slopes with southern aspects.
Only red wines are produced, up to 20 percent Viognier can be blended, but in practice only a limited number of wines produced with Viognier in the blend, and then only a small percentage. Deep color, full-bodied, spicy, and the best have aromatic, floral freshness, intense flavors, complexity, and textural elegance.
Just south of Côte Rôtie . Steep, well-exposed, terraced vineyards.
A white wine made from 100% Viognier, the best from low-yield old vines.
The best from terraced vineyards, which have intensity and structure similar to Hermitage. Flatter areas on valley floor use carbonic maceration and have lightest body of Northern Rhône, with pepper perfumed aromas. Blended with up to 10% Marsanne and Roussanne
Steep south-facing slopes that vary in steepness and aspect. The best wines are blended from different sites within the AOC.
These wines are the fullest bodied of Northern Rhône and ages well for decades. Up to 15% of Marsanne and Roussanne can be fermented with, but rarely done, adds complexity.
Marsanne and Roussanne usually blended together, and account for 20% of Hermitage production.
Mix terrain located around the hill of Hermitage.
Up to 15% of Marsanne and Roussanne can be fermented with, but rarely done. Quality, style, and price varies depending on location of the vineyard. Lighter wines are from high yielding, flatter vineyards. More concentrated, complex, and tannic wines from steeper slopes.
Southernmost location, and by far the warmest. Sheltered, well-exposed sun-baked south-facing slopes.
100% Syrah in Cornas, deep color, full-bodied, style and quality similar to Hermitage


The Enviro-Dashboard
THE CLIMATE IS CHANGING....
In today’s generation, the Earth is experiencing a climate change that is significantly changing the way humans, animals, and plants live and function. Due to global warming, temperatures on Earth are rising and it’s affecting life on land and in the ocean.The only visible solution for this menace is "AWARENESS". This page will provide you the basic information about the key factors responsible, in an interactive way.


Welcome to the CUBIZ.lk online quizes site.100+ quizes have categorized under 15 categories.You can choose any type of quiz as you prefer.Don't take much time.Complete the simple log in forum and start a quiz.
Have fun.


val crossoverRate: Double
The probability that crossover will occur between two individuals in the population.


Mr. M.'s Social Icons / Font Awesome with hover
View Full Screen
Reference & Credits:
Lipis: Github Bootstrap Social project
Font Awesome Cheat Sheet
Font Awesome Search Icons
Sample Social Icons
Sizes
Icons with text
Sign in with Facebook
Sign in with Facebook
HTML 5 Validation


A---B---C topic / D---E---F---G master
git-merge(1) Manual Page
NAME
git-merge - Join two or more development histories together
SYNOPSIS
git merge [-n] [--stat] [--no-commit] [--squash] [--[no-]edit] [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]] [--[no-]rerere-autoupdate] [-m <msg>] [<commit>...] git merge <msg> HEAD <commit>... git merge --abort
DESCRIPTION
Incorporates changes from the named commits (since the time their histories diverged from the current branch) into the current branch. This command is used by git pull to incorporate changes from another repository and can be used by hand to merge changes from one branch into another.
Assume the following history exists and the current branch is "master":
Then "git merge topic" will replay the changes made on the topic branch since it diverged from master (i.e., E) until its current commit (C) on top of master, and record the result in a new commit along with the names of the two parent commits and a log message from the user describing the changes.
A---B---C topic / \ D---E---F---G---H master
The second syntax (<msg> HEAD <commit>...) is supported for historical reasons. Do not use it from the command line or in new scripts. It is the same as git merge -m <msg> <commit>....
The third syntax ("git merge --abort") can only be run after the merge has resulted in conflicts. git merge --abort will abort the merge process and try to reconstruct the pre-merge state. However, if there were uncommitted changes when the merge started (and especially if those changes were further modified after the merge was started), git merge --abort will in some cases be unable to reconstruct the original (pre-merge) changes. Therefore:
Warning: Running git merge with non-trivial uncommitted changes is discouraged: while possible, it may leave you in a state that is hard to back out of in the case of a conflict.
OPTIONS
- --commit
- --no-commit
Perform the merge and commit the result. This option can be used to override --no-commit.
With --no-commit perform the merge but pretend the merge failed and do not autocommit, to give the user a chance to inspect and further tweak the merge result before committing.
- --edit
- -e
- --no-edit
Invoke an editor before committing successful mechanical merge to further edit the auto-generated merge message, so that the user can explain and justify the merge. The --no-edit option can be used to accept the auto-generated message (this is generally discouraged). The --edit (or -e) option is still useful if you are giving a draft message with the -m option from the command line and want to edit it in the editor.
Older scripts may depend on the historical behaviour of not allowing the user to edit the merge log message. They will see an editor opened when they run git merge. To make it easier to adjust such scripts to the updated behaviour, the environment variable GIT_MERGE_AUTOEDIT can be set to no at the beginning of them.
- --ff
When the merge resolves as a fast-forward, only update the branch pointer, without creating a merge commit. This is the default behavior.
- --no-ff
Create a merge commit even when the merge resolves as a fast-forward. This is the default behaviour when merging an annotated (and possibly signed) tag.
- --ff-only
Refuse to merge and exit with a non-zero status unless the current HEAD is already up-to-date or the merge can be resolved as a fast-forward.
- --log[=<n>]
- --no-log
In addition to branch names, populate the log message with one-line descriptions from at most <n> actual commits that are being merged. See also git-fmt-merge-msg(1).
With --no-log do not list one-line descriptions from the actual commits being merged.
- --stat
- -n
- --no-stat
Show a diffstat at the end of the merge. The diffstat is also controlled by the configuration option merge.stat.
With -n or --no-stat do not show a diffstat at the end of the merge.
- --squash
- --no-squash
Produce the working tree and index state as if a real merge happened (except for the merge information), but do not actually make a commit or move the HEAD, nor record $GIT_DIR/MERGE_HEAD to cause the next git commit command to create a merge commit. This allows you to create a single commit on top of the current branch whose effect is the same as merging another branch (or more in case of an octopus).
With --no-squash perform the merge and commit the result. This option can be used to override --squash.
- -s <strategy>
- --strategy=<strategy>
Use the given merge strategy; can be supplied more than once to specify them in the order they should be tried. If there is no -s option, a built-in list of strategies is used instead (git merge-recursive when merging a single head, git merge-octopus otherwise).
- -X <option>
- --strategy-option=<option>
Pass merge strategy specific option through to the merge strategy.
- --verify-signatures
- --no-verify-signatures
Verify that the commits being merged have good and trusted GPG signatures and abort the merge in case they do not.
- --summary
- --no-summary
Synonyms to --stat and --no-stat; these are deprecated and will be removed in the future.
- -q
- --quiet
Operate quietly. Implies --no-progress.
- -v
- --verbose
Be verbose.
- --progress
- --no-progress
Turn progress on/off explicitly. If neither is specified, progress is shown if standard error is connected to a terminal. Note that not all merge strategies may support progress reporting.
- -S[<keyid>]
- --gpg-sign[=<keyid>]
GPG-sign the resulting merge commit.
- -m <msg>
Set the commit message to be used for the merge commit (in case one is created).
If --log is specified, a shortlog of the commits being merged will be appended to the specified message.
The git fmt-merge-msg command can be used to give a good default for automated git merge invocations.
- --[no-]rerere-autoupdate
Allow the rerere mechanism to update the index with the result of auto-conflict resolution if possible.
- --abort
Abort the current conflict resolution process, and try to reconstruct the pre-merge state.
If there were uncommitted worktree changes present when the merge started, git merge --abort will in some cases be unable to reconstruct these changes. It is therefore recommended to always commit or stash your changes before running git merge.
git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.
- <commit>...
Commits, usually other branch heads, to merge into our branch. Specifying more than one commit will create a merge with more than two parents (affectionately called an Octopus merge).
If no commit is given from the command line, and if merge.defaultToUpstream configuration variable is set, merge the remote-tracking branches that the current branch is configured to use as its upstream. See also the configuration section of this manual page.
PRE-MERGE CHECKS
Before applying outside changes, you should get your own work in good shape and committed locally, so it will not be clobbered if there are conflicts. See also git-stash(1). git pull and git merge will stop without doing anything when local uncommitted changes overlap with files that git pull/git merge may need to update.
To avoid recording unrelated changes in the merge commit, git pull and git merge will also abort if there are any changes registered in the index relative to the HEAD commit. (One exception is when the changed index entries are in the state that would result from the merge already.)
If all named commits are already ancestors of HEAD, git merge will exit early with the message "Already up-to-date."
FAST-FORWARD MERGE
Often the current branch head is an ancestor of the named commit. This is the most common case especially when invoked from git pull: you are tracking an upstream repository, you have committed no local changes, and now you want to update to a newer upstream revision. In this case, a new commit is not needed to store the combined history; instead, the HEAD (along with the index) is updated to point at the named commit, without creating an extra merge commit.
This behavior can be suppressed with the --no-ff option.
TRUE MERGE
Except in a fast-forward merge (see above), the branches to be merged must be tied together by a merge commit that has both of them as its parents.
A merged version reconciling the changes from all branches to be merged is committed, and your HEAD, index, and working tree are updated to it. It is possible to have modifications in the working tree as long as they do not overlap; the update will preserve them.
When it is not obvious how to reconcile the changes, the following happens:
The HEAD pointer stays the same.
The MERGE_HEAD ref is set to point to the other branch head.
Paths that merged cleanly are updated both in the index file and in your working tree.
For conflicting paths, the index file records up to three versions: stage 1 stores the version from the common ancestor, stage 2 from HEAD, and stage 3 from MERGE_HEAD (you can inspect the stages with git ls-files -u). The working tree files contain the result of the "merge" program; i.e. 3-way merge results with familiar conflict markers <<< === >>>.
No other changes are made. In particular, the local modifications you had before you started merge will stay the same and the index entries for them stay as they were, i.e. matching HEAD.
If you tried a merge which resulted in complex conflicts and want to start over, you can recover with git merge --abort.
MERGING TAG
When merging an annotated (and possibly signed) tag, Git always creates a merge commit even if a fast-forward merge is possible, and the commit message template is prepared with the tag message. Additionally, if the tag is signed, the signature check is reported as a comment in the message template. See also git-tag(1).
When you want to just integrate with the work leading to the commit that happens to be tagged, e.g. synchronizing with an upstream release point, you may not want to make an unnecessary merge commit.
In such a case, you can "unwrap" the tag yourself before feeding it to git merge, or pass --ff-only when you do not have any work on your own. e.g.
git fetch origin git merge v1.2.3^0 git merge --ff-only v1.2.3
HOW CONFLICTS ARE PRESENTED
During a merge, the working tree files are updated to reflect the result of the merge. Among the changes made to the common ancestor's version, non-overlapping ones (that is, you changed an area of the file while the other side left that area intact, or vice versa) are incorporated in the final result verbatim. When both sides made changes to the same area, however, Git cannot randomly pick one side over the other, and asks you to resolve it by leaving what both sides did to that area.
By default, Git uses the same style as the one used by the "merge" program from the RCS suite to present such a conflicted hunk, like this:
Here are lines that are either unchanged from the common ancestor, or cleanly resolved because only one side changed. <<<<<<< yours:sample.txt Conflict resolution is hard; let's go shopping. ======= Git makes conflict resolution easy. >>>>>>> theirs:sample.txt And here is another line that is cleanly resolved or unmodified.
The area where a pair of conflicting changes happened is marked with markers <<<<<<<, =======, and >>>>>>>. The part before the ======= is typically your side, and the part afterwards is typically their side.
The default format does not show what the original said in the conflicting area. You cannot tell how many lines are deleted and replaced with Barbie's remark on your side. The only thing you can tell is that your side wants to say it is hard and you'd prefer to go shopping, while the other side wants to claim it is easy.
An alternative style can be used by setting the "merge.conflictstyle" configuration variable to "diff3". In "diff3" style, the above conflict may look like this:
Here are lines that are either unchanged from the common ancestor, or cleanly resolved because only one side changed. <<<<<<< yours:sample.txt Conflict resolution is hard; let's go shopping. ||||||| Conflict resolution is hard. ======= Git makes conflict resolution easy. >>>>>>> theirs:sample.txt And here is another line that is cleanly resolved or unmodified.
In addition to the <<<<<<<, =======, and >>>>>>> markers, it uses another ||||||| marker that is followed by the original text. You can tell that the original just stated a fact, and your side simply gave in to that statement and gave up, while the other side tried to have a more positive attitude. You can sometimes come up with a better resolution by viewing the original.
HOW TO RESOLVE CONFLICTS
After seeing a conflict, you can do two things:
Decide not to merge. The only clean-ups you need are to reset the index file to the HEAD commit to reverse 2. and to clean up working tree changes made by 2. and 3.; git merge --abort can be used for this.
Resolve the conflicts. Git will mark the conflicts in the working tree. Edit the files into shape and git add them to the index.
You can work through the conflict with a number of tools:
Use a mergetool. git mergetool to launch a graphical mergetool which will work you through the merge.
Look at the diffs. git diff will show a three-way diff, highlighting changes from both the HEAD and MERGE_HEAD versions.
Look at the diffs from each branch. git log --merge -p <path> will show diffs first for the HEAD version and then the MERGE_HEAD version.
Look at the originals. git show :1:filename shows the common ancestor, git show :2:filename shows the HEAD version, and git show :3:filename shows the MERGE_HEAD version.
EXAMPLES
Merge branches fixes and enhancements on top of the current branch, making an octopus merge:
$ git merge fixes enhancements
Merge branch obsolete into the current branch, using ours merge strategy:
$ git merge -s ours obsolete
Merge branch maint into the current branch, but do not make a new commit automatically:
$ git merge --no-commit maint
This can be used when you want to include further changes to the merge, or want to write your own merge commit message.
You should refrain from abusing this option to sneak substantial changes into a merge commit. Small fixups like bumping release/version name would be acceptable.
MERGE STRATEGIES
The merge mechanism (git-merge and git-pull commands) allows the backend merge strategies to be chosen with -s option. Some strategies can also take their own options, which can be passed by giving -X<option> arguments to git-merge and/or git-pull.
- resolve
This can only resolve two heads (i.e. the current branch and another branch you pulled from) using a 3-way merge algorithm. It tries to carefully detect criss-cross merge ambiguities and is considered generally safe and fast.
- recursive
This can only resolve two heads using a 3-way merge algorithm. When there is more than one common ancestor that can be used for 3-way merge, it creates a merged tree of the common ancestors and uses that as the reference tree for the 3-way merge. This has been reported to result in fewer merge conflicts without causing mis-merges by tests done on actual merge commits taken from Linux 2.6 kernel development history. Additionally this can detect and handle merges involving renames. This is the default merge strategy when pulling or merging one branch.
The recursive strategy can take the following options:
- ours
This option forces conflicting hunks to be auto-resolved cleanly by favoring our version. Changes from the other tree that do not conflict with our side are reflected to the merge result. For a binary file, the entire contents are taken from our side.
This should not be confused with the ours merge strategy, which does not even look at what the other tree contains at all. It discards everything the other tree did, declaring our history contains all that happened in it.
- theirs
This is the opposite of ours.
- patience
With this option, merge-recursive spends a little extra time to avoid mismerges that sometimes occur due to unimportant matching lines (e.g., braces from distinct functions). Use this when the branches to be merged have diverged wildly. See also git-diff(1) --patience.
- diff-algorithm=[patience|minimal|histogram|myers]
Tells merge-recursive to use a different diff algorithm, which can help avoid mismerges that occur due to unimportant matching lines (such as braces from distinct functions). See also git-diff(1) --diff-algorithm.
- ignore-space-change
- ignore-all-space
- ignore-space-at-eol
Treats lines with the indicated type of whitespace change as unchanged for the sake of a three-way merge. Whitespace changes mixed with other changes to a line are not ignored. See also git-diff(1) -b, -w, and --ignore-space-at-eol.
If their version only introduces whitespace changes to a line, our version is used;
If our version introduces whitespace changes but their version includes a substantial change, their version is used;
Otherwise, the merge proceeds in the usual way.
- renormalize
This runs a virtual check-out and check-in of all three stages of a file when resolving a three-way merge. This option is meant to be used when merging branches with different clean filters or end-of-line normalization rules. See "Merging branches with differing checkin/checkout attributes" in gitattributes(5) for details.
- no-renormalize
Disables the renormalize option. This overrides the merge.renormalize configuration variable.
- rename-threshold=<n>
Controls the similarity threshold used for rename detection. See also git-diff(1) -M.
- subtree[=<path>]
This option is a more advanced form of subtree strategy, where the strategy makes a guess on how two trees must be shifted to match with each other when merging. Instead, the specified path is prefixed (or stripped from the beginning) to make the shape of two trees to match.
- octopus
This resolves cases with more than two heads, but refuses to do a complex merge that needs manual resolution. It is primarily meant to be used for bundling topic branch heads together. This is the default merge strategy when pulling or merging more than one branch.
- ours
This resolves any number of heads, but the resulting tree of the merge is always that of the current branch head, effectively ignoring all changes from all other branches. It is meant to be used to supersede old development history of side branches. Note that this is different from the -Xours option to the recursive merge strategy.
- subtree
This is a modified recursive strategy. When merging trees A and B, if B corresponds to a subtree of A, B is first adjusted to match the tree structure of A, instead of reading the trees at the same level. This adjustment is also done to the common ancestor tree.
CONFIGURATION
- merge.conflictstyle
Specify the style in which conflicted hunks are written out to working tree files upon merge. The default is "merge", which shows a <<<<<<< conflict marker, changes made by one side, a ======= marker, changes made by the other side, and then a >>>>>>> marker. An alternate style, "diff3", adds a ||||||| marker and the original text before the ======= marker.
- merge.defaultToUpstream
If merge is called without any commit argument, merge the upstream branches configured for the current branch by using their last observed values stored in their remote-tracking branches. The values of the branch.<current branch>.merge that name the branches at the remote named by branch.<current branch>.remote are consulted, and then they are mapped via remote.<remote>.fetch to their corresponding remote-tracking branches, and the tips of these tracking branches are merged.
- merge.ff
By default, Git does not create an extra merge commit when merging a commit that is a descendant of the current commit. Instead, the tip of the current branch is fast-forwarded. When set to false, this variable tells Git to create an extra merge commit in such a case (equivalent to giving the --no-ff option from the command line). When set to only, only such fast-forward merges are allowed (equivalent to giving the --ff-only option from the command line).
- merge.log
In addition to branch names, populate the log message with at most the specified number of one-line descriptions from the actual commits that are being merged. Defaults to false, and true is a synonym for 20.
- merge.renameLimit
The number of files to consider when performing rename detection during a merge; if not specified, defaults to the value of diff.renameLimit.
- merge.renormalize
Tell Git that canonical representation of files in the repository has changed over time (e.g. earlier commits record text files with CRLF line endings, but recent ones use LF line endings). In such a repository, Git can convert the data recorded in commits to a canonical form before performing a merge to reduce unnecessary conflicts. For more information, see section "Merging branches with differing checkin/checkout attributes" in gitattributes(5).
- merge.stat
Whether to print the diffstat between ORIG_HEAD and the merge result at the end of the merge. True by default.
- merge.tool
Controls which merge tool is used by git-mergetool(1). The list below shows the valid built-in values. Any other value is treated as a custom merge tool and requires that a corresponding mergetool.<tool>.cmd variable is defined.
- merge.verbosity
Controls the amount of output shown by the recursive merge strategy. Level 0 outputs nothing except a final error message if conflicts were detected. Level 1 outputs only conflicts, 2 outputs conflicts and file changes. Level 5 and above outputs debugging information. The default is level 2. Can be overridden by the GIT_MERGE_VERBOSITY environment variable.
- merge.<driver>.name
Defines a human-readable name for a custom low-level merge driver. See gitattributes(5) for details.
- merge.<driver>.driver
Defines the command that implements a custom low-level merge driver. See gitattributes(5) for details.
- merge.<driver>.recursive
Names a low-level merge driver to be used when performing an internal merge between common ancestors. See gitattributes(5) for details.
- branch.<name>.mergeoptions
Sets default options for merging into branch <name>. The syntax and supported options are the same as those of git merge, but option values containing whitespace characters are currently not supported.
SEE ALSO
GIT
Part of the git(1) suite


Technology inspired
Before you apply
This innovation funding service is an online service run by Innovate UK. It provides the process and online support to apply for funding offered through Innovate UK competitions. As the lead organisation you will be seeking funding for your project.
Creating an account
When you create an account you will be able to:
- apply for competitions
- track competition applications
- view application feedback
- set up successful projects
Lead organisation
You are the lead organisation if:
- you are responsible for collecting the information for the application
- inviting other contributors and/or collaborators
- you will lead the project if your application is successful
Contributors and collaborators
You may invite contributors from your organisation to help you complete your application.
You may collaborate with partner organisations to deliver the project. You will need to invite collaborators as representatives of your partners to complete the application. Collaborators are responsible for entering their own project costs and contributions into the application. As the lead organisation you will be able to see a summary of your partners’ costs but will not see the detailed breakdown.
Partner organisations may be:
- other businesses
- research organisations
- a public sector organisation
- a charity
When you start your application you will be asked to invite contributors and collaborators.
Research partners
Innovate UK supports UK businesses to fund research innovation. We recognise the value of businesses collaborating with academic and other research partners. In order for your research project to be eligible to claim a grant there are participation rules. These rules limit the amount of involvement a research partner may have in your project. The participation rules will be set out in the eligibility criteria for each competition.
You will not be able to submit your application if your research participation is over the stated percentage for the competition.
Business eligibility
To be eligible to claim public funding for your project, your business must be registered in the UK at the project start. You must also deliver the project in the UK.
As a business, Innovate UK will fund a percentage of your eligible project costs. You must be able to fund the remainder of the project costs yourselves. The amount of grant funding you can claim will depend upon the size of your organisation and the type of research activity you are undertaking in the project. For further information please see our funding rules.
Project costs
As a business, if your application is successful, Innovate UK will fund a percentage of your eligible project costs. To be eligible, your costs must be directly incurred as a result of you delivering your research and development project. There are some types of cost which are not eligible. For full details on what costs you can claim please see our project costs guidance.
Innovate UK pays costs quarterly in arrears. You need to submit a claim for those costs and provide evidence of you incurring them.
Your application
Before you apply into the competition, we recommend you take a look at the questions you will need to answer. It is likely that you will need to take some time to prepare the answers to these questions. By creating an account you and your contributors can log back into the service to work on your application as you collate the information.
The competition has an application deadline. Please note that this is absolute and will not be extended. We receive a high volume of applications into competitions and the service is typically very busy on the last couple of days prior to a deadline. We recommend that you do not leave your application to the last minute. Service volumes during this period are high and may cause the service to be slower than usual.


## Example 1 This directive renders [Markdown](http://daringfireball.net/projects/markdown/) text. It's built on blazingly fast markdown parser [marked](https://github.com/chjj/marked). - This is a bullet point 1. - This is a bullet point 2. - This is
a bullet point 3. Code block is supported, too: ```js for (var i = 0; i
< 10; i++) { console.log( 'angular-md is cool!'); } ```


Lyft asks Americans to ditch their cars for ride-hailing vouchers
REUTERS: Lyft on Thursday (Nov 7) said it was rolling out an offer to users in Los Angeles, San Francisco and Chicago to sell their cars in exchange for credit on the ride-hailing platform.
Those who sell their vehicle through Carvana, an online used car retailer, would receive US$250 in Lyft credit and three months of free membership in Lyft's subscription service Pink.
Lyft Pink membership, which costs US$19.99 a month, provides a 15 per cent discount on ride-hailing trips and 90 minutes of complimentary bike-share and electric scooter rides in cities with availability.
The offer is targeted at people who are already considering giving up their car, said Lyft's senior director for transportation policy, Lilly Shoup. Lyft plans to expand the program to other cities.
Carvana would not share any profits from the sale of a car with Lyft, Shoup said.
Lyft in September announced changes to its app, allowing users in some cities to compare the cost and travel times of different modes of transportation, including public transit.
The company currently operates bike-share services in eight cities, including in Chicago and San Francisco, and scooters in 20 cities, including Los Angeles and Chicago.
Lyft and larger rival Uber Technologies Inc have come under fire from officials and advocacy groups in major cities like New York for worsening congestion by significantly added to street traffic as more people ditch public transit in favor of personal rides.
Beginning next week, the Lyft app will also display public transportation options in all three cities targeted as part of the car selling program.
Shoup said the effort was part of Lyft's commitment to reduce private car ownership and encourage multi-modal transportation.
Transportation is the fourth-largest household expenditure after healthcare, housing and food, according to the US Department of Transportation, with households spending an average of roughly US$9,700 on transportation in 2017.
Asked whether Lyft research had shown its alternative transportation offers to be cheaper than private car ownership, Shoup said those calculations were highly personal and dependent on the individual commuter.