Catch me if you can: uncaught TypeError undefined, Twitter bootstrap and LODGrefine

While thinking about a presentation I’m preparing for SemTech2012 conference I noticed that LODGrefine is… a bit dry in appearance.

Fact #1: LODGrefine needs a face-lift.
Fact #2: Twitter bootstrap is super simple eyecandy magic available to the (web) masses.
Fact #3: sometimes errors are not what/where they seem to be.

LODGrefine (LOD-enabled version of Google Refine) client side already uses jQuery, so adding boostrap script was trivial. If you’re not familiar with the Google Refine framework – client-side scripts are located in main/webapp/modules/core/ folder. First I copied bootstrap.js to /externals folder inside /core, which contains other external scripts (hence the name), including  jquery-1.4.2.js. Then I added reference to boostrap.js in main/webapp/modules/core/MOD-INF/controller.js:

ClientSideResourceManager.addPaths(
"index/scripts",
module,
[
"externals/jquery-1.4.2.min.js",
"externals/jquery.cookie.js",
"externals/jquery.eventstack-0.3.js",
"externals/jquery-ui/jquery-ui-1.8.custom.min.js",
"externals/bootstrap/js/bootstrap.js",
...
]
);

At last I changed css classes of buttons to bootstrap button classes and voila! LODGrefine buttons got a new look. Kinda. JavaScript console in Chrome was not so happy about the face-lift, I got this error: “Uncaught TypeError: Object [object Object] has no method ‘on’ in bootstrap.js”. I must admit I didn’t think much about this error (shame on me); I just changed the order of imports in controller.js and forgot about LODGrefine for few days.

Today I noticed boostrap.js is still causing trouble, this time the error was: “Uncaught TypeError undefined is not a function”. Of course I googled it I nailed down the possible causes for this error. The closest one was the order of importing scripts, so I put bootstrap.js after jquery script (again) and … got the first error. I googled it and… you know the drill.

Long story short:  I had to update from jQuery 1.4.2 to the latest version of jQuery. Now everything works just fine. :)

LODGrefine before:

LODGrefine after:

Enhanced by Zemanta

As fake as it gets: Git fake submodules, what else?

I’m learning about new things everyday… and today I learned a nice trick on how to deal with github repository inside another repository… my way.

Image representing GitHub as depicted in Crunc...

Image via CrunchBase

You see, I have had this problem: my LODGrefine github repository contains code of Google Refine (GR), code of my GR extension –  which is another github repository – and some other stuff. Some people might have GR already installed and therefore separate repository for the extension makes sense. I didn’t like the idea of a “proper” submodule for the extension, because: 1) it shows up as links on github , 2) when cloning the main repo, extension’s folder was empty – additional command is needed to pull the submodule from the github. It’s complicated.

Today I found this great solution of using fake submodule. It works swell! Code of the extension is visible in the main repo and I have all the code in one place… It’s a little more work updating it – calling git commit and git push twice – in main repo folder and in extension folder, but what a small price to pay for such a great solution! :D

Enhanced by Zemanta

Charming Python and the mysterious case of libmysqlclient.18.dylib

I’m quite new to Python, virtualenv and other related animals on Mac, but so far I was able to create new virtual environments without much fuss… until yesterday. Two weeks ago I had to prepare an environment with MySQLdb. I installed it:

pip install MySQLdb-python

and thought “This is it”. It was definitely not. When I tried to import MySQLdb into Python, I got this error:

Error loading MySQLdb module:
dlopen(/Users/mateja/.python-eggs/
MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so, 2):
Library not loaded: libmysqlclient.18.dylib
Referenced from: /Users/mateja/.python-eggs/
MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so
Reason: image not found

What the heck? After half an hour of googling I found a solution…
I edited my .bash_profile and added this line in it (note: I do have mysql installed in /usr/local/mysql/):

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib

