Random things #9

Written on 22 March 2015, 10:48am

Tagged with: , , , , , ,

1. Aspect oriented programming (AOP)

In the wikipedia example about AOP, transactions, security and logging represent cross-cutting concerns. If we need to change one of these (ex. security) – then it will be a major effort, since the concerns are tangled and the related methods appear scattered around all the code.

AOP attempts to solve this problem by allowing to express cross-cutting concerns in stand-alone modules called aspects. Aspects can contain
advice – code joined to specified points in the program and
inter-type declarations – structural members added to other classes.

Drawbacks: If a programmer makes a logical mistake in expressing crosscutting, it can lead to widespread program failure.
Conversely, another programmer may change the join points in a program in ways that the aspect writer did not anticipate, with unforeseen consequences.

2. HTTPS and MTU Path discovery

I recently encountered this interesting problem with HTTPS and MTU. It is explained entirely by Mark Maunder – ‘Routers treat HTTPS and HTTP traffic differently‘. I will just summarize it:
– HTTPS servers set the ‘Do not fragment’ IP flag
– if a server sends a big HTTPS packet and a router does not allow that packet size, then the router will not break that packet (see previous point).
– so the router will simply drop the packet and send back an ICMP (Internet Control Message Protocol) message telling the host to reduce the MTU size and resend the packet
– but if the network administrator decided to block all the ICMP traffic, then the host will never see the problem
– the solution in my case was to decrease the MTU size (1400)

The same issue described also here.

3. Information security standards

Things are looking a bit messy in this area – with a lot of entities proposing standards in this field. Among all, it looks like the 27000 family of standards proposed by ISO/IEC (International Organization for Standardization, International Electrotechnical Commission) has the wider adoption. 27001 published recently (2013) has the long name Information technology – Security techniques – Information security management systems – Requirements and formally specifies a management system that is intended to bring information security under explicit management control.

4. Curl anniversary

Curl just celebrated its 17th anniversary. Nowadays if it’s not curlable, it’s not on the web:

js;dr = JavaScript required; Didn’t Read.
Pages that are empty without JS: dead to history (archive-org), unreliable for search results (despite any search engine claims of JS support, check it yourself), and thus ignorable. No need to waste time reading or responding

5. Big data

Interesting infographic about BIG Data:

big data

Big data skills are highly valued:

Hadoop is a super important technology at the center of the whole “big data” craze.
Hadoop is open source software used to gather and store vast amounts of data and analyze it on low-cost commodity hardware. For instance, banks may use Hadoop for fraud detection, and online shopping services could use it to analyze customers’ buying patterns.

Comments (1)

  1. Vivek — August 11, 2015 at 08:08

    This is really unltfiipg *sigh* I dont like that I have this problem and I try to keep things in perspective because I know the world doesn’t revovle around myself but at times I just get the feeling that everyone is looking at me and judging me for my every mistake, it makes it hard to even interact with people without being even in the least anxious. This is unltfiipg though and I will def turn my problems to the Lord because at this point he is the only one that can help me. Thanks for the post and your helping people like us by just talking about your situations and giving us all courage.


Leave a response