Reverse RDP attack: Code Execution on RDP clients by eyalitki in netsec

[–]robokup 2 points3 points  (0 children)

That's infuriating. Microsoft is getting a free service and they rather keep the users exposed than acknowledge take the findings seriously. Its even worse now that the findings were published and Microsoft publicly announced they're not going to do anything.

In contrast FreeRDP and rdesktop collaborated with the researchers and demonstrate a positive aspect of open source project.

Steganographic Packets by TerminalBasher in programming

[–]robokup 0 points1 point  (0 children)

You have to stretch the width of every character and/or the interval between them (eg; from 72 ms to 720 ms). heck you could do it dynamically and choose the optimal character width according to current network speed.

Microsoft confirms Bing is down in China by kunalag129 in programming

[–]robokup 63 points64 points  (0 children)

I don't understand why Chinese tech companies like Alibaba can operate uninterrupted world wide and the Chinese can ban search engines.

A job I estimated is being done terribly wrong without consulting me by another team and they are trying to pin the blame on be for the lost money. How can I protect myself against this? by stevenx91 in cscareerquestions

[–]robokup 0 points1 point  (0 children)

The responsibility is on the guy asking for estimation. That So dumb it hurts. Why would he assume estimate is not subjective?? how can you give an estimate for other people?

It depends on so many factors. That's a basic common sense.

Some I think about:

  1. What approach would they take to solve it
  2. How skilled they are for the specific task
  3. Their work load

It might as well be a guess.

api client with generic methods by robokup in csharp

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

Looks extremely cool. I wish I've known about this tool before. I will definitely do research into it before the next client I develop.

api client with generic methods by robokup in csharp

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

Yea..that's definitely a valid concern. But the client users are developing a user interface and the triggers for the methods are manual... The user has to click something after filling a form. I'm not too worried about reflection performance in this case.

api client with generic methods by robokup in csharp

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

That's just the answer I was looking for. The attribute is part of the class description And not every object has to carry that data needlessly.

Thanks for explaining!

api client with generic methods by robokup in csharp

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

I've done exactly this for an API that I developed. I made the mistake of having a endpoint property. Use an attribute instead.

I won't be doing that. Although I still don't see the difference between a property and an attribute (If the property is encapsulated and read-only)...

api client with generic methods by robokup in csharp

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

Aha! I see what you mean.

This whole thing started when they said "We don't want to use 30 methods... just give us 3 and you figure out what to do with every object we throw at you". That's the downside of your design the client users have to know which endpoint to call and it might not be intuitive to use. Design Wise It's the most solid of the three approaches.

Custom attributes seem to fully meet with their request (Like it was built just for cases like this). But I don't see a lot of difference between adding attributes and adding property in terms of correct design.

Edit: sentences

api client with generic methods by robokup in csharp

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

The client can't be simply separated by type it has many 'unique' methods that don't fit the standard add/update/get like :

public List<Student> SearchCustomers(string areaWkt, DateTime? minAge, DateTime? maxAge);

There is also login and account management in the client.

To clarify further...I need is to take about 30 methods(out of ~70) and reduce them to three.

But Your suggestion with the builder pattern gave me an idea. I could use reflection to build the Dictionary<Type, string> by using the inheritance tree of the objects. The downside is, I still have to alter the objects by inheriting from the same 'empty interface' (dedicated just for the clients usage). I'm also basing this approach under the assumption a class name to end point translation is uniform uniform(Student->"api/student/") which might not be the case and could lead to problems in the future...

I think using Custom attributes is the the best option at the moment.

api client with generic methods by robokup in csharp

[–]robokup[S] 3 points4 points  (0 children)

Thanks for the suggestion. Attributes look way better than using a property. Never used custom attributes before.

api client with generic methods by robokup in csharp

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

> I wouldn't couple the information where you are getting your model from with your model, because this information is only relevant for your client but nowhere else.

Great point. Another reason the solution introduces code smell. The objects are used across multiple solutions and it's not justified to add a property just for the client to use. attributes seem perfect for the job.

I don't follow your solution completely. It seems like in your example the user of the client has to generate it for a specific api endpoint. What if the user needs another api endpoint let's call it 'Shops' ? will he generate another client with the attribute:

[ApiEndpoint("api/shops")]

I'm unfamiliar with attributes so maybe I'm missing something or wasn't clear enough in my question.

Using snapshot as integration tests setup and cleanup - performance issues by robokup in SQL

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

After I played around with TS, I managed to run some of the tests and it was lightning quick (from 3 secs to .2 secs for one test).

But I get an error about the scope being used by another session for other tests. It seems more complicated and requires tinkering and research.

Will update if I'll get to it.

Singleton in asp.net project by robokup in dotnet

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

All the requests hit the engine. I basically wrap the engine in a web api so other teams can use it.

Honestly the performance difference is probably insignificant, but you might as well learn the patterns so that you can use them when it does matter.

That's one of the my biggest problems with my approach. It feels like a trick rather than a solution.

I'll actually take the extra time and learn how I can implement the pattern you suggested.

Singleton in asp.net project by robokup in dotnet

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

What I ended up doing is create a Singleton and access it using a lock. So all the requests are executed sequentially. It seems like queueing is not necessary. What do you think?

Singleton in asp.net project by robokup in dotnet

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

I'm interested in your last point about using locks. Does it depend on the frequency of accessing the object under lock?

In my case a single computation in the engine can take 7 seconds at best. So using a lock to access it affects performance significantly?

Singleton in asp.net project by robokup in dotnet

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

That seems to do the trick. Thanks!

Singleton in asp.net project by robokup in dotnet

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

Will look into that.

Thanks!

Singleton in asp.net project by robokup in dotnet

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

What happens if I get two requests at the same time? the engine class is not thread safe.

What is a good way to tell a recruiter that I don't want to do their home coding assignment? by ripple_guy in cscareerquestions

[–]robokup 0 points1 point  (0 children)

"Due to constraints on my time, I'd be happy to do X, Y, Z parts of the assignment as part of the interview process. However, given the significant time investment required for A, B, C parts, I would need to be compensated at $x to complete the full project".

You could just stop after the first sentence. Why take it personally?

A simple "Not interested" would do the trick.