Seva's notes

Wisdom, Awareness, Responsibility :)

Archive for the ‘Uncategorized’ Category

Constructive News

leave a comment »

It’s important to mention that I consider myself an info-mole. I’m addicted to thinking, discovering new data, researches, speculations and connotations. I continuously consume information from social media, news outlets and periodicals (much less from books, as they are often outdated). This lasts since I remember myself, and will hopefully last until I stop doing.

At some point I realised that information is an independent value, not necessarily related to data, knowledge, opinion, etc. I started viewing information as fundamentally indivisible from its production and consumption. Information for me became a captured or projected process of transferring data or knowledge from agent to current or prospective observer[2]. Information is generated at source to be absorbed at target. So each quantum of information for me has a purpose.

That may sound a bit too abstract, but I apply this approach both as motivational explanation of social communication, and as a way of interpretation of environmental phenomena in general. And the purposes are just two: distributing physical energy and maintaining entanglements (while the second can be also reduced to the first one deferred).

So, in the context of personal information consumption I empirically stabilised the analytic approach to each piece of information that becomes available for me:

  1. Who is sharing the information?
    • The chaining source agents of each piece can be multiple;
  2. Why is it shared by the agents?
    • Explicit, implicit or unintended purposes;
  3. How does it affect the observers?
    • Myself or other actual or potential consumers.

Let’s take a random article from Google News for analysis… WTF Google News? What is this pathetic junk? Your information is completely useless. News are generated by a graph incompetent bloggers. They post their essays for traffic conversion and social coverage. As cheapest emotions to touch are fear and disgust, the major result of these articles is bad mood of the reader. They don’t offer an objective view on the topic or present a balanced spectrum of opinions. They amplify problems and don’t suggest solutions.

I don’t appreciate this kind of information. I’m used to and wish to continue to consume information for curiosity. Or information that helps me make decisions. Or information that confidently exposes risks. News outlets fail with it miserably (luckily there are other resources online, that are better, but sometimes I tend to think the set is shrinking).

So I’m stating my wish, hope, request and demand to you, o Internet of People: Do good. You can compile the same information in a way that can suggest a constructive action. And by that I mean, that if hypothetically all followed your advice, the world would at a step become a nicer place for all.

  • I demand writers to learn that spreading evil and useless information hits them back and focus on kind and constructive.
  • I request readers to learn that accepting information without evaluating the author, the purpose and the effect makes them vulnerable to evil and useless information that weakens them.
  • I hope both sides will realise they are of comparable scope – for reader the author is a neighbour and not an abstract trumpet, and for author the reader is a neighbour and not an abstract “crowd”.
  • I wish attention and advertence of all to spring and blossom.

So I could quietly continue to do my info-digging without wasting time and effort on filtering tons of annoying depressing bullshit.

Thank you in advance.

Written by Seva

2017-02-06 (February 6) at 01:37:05

Android adware removal story

leave a comment »

Yesterday started getting random spam ads on my OnePlus 2​:

  • overlay ads of certain popular junk games,
  • fake desktop icons linking to Google Play Store of same games,
  • fake missed calls linking to there.

It was virtually impossible to figure out the responsible processes without additional tools, mainly due to the hiding tactics of the adware.

To start I tried few most popular adware removers from the store, but they either didn’t detect anything, or crashed during the scan (maybe the adware killed them while they were running).

The first success was brought by Addons Detector (with all advanced detectors enabled). After another fake icon appearance it traced it to com.google.googlesearch (“Search”) which comes with AirPush component.

airpushdetector

Then I googled and found the package at AVG Threat Labs Android App Reports and used AVG to find one more malware process com.android.main.view (“Processor”) which was reported to have AirPlus in it.

The processes were installed as system apps. So the easiest way out was to use Titanium Backup Root Pro I already had installed (my phone is rooted).

After that I tried to dig further to understand how these processes appeared on my phone in the first place. I didn’t install any new apps recently, neither run any updates on root enabled apps. So the adware probably was here, but didn’t expose itself for few months.

I’m very conservative to give root access to software without trust research, but don’t rule out the chance that the junk could be injected with one of the few Aptoide originated apps I experimented with few months ago.

However, since AVG also identified 2 preinstalled bloatware apps to come with other dirty ad frameworks, my current hypothesis is that AirPush crap was on the phone from the very beginning, patiently waiting for its time to activate.

Written by Seva

2015-12-09 (December 9) at 05:33:07

