buy clomid online

Nov 26

Run Solr using docker on fedora

Category: linux,OpenSource

Docker is a tool that can help you to build, ship and run distributed applications. The step by step will help you to discover docker.

Installation :

  1. yum install docker-io

Run service :

  1. service docker start

Check service running :

  1. service docker status

Search solr :

  1. docker search solr

Find the one that you want in the result. THe description can help you to choose the best for your need.

Pull selected container :

  1. docker pull manisnesan/solr-4.8.0

Run your container :

  1. docker run -d -p 8983:8983 manisnesan/solr-4.8.0

-d to run the container in the background
-p to map between container port and host port, hostPort:containerPort

Test your container :
check this url http://127.0.0.1:8983/solr/

Know running container :

  1. docker ps

Get more information about a specific container :

  1. docker top 95066d27cd33

95066d27cd33 is our docker id found using the command “docker ps”

Get log for a specific container :

  1. docker logs 95066d27cd33

95066d27cd33 is our docker id found using the command “docker ps”

No comments

Jun 3

Get regions stats from hbase shell

Category: geek

This jruby script can be used to get regions stats from our servers :

To launch this script you need to use the hbase command with script location :

  1. hbase org.jruby.Main RegionsStats.rb

The result will contain two parts :

  • count/size regions for each server
  • sorted regions by size
No comments

Feb 20

Linux command 20/02/2014

Category: geek,linux

Count number of specific character per line (our example number of tabulation)

cat file | tr -d -c '\t\n'| awk '{ print length; }'> stat

Extract strings that match a regular expression (our case string that begin with XXX and contain 9 characters)

cat input | egrep -oh 'XXX......' > output
No comments

Jan 20

[Solr] get list cores from your RequestHandler

Category: geek,java

In Solr, RequestHandler are called from a specific core.
But, there is many cases where we want to have more information from other cores.

The easist way is to get this information directly from the the request parameter. Indeed, in your handleRequestBody:

  1. @Override
  2. public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {

Get your current core.

  1. final SolrCore core = req.getCore();

Retrieve CoreContainer using core object.
CoreContainer contain all cores, so, can be used easily to get all cores.

  1. final Collection<SolrCore> cores = core.getCoreDescriptor().getCoreContainer().getCores();

A loop can be used to display our cores.

  1. for (SolrCore solrCore : cores) {
  2.     log.info(solrCore.getName());
  3. }

;) you can call a get to retrieve a specific core

  1. SolrCore core1 = core.getCoreDescriptor().getCoreContainer().getCore("core1");
No comments

Dec 19

Récupération des BokBok avec Ruby

Category: Ruby

Nous avons mis ce script ruby pour télécharger le maximum d’images BokBok du site lapresse

Ce script utilise un GET pour récupérer le flux HTTP et l’écrire dans un fichier

  1. require ‘net/http’
  2.  
  3. for i in  (1347).downto(1)
  4.     Net::HTTP.start("www.lapresse.tn") do |http|
  5.         resp = http.get("/images/upload_files/au_gre_des_jour/#{i}.jpg")
  6.         open("#{i}.jpg", "wb") do |file|
  7.             file.write(resp.body)
  8.         end
  9.     end
  10. end
  11. puts "Done."
No comments

Dec 13

tawla ou comment les Tunisiens ont réinventé les bases de données

Category: geek,Tanbir

Je viens de voir cette remarque dans un site

En anglais, « tableau » est traduit par « table ». Cependant, beaucoup de ressources francophones utilisent pourtant le mot anglais « table » pour désigner un tableau, à cause de la prépondérance de l’anglais dans l’informatique.

Mais alors le fait de dire tawla est faux ?? ça craint

Les questions :
Faut il apprendre à nos ingénieurs Tunisiens le mot kwatrou ???
Faut il mettre en place un wiki pour regrouper ces expressions tunisiennes ???

PS : Amis Admin DB, je n’ai rien contre vous. Au contraire, je compatis puisque vous devez réapprendre votre métier avec l’arrivée du NoSQL (MouchSQL). Et là je m’attends au pire pour les traductions de schéma, collections, … dans le cas ou il n’y a plus de tables :D

4 comments

Dec 12

SQL use exists instead of in

Category: programmation

In SQL, there is many way to validate if one information exist in another table (or same).
The most used/viewed call is :

  1. SELECT a FROM tablea WHERE a IN (SELECT b FROM tableb)

The problem with this call the long time of execution in case if our tables contains millions of lines.

Our solution to avoid this problem is to use the exists keyword.

  1. SELECT a FROM tablea WHERE EXISTS (SELECT b FROM tableb WHERE tablea.a = tableb.b)

Exists can help you to get result faster.

No comments

Nov 16

Influencer les votes ExpressFm avec Python

Category: geek,programmation

Le site ExpressFM offre une plateforme de vote basée sur une page back office se trouvant au niveau de http://www.radioexpressfm.com/ExpressBackEnd/vote.php. Cette page récupère les requêtes POST avec le paramètre radio qui indique le choix de l’électeur.

Le but de notre script est d’offrir une boucle infinie capable d’envoyer le maximum de requêtes de votes :

  1. #!/usr/bin/env python
  2. # encoding: utf-8
  3. """
  4. networkTest.py
  5.  
  6. Created by XXXXXX on 2012-11-16.
  7. Copyright (c) 2012 __MyCompanyName__. All rights reserved.
  8. """
  9.  
  10. import sys
  11. import os
  12. import httplib, urllib
  13.  
  14.  
  15. def main():
  16.         while 1==1:
  17.                 params = urllib.urlencode({‘radio’: 118})
  18.                 headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
  19.                 conn = httplib.HTTPConnection("www.radioexpressfm.com")
  20.                 conn.request("POST", "/ExpressBackEnd/vote.php", params, headers)
  21.                 response = conn.getresponse()
  22.        
  23.         pass
  24.  
  25.  
  26. if __name__ == ‘__main__’:
  27.         main()
  28.  
  29.  

PS : pour une raison que je ne connais pas mon éditeur de syntax a tendance à changer les quotes, à vous de les corriger avant d’exécuter le script.

3 comments

Sep 18

Technoparade Paris 2012

Category: Photo

L’édition 2012 de la technoparade était une occasion pour faire la fête, connaitre du monde et prendre des photos que je partage avec vous à travers mon album. http://photo.nihed.com/Technoparade-Paris-2012

No comments

Jun 7

Convert Short Url to Long Url with Java

Category: geek,java,twitter

Wikipedia :

Twitter is an online social networking service and microblogging service that enables its users to send and read text-based posts of up to 140 characters, known as “tweets”.

In microbloging service like Twitter , User must limit the text to 140 characters and URL can be some time very long. Some compagnies(Bitly, TinyURL,…) offer service to reduce your URL with a result like this http://bit.ly/lO2Pan.

In some situation, you have to transform short url to the original to analyse some tweets. For this, technically, you must follow the redirection to get this URL. My solution is to have a loop reading the content of the header and to be more specific the field location until the last URL.

The result :

  1. package com.nihed.tools;
  2.  
  3. import java.io.IOException;
  4. import java.net.HttpURLConnection;
  5. import java.net.MalformedURLException;
  6. import java.net.URL;
  7. import java.net.URLConnection;
  8.  
  9. /**
  10.  *
  11.  * @author Nihed MBAREK
  12.  */
  13. public class UrlTools {
  14.  
  15.     public static String getLongUrl(String shortUrl) throws MalformedURLException, IOException {
  16.         String result = shortUrl;
  17.         String header;
  18.             do {
  19.                 URL url = new URL(result);
  20.                 HttpURLConnection.setFollowRedirects(false);
  21.                 URLConnection conn = url.openConnection();
  22.                 header = conn.getHeaderField(null);
  23.                 String location = conn.getHeaderField("location");
  24.                 if (location != null) {
  25.                     result = location;
  26.                 }
  27.             } while (header.contains("301"));
  28.  
  29.         return result;
  30.     }
  31. }

Now, you can call this method in your class like this :

  1. String result = UrlTools.getLongUrl("http://bit.ly/lO2Pan");

ps: waiting for your questions :)


4 comments

Next Page »