H4ck3rm1k3's Blog

exploration of free/libre open source software and things

Sparql Queries against the gcc tree graphs — March 27, 2016

Sparql Queries against the gcc tree graphs

Here is one of the first nice looking outputs of my work on the gcc introspector in a long time. I am using the semantic web stack to processs gcc compiler graphs. My new take on this is to parse the tree dump outputs of the compiler as it’s own language using a python lex/yacc. Then I convert the tree graphs into RDF graphs and load them into a sparql database server and visualize them using d3/sparql.

The d3forcegraph graph looks like this :


Source of graph https://gist.github.com/h4ck3rm1k3/f8ca2cb3b9643e83200b

This query collects the edges of OP0,..OP3 args and it shows how there is a great graph of interconnections in the code.

SELECT ?on ?bn WHERE {
bind(replace(str(?o),’http://introspector.xyz/projects/bash/build/eval.c.001t.tu#’,”) as ?on)
bind(replace(str(?b),’http://introspector.xyz/projects/bash/build/eval.c.001t.tu#’,”) as ?bn){
?o <http://introspector.xyz/gcc/field_types.owl#OP0&gt; ?b.
}union {
?o <http://introspector.xyz/gcc/field_types.owl#OP1&gt; ?b.
}union {
?o <http://introspector.xyz/gcc/field_types.owl#OP2&gt; ?b.
}union {
?o <http://introspector.xyz/gcc/field_types.owl#OP3&gt; ?b.

I have a patched version of the d3 sparql system :

It is talking to the blazegraph server:

That has this graph loaded (rdf) :

That was produced by my python code parsing the tu files:

Reading the compiler graph data from bash, collected here

bambam mods for kids — March 20, 2016

bambam mods for kids

Bambam is a great game for kids  but it only contains a few pictures


my son likes a particular tv show, and I found a way to download images from those characters into bambam.

here are the steps,

  1. get the images with the wikiteam tool https://github.com/WikiTeam/wikiteam

    ./dumpgenerator.py –images http://paw-patrol.wikia.com/wiki/PAW_Patrol_Wiki

  2. convert them into gif

    for file in *; do convert $file “$file.gif”; done

  3. resize them (or buy lots of ram), because bambam loads them all

    mogrify -resize 256×256 *.gif

  4. move them to the data directory of bambam
  5. run!
Yahoo, why cannot I post a question — March 14, 2016

Yahoo, why cannot I post a question

Dear yahoo,

you used to be great. I used to use you all the time, now you are a source of spam. I am working on removing thousands of spam posts on a wiki originating from your system.

I cannot even write a question to you on your own system because it says :

Screenshot-Yahoo Products | Yahoo Answers1

Here is the text I wrote :

How can I quickly determine if a given yahoo account is valid and not a spammer?

I am working on removing spam from a wiki, we have thousands of yahoo accounts that might be spam. I am trying to send them test mails but getting blocked by the mail system. Is there any api to quickly check if a given account is active and in good standing?

It really makes me frustrated that companies try so hard to block people from writing to them.



Maybe we don’t need mozilla — December 6, 2015

Maybe we don’t need mozilla

Reading : http://www.wired.com/2015/12/mozilla-is-flailing-when-the-web-needs-it-the-most gives me mixed feelings.

Here are some points, from what I have come to learn about the Mozilla organization, I don’t know if it is an organization that I should even worry about supporting.

I used to be a Mozilla rep but left after they implemented DRM in the browser and I saw that they were not promoting free software and indirectly supporting and promoting proprietary software. Mozilla is very active in the “open source” world, they sponsored conferences that I organized in Kosovo and helped out many of the people there, for that I am grateful. But in the end the people who then worked with mozilla as reps and got integrated with them learned to use all types of non free software and to make dangerous compromises. Instead of actually promoting open source software, mozilla promotes itself and the people who are hired by them are openly promoting windows or mac usage not linux.  If you want to see a good organization that is consistent, look at fedora, they do not allow non free file formats and programs as part of the development cycle.

Mozilla is internally using proprietary software and formats for artwork, using proprietary software for conferencing, it spends money on buying proprietary software and seems to be focused on that. I cannot get the numbers quickly but they are spending a bunch of that money on software licenses. Looking at the budget there are some examples. https://static.mozilla.com/moco/en-US/pdf/2014_Mozilla_Foundation_Fed_990_Public_Disclosure.pdf

$10k to meetup? Why do we need to fund them? Are there not open source alternatives to that? What about $1 million dollar salaries to the board, are those justified? It seems to me this money would be much better spent donating to the FSF and other organizations like them.

Why should we be worried about finding funding for buying windows and mac software and supporting cozy jobs for people supporting proprietary software? If you say we need to support these platforms, I ask why? Why do we need to fund that and spend money on it. If we have a good open platform people will port it to other platforms and run them, why should we focus on windows and mac?

What about the amount of proprietary software in the add-ons and apps etc.

Have you ever submitted a patch or reported a bug to mozilla on some of its internal software or repos? I found that they were unresponsive.

It seems to me that we should just let mozilla go, they are not promoting software freedom, digital rights etc and putting their money where their mouth is.

Another thing in terms of openness, why do you even need firefox to use the open web apps? https://developer.mozilla.org/en-US/Apps

Who is making these decisions? It seems to me that Mozilla is just another silicon vally company and acts like one. If they want to be open, why are they not open? It seems to be a very closed open web app platform.

I also use iceweasel and chromium on linux myself, I dont use firefox.

No Agenda Donatation #4, table of NA terms — November 11, 2015

No Agenda Donatation #4, table of NA terms

Dear No agenda show,

This is my humble donation of $206.84 to support your great news show. I am working on my Knighthood.

This donation amount is a transformation of key NA terms into bitcoins and then into dollars, see the table at the end, and the source code linked.

Please can I have the jingles played :

  1. Shut up slave
  2. Obama: Middle Class is our new goal
  3. Juice
  4. Jobs Karma

I would like to send out jobs karma to everyone and I am very happy to have a new job in NJ, my home state, we have left Kansas so please disregard my address on the paypal, it is forwarded to the PO box.

Here are a table of no agenda terms converted to bitcoins via the ascii value with a 0. in the front, and then the bitcoin to dollar conversion and total dollars running sum that creates this total.

term ascii-> bitcoin bitcoin->Dollar total USD
shut up slave 0.115104117116321171123211510897118101 37.5734369502807 37.5734369502807
in the morning 0.1051103211610410132109111114110105110103 34.3111621365986 71.8845990868793
hit people in the mouth 0.10410511632112101111112108101321051103211610410132109111117116104 33.9830331207035 105.867632207583
glitch 0.10310810511699104 33.6575787533394 139.525210960922
deconflicting 0.1001019911111010210810599116105110103 32.6762929583967 172.201503919319
juice 0.10611710599101 34.6398069086454 206.841310827964

Code here :


New donation for the noagenda show — November 8, 2015
Is your government’s flaky website not some form of hidden Tax? — November 2, 2015
“in the morning” Donation amount of $33.10 — October 31, 2015

“in the morning” Donation amount of $33.10

“in the morning”  in ascii ordinal is :

105 110 32 116 104 101 32 109 111 114 110 105 110 103

If you convert this as a bitcoin number into usd :


You get the current value of $33.10!

Update Nov 4 2015:, the dollar has dropped against bitcoin(or bitcoin has gone up and todays donation amount is $43.12.

Using namecheap api and github api to create hosting — October 27, 2015

Using namecheap api and github api to create hosting

In my endless quest for the ultimate hosting I have done the following :

Created a script to automate the setup of my namecheap domains for hosting on github (and on my machine on teredo/ipv6)


Create repos on github :


Setup my projects and push them, different scripts to create the projects and update them, needs to be rewritten:






but it works :


Idea for Using of federated social media for building a free software conference. — October 18, 2015

Idea for Using of federated social media for building a free software conference.

"ACBP MSM from Folding@home"
“ACBP MSM from Folding@home”

Idea for Using of federated social media for building a free software conference.

The following transactions could be carried out on a federated social network and pulled into a conference website. The transactions could be expressed in blog posts or tweets or other media with links. We can define microformats or tags or schemas that are parse-able by the programs to consume the resources. Each visitor should be able to pull all the resources in using web urls and create a complete view of the conference. People support or express interest with retweets or favorites. If needed we use keybase signed messages to avoid fraud. Bitcoin payments could be used for resource commitments. All of these transactions could be private or public and shared with who you like on the network.

  1. Visitor declares interest in hearing a talk on topic X
  2. Visitor can also invite speaker to speak on topic X
  3. Speaker declares interest in speaking on topic Y, adds links to supporting web resources that express expertise
  4. Speaker proposed talk on topic, link to abstract
  5. Place declares availability for on time and space for hosting
  6. People propose possible location
  7. People propose possible time or express reservations about a time.
  8. People express availability for on time and space for listening
  9. Speaker declares availability on time and space for speaking
  10. Speakers or Place declare needed resources before they can be used (cost)
  11. Visitor pledges to cover resources needed.
  12. People propose possible sponsor.
  13. Sponsor pledges to cover resources needed.
  14. An organizer proposes a possible schedule/solution that satisfies the requirements. At any time anyone is able to view the possible items. There can be many possible solutions.
  15. Schedule is finalized by votes. Each schedule item is assigned a unique ID. Schedule items can be canceled or updated as well. Pledges are pulled in.
  16. People look for others who are traveling to carpool or share resources
  17. People look for places to stay near the event. Possible locations are posted and made available. Sharing is possible.
  18. Meetups and micro events are posted and people go there around the event.
  19. Speaker post slides of the talks.
  20. Speaker post code related to the talk.
  21. People post questions and raise issues about the talk.
  22. People record and post videos of the talks.
  23. People post comments about talks or blog posts about them.

Posted here :