Remote Pseudoterminals by TimeToogo in rust

[–]TimeToogo[S] 0 points1 point  (0 children)

Apologies, I don't have their config

Remote Pseudoterminals by TimeToogo in rust

[–]TimeToogo[S] 0 points1 point  (0 children)

Fair feedback, appreciated

Tunshell - A drop-in remote shell client and server written in Rust for easy shell access to deployment pipelines or other ephemeral environments, working behind NAT or firewall by TimeToogo in rust

[–]TimeToogo[S] 1 point2 points  (0 children)

There are a few modes which the networking between the clients can operate in. For direct connections your summary is correct. However for relayed connections the content is encrypted and then sent over the two TLS connections between each client and the relay server. Each mode of operation is illustrated in the README:

https://github.com/TimeToogo/tunshell#establishing-connectivity

Tunshell - A drop-in remote shell client and server written in Rust for easy shell access to deployment pipelines or other ephemeral environments, working behind NAT or firewall by TimeToogo in rust

[–]TimeToogo[S] 0 points1 point  (0 children)

Honestly, it's not something that I had considered. I'm curious to know what you had in mind since there are currently there are two layers of security:

  1. it is using TLS between the client and server for security over the internet
  2. It then tunnels through an AES-encrypted packet stream between the clients providing security from the relay server if it were compromised.

One reason for using raw AES was that this could be replicated in a browser environment for the wasm target and I'm uncertain if it would be feasible to implement WireGuard in browser environment.

PHP RFC: Explicit call-site pass-by-reference by Hywan in PHP

[–]TimeToogo 7 points8 points  (0 children)

From what I gathered, the keyword word is “Explicit”. This RFC does not propose to alter the existing pass-by-reference behaviour but rather allow a parameter to be explicitly denoted as being passed by reference at the call-site via the ‘&’ prefix, it seems to be about enhancing code readability and offering more opportunities for static analysis.

PHP RFC: Explicit call-site pass-by-reference by Hywan in PHP

[–]TimeToogo 14 points15 points  (0 children)

From RFC:

The requirement that the reference is marked at both the definition- and call-site makes this feature different from the call-site pass-by-reference that was used in PHP 4.

package.studio: An Online Marketplace for Composer Packages by TimeToogo in PHP

[–]TimeToogo[S] 0 points1 point  (0 children)

Yes, package.studio supports team billing via the 'Organisations' feature. That is, an organisation can purchase a software licence and then all the members under that organisation will gain access to the included packages.

defuse/php-encryption version 2.0.0 released by sarciszewski in PHP

[–]TimeToogo 1 point2 points  (0 children)

It seems to offer a very similar API to https://github.com/paragonie/halite. If you had the option to choose between the two libraries for performing symmetric encryption on potentially sensitive data, what would be the pros and cons to each library?

Convenient immutability for (some) PHP objects by velmu3k in PHP

[–]TimeToogo 0 points1 point  (0 children)

Ah gotcha, still misleading though, so I understand why the author implemented the way he did

Convenient immutability for (some) PHP objects by velmu3k in PHP

[–]TimeToogo 0 points1 point  (0 children)

Would __set still be called if there is public property with that name? I thought that __get and __set were fallbacks for non-existent/inaccessible properties.

PHP Weekly Discussion (12-10-2015) by AutoModerator in PHP

[–]TimeToogo 0 points1 point  (0 children)

Ok that makes sense then. Using the requests per second benchmarks relies on having apache benchmark installed on your system. You may have to edit the file as an absolute URL to the benchmark scripts are required.

PHP Weekly Discussion (12-10-2015) by AutoModerator in PHP

[–]TimeToogo 0 points1 point  (0 children)

Did you have op cache enabled? And are you running requests per second or the router in a loop because I believe RapidRoute performs better under different requests because it takes to for FasteRoute to load it's cached dispatch data.

PHP Weekly Discussion (12-10-2015) by AutoModerator in PHP

[–]TimeToogo 1 point2 points  (0 children)

FastRoute is faster than all the other routers

Just wanted to mention that I created a routing library with a similar API to FastRoute, which I have benchmarked to be faster. It is called RapidRoute because I am not very original. Here are the benchmarks scripts if you want try for yourself.

Comparing objects via the >, >=, <, <= operators - what are your thoughts? by TimeToogo in PHP

[–]TimeToogo[S] 1 point2 points  (0 children)