This worked like a charm… in a console, but not in PyCharm IDE. Fortunately, this answer also provided a very helpful hint…
I had to add DYLD_LIBRARY_PATH variable to launching module configuration (Run->Edit configurations). Guess what? This time it worked like a charm in PyCharm as well :)
Note: PyCharm requires configuration per script… I have to check if there is a “global” configuration…

Anyway, go me! Viva la Stackoverflow!

Enhanced by Zemanta

It’s not your business, it’s Pope’s Business?

While we worry (or not) about our after life, some care about their “business”. Everything is business these days, why not religion? What happened to the moral standards, to the  “share good things and do no harm”, to “sacred vs secular”?

There is a difference between being religious and being church-blinded. Some consider themselves as very religious people, because they visit church daily, but they harm their own families or even abuse them (physically or psychologically). You don’t need Vatikan to believe in God and/or to be a good person!, but Vatikan needs you to do its business. My dear sheep when will you realize most of your shepherds (and their bosses) are mostly wolves in human skin?

It’s all about the cha-ching, cha-ching
It’s all about the ba-bling, ba-bling…

JPMorgan Doesn’t Want Pope’s Business

Comments () The Vatican is in public-relations panic-mode … again. But it’s not the pedophile priest scandal or Vatileaks that has the pope’s image-makers hopping. This time the Holy See faces serious allegations that its curious accounting practices are really a cover for a money-laundering scheme.

We need this to understand how you use our service - you can take it out if you like. Cheers, your Blogspire team.

via: www.thedailybeast.com

 

Enhanced by Zemanta

Exploring the land of links: meet LIMES in the next LOD2 webinar

It’s been a while since I last posted about LOD2. This doesn’t mean nothing is going on… on the contrary! We are working hard to make a life LOD users a bit easier. I could go on and on about this, but I won’t… not yet. This time I’d like to announce the 5th free LOD2 webinar about the tools in LOD2 Stack. Missed previous ones? You can find info about them on the LOD webpage.

Interested? Continue reading (the official text).

——

LOD2 Webinar: LIMES

The 1st version of the LOD2 Stack has been published in September 2011 in the form of a LOD2 Stack demo and the downloadable LOD2 Stack virtual machine image – additional details and the instructions on installing the LOD2 Stack from scratch are available in the HOWTO Start document.
Born from the wish to make linking tractable, the (LIMES) is tailored towards the time-efficient and lossless discovery of links across knowledge bases. LIMES is an extensible declarative framework that encapsulates manifold algorithms dedicated to the processing of structured data of any sort. Built with extensibility and easy integration in mind, LIMES allows implementing applications that integrate, consume and/or generate Linked Data. Within LOD2, it will be used for discovering links between knowledge bases.

LIMES dashboard (image from their official page)

This webinar will be presented by the LOD2 Partner: University of Leipzig (ULEI), Germany.
The LOD2 webinar series is powered by the LOD2 project organised and produced by the Semantic Web Company(Austria). If you are interested in Linked (Open) Data principles and mechanisms, LOD tools & services and concrete use cases that can be realised using LOD then join us in the LOD2 webinar series! The LOD2 team is looking forward to meeting you at the webinar!!

When : 27.03. 2012, 04.00pm – 05.00pm CET
Information & Registration: https://www2.gotomeeting.com/register/369667514
The LOD2 team is looking forward to meeting you at the webinar!!
——

About the LOD2 Stack

The LOD2 stack is an integrated distribution of aligned tools which support the life-cycle of Linked Data from extraction, authoring/creation over enrichment, interlinking, fusing to visualization and maintenance. The stack comprises new and substantially extended existing tools from the LOD2 partners and third parties. The LOD2 stack is organized as a Debian package repository making the tool stack easy to install on any Debian-based system (e.g. Ubuntu). The first release of the LOD2 stack contains the following components (available as Debian packages):

  • LOD2 demonstrator, the root package (LOD2)
  • Virtuoso, RDF storage and data management platform (Openlink)
  • OntoWiki, semantic data wiki authoring tool (ULEI)
  • Silk, interlinking engine (FUB)
  • D2R, RDF wrapper for SQL databases (FUB)
  • ORE, ontology repair and enrichment toolkit (ULEI)