Crescent

leave a comment »

Was waiting for darkness in childhood.
Expecting excitement and sense.
Leading a crew to the murk woods –
A tribe of Indian friends.

Watching the deepness of draw-well.
Wingless angelical croon.
Searching for wizards to marvel,
If any can take to the Moon.

Crescent, brother Moon,
Crescent Moon.
Crescent, brother Moon,
Brother Moon.

Was hiding in magical aspens,
From grandpa with punishing scourge.
Raising the clock hands all upwards,
So Night can take me and purge.

My lovely faith, Autumn.
The Sun is dreamlike and spoof.
Eight angels are flying from bottom,
Like birdies up to the roof.

Crescent, brother Moon,
Crescent Moon.
Crescent, brother Moon,
Brother Moon.

Written by Seva

2014-09-05 (September 5) at 01:38:26

Posted in Uncategorized

Copying nodes between XML documents with Java DOM

with 7 comments

Today I had an atomic task of creating a more convenient way to copy nodes from one XML document to another with Java’s DOM implementation. Googling did not help me much in it, so I will share the solution here in case someone would be challenged too.

So, imagine you have multiple XML documents like this:

<document>
    <section>
        <node attribute="value" />
    </section>
</document>

…, another one like this:

<storage><sections /></storage>

… and you wish to read the multilple documents and to put the <section> nodes into the <sections> node of the second one respecting all the structure.

To do that you should:

1. Create the XML document builder:

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();

2. Get the <sections> node of the target file:

File target;
Document targetDom = builder.parse(new InputSource(new FileReader(target));
Node targetSections = targetDom.getElementsByTagName("sections").item(0);
// TODO this is not the best way to use that.
// I advice XPath instead.

3. Iterate over the source files and get the <section> nodes:

File[] sources;
for (File source : sources) {
    Node sourceSection = builder.parse(new InputSource(new FileReader(source))
        .getElementsByTagName("section").item(0);
    // continued inside
}

4. Copy the node into the target document:

targetSections.appendChild(targetDom.adoptNode(sourceSection.cloneNode(true)));
// 'true' means we want to clone children too

5. Write the target back to the file:

TransformerFactory.newInstance().newTransformer().transform(
    new DOMSource(targetDom),
    new StreamResult(new FileWriter(target))
);

That’s it. Note, this code lacks error handling and probably won’t work directly after copy-paste, but just shows you the usage of the classes.

Written by Seva

2008-06-26 (June 26) at 03:22:17

FW: Up or Out: Solving the IT Turnover Crisis

leave a comment »

A good one.

Written by Seva

2008-04-30 (April 30) at 03:42:07

Posted in Uncategorized

Web 2.0 Porn Sites run Zend Framework

with 2 comments

I never mentioned here, but in my pre-previous developer’s life I was working in a small adult internet company. Right now one of my collegues called me on IM to ask a question about an error he suddenly got fro one of the sites he affiliates to. This is the error:

Fatal error: Uncaught exception ‘Zend_Db_Adapter_Exception’ with message ‘SQLSTATE[00000] [1040] Too many connections’ in /www/zt/root/library/Zend/Db/Adapter/Pdo/Abstract.php:129

Stack trace:

#0 /www/zt/root/library/Zend/Db/Adapter/Abstract.php(216): Zend_Db_Adapter_Pdo_Abstract->_connect()

#1 /www/zt/root/library/Zend/Db/Adapter/Pdo/Abstract.php(204): Zend_Db_Adapter_Abstract->query(‘????SELECT?????…’, Array)

#2 /www/zt/root/mvc/models/User.php(490): Zend_Db_Adapter_Pdo_Abstract->query(‘????SELECT?????…’)

#3 /www/zt/root/mvc/models/User.php(91): User->attachVideosByIp()

#4 /www/zt/root/bootstrap.php(35): User->__construct()

#5 /www/zt/root/index.php(7): require(‘/www/zt/root/bo…’)

#6 {main}

thrown in /www/zt/root/library/Zend/Db/Adapter/Pdo/Abstract.php on line 129

Warning: Unknown: write failed: No space left on device (28) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0

BTW, the site (it was Zoo Tube) is not really bad (according to Google cache) and even seems to be a clone of another Web 2.0 porn site – Red Tube, which makes me think ZF is really becomes a trend in real world and and real money projects. Isn’t it amazing?

Written by Seva

2008-04-26 (April 26) at 02:29:10