CrowdTangle API syntax? - api

Super new to this sort of thing so please bear with me, I'm sure this is a facepalm-worthy question to anyone who knows anything about using APIs. I'm trying to use the CrowdTangle API (just got access) but their documentation isn't really helpful (at least to me). Even though it lists a bunch of parameters you can use, it doesn't give syntax examples so I'm not sure how to implement the parameters. For example, I tried to test a simple search for "dog" by doing https://api.crowdtangle.com/posts/search=dog?token=[my-token] and I got this error message:
{"status":400,"message":"Required String parameter 'searchTerm' is not present"}.
Does anyone know what the general syntax would be for this and how you use the parameters? I'm obviously looking to do more complicated searches than "dog", but I think if someone can just breakdown what the general syntax is I can probably manage from there.

Try:
https://api.crowdtangle.com/posts?token=your-api-token
just to get the ball rolling. Looks good? Then try:
https://api.crowdtangle.com/posts/search?token=MYTOKEN&searchTerm=waffles
And you should be good to go. You'll get a 401 if your token is valid but not good for that usage type.

Related

Having trouble with SQL injection

I am a noob when it comes to understanding some of the attacks in SQL injection. I am currently seeing this attack in my log and was wondering if anyone can help me understand what it means
SQL Injection:
410'union/**/select/**/1/**/from/**/(select/**/count(*),concat(floor(rand(0)*2),0x3a,(select/**/concat(user,0x3a,password)/**/from/**/pwn_base_admin/**/limit/**/0,1),0x3a)a/**/from/**/information_schema.tables/**/group/**/by/**/a)b/**/where'1'='1.
Dont understand this completely, but the select concat(user,0x3a,password) from pwn_base_admin clearly tries to get a concatenated string of user names and passwords, divided by a ":"
The concat(floor(rand(0)*2),0x3a,( roughly does the same... the result would be something like 1:aUserName:UsersPassword.
If you need further help please give some more details (RDBMS, the part before the "union"...)
Hope this helps
Someone is actively trying to gain unauthorized access to your system - they're hacking in.
I don't know how critical this system is, but if it is of any importance, you should probably take the system offline until you sort out the database access part of the code. The first place to look for solutions is using bind parameters instead of string concatenation for your sql queries.
There are many resources available that describe how to use bind variables for whatever RDBMS you're using, but here is one article I found to get you started:
http://use-the-index-luke.com/sql/where-clause/bind-parameters

Using 'should' in function names

This is a question with no definite answer so apologies if I posted this wrongly however at my place of work alot of the code I see written by our developers have function names with the keyword 'should', must I add they base this on 'should' and 'should not'. From a point of semantics, whats your view on this? I've mentioned before that I don't believe this should be used because it has too many possibilities (where does it end) however they insist its a good practice.
Example use;
$this->it_should_render_template_partially($params);
$this->it_should_show_module_parameters($params);
$this->it_should_not_return_module_parameters($params);
I am curious on others thoughts. Just to add, this is production code and not unit tests.
While I like long, descriptive, names, I don't like redundancy. When I read the documentation of a function, I expect it to do what it is supposed to do. Yes, functions are written by humans that make a lot of mistakes, so they can have bugs, which means they do not behave as intended. But this is implied when one uses a function. We hope that out functions do what they should (and we try to make sure that is the case using tests). But specifying the should part in the name of a function is just redundant, which is, in my opinion, a bad practice, as it results in longer names, harder to read/write.

Is there a good way to determine if a variable is referencing a user defined function?

The isValid function doesn't support this capability as far as I can tell, and there is no built-in "isUDF" or "isFunction" function. So far, the best I've been able to come up with is
findNoCase("func", myUDF.getClass.getSimpleName()) neq 0
When used on a UDF, the Java method getClass().getSimpleName() always seems to return a value with the substring func in it. I know very little about Java, though, so I have no idea how reliable this is.
Is there a better way to identify a reference to a function?
isCustomFunction() or isClosure(). CFML should not require two functions here, but due to - I suspect - poor understanding of the concept of closure on the part of the Adobe ColdFusion team, they kinda messed this up. Commentary on this: "Am I right to think this is stupid?"

Modelica - how to implement a constructor for a record

What is the best way to implement a constructor for a record? It seems like a function should be able to return a record object in the instantiation of the record in some later model higher up the tree, but I can't get that to work. For now I just use a bunch of parameters at the top of the record that populate the variables stored in the record, but it seems like that will only work in simple cases.
Can anyone shed a little light? Perhaps I shouldn't be using a record but a model. Also does anyone know how the PDE functionality is coming? The book only says that it is coming, but I have seen some other things around.
I don't seem to have the clout to add tags (which makes sense, since my "reputation" is lower than yours) so sorry about that. I thought I had actually added one at one point, but perhaps I am mistaken.
I think you need to be clear what you mean by constructor since it has a very specific meaning in Modelica. If I understand your question correctly, it sounds like what you want to do is create an instance of a record that has some fields that are specified in the constructor arguments and from those arguments a bunch of other fields in the record are computed. Is that correct?
If so, there is a mechanism to do this. You mention "the book" but it isn't clear which one you mean. If it is mine, it definitely has no mention of these so called "record constructors" because it is too old. I do not know if Peter Fritzson's book mentions them either. However, they do exist and are documented in Section 12.6 of the Modelica 3.2 specification.
As for PDEs, there has been work into this kind of thing but nothing has really been done within the design group on this topic. I would add that if you want to solve either elliptical or parabolic PDEs on regular grids, this isn't too hard even with the current language. The only real drawback is that most tools probably don't handle sparsity very efficiently. Irregular grids would also be possible, but then you get into complicated basis functions. Finally, hyperbolic PDEs are, in my opinion, quite tricky (in any environment) due to the implicit physical constraints between time and space which are difficult to express (i.e. the CFL condition).
I hope that answers your questions so far.
I can only comment on your question regarding the book of Peter Fritzson. He confirmed that he's working on an update and he hopes to get it ready 'in the course of 2011'.
Original post here:
http://openmodelica.org/index.php/forum/topic?id=50
And thanks for initiating the modelica tag, I might be useful in the near future for me too... :-)
regards,
Roel

Parsing criteria in NHibernate

Is it possible to parse criteria from string?
You're not giving anyone much to go on, so I'll just have to take a guess at what you're trying to ask...
If you're looking for a simple criteria.Parse("string here"); then no, I don't such a thing exists.
However, the criteria interface lends itself very well to dynamic creation (in fact, that's its intended purpose). As such, yes, you could write a string parser to create ICriteria elements from tokens.
Perhaps if you provide more information on the problem you are trying to solve someone can respond with a better answer.