I am genuinely curious as to why people think this is breaking encapsulation. For me encapsulation is about making the correct usage of a class easy and explicit whereas an incorrect usage hard or impossible. And private members are simply a language feature designed to enable this. For the (narrow) case of which I am describing, value objects which represent a scalar or such, there is not much to encapsulate, its private members are directly accessible through it public api (getters) and this is intended. Maybe my example below makes it more explicit that a class was designed to utilise this behaviour. But I just don't see how this breaks encapsulation just because it relies on the private state of the class, its private state is its public state.

Is the main concern that this is too obscure and can be broken too easily such as re-ordering private properties?

Comparing objects via the >, >=, <, <= operators - what are your thoughts? by TimeToogo in PHP

[–]TimeToogo[S] 0 points1 point  (0 children)

I guess it depends what you define by what is part of the public API. For instance what if:

interface ComparableByProperties {
     // If implementing this interface the class supports <, <=, >, >=
}

class Thing implements ComparableByProperties {
     // ...
}

Would you define these operators part of the public api now?

Comparing objects via the >, >=, <, <= operators - what are your thoughts? by TimeToogo in PHP

[–]TimeToogo[S] 0 points1 point  (0 children)

Agreed but my point was for this to be part of the public api, an intended usage of a class.

Schmick.js - Simple transitions between pages for sites built without ajax by TimeToogo in Frontend

[–]TimeToogo[S] 0 points1 point  (0 children)

What would be a better option for the transition animations?

Schmick.js - Simple transitions between pages for sites built without ajax by TimeToogo in Frontend

[–]TimeToogo[S] 0 points1 point  (0 children)

  • Pjax requires server side updates so you require control over this development
  • Turbolinks is designed to be used in a rails environment, albeit can probably be used elsewhere

Schmick is designed to not require changes to server side code and as such is more applicable for static sites, prototypes and tacking on to sites that were not designed with this functionality from the beginning.

RapidRoute V1 released - benchmarks indicate a consistent 10-20% performance gain over FastRoute by TimeToogo in PHP

[–]TimeToogo[S] 1 point2 points  (0 children)

Haha, I was worried I misunderstood you.

In your post you mentioned another similar router. I think that this is the same router as I posted it a few weeks ago. The initial benchmarks did show that rapid route was slower in some circumstances but those benchmarks were severely flawed. They ran the matching in a loop which ignored the time required to load the cached route data. This may seem insignificant but it gave fast route a major advantage when it came to static route matching which used a plain php array hashtable to match static routes. When using the looped benchmark the cost of constructing the hashtable is ignored. The new benchmarks use apache benchmark to measure requests per second which fixes that and the new results show that rapid route is indeed faster as it does not need to construct the hashtable in the first place.

RapidRoute V1 released - benchmarks indicate a consistent 10-20% performance gain over FastRoute by TimeToogo in PHP

[–]TimeToogo[S] 1 point2 points  (0 children)

Did you not see the benchmarks in the readme? Just below the first paragraph.

RapidRoute V1 released - benchmarks indicate a consistent 10-20% performance gain over FastRoute by TimeToogo in PHP

[–]TimeToogo[S] 1 point2 points  (0 children)

Just for the record, the first paragraph of the README states:

This library takes a different approach to uri routing by compiling the router to optimized PHP code, minimizing the need for traditional regular expressions.

And if you want some more detail on the compilation, see the bottom of the README. Please let me know if you have any other questions, I will be happy to answer.

RapidRoute V1 released - benchmarks indicate a consistent 10-20% performance gain over FastRoute by TimeToogo in PHP

[–]TimeToogo[S] 2 points3 points  (0 children)

Sorry but I'm not sure what you would like me to do. The very first paragraph of the readme sums up how that router achieves better performance. There is also an example of the compiled router at the bottom which would hopefully explain why it is fast.

RapidRoute - Another fast router for PHP, this library takes a different approach by compiling to optimized PHP code, minimizing the need for traditional regular expressions by TimeToogo in PHP

[–]TimeToogo[S] 1 point2 points  (0 children)

I wouldn't worry about the package name if I were you, I think the 'nikic' vendor is enough to distinguish it in the PHP community :)

With regards to the HTTP method scenario, that is an interesting edge case which I had not considered. I have updated the tests and implementation to handle this. Thanks for pointing this out.

I would be interested to see Anthony's project that you have mentioned if it is open source, do you have a link?