As online services were integrated into the LOD2 Stack: PoolParty (taxonomy manager by SWCG) and Spotlight (annotating texts w.r.t. DBpedia by FUB). The LOD2 Stack also makes use of dataset metadata repositories such as thedatahub.org and http://publicdata.eu. A selection of the datasets has been packaged and are available in the LOD2 stack repository.
The LOD2 stack is an open platform for Linked Data components. We are happy to welcome new components. Detailed instructions how to integrate your component into the LOD2 Stack as Debian package are available in the HOW-TO-CONTRIBUTE. For assistance or any questions related to the LOD2-stack contact support-stack@lod2.eu. From now on we will regularly release improved and extended versions of the LOD2 Stack. Major releases are expected for Fall 2012 and 2013.

More information about the LOD2 Stack
Demo: http://demo.lod2.eu/lod2demo
Virtual Machine Image: http://stack.lod2.eu/VirtualMachines/
How To Document: How to Start.

What’s next – the LOD2 webinar series

The LOD2 webinar series offers several (one per month) free webinars about Linked Open Data tools and services around the LOD2 project, the LOD2 Stack and the Linked Open Data Life Cycle, also in the form of 3rd party tools.
The next 2 dates of the LOD2 webinar series are already fixed as follows:

About LOD2 – Creating Knowledge out of Interlinked Data
LOD2 is a large-scale integrating project co-funded by the European Commission within the FP7 Information and Communication Technologies Work Programme (Grant Agreement No. 257943). Commencing in September 2010, this 4-year project comprises leading Linked Open Data technology researchers, companies, and service providers (15 partners) from across 11 European countries (and 1 associated partner from KOREA) and is coordinated by the AKSW research group at the University of Leipzig, Germany.
LOD2 will integrate and syndicate linked data with large-scale, existing applications and showcase the benefits in the three application scenarios of media and publishing, corporate data intranets and eGovernment. The resulting tools, methods and data sets have the potential to change the Web as we know it today.
More information about LOD2
Web: http://lod2.eu
Blog: http://blog.lod2.eu
Slideshare: http://www.slideshare.net/lod2project
Twitter: @lod2project , #lod2
flickR: http://www.flickr.com/photos/lod2/

 

 

Enhanced by Zemanta

Public Transport Hell: Inconsiderate People

I’m a daily commuter. I spend almost 4 hours every day on a train and believe you me… there are times when I would use a cell phone jammer myself if I had one…

Situation #1: Woman was talking to her (girl)friend on a cell through speaker! about how she cheated on her husband for almost an hour. Like we wanted to know every dirty detail…

Situation #2: A girl considered a hole train set as her private office. She made like ten phone calls. She was using a headset (earplugs) with the phone and obviously she lost a feeling how loud she’s talking. She was screaming.

Situation #3: Listening to really loud music via phone so we all have to listen to it, like it or not.

Situation #4: Eating really smelly food (like McShittyStuff or any other fast food) in a small train unit 20 minutes before departure. We had to bare with this smell till the end of the ride. The worst thing is… it doesn’t smell bad to the people eating this shit.

Situation #5: There is a bar on the train and sometimes three or four guys talk really loud and laugh like it is their last day on earth while drinking beers. And this is early 6am train, when some people would like to take a nap…

Get my point?

It doesn’t matter if you ask them politely, because… they don’t care. It doesn’t even matter if you grumble… they don’t care. I can understand why the guy decided to jam cell phone signal, someone must have stepped on his nerve. Being Batman is not the right thing to do, but hey, do we have another option?

Maybe one day I’ll throw up on someone eating bad smelling stuff. I wonder if they’ll ever eat again on a train.

Philadelphia Bus Troll Jams Cell Phone Signals When People Talk Too Loudly [Wireless]

I can understand the need for enforced cell phone silence in a variety of venues – libraries, funerals, theaters. But on a public bus in the middle of Philadelphia? Call me old fashioned, but that’s kind of a dick move.

We need this to understand how you use our service - you can take it out if you like. Cheers, your Blogspire team.

via: gizmodo.com

 

Enhanced by Zemanta

Be afraid… be very afraid? Google’s New Privacy Policy

It’s out. Basically, if you haven’t been afraid before, I don’t know why you should be now. It’s too late. All your data belongs to us, Google users. They said they don’t collect any new or additional info about us and that they won’t sell us out. We’ll see, won’t we.

And by the way… we know what you surfed, G+d and youtubed last summer :) You better take control of that.

Google’s New Privacy Policy Goes Into Effect Today

The recent major changes in Google’s privacy policy go into effect today, March 1. In January 2012, Google announced a new master privacy policy that replaces more than 70 different documents and governs all of Google’s products.

We need this to understand how you use our service - you can take it out if you like. Cheers, your Blogspire team.

via: mashable.com

Enhanced by Zemanta

Sorry, this X is not available in your country.

I can more than relate to the Jelmer’s blog post about annoying situations where this or that content is not available for people outside US. The other day I wanted to buy a book (fiction), the ‘teaser’ on the Amazon site got me interested. After clicking on “Buy with one click” on my Kindle I got this: “This title is not available for customers from your location in: Slovenia”. Why the hell not? I’m quite sure Amazon is not the one to blame for this…

Why don’t publishers finally embrace the e-change and work with it not against it? Why? I don’t frikin get it. Is it about the money? Yes? Then this is one of the reasons WHY they SHOULD change. Opening up might mean lower prices in short-term, but it brings more readers, more customers in the long term. If it’s about the politics… we’re screwed.

Authors, if you want to reach audience outside US use worldwide-Amazon-friendly publishers or use Amazon self-publishing … or any other non-discriminatory publishing service. Howgh.

Sorry, this blog post is not available in your country.

January 29, 2012 in Internet , Personal with 7 Comments It would be unimaginable. Unthinkable. Only making my blog available to people using the internet from within The Netherlands. Imagine you would only be able to visit websites hosted in your own country. This would drastically change the way and scale we use the internet.

via: jelmerdejong.com

 

 

Enhanced by Zemanta

Pushing it step by step… this time ACTA

If you want to introduce a really huge change into the system, you do it slowly, gradually, step by step, so that people don’t see it coming. It’s not the musicians who will benefit from this all, but all the record houses and all the others who refuse to change themselves, their policies, their way of doing business. It’s much easier to enforce more rules and laws. It would be much better if they would instead try to introduce changes into their mental models.

We used to say “Only in America”… but we don’t anymore. It’s happening everywhere.

Amid ACTA Outcy, Politicians Don Anonymous Guy Fawkes Masks

Members of Poland’s Parliament hold up Guy Fawkes masks, symbolizing protests by Anonymous, to protest ACTA. A new photo is doing the rounds on the Internet. It shows members of the Polish parliament holding print-outs of the notorious Guy Fawkes mask in front of their faces, homage to an unofficial symbol of the Anonymous cyber collective.

via: www.forbes.com

 

Enhanced by Zemanta

Assange & Russia’s State-Run TV: I wonder… who’s playing whom?

I’m afraid we are once again at the verge of something huge, something terrible… people all around the world are pissed off or depressed and racism is pouring out of every crack in the illusion of “wars from past taught us a lesson”, whether we want to see it or not. Assange pairing up with Russia’s State-Run TV? It seems to me that each party in this ‘strange’ arrangement has a hidden agenda. We’ll see.

New Partner For Wikileaks’ Assange: Russia’s State-Run TV

It’s the television channel that has given voice to a thousand anti-western conspiracy theories, while avoiding criticism of the hand that feeds it. Now state-run Russia Today, the Kremlin’s English-language propaganda arm, has forged an unlikely partnership – with the self-proclaimed defender of truth and freedom Julian Assange.

via: paidcontent.org

 

Enhanced by Zemanta