Please check that the InnoDB and XtraDB patches are identical. Currently they are not, according to
`diff <(git show e6e5b621fd5fcbc5db30237cb1b45581e49e151b storage/innobase/) <(git show e6e5b621fd5fcbc5db30237cb1b45581e49e151b storage/xtradb/)`


@brunoperlopes Isso!


This field `dict_table_t::is_corrupt` was removed from InnoDB, but changed in XtraDB. As far as I can tell, the field is unused in XtraDB.


For issue #1580


I thought you had chosen it because it was based on some existing LGPL code. Since it's not classic library code, I'd rather suggest BSD or something.


I am pretty sure this was on purpose, cause the explanation is better in the passthroughs_2 sectionthan the passthroughs


抓取www.meitulu.com网站的妹子图片


True, my bad, I'll revert this


`buf_page_get_gen()` should never return `block!=NULL` and `err!=DB_SUCCESS`. Please revert this change and add an assertion right after the call:
```
ut_ad((block != NULL) == (err == DB_SUCCESS));
```


doh... sorry about that / it worked for me, but then I must've typeoed over it somehow


Same here and presumably in multiple callers of the buffer pool. We do not want to slow down the non-debug code by redundantly checking conditions.


Yes, if @varisd agrees.


Revert the above code duplication, and instead add the following after the existing `mtr_commit(&mtr)`:
```
if (index->table->file_unreadable) {
	return(0);
}
```


This is the definition of an elegant algo!!!1


By the way why do you call it `Factory1` and not simply `Factory`?


@matt-the-wizard We need to `rebase --onto` this branch because the three commits at the tip are already in master. Let me know if you want to pair on this process if you are unfamiliar with `git rebase --onto``


![](https://github.trello.services/images/mini-trello-icon.png) [Cover a route building algorithm by unit tests.](https://trello.com/c/zxAEYcIU/50-cover-a-route-building-algorithm-by-unit-tests)


After downloading the latest desktop source and following the instructions above; I was able to run the python prepare which generated the Visual Studio project.sln.

I then opened the project.sln in VS 2015 and tried a REBUILD ALL and received an error;

Code C2220
Project: EP_linphone
File: info.c
Description: warning treated as error - no 'object' file generated linphone.vcxproj

Did I miss something?


It triggers a SKPaymentTransactionStateFailed just before the Confirmation alert dialog pops up by Apple, without even tapping on the final "Buy" option.


Bluemix [toolchain](https://console.ng.bluemix.net/devops/toolchains/3601149e-2f66-43fa-895c-1f487e854ef2 "reactionsite"): [Delivery Pipeline](https://console.ng.bluemix.net/devops/pipelines/aa7f273d-3255-4a24-a63f-7353f39b725d "reactionsite") deployed this commit to [reactionbot](https://console.ng.bluemix.net/apps/3bb161f2-87df-495e-b3ca-26d8ba1269d3 "ibm:yp:us-south:nosuw@vpsorg.pro:reactionbot")


Thanks!!


Didn't think it could've been done in O(1) but dayum


Bluemix [toolchain](https://console.ng.bluemix.net/devops/toolchains/c037fe6f-616b-4600-a35e-dc271fa94ac7 "zyshdkmhljmbogzxkrpw"): [Delivery Pipeline](https://console.ng.bluemix.net/devops/pipelines/cc2ebf85-c629-454e-94a5-cb2eac4827ba "zyshdkmhljmbogzxkrpw") deployed this commit to [Trade_BC](https://console.ng.bluemix.net/apps/6d418dc4-12f4-4d7b-8a6f-237d20496991 "ibm:yp:us-south:SMBC:Trade_BC")


请按照目录结构组织代码，不然以后会很混乱


resolve #9


Do not remove assertions when they can be replaced with something that preserves the intention. In this case:
```
ut_ad(bpage->space == TRX_SYS_SPACE || mach_read_from_4(src_frame + FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION) == 0);
```
(In the first page of the system tablespace, the field will typically be nonzero.)


#include<stdio.h>
main()
{
    print("Hello World!");
}


suo ga  si lei


@r12a can the related issue https://github.com/w3c/html/issues/470 be closed?


Is `@command` deliberately ignored in the rest of the script?


So, is there definitely a memory leak, or is that just speculation?


这个怎么玩，还真难上手 哈哈哈哈


@eightam What was the issue you were looking to fix here?


![](https://github.trello.services/images/mini-trello-icon.png) [informacion dependencias](https://trello.com/c/wTm2Jd32/31-informacion-dependencias)


`Model.beforeValidate` does not exist anymore. Should be changed to `Model.buildValidator` and
`Model.buildRules`?


Before this, rewrite the condition as
```
if (unsigned key_version =
mach_read_from_4(dst_frame + FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION))
```
and remove the outer-scope declaration of `key_version`, because it is only needed in this branch.


I'll whip @aragonc a little today so he still does that today.


@SandPox LOL


Aw crap, that was a bad merge. The line `>>> np.nonzero(x)` is missing


:boom:


Wow! Congrats again!


why not forbidding the install on rails 3 via the gemspec and remove that conditional ?


再次编辑文件


please to give proper credits to the author, next time use:

```git commit --author="Username <user@name.org>"

to check user emails you can check the ```git log```


It doesn't say anything about alignment of variables as far as I can see, however I think it is much more readable when declarations are aligned. I'll change it back if it bothers you though


Oops, that's a copy-pasto. :-)


我试了 貌似能写中文啊


hi


@SandPox How did you get this sepolicy?


why not?


Looks strange to me too, not my code but I'll fix it


Certainly, did not see it


is that supposed to be a step towards monadic/typeclass-ish operators?


![](https://github.trello.services/images/mini-trello-icon.png) [Reserving maken/annuleren](https://trello.com/c/XbypXk8Z/8-reserving-maken-annuleren)


For debugging purposes only......... ;-)


Awesome, we can begin putting our html templates in here for everyone to see and edit, Great Job Kate,


Sweet, thanks.


Pq vc fez tudo numa linha soh


@vendethiel Somewhat. It's a rework of how objects are stored internally, using monadic-style class bindings, to clean up the commands code and make it much easier to add commands and tests.


Eu recomendo vc trocar por "Código"


Professor gostei do seu script. Mas não entendi porra nenhuma


Pq vc usa #!/bin/bash ? Eu não entendi


Bluemix [toolchain](https://console.ng.bluemix.net/devops/toolchains/c037fe6f-616b-4600-a35e-dc271fa94ac7 "zyshdkmhljmbogzxkrpw"): [Delivery Pipeline](https://console.ng.bluemix.net/devops/pipelines/cc2ebf85-c629-454e-94a5-cb2eac4827ba "zyshdkmhljmbogzxkrpw") deployed this commit to [Trade_BC](https://console.ng.bluemix.net/apps/6d418dc4-12f4-4d7b-8a6f-237d20496991 "ibm:yp:us-south:SMBC:Trade_BC")


ok, the flow of everything is not always clear, will fix this


Isso serve para escolher qual SHELL irá executar este script quando executa-lo no terminal através do ./


nope


I love you.


`" page " ULINTPF ":" ULINTPF`


sounds very nice. not all esolangs have nicely-looking interpreters, so appreciated :).


Also the this.updateMessage.getElement.parentNode... is for removing it from the dom


`"page " ULINTPF ":" ULINTPF`


1) method name should be "verb" in most cases ( "selectRange" would be better)
2) It'd be natural to give a change for users of your page object to pass a range as parameter to your method.


@vendethiel It will look much nicer when it's finished. This was just a rush push because my development computer's power supply is dying, and I'm going to be using a different computer soon.


`ULINTPF ":" ULINTPF`
(The delimiter is `:` in other messages, and error messages do not need to end in a `.`.)


Shouldn't be a default value ("-") defined for the "to" parameter as the documentation of this parameter claims?
Running of the following fails now:
`treex -p Read::Treex from=@data_list Write::Treex storable=1 path=my_dir`


Okay, though I still think it is better to have the operator on the second line in case the line is long, this way you will always know what operator is used between the different statements without having to scroll sideways


Thank you for the catch -- yes, I will fix that and add the exports with tests of a some to this first release.


This message is misleading. The page here is not an insert buffer page, but a secondary index leaf page for which there could be buffered changes. I would suggest the following:
`"Change buffer merge failed to decrypt page " ULINTPF ":" ULINTPF`


click and press enter actions can be done altogether
searchField.sendKeys(word,Keys.ENTER) or (word+Keys.ENTER)


that's SAP guide not HANA. HANA whitepaper was not published yet as far as I understand


At the moment I unfortunately cannot provide you with a step-by-step guide. We had a very good intern student here who was writing the Nuimo component for Home Assistant, he's however no longer here.


bla bla


@gross1989 We were just talking about you ;) How are your university studies going?


Regarding random when statements are split into several lines I think it says that if a line is longer than 80 or 100 chars it should be split up, this is very common: https://github.com/airbnb/javascript#whitespace--max-len


HI, there is no output with this code. Is there any bugs ?


Thanks, fixed


Maybe put a sanity limit of a couple months on this (and maybe tp posts only)? Otherwise we're going to keep checking users for years. Unless I'm missing the point?


This was a partial review since my previous review, based on the output of the following command:
```
diff <(git show 8ac272ab2c4c1d1557be50d0ddf699ed49774b77 storage/innobase/) <(git show e6e5b621fd5fcbc5db30237cb1b45581e49e151b storage/innobase/)
```
I am glad to see that you have addressed some of my earlier review comments.
I would like to conduct a thorough review before this is pushed, but I do not know when I would have the time.
Please prepare and test on buildbot a 10.2 version of this (based on a merge of this commit from 10.1). That would also help when merging from 10.1 to 10.2.


Replacing the line 89 with
`if (defined $self->to and $self->to ne '-' and $self->to ne '.') {`
is even better solution.
Can I change it?


Why are you adding build folder, which can be generated from the source and most people don't include it in git repository? And i can not find the .gitignore file, which is mentioned in the commit message.


I appreciate the update (I'm a little over a year late here) but I've since abandoned this as js in node is just not my cup of tea.


![](https://github.trello.services/images/mini-trello-icon.png) [Tolga - Last Couple Days](https://trello.com/c/1uG47syO/167-tolga-last-couple-days)


I did that originally, but as you said before, it doesn't scale, and It it looked more exponential. With scaling we could see it was actually a linear relationship. Should i still change it to text format("100KB")?


Thx! ,-)


Komentar


extra space


> Shouldn't be a default value ("-") defined for the "to" parameter

No, this is the default only for BaseTextWriter (if no path / file_stem / substitute parameter is given).

> as the documentation of this parameter claims?

I've fixed the documentation of this class.


Bluemix [toolchain](https://console.ng.bluemix.net/devops/toolchains/6d139d1f-4636-488d-8b91-b18807fc5764 "default-toolchain-1490820549284"): [Delivery Pipeline](https://console.ng.bluemix.net/devops/pipelines/d79835df-54e3-4fcf-b3e7-097ee00198ef "default-toolchain-1490820549284") deployed this commit to [dev](https://console.ng.bluemix.net/apps/2875066b-83ad-4f4f-8886-0ba68c922fa3 "ibm:yp:us-south:joshisa@us.ibm.com:dev")


Because without it you have to install nodejs + dependencies on each production server and build it.
.gitingore file is not included with project because is custom for every programmer based on the tools he using.


You should not use `request.POST` or `request.GET` on API requests.. use `request.data`


Thanks @dellis1972. Removed the option that was skipping PNG crushing. Some time ago when I made that commit, the IDE was taking excessively long to build due to PNG crushing. Thanks for the heads up.


Its all Dead NOW


noice


@TheComputerGuy96 why not?


Hi!
I am getting 'MySQL server has gone away at' errors when a DBIx::Schema connection sits idly for several hours. I thought DBIC takes care of automatically reconnecting.

This is a rather serious bug in DBIC and I would like to get this released ASAP.

I would imagine that a lot of people depend on the built-in automatic reconnection mechanism in DBIC?


<html>
<head>
</head>
<body>
</body>
</html>


read more on Enums.
Proper enum is as shown below.
It allows you to get the start and end price to use directly in your test

```

  PriceRange range = $2500_3500;
   boolean isInRange =  price <= range.getEnd() && price >= range.getStart();

public enum PriceRange {
    $2500_3500(1, 2500, 3500);

    private final int index;
    private final int start;
    private final int end;

    PriceRange(int index, int start, int end) {
        this.index = index;
        this.start = start;
        this.end = end;
    }

    public int getIndex() {
        return index;
    }

    public int getStart() {
        return start;
    }

    public int getEnd() {
        return end;
    }
}
```


Surprisingly, I ran it on ~20K users on SO locally, and it took around 30 seconds to finish execution. MS should be protected from this already, though, because of the `ExonerateOldSpammers` migration.


I would suggest running:
shell: `which yum` info rundeck | grep -i version | grep -o '[0-9.]\+'

That would supress the yum warning in ansible.
(reference: http://stackoverflow.com/a/37295918/837767)


Pour vous économiser de l'écriture et de la lecture.

Je l'utilise autant que possible. Votre code en dessous du commentaire fait un ToString pour refaire un Deserialize, c'est _wait overkill_.

```cs
using System;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace JsonFun
{
	class Stuff
	{
		public string Title;
		public string Subreddit;
	}

	class MainClass
	{
		public static void Main(string[] args)
		{
			var task = AsyncMain();
			task.Wait();
			var obj = JsonConvert.DeserializeObject(task.Result) as JObject;
			if (obj["error"] != null)
			{
				Console.Error.WriteLine(obj["error"]);
			}
			else
			{
				var children = obj["data"]["children"].Select(c => c["data"].ToObject<Stuff>()).ToList();
				foreach(var child in children) {
					Console.WriteLine($"{child.Title} {child.Subreddit}");
				}
			}
		}

		public static async Task<string> AsyncMain()
		{
			using (var http = new HttpClient())
			{
				return await http.GetStringAsync("https://www.reddit.com/r/Switzerland.json");
			}
		}
	}
}
```


where the server shall listen for Collectors. Use either ```6698``` (non-SSL) or ```6699``` (SSL).

Above should read "where the server shall listen for Agents".....


Cool, let's check it out, how the commit comment works.`CommitComment`


Deployed 3/30/2017 on 2.26.0


When I use the OpenVPN-Client-Export utility I now no longer receive a proper Windows Installer. The export is  now 191 KB instead of 3.9 MB. But it still works properly on an a pfsense server that has the 1.4.1 package. With an export from a pfsense server running package 1.4.2 I receive a message that says  "OpenvPN installation not found, installation aborted."


@pmoulon

Yes, I suppose I should explain my code refactoring.

The virtual `Describe` methods are now private and return the generic type.
The public method provides the specific type through a non-virtual interface (for smart pointer ''covariance''). Returning the `Regions` allows us to use covariance to return a specific type for a specific derived class and a generic type for the base interface. It can prevent the use of `dynamic_cast` in `Describe` function implementations and when using the derived class. Such covariance is not possible with function parameters.

Since every derived class should be able to implement the generic `Describe` method, this is the one that is virtual. The specific `Describe` method (returning a specific `Regions_type`) is specific to the derived class and is then non-virtual.

This change uses the move semantics of C++11. Local variables (here it's a `unique_ptr<Regions>`) can be returned with minimal cost.

```cpp
class Image_Describer
{
public:
  std::unique_ptr<Regions> Describe
  (
    const image::Image<unsigned char> & image,
    const image::Image<unsigned char> * mask = nullptr
  )
  {
    return DescribeImpl(image, mask);
  }

  // ...

private:
  virtual std::unique_ptr<Regions> DescribeImpl(
    const image::Image<unsigned char> & image,
    const image::Image<unsigned char> * mask = nullptr
  ) = 0;

  // ...
}
```

Using `Describe` from the base class will return the generic type through the base class generic `Describe` method that calls the specific type. Using `Describe` from a derived class will return the specific type through the specific `Describe`, e.g :

```cpp
class SIFT_Image_Describer
{

  using Regions_type = SIFT_Regions;

public:
  std::unique_ptr<Regions_type> Describe
  (
    const image::Image<unsigned char> & image,
    const image::Image<unsigned char> * mask = nullptr
  )
  {
    // ...

    auto regions = Allocate();

    // fill regions

    return regions
  }

  // ...

private:
  virtual std::unique_ptr<Regions> DescribeImpl(
    const image::Image<unsigned char> & image,
    const image::Image<unsigned char> * mask = nullptr
  ) override
  {
    // this works since you can create a unique_ptr<Regions> from a unique_ptr<SIFT_Regions>
    return Describe(image, mask);
  }

  // ...
}
```

`Allocate` was also modified to have smart pointer covariance with a non-virtual interface. Since allocate allocates the memory, it transfers the memory ownership to the user and a smart pointer should be used. Having a non-virtual interface allows covariance properties with smart pointers.

```cpp
class Image_Describer
{
public:
  virtual std::unique_ptr<Regions> Allocate()
  {
    return AllocateImpl();
  }

  // ...

private:
  virtual std::unique_ptr<Regions> AllocateImpl() const = 0;

  // ...
```

Calling `Describe` with a unique pointer to Regions by reference is still possible as before:

```cpp
bool Describe
(
  const image::Image<unsigned char> & image,
  std::unique_ptr<Regions> &regions,
  const image::Image<unsigned char> * mask = nullptr
)
{
  regions = DescribeImpl(image, mask);
  return regions != nullptr;
}

```

With this change, a class derived from `Image_Describer` should return only one type, which reduces the number of switch cases and enforces polymorphism instead. This is why `AKAZE_Image_Describer` was separated in 3 different classes (SURF, LIOP, MLDB).

To create a specific type of `AKAZE_Image_Describer`, I added a static create function to `AKAZE_Image_Describer` that takes the same parameters as the constructor and returns a new specific `AKAZE_Image_Describer` from the chosen `Regions_type`. Maybe having this function in a factory would be a better idea however since only this class has this create function for now which may be confusing to have multiple ways of creating Image_Describers.

```cpp
std::unique_ptr<AKAZE_Image_describer> AKAZE_Image_describer::create
(
  const AKAZE_Image_describer::Params& params,
  bool orientation
)
{
  switch (params.eAkazeDescriptor_) {
  case AKAZE_MSURF:
    return std::unique_ptr<AKAZE_Image_describer>(new AKAZE_Image_describer_SURF(params, orientation));
  case AKAZE_LIOP:
    return std::unique_ptr<AKAZE_Image_describer>(new AKAZE_Image_describer_LIOP(params, orientation));
  case AKAZE_MLDB:
    return std::unique_ptr<AKAZE_Image_describer>(new AKAZE_Image_describer_MLDB(params, orientation));
  default:
    return nullptr;
  }
}
```

The tests still pass, I only had to modify the creation of `AKAZE_Image_Describer` to create specific describers.

Developpers who implement the `Image_Describer` interface may have to modify their code so that it matches the new interface. However, this should remove some dynamic_casts in the derived class so it can be a good thing.


Which installer option(s) did you choose? It worked on my test setup but I'll check it over again if I can get some detail about what failed.


It's recommended to `compose` to check if the view is still alive. Applies for other subscriptions too.


Hi Veeamhub/best-practices-guide,
there will be no HANA guide soon. In the SAP on Oracle guide there is an appendix for HANA backup.

Mit freundlichen Grüßen and with best regards
Andreas

Andreas Neufert
Veeam Software AG
Director of Product Management (Global Alliances)

+49 173 8393888 mobile
andreas.neufert@veeam.com<mailto:andreas.neufert@veeam.com> email
andreas.neufert.veeam.com<skype:andreas.neufert.veeam.com?call> skype
www.veeam.com web

Veeam Software GmbH
Konrad-Zuse-Platz 8
81829 München, Germany
Sitz: München, Amtsgericht München HRB 201298, Ust-IdNr. DE285386511, Geschäftsführer: Gerald Hofmann, Daniel Fried, William Largent

[Fortune%20500%20Email%20Signature%20Banner_2]<https://www.veeam.com/availability>

Von: stnsmk [mailto:notifications@github.com]
Gesendet: Donnerstag, 30. März 2017 16:07
An: VeeamHub/best-practices-guide <best-practices-guide@noreply.github.com>
Cc: Andreas Neufert <Andreas.Neufert@veeam.com>; Mention <mention@noreply.github.com>
Betreff: Re: [VeeamHub/best-practices-guide] full commit for apps section split (cbf42ac)

that's SAP guide not HANA. HANA whitepaper was not published yet as far as I understand

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<https://github.com/VeeamHub/best-practices-guide/commit/cbf42aca4fa5a340f568f7b6ed1c80a731ec925f#commitcomment-21558906>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ARdFgIojuJxj91bqMZi4M9brbF1xgWscks5rq7cSgaJpZM4MshPS>.


Nao concordo


seems typo `errror`


When do you think that will be used?


> treex -p Read::Treex from=@data_list Write::Treex storable=1 path=my_dir

I usually use `to=. substitute={old_path_regex}{new_path}`, which is more versatile than `path=my_dir`.
I kept the `path` parameter mostly for backward compatibility.

> `if (defined $self->to and $self->to ne '-' and $self->to ne '.') {`

Yes, you can change it if it solves your use case and does not re-introduce #64.


Mala should use Separator instead of Space.


This is dangerous listing to include.  We automatically execute all the listings in the user manual to make sure that they still work (via `sbt eval-user-manual`).  Including an import statement affects all further listings.

I think we can just leave out the paragraph about the package import.  The purpose of the user manual is not to be a complete reference, but rather a concise quick-start guide that shows all the different things that gapt can do.


ruby -> 2 espaces.


probably this check should be:
```python
self.request.shop and self.request.user.is_staff and self.request.user.pk in self.request.shop.staff_members.all().values_list("pk", flat=True)
```


Hi, but I want to know. You put
`public function setAwayTemperatures($temp_low, $temp_high, $serial_number = NULL) {
         return $this->setEcoTemperatures($temp_low, $temp_high, $serial_number);`
And I
`public function setEcoTemperatures($temp_low, $temp_high, $serial_number = NULL) {
        return $this->setAwayTemperatures($temp_low, $temp_high, $serial_number);
    }`
After
`$eco_when_away` Does not appear null part?
Otherwise if I want the last file nest.class.php with the latest fix?


Could we put valid user and password in some settings file. This way we will not need to rewrite all tests in case we need to change credentials.


# 标题1


标题二


Glad you find it useful! Thanks for the comment ❤


#标题二


标题1


Par curiosité, à quoi ressemble le SQL de ceci? tel qu'affiché dans la console.


#标题1


:warning: (c'est tout bleu en dessous)


:-1: :-1: :-1:  :-(


@mbax I'm developing this functionality: https://github.com/rhajii/civbum/blob/master/domains/plugins#L165


He he! Mi ero stufato! :-P magari per te faccio un'eccezione, se non usi robe troppo strane da installare


I was choosing Client Export on 'Windows Vista and Later'.


add simply /* and */ one time around


It is error pron to store data between scenarios. please use cucumber world (e.g. `this.account.email = email`) to store data between steps. World is living inside one scenario and is destroyed after it finishes.


it would be good to split this commit into 3 separate commits:

Upgrade rails and rspec
Switch to the new ruby syntax
Switch to the new rspec syntax


you wrote that shit!


I think that makes sense.
In fact now that we seem to be moving to do more things asynchronously I'd be happy to use celery instead of Gearman and have things more closely integrated in Django. We could program periodic tasks using celery also...
Anyway, this is a significantly bigger change. Maybe when we move to docker... ;)


it is better to add spaces and newlines in a separate commit


good


can everyone please get some code put in, or on a branch and request a pull request :) @15amccann @dobrienSTJ @15nmcgoldrick @dangerphysics


It is in the Copy Of the Master.


@larsblumberg it`s ok, I`m going to write my bachelor thesis soon.
@riker09 If you haven`t already found it: https://home-assistant.io/developers/development/


:1st_place_medal:
Thank you


@ikesyo Please push to trunk.


Screenshot
![image](https://cloud.githubusercontent.com/assets/26085472/24509450/b48aa200-1566-11e7-913a-850ee78d177a.png)


bash %/nextcloud... what about $SCRIPTS? :)


![](https://github.trello.services/images/mini-trello-icon.png) [Aquivos com quebra de linha por \r não estão carregando](https://trello.com/c/9ySbbOoz/23-aquivos-com-quebra-de-linha-por-r-nao-estao-carregando)


No need for this repo. Use your POJO repo and build on it *as per instructions* for the lab


TeamCity libpalaso :: palaso-win32-master Continuous [Build 3.1.246.3a7f464c01f5d5b329e029b98ccaa7990deea24c](http://build.palaso.org/viewLog.html?buildId=87152&buildTypeId=bt223) outcome was **SUCCESS**
Summary: Tests passed: 3576, ignored: 128 Build time: 00:04:17


code merged


@akerekes can you LGTM?


Why do you push WIP into master?


I'm using this fork for a highly customised installation. And the plugin added some parameters twice.
Somehow it doesn't put the size parameters in all the fields, so thats why I've adjusted the regex and added another function (previous commit ...).


I Rent project


LGTM


Why remove this?


OK, I see the problem now. I'm pushing a couple things, check the GUI in a bit for an updated version.


needs proper visibility


TeamCity libpalaso :: palaso-precise64-libpalaso-2.6 Continuous [Build 2.6.1253.c45b10d8b9eabdfe73debaf5a642ac657861e9c0](http://build.palaso.org/viewLog.html?buildId=87151&buildTypeId=PalasoPrecise64v26Cont) outcome was **SUCCESS**
Summary: Tests passed: 3393, ignored: 125 Build time: 00:06:09


Thank You!


Thanks.


@Hodge-zf - ok, minus a couple of visibility issues, you are there. please fix those and submit (and tag me) with your UML. I wanted nested POJOs, but I think for `LightBulb` this is more than acceptable.


Should this really be here, isn't that a leftover from testing?


I will give you the +25 as soon as you fix those issues. Make sure to tag me so I know.


Bluemix toolchain: An unknown tool deployed [testRepo-Traceability-jerome-lanneluc](https://github.com/idsdev/testRepo-Traceability-jerome-lanneluc/releases/tag/deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-143923 "deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-143923") to [prod](https://dev-console.stage1.ng.bluemix.net/apps/6e3bc311-c83d-4cd1-a457-99d9a5f20f19 "w3ibm:prod:us-south:user@ibm.com:prod"), including this commit


Bluemix toolchain: An unknown tool deployed [testRepo-Traceability-jerome-lanneluc](https://github.com/idsdev/testRepo-Traceability-jerome-lanneluc/releases/tag/deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-143933 "deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-143933") to [prod](https://dev-console.stage1.ng.bluemix.net/apps/6e3bc311-c83d-4cd1-a457-99d9a5f20f19 "w3ibm:prod:us-south:user@ibm.com:prod"), including this commit


@JKobyP I guess my concern is that it isn't clear to me this is correct. Maybe a comment explaining why it is correct would help.


Bluemix toolchain: An unknown tool deployed [testRepo-Traceability-jerome-lanneluc](https://github.com/idsdev/testRepo-Traceability-jerome-lanneluc/releases/tag/deployed-2-env-Prod-20170330-143939 "deployed-2-env-Prod-20170330-143939") to [Prod](https://dev-console.stage1.ng.bluemix.net/apps/6e3bc311-c83d-4cd1-a457-99d9a5f20f19 "There was a problem retrieving the space name"), including this commit


If the user had two tabs open and closed one, he would no longer be in ONLINE_USERS at this point


Bluemix toolchain: An unknown tool deployed [testRepo-Traceability-jerome-lanneluc](https://github.com/idsdev/testRepo-Traceability-jerome-lanneluc/releases/tag/deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-143954 "deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-143954") to [prod](https://dev-console.stage1.ng.bluemix.net/apps/6e3bc311-c83d-4cd1-a457-99d9a5f20f19 "w3ibm:prod:us-south:user@ibm.com:prod"), including this commit


Bluemix toolchain: An unknown tool deployed [testrepo-traceability-jerome-lanneluc](https://github.com/idsdev/testrepo-traceability-jerome-lanneluc/releases/tag/deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-144017 "deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-144017") to [prod](https://dev-console.stage1.ng.bluemix.net/apps/6e3bc311-c83d-4cd1-a457-99d9a5f20f19 "w3ibm:prod:us-south:user@ibm.com:prod"), including this commit


Is this ready for review and merge?


Bluemix [toolchain](https://console.ng.bluemix.net/devops/toolchains/d761188c-6764-4e55-bb06-d95bf7a96623 "Library-Server-tsuedbro"): [Delivery Pipeline](https://console.ng.bluemix.net/devops/pipelines/14e4e54e-89c8-4703-bf7c-107f1722a1a4 "Library-Server-tsuedbro") deployed this commit to [99_demo](https://console.ng.bluemix.net/apps/12ec98aa-51c0-4061-9278-c526fdfe4cb1 "ibm:yp:us-south:thomas.suedbroecker.2@de.ibm.com:99_demo")


I changed `setAwayTemperatures` and `setEcoTemperatures` to make it clear that users should use `setEcoTemperatures`, and not `setAwayTemperatures`. `setAwayTemperatures` is now deprecated. They do the same thing, but they are not called away temperatures by Nest anymore.
`$eco_when_away` was added to let the user control if he wants to use the Eco temperatures or not, when he sets his thermostat to away.
You should update to the latest version of the class.


@yoyonel Look at pull request #11 instead


if you look at your `web.ex` file, it imports all of `Ecto.Changeset` functions when you `use Leanathon.Web, :model`, so theres no need to namespace function calls.

you can just do `cast |> put_assoc |> validate_required`


@jdbancal Can you have a look at the failing tests? Is the test case or the code the problem?


FYI, I put this into each `upgrade_xxx` function in case something goes wrong in a function executed after this one. For example:
* current db version = 0.4.0
* plugin file version = 1.5.0
* upgrade_060 => OK
* upgrade_100 => NOK (fatal error or whatever)

In this case, db version stays with 0.4.0 and next time we try to upgrade, the upgrade_060 routine runs once again. In our cases, this is not really important as it's safe to run these routines multiple times, though.


TeamCity libpalaso :: palaso-precise64-master Continuous [Build 3.1.203.3a7f464c01f5d5b329e029b98ccaa7990deea24c](http://build.palaso.org/viewLog.html?buildId=87154&buildTypeId=bt322) outcome was **SUCCESS**
Summary: Tests passed: 3554, ignored: 111 Build time: 00:06:53


![](https://github.trello.services/images/mini-trello-icon.png) [IDEAS](https://trello.com/c/LQJLO8cQ/34-ideas)


This will work although it would be better to run the lib rule later like the sysgen.h stuff used to (otherwise we have to build a library just to be able to read a makefile). Also on ZEP-1979 I am edging to the conclusion that using libzephyr.a instead of lib may be better long term (it relies on fewer weird side-effects in the build system).


Try my fix in pull request #11


This allows us to pass an oauth token promise within a track definition:
```js
        tracks: [
          {
            name: "Genes",
            type: "annotation",
            format: "bed",
            sourceType: "file",
            url: "https://s3.amazonaws.com/igv.broadinstitute.org/annotations/hg19/genes/refGene.hg19.bed.gz",
            indexURL: "https://s3.amazonaws.com/igv.broadinstitute.org/annotations/hg19/genes/refGene.hg19.bed.gz.tbi",
            order: Number.MAX_VALUE,
            visibilityWindow: 300000000,
            displayMode: "EXPANDED",

            oauthToken: refreshedTokenPromise
          }
        ]
```


Removes the admin notice as per #10. Just need to add a handler for dismissing the donation notice.


 in the case of boolean checks, i think its cleaner to just use an `if`

```elixir
if changeset.valid? do
 ...
else
  ...
end
```


Bluemix [toolchain](https://console.ng.bluemix.net/devops/toolchains/c037fe6f-616b-4600-a35e-dc271fa94ac7 "zyshdkmhljmbogzxkrpw"): [Delivery Pipeline](https://console.ng.bluemix.net/devops/pipelines/cc2ebf85-c629-454e-94a5-cb2eac4827ba "zyshdkmhljmbogzxkrpw") deployed this commit to [Trade_BC](https://console.ng.bluemix.net/apps/6d418dc4-12f4-4d7b-8a6f-237d20496991 "ibm:yp:us-south:SMBC:Trade_BC")


test 2 ario


I would consider splitting out database interaction into a service later. You're repeating these `get_by` calls often, and if they were to change, it would be annoyin gto have to update them all individually.


It would be fine to make them command line arguments.


建议组件标题使用英文，统一格式+方便查找


Ah, here they happen.


Python style is to leave a space after the commas.


homework


添加一个段落


You could collect all of them into a list and use `" OR ".join()`.


代码段需标明语言类型(xml)
消除多余缩进，保持格式


Bad name


代码段需标明语言类型(gradle)
消除多余缩进，保持格式


# Nice Job!
>Git-r-done


No empty line


Bluemix [toolchain](https://console.ng.bluemix.net/devops/toolchains/15de9dbb-df56-4ed4-838b-29c9b1273068 "Retweet Bluemix"): [Delivery Pipeline](https://console.ng.bluemix.net/devops/pipelines/b782de01-17ec-406d-a6ba-f884667024ac "Retweet Bluemix") deployed this commit to [martina](https://console.ng.bluemix.net/apps/7348abad-d9e6-48c7-9418-06eb325efcfb "ibm:yp:us-south:martina.junkers1@ie.ibm.com:martina")


`> 0` would be more documentative.


**[unitTests_js_branches run failed](http://jenkins.wikia-prod:8080/job/unitTests_js_branches/39776/testReport/) for this commit**


That makes sense I'll reintroduce update_option at each step in addition to the final one :)


Very good 👍 🥇


Remember, in order to use this, you must ask. For now, it is exclusively for PrankChain (https://twitter.com/PrankChain)


It is nice to order function for convenience of the reader, then the reverse call order.  The reader should probably see the arguments and the main function to figure our what is going on here.


Soon I will change it to be public


Extra parentheses


I would trigger "change" here


i forgot , LVT(A) can be build in upgraded vehicleyard now.


The patch looks good.  IMHO I'd just remove py33 globally as there doesn't appear to be any distros that support it (as far as my quick google-fu reveals).


You could write `i += 1`.  You could better use the `enumerate()` function on the loop.


did this change make its way to the documentation?


wtf?


Well impressed that this only seems to break at one point for Windows/Linux.
See https://groups.google.com/forum/#!topic/golden-cheetah-developers/Zri0XDFJt48


It's sufficient to have it once.


lol


建议：

- 此处需要强调的是 **非阻塞、异步**
- 使执行模型受益 -> 以从Vert.x 执行模型中受益


Heipådeg


It is considered bad style to merge functions with top level code.  The parser is still on the top level.  I would move it in here as well.


s/google-cloud/`google-cloud-python`?


s/stirct/strict


Why not just `return parser.parse_args()`?


TeamCity Platform Services :: Environment Manager 2 :: Package [Build 3.39.3-pre-13-g59bfe8b](http://infra.teamcity.ci.ttldev/viewLog.html?buildId=56714&buildTypeId=PlatformServices_EnvironmentManager2_Package) outcome was **SUCCESS**
Summary: Running Build time: 00:00:58


Well I guess the purpose of this graph is to show that the Desktop and Pi are the same trend, but I do see what you mean by the scaling... the issue is you have it labeled as bytes and its super long, why not just make it it in scale of per mb so "100 KB" shows up as "0.1" on the graph as the range from 0.1 to 8.0 in MB is more readable on the chart then 100,000 to 8,000,000


This is now a sentence fragment, suggest dropping "Though" at the beginning?


Bluemix [toolchain](https://console.ng.bluemix.net/devops/toolchains/05c3c0bf-4773-41f5-91b5-39cf8d5bbe73 "simple-toolchain-1490884922592"): [Delivery Pipeline](https://console.ng.bluemix.net/devops/pipelines/86ddd029-3a71-412f-bbf1-103bbabe4dcc "simple-toolchain-1490884922592") deployed this commit to [Test](https://console.ng.bluemix.net/apps/733cb140-0ff6-4e83-af83-2117fed28014 "ibm:yp:us-south:herh:Test")


It is recommended to write Git commit message in imperative style like "Move argument function to a function".


Bluemix [toolchain](https://console.ng.bluemix.net/devops/toolchains/15de9dbb-df56-4ed4-838b-29c9b1273068 "Retweet Bluemix"): [Delivery Pipeline](https://console.ng.bluemix.net/devops/pipelines/b782de01-17ec-406d-a6ba-f884667024ac "Retweet Bluemix") deployed this commit to [martina](https://console.ng.bluemix.net/apps/7348abad-d9e6-48c7-9418-06eb325efcfb "ibm:yp:us-south:martina.junkers1@ie.ibm.com:martina")


TeamCity Chorus :: chorus-precise64-master Continuous [Build 2.6.762.e65e8b866425e23ec8b3fc47718069fa7ac9d614](http://build.palaso.org/viewLog.html?buildId=87175&buildTypeId=bt323) outcome was **SUCCESS**
Summary: Tests passed: 938, ignored: 57 Build time: 00:14:12


I set this to remind people that this script requires som prior config. Keep in mind, if you come from windows and aren't a tech fanatic you don't have a clue about this stuff, and at least you should be "warned"...

Do you have a better idea? There are checks in place, but still...


good idea, I'll make the change and push


It's can give me an **error while using this filter**, because I don't have any diagram. Don't add this strings to git, I think.


建议格式与原文一致: **Future** -> [`Future`](http://vertx.io/docs/apidocs/io/vertx/core/Future.html)


Done in 839aef21beb86774a5d74182d3346e6ac00d7d8d


Please ignore this change (I'm new on GitHub and don't know if a commit can be removed). I forked the project and made all the changes needed to get it to run again there.


Bluemix toolchain: An unknown tool deployed [testRepo-Traceability](https://github.com/idsdev/testRepo-Traceability/releases/tag/deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-145956 "deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-145956") to [prod](http://localhost:3100/apps/6e3bc311-c83d-4cd1-a457-99d9a5f20f19 "w3ibm:prod:us-south:user@ibm.com:prod"), including this commit


Bluemix toolchain: An unknown tool deployed [testRepo-Traceability](https://github.com/idsdev/testRepo-Traceability/releases/tag/deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-150005 "deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-150005") to [prod](http://localhost:3100/apps/6e3bc311-c83d-4cd1-a457-99d9a5f20f19 "w3ibm:prod:us-south:user@ibm.com:prod"), including this commit


Bluemix toolchain: An unknown tool deployed [testRepo-Traceability](https://github.com/idsdev/testRepo-Traceability/releases/tag/deployed-2-env-Prod-20170330-150013 "deployed-2-env-Prod-20170330-150013") to [Prod](http://localhost:3100/apps/6e3bc311-c83d-4cd1-a457-99d9a5f20f19 "There was a problem retrieving the space name"), including this commit


Gotcha!


Bluemix toolchain: An unknown tool deployed [testRepo-Traceability](https://github.com/idsdev/testRepo-Traceability/releases/tag/deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-150030 "deployed-2-env-w3ibm-prod-us-south-user-ibm.com-prod-20170330-150030") to [prod](http://localhost:3100/apps/6e3bc311-c83d-4cd1-a457-99d9a5f20f19 "w3ibm:prod:us-south:user@ibm.com:prod"), including this commit


Thanks Alan (thumbsup)


You're welcome :-)


p unecessary


ok


The thing was that JSON.stringify calls toJSON() with "" as first parameter and thus the method didnt work as planned... strange behavior.


pom.xml -> `pom.xml`, 下同


added routes


But, when thinking about it. Let's keep it this way. There are checks in place, and a IMPORTANT box to read prior to running the script.

Good call!


@lidaamber 1. Переключение между погодой на неделю и на 3 дня будет происходить обычным свайпом справа налево. Скриншот экранов этих не залил, позже дозалью. 2. Да, будет выдаваться системный push.


Why .idea is still be tracked ...


Address the uses of replace().  This seems like redundant as is.


I don't recall using tabs


Nice one. I'm going to look in my free time how `Sprintf` is implemented in Golang, as this makes me really curious. The `Sprintf` you replaced, represents most of my use-cases of Sprintf, so I might have to stop it so liberally.


[R/lifx-cloud.R:1:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L1) *style:* **Commented code should be removed.**
```r
## SEE Docs: https://api.lifx.com/
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:3:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L3) *style:* **Variable or function name should be snake_case.**
```r
BASE <- "https://api.lifx.com"
^~~~
```
[R/lifx-cloud.R:4:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L4) *style:* **Variable or function name should be snake_case.**
```r
VERSION <- "v1"
^~~~~~~
```
[R/lifx-cloud.R:8:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L8) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(is.na(key))stop("No key found")
      ^
```
[R/lifx-cloud.R:21:18:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L21) *style:* **Trailing whitespace is superfluous.**
```r
#' [term]:[value]
                 ^
```
[R/lifx-cloud.R:23:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L23) *style:* **Commented code should be removed.**
```r
#     color <- strsplit(color, " ")
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:24:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L24) *style:* **Lines should not be more than 80 characters.**
```r
#     colorvector <-c("white", "red", "orange", "yellow", "cyan", "green", "blue", "purple", "pink")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:24:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L24) *style:* **Commented code should be removed.**
```r
#     colorvector <-c("white", "red", "orange", "yellow", "cyan", "green", "blue", "purple", "pink")
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:29:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L29) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(hue < 0 | hue > 360){
      ^
```
[R/lifx-cloud.R:35:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L35) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(value < 0 | value > 1){
      ^
```
[R/lifx-cloud.R:41:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L41) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(value < 0 | value > 1){
      ^
```
[R/lifx-cloud.R:48:47:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L48) *style:* **Trailing whitespace is superfluous.**
```r
#' will complain if rate limit is less then 5.
                                              ^
```
[R/lifx-cloud.R:55:70:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L55) *style:* **Trailing whitespace is superfluous.**
```r
    next_epoch <- as.POSIXlt(as.numeric(headers$`x-ratelimit-reset`),
                                                                     ^
```
[R/lifx-cloud.R:57:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L57) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(attemps_this_epoch <5){warning("Rate-limit warning: only ",
      ^
```
[R/lifx-cloud.R:57:27:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L57) *style:* **Put spaces around all infix operators.**
```r
    if(attemps_this_epoch <5){warning("Rate-limit warning: only ",
                          ^~
```
[R/lifx-cloud.R:57:30:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L57) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
    if(attemps_this_epoch <5){warning("Rate-limit warning: only ",
                             ^
```
[R/lifx-cloud.R:57:67:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L57) *style:* **Trailing whitespace is superfluous.**
```r
    if(attemps_this_epoch <5){warning("Rate-limit warning: only ",
                                                                  ^
```
[R/lifx-cloud.R:58:58:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L58) *style:* **Trailing whitespace is superfluous.**
```r
                                      attemps_this_epoch,
                                                         ^
```
[R/lifx-cloud.R:59:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L59) *style:* **Lines should not be more than 80 characters.**
```r
                                      " attempts possible untill the next cycle at ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:60:65:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L60) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
                                      next_epoch, " local time")}
                                                                ^
```
[R/lifx-cloud.R:61:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L61) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(results$status_code == 429){stop("rate limit. try again at ",next_epoch)}
      ^
```
[R/lifx-cloud.R:61:35:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L61) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
    if(results$status_code == 429){stop("rate limit. try again at ",next_epoch)}
                                  ^
```
[R/lifx-cloud.R:61:69:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L61) *style:* **Commas should always have a space after.**
```r
    if(results$status_code == 429){stop("rate limit. try again at ",next_epoch)}
                                                                    ^
```
[R/lifx-cloud.R:61:80:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L61) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
    if(results$status_code == 429){stop("rate limit. try again at ",next_epoch)}
                                                                               ^
```
[R/lifx-cloud.R:63:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L63) *style:* **Commented code should be removed.**
```r
## kelvin:[2500-9000]  # maar geef boodschap als ook saturation gegeven, slaat
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:65:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L65) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(value < 2500 | value > 9000){
      ^
```
[R/lifx-cloud.R:72:16:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L72) *style:* **Trailing whitespace is superfluous.**
```r
# except color.
               ^
```
[R/lifx-cloud.R:77:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L77) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:85:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L85) *warning:* **no visible global function definition for ‘rate_limit_warner’**
```r
  rate_limit_warner(results)
  ^~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:86:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L86) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(results$status_code != 200)
    ^
```
[R/lifx-cloud.R:93:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L93) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:95:74:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L95) *style:* **Trailing whitespace is superfluous.**
```r
#' @param selector a string in format '[type]:[value]', where type can be
                                                                         ^
```
[R/lifx-cloud.R:96:73:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L96) *style:* **Trailing whitespace is superfluous.**
```r
#' 'all', 'id', 'label', 'group', 'group_id', 'location', 'location_id',
                                                                        ^
```
[R/lifx-cloud.R:98:34:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L98) *style:* **Trailing whitespace is superfluous.**
```r
#' which needs no value argument.
                                 ^
```
[R/lifx-cloud.R:99:56:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L99) *style:* **Trailing whitespace is superfluous.**
```r
#' @return a list of all lights, status, and properties
                                                       ^
```
[R/lifx-cloud.R:104:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L104) *warning:* **no visible global function definition for ‘rate_limit_warner’**
```r
  rate_limit_warner(results)
  ^~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:110:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L110) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:116:17:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L116) *warning:* **no visible global function definition for ‘lights’, Did you mean 'weights'?**
```r
  light_list <- lights(selector = selector)
                ^~~~~~
```
[R/lifx-cloud.R:117:21:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L117) *style:* **Trailing whitespace is superfluous.**
```r
  sapply(light_list,
                    ^
```
[R/lifx-cloud.R:119:14:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L119) *style:* **Place a space before left parenthesis, except in a function call.**
```r
           if(light$color[["saturation"]] > 0)
             ^
```
[R/lifx-cloud.R:125:18:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L125) *style:* **Trailing whitespace is superfluous.**
```r
             else
                 ^
```
[R/lifx-cloud.R:126:32:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L126) *style:* **Trailing whitespace is superfluous.**
```r
               paste("kelvin:",
                               ^
```
[R/lifx-cloud.R:127:46:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L127) *style:* **Trailing whitespace is superfluous.**
```r
                     light$color[["kelvin"]],
                                             ^
```
[R/lifx-cloud.R:129:50:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L129) *style:* **Trailing whitespace is superfluous.**
```r
                     light$brightness * 100, "%",
                                                 ^
```
[R/lifx-cloud.R:136:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L136) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:142:67:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L142) *style:* **Trailing whitespace is superfluous.**
```r
  results <- POST(paste0(BASE, "/", VERSION, "/lights/", selector,
                                                                  ^
```
[R/lifx-cloud.R:143:42:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L143) *style:* **Trailing whitespace is superfluous.**
```r
                         "/toggle.json"),
                                         ^
```
[R/lifx-cloud.R:145:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L145) *warning:* **no visible global function definition for ‘rate_limit_warner’**
```r
  rate_limit_warner(results)
  ^~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:146:22:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L146) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  jsonlite::fromJSON(content(results, as = "text"))
                     ^~~~~~~
```
[R/lifx-cloud.R:150:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L150) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:156:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L156) *style:* **Lines should not be more than 80 characters.**
```r
#' @details Not exported because it conflicts with stats::power. see on() and off()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:159:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L159) *style:* **Lines should not be more than 80 characters.**
```r
  results <- PUT(paste0(BASE, "/", VERSION, "/lights/", selector, "/state.json"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:159:82:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L159) *style:* **Trailing whitespace is superfluous.**
```r
  results <- PUT(paste0(BASE, "/", VERSION, "/lights/", selector, "/state.json"),
                                                                                ^
```
[R/lifx-cloud.R:160:34:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L160) *style:* **Trailing whitespace is superfluous.**
```r
      query = list(power = state,
                                 ^
```
[R/lifx-cloud.R:161:40:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L161) *style:* **Trailing whitespace is superfluous.**
```r
                   duration = duration,
                                       ^
```
[R/lifx-cloud.R:163:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L163) *warning:* **no visible global function definition for ‘rate_limit_warner’**
```r
  rate_limit_warner(results)
  ^~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:164:22:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L164) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  jsonlite::fromJSON(content(results, as = "text"))
                     ^~~~~~~
```
[R/lifx-cloud.R:169:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L169) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:176:10:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L176) *warning:* **possible error in power("off", selector = selector, duration = duration): unused arguments (selector = selector, duration = duration)**
```r
  power("off", selector = selector, duration = duration)
         ^~~
```
[R/lifx-cloud.R:181:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L181) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:182:19:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L182) *style:* **Trailing whitespace is superfluous.**
```r
#' power lights on
                  ^
```
[R/lifx-cloud.R:188:10:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L188) *warning:* **possible error in power("on", selector = selector, duration = duration): unused arguments (selector = selector, duration = duration)**
```r
  power("on", selector = selector, duration = duration)
         ^~
```
[R/lifx-cloud.R:193:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L193) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:197:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L197) *style:* **Lines should not be more than 80 characters.**
```r
#' @param power_on should the light be powered on if it is off? (FALSE just leaves light off)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:199:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L199) *style:* **Lines should not be more than 80 characters.**
```r
#' @details Note that the kelvin temperature ranges from 2700 to 8000. Hue in HSB list is
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:199:90:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L199) *style:* **Trailing whitespace is superfluous.**
```r
#' @details Note that the kelvin temperature ranges from 2700 to 8000. Hue in HSB list is
                                                                                ^
```
[R/lifx-cloud.R:200:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L200) *style:* **Lines should not be more than 80 characters.**
```r
#' a number between 0 and 360, whereas saturation and brightness should be between 0 and 1.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:201:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L201) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:203:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L203) *style:* **Lines should not be more than 80 characters.**
```r
#'  color("green", "label:desk")   # deep green, brightness untouched on lights labeled 'desk'
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:206:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L206) *style:* **Lines should not be more than 80 characters.**
```r
#'  color("random")                # random hue, maximum saturation, brightness untouched
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:213:14:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L213) *warning:* **no visible global function definition for ‘colorchecker’**
```r
    color <- colorchecker(color)
             ^~~~~~~~~~~~
```
[R/lifx-cloud.R:214:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L214) *style:* **Lines should not be more than 80 characters.**
```r
  results <- PUT(paste0(BASE, "/", VERSION, "/lights/", selector, "/state.json"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:214:82:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L214) *style:* **Trailing whitespace is superfluous.**
```r
  results <- PUT(paste0(BASE, "/", VERSION, "/lights/", selector, "/state.json"),
                                                                                ^
```
[R/lifx-cloud.R:215:34:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L215) *style:* **Trailing whitespace is superfluous.**
```r
      query = list(color = color,
                                 ^
```
[R/lifx-cloud.R:216:40:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L216) *style:* **Trailing whitespace is superfluous.**
```r
                   duration = duration,
                                       ^
```
[R/lifx-cloud.R:219:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L219) *warning:* **no visible global function definition for ‘rate_limit_warner’**
```r
  rate_limit_warner(results)
  ^~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:220:22:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L220) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  jsonlite::fromJSON(content(results, as = "text"))
                     ^~~~~~~
```
[R/lifx-cloud.R:225:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L225) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:227:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L227) *style:* **Lines should not be more than 80 characters.**
```r
#' @param from_color Same syntax as color, defaults to current color (of first bulb in selection)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:230:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L230) *style:* **Lines should not be more than 80 characters.**
```r
#' @param persist should the color persist after the effect? default is FALSE (returns to original color)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:237:65:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L237) *style:* **Trailing whitespace is superfluous.**
```r
breathe <- function(color, from_color = current_color(selector),
                                                                ^
```
[R/lifx-cloud.R:240:34:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L240) *style:* **Trailing whitespace is superfluous.**
```r
  settings <- list(color = color,
                                 ^
```
[R/lifx-cloud.R:248:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L248) *style:* **Lines should not be more than 80 characters.**
```r
  results <- POST(paste0(BASE, "/", VERSION, "/lights/", selector, "/effects/breathe"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:250:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L250) *warning:* **no visible global function definition for ‘rate_limit_warner’**
```r
  rate_limit_warner(results)
  ^~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:251:22:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L251) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  jsonlite::fromJSON(content(results, as = "text"))
                     ^~~~~~~
```
[R/lifx-cloud.R:255:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L255) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:258:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L258) *style:* **Lines should not be more than 80 characters.**
```r
#' @param duty_cycle Ratio of the period where color is active. Only used for pulse. Defaults to 0.5. Range: 0-1
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:261:68:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L261) *style:* **Trailing whitespace is superfluous.**
```r
pulse <- function(color, from_color = current_color(selector)[[1]],
                                                                   ^
```
[R/lifx-cloud.R:264:34:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L264) *style:* **Trailing whitespace is superfluous.**
```r
  settings <- list(color = color,
                                 ^
```
[R/lifx-cloud.R:272:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L272) *style:* **Lines should not be more than 80 characters.**
```r
  results <- POST(paste0(BASE, "/", VERSION, "/lights/", selector, "/effects/pulse.json"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:274:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L274) *warning:* **no visible global function definition for ‘rate_limit_warner’**
```r
  rate_limit_warner(results)
  ^~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:275:22:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L275) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  jsonlite::fromJSON(content(results, as = "text"))
                     ^~~~~~~
```
[R/lifx-cloud.R:279:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L279) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:286:71:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L286) *style:* **Trailing whitespace is superfluous.**
```r
  PUT(paste0(BASE, "/", VERSION, "/lights/", selector, "/label.json"),
                                                                      ^
```
[R/lifx-cloud.R:287:34:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L287) *style:* **Trailing whitespace is superfluous.**
```r
      query = list(label = label,
                                 ^
```
[R/lifx-cloud.R:292:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L292) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:300:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L300) *style:* **Lines should not be more than 80 characters.**
```r
  results <- PUT(paste0(BASE, "/", VERSION, "/scenes/scene_id:", scene_id, "/activate.json"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:300:94:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L300) *style:* **Trailing whitespace is superfluous.**
```r
  results <- PUT(paste0(BASE, "/", VERSION, "/scenes/scene_id:", scene_id, "/activate.json"),
                                                                                ^
```
[R/lifx-cloud.R:301:34:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L301) *style:* **Trailing whitespace is superfluous.**
```r
      query = list(state = state,
                                 ^
```
[R/lifx-cloud.R:302:40:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L302) *style:* **Trailing whitespace is superfluous.**
```r
                   duration = duration,
                                       ^
```
[R/lifx-cloud.R:304:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L304) *warning:* **no visible global function definition for ‘rate_limit_warner’**
```r
  rate_limit_warner(results)
  ^~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:305:22:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L305) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  jsonlite::fromJSON(content(results, as = "text"))
                     ^~~~~~~
```
[R/lifx-cloud.R:309:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L309) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:315:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L315) *warning:* **no visible global function definition for ‘rate_limit_warner’**
```r
    rate_limit_warner(results)
    ^~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:316:24:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L316) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
    jsonlite::fromJSON(content(results, as = "text"))
                       ^~~~~~~
```
[R/lifx-cloud.R:323:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L323) *style:* **Lines should not be more than 80 characters.**
```r
#' Parse a color string and return hue, saturation, brightness and kelvin values.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:327:44:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L327) *style:* **Trailing whitespace is superfluous.**
```r
#' @return hsbk information for the string.
                                           ^
```
[R/lifx-cloud.R:330:55:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L330) *style:* **Trailing whitespace is superfluous.**
```r
  results <- GET(paste0(BASE, "/", VERSION, "/color"),
                                                      ^
```
[R/lifx-cloud.R:333:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L333) *warning:* **no visible global function definition for ‘rate_limit_warner’**
```r
  rate_limit_warner(results)
  ^~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:334:22:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L334) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  jsonlite::fromJSON(content(results, as = "text"))
                     ^~~~~~~
```
[R/lifx-cloud.R:338:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L338) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:340:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L340) *style:* **Lines should not be more than 80 characters.**
```r
#' @param power either on or off, defaults to on, makes not sense to shut the light off and change the color
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:346:66:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L346) *style:* **Trailing whitespace is superfluous.**
```r
set_state <- function(selector ="all", power = "on", color= NULL,
                                                                 ^
```
[R/lifx-cloud.R:349:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L349) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(!is.null(brightness)){brightness <- check_brightness(brightness)}
      ^
```
[R/lifx-cloud.R:349:29:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L349) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
    if(!is.null(brightness)){brightness <- check_brightness(brightness)}
                            ^
```
[R/lifx-cloud.R:349:44:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L349) *warning:* **no visible global function definition for ‘check_brightness’**
```r
    if(!is.null(brightness)){brightness <- check_brightness(brightness)}
                                           ^~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:349:72:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L349) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
    if(!is.null(brightness)){brightness <- check_brightness(brightness)}
                                                                       ^
```
[R/lifx-cloud.R:350:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L350) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(!is.null(saturation)){brightness <- check_saturation(saturation)}
      ^
```
[R/lifx-cloud.R:350:29:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L350) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
    if(!is.null(saturation)){brightness <- check_saturation(saturation)}
                            ^
```
[R/lifx-cloud.R:350:44:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L350) *warning:* **no visible global function definition for ‘check_saturation’**
```r
    if(!is.null(saturation)){brightness <- check_saturation(saturation)}
                                           ^~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:350:72:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L350) *style:* **Closing curly-braces should always be on their own line, unless it's followed by an else.**
```r
    if(!is.null(saturation)){brightness <- check_saturation(saturation)}
                                                                       ^
```
[R/lifx-cloud.R:351:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L351) *style:* **Lines should not be more than 80 characters.**
```r
    #if(grepl("hue", color)){} # extract hue and check for hue:number and check hue.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:351:6:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L351) *style:* **Commented code should be removed.**
```r
    #if(grepl("hue", color)){} # extract hue and check for hue:number and check hue.
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:352:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L352) *style:* **Lines should not be more than 80 characters.**
```r
    results <- PUT(paste0(BASE, "/", VERSION, "/lights/", selector, "/state.json"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:352:84:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L352) *style:* **Trailing whitespace is superfluous.**
```r
    results <- PUT(paste0(BASE, "/", VERSION, "/lights/", selector, "/state.json"),
                                                                                ^
```
[R/lifx-cloud.R:354:37:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L354) *style:* **Put spaces around all infix operators.**
```r
                               color= color,
                                   ~^
```
[R/lifx-cloud.R:357:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L357) *style:* **Lines should not be more than 80 characters.**
```r
                               saturation = saturation, # doesn't work. because needs to be in color.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:360:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L360) *warning:* **no visible global function definition for ‘rate_limit_warner’**
```r
    rate_limit_warner(results)
    ^~~~~~~~~~~~~~~~~
```
[R/lifx-cloud.R:366:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L366) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/lifx-cloud.R:368:12:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-cloud.R#L368) *warning:* **no visible global function definition for ‘lights’, Did you mean 'weights'?**
```r
    stateoflights <- lights()
           ^~~~~~
```
[R/lifx-server.R:1:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
# ## These functions are designed to work with a local server only, which must be running separately
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:2:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
# ## These methods are depricated at this time, see lifx-cloud.R functions instead.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:2:84:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L2) *style:* **Trailing whitespace is superfluous.**
```r
# ## These methods are depricated at this time, see lifx-cloud.R functions instead.
                                                                                ^
```
[R/lifx-server.R:3:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L3) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[R/lifx-server.R:5:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L5) *style:* **Commented code should be removed.**
```r
#   results <- GET("http://localhost:56780/lights.json")
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:7:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L7) *style:* **Commented code should be removed.**
```r
#     message("LIFX server could not be reached")
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:9:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L9) *style:* **Commented code should be removed.**
```r
#     message("ping! LIFX server is active.")
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:11:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L11) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[R/lifx-server.R:13:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L13) *style:* **Commented code should be removed.**
```r
#   results <- GET(paste0("http://localhost:56780/lights/", selector))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:14:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L14) *style:* **Commented code should be removed.**
```r
#   dat <- RJSONIO::fromJSON(content(results, as="text"))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:16:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L16) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[R/lifx-server.R:17:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L17) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[R/lifx-server.R:19:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L19) *style:* **Commented code should be removed.**
```r
#   results <- PUT(paste0("http://localhost:56780/lights/", selector, "/on"))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:21:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L21) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[R/lifx-server.R:23:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L23) *style:* **Commented code should be removed.**
```r
#   results <- PUT(paste0("http://localhost:56780/lights/", selector, "/off"))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:25:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L25) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[R/lifx-server.R:26:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L26) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[R/lifx-server.R:28:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L28) *style:* **Lines should not be more than 80 characters.**
```r
#   results <- PUT(paste0("http://localhost:56780/lights/", selector, "/toggle"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:28:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L28) *style:* **Commented code should be removed.**
```r
#   results <- PUT(paste0("http://localhost:56780/lights/", selector, "/toggle"))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:30:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L30) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[R/lifx-server.R:31:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L31) *style:* **Lines should not be more than 80 characters.**
```r
# server_color <- function(selector="all", hue, saturation=1, brightness=1, duration=1){
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:32:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L32) *style:* **Lines should not be more than 80 characters.**
```r
#   settings <- RJSONIO::toJSON(list(hue=hue, saturation=saturation, brightness=brightness, duration=duration))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:32:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L32) *style:* **Commented code should be removed.**
```r
#   settings <- RJSONIO::toJSON(list(hue=hue, saturation=saturation, brightness=brightness, duration=duration))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:33:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L33) *style:* **Lines should not be more than 80 characters.**
```r
#   results <- PUT(paste0("http://localhost:56780/lights/", selector, "/color"), body=settings, encode="json")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:33:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L33) *style:* **Commented code should be removed.**
```r
#   results <- PUT(paste0("http://localhost:56780/lights/", selector, "/color"), body=settings, encode="json")
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:35:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L35) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[R/lifx-server.R:36:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L36) *style:* **Commented code should be removed.**
```r
# # Briefly set light(s) to green, then restore previous setting
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:39:4:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L39) *style:* **Trailing whitespace is superfluous.**
```r
# #
   ^
```
[R/lifx-server.R:41:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L41) *style:* **Commented code should be removed.**
```r
#   current <- server_status(selector)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:42:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L42) *style:* **Lines should not be more than 80 characters.**
```r
#   server_color(selector, hue=120, saturation=1, brightness=1, duration=0.1) # duration is speed of change
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:42:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L42) *style:* **Commented code should be removed.**
```r
#   server_color(selector, hue=120, saturation=1, brightness=1, duration=0.1) # duration is speed of change
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:44:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L44) *style:* **Commented code should be removed.**
```r
#     Sys.sleep(duration)
      ^~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:46:29:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L46) *style:* **Trailing whitespace is superfluous.**
```r
#     server_color(selector,
                            ^
```
[R/lifx-server.R:47:47:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L47) *style:* **Trailing whitespace is superfluous.**
```r
#           hue = current[[1]]$color[["hue"]],
                                              ^
```
[R/lifx-server.R:53:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L53) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[R/lifx-server.R:54:3:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L54) *style:* **Commented code should be removed.**
```r
# # Briefly set light(s) to red
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:57:4:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L57) *style:* **Trailing whitespace is superfluous.**
```r
# #
   ^
```
[R/lifx-server.R:59:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L59) *style:* **Commented code should be removed.**
```r
#   current <- server_status(selector)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:60:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L60) *style:* **Lines should not be more than 80 characters.**
```r
#   server_color(selector, hue=1, saturation=1, brightness=1, duration=0.1) # duration is speed of change
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:60:5:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L60) *style:* **Commented code should be removed.**
```r
#   server_color(selector, hue=1, saturation=1, brightness=1, duration=0.1) # duration is speed of change
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:62:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L62) *style:* **Commented code should be removed.**
```r
#     Sys.sleep(duration)
      ^~~~~~~~~~~~~~~~~~~
```
[R/lifx-server.R:64:29:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L64) *style:* **Trailing whitespace is superfluous.**
```r
#     server_color(selector,
                            ^
```
[R/lifx-server.R:65:47:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L65) *style:* **Trailing whitespace is superfluous.**
```r
#           hue = current[[1]]$color[["hue"]],
                                              ^
```
[R/lifx-server.R:71:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L71) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[R/lifx-server.R:72:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/R/lifx-server.R#L72) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^
```
[tests/testthat/test_api.R:7:27:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_api.R#L7) *style:* **Commas should always have a space after.**
```r
    expect_message(ping(),"LIFX is active")
                          ^
```
[tests/testthat/test_inputs.R:10:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L10) *style:* **Lines should not be more than 80 characters.**
```r
    expect_error(check_saturation(1.1), "saturation needs to be between 0 and 1")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_inputs.R:11:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L11) *style:* **Lines should not be more than 80 characters.**
```r
    expect_error(check_saturation(-0.5), "saturation needs to be between 0 and 1")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_inputs.R:24:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L24) *style:* **Commented code should be removed.**
```r
#     skip_on_travis()
      ^~~~~~~~~~~~~~~~
```
[tests/testthat/test_inputs.R:25:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L25) *style:* **Commented code should be removed.**
```r
#     skip_on_cran()
      ^~~~~~~~~~~~~~
```
[tests/testthat/test_inputs.R:27:11:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L27) *style:* **Commented code should be removed.**
```r
#         setwd("..")
          ^~~~~~~~~~~
```
[tests/testthat/test_inputs.R:28:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L28) *style:* **Lines should not be more than 80 characters.**
```r
#     }else if(any(grepl("^testthat.R$", dir("..")))){ # you're in tests/testthat
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_inputs.R:29:11:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L29) *style:* **Commented code should be removed.**
```r
#         setwd("../..")
          ^~~~~~~~~~~~~~
```
[tests/testthat/test_inputs.R:31:13:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L31) *style:* **Trailing whitespace is superfluous.**
```r
#     }else{
            ^
```
[tests/testthat/test_inputs.R:32:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L32) *style:* **Lines should not be more than 80 characters.**
```r
#         stop("we don't know in what directory your test is running, something weird is going on")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_inputs.R:32:11:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L32) *style:* **Commented code should be removed.**
```r
#         stop("we don't know in what directory your test is running, something weird is going on")
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_inputs.R:34:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L34) *style:* **Commented code should be removed.**
```r
#     load("cfm_output.rda")
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_inputs.R:34:29:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L34) *style:* **Trailing whitespace is superfluous.**
```r
#     load("cfm_output.rda")
                            ^~~~
```
[tests/testthat/test_inputs.R:35:7:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L35) *style:* **Commented code should be removed.**
```r
#     expect_warning(rate_limit_warner(results),regexp = "Rate-limit warning")
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/test_inputs.R:36:2:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L36) *style:* **Trailing whitespace is superfluous.**
```r
#
 ^~~~~
```
[tests/testthat/test_inputs.R:38:1:](https://github.com/RMHogervorst/lifxr/blob/f7e7d9ef32408d349ce3614390c37895cb2b545b/tests/testthat/test_inputs.R#L38) *style:* **Trailing blank lines are superfluous.**
```r

^
```


Ah, now i see...i removed a bit to much...i only wanted to remove the function. So i can re-add the section, if you want.


new PIXI.Sprite


jkhkjhjk


keep existing columns


Sorry? ;) Means you've go it or you got me? ;)


Sir, you can add oc 1920mh cpu.


I'm early lol


以表示操作的成功或失败以 -> 以表示操作和结果的成功或失败

保持原文翻译：例如在下面的例子中，对应的结果就是REST调用的输出


Make sure usage of VNP complies with its license! :D


lol


Should be straightforward, but I've never worked with either format. Can you post up samples somewhere and I'll make sure that GDAL is compiled with support for them?


What is the need of this?


Why you removed push artrifact? You can use `appveyor PushArtifact` instead https://www.appveyor.com/docs/packaging-artifacts/#pushing-artifacts-from-scripts


definitely. will pull this convo into separate tickets for next steps. 👍


Thanks for correcting lines 25-26

For line 20, 27: We accept signaling full probabilities, but I agree that Collins-Gisin should not involve the last outcome (that's how they are defined). I guess on the longer term we may accept signaling full probabilities with marginals, but that's another story. So OK!

For line 56, however, I think we should allow it : if no multiplication sign is understood as a multiplication, then a multiplication sign should still be understood as a multiplication sign as well. I see no ambiguity here. On the contrary, I would find a parser which understands both 3P and 3*P separately, but cannot make sense of 3P-3*P quite puzzling... Don't you think so?


Tested and it works!
Going to look into this more, but my plan is to use the video feed use OpenCV for some self driving navigation or facial recognition.
<img width="1440" alt="screen shot 2017-03-29 at 9 28 57 pm" src="https://cloud.githubusercontent.com/assets/1786263/24511198/93454aac-1528-11e7-8376-4559966bef09.png">


@balintvecsey woohoo, nice :)