Blogging is a conversation, not a code.

BADR, in partnership with QCRI, has developed and published TweetMogaz, a system that allows Arab users to get the maximum information from the Arabic content on Twitter, on the spot.

Basically, TweetMogaz consumes streams of Arabic tweets from Twitter, classifies them into relevant topics, then present them to the users in a much more intelligent way.

By intelligence we mean that TweetMogaz can understand tweets topics’ context, group tweets based on that, and present these groups (topics) to the user for a better user experience.
TweetMogaz also is the only Arabic events detector. It’s constantly searching the Arabic content for hot, trending tweets, gathers tweets that relate and occur in a certain timeframe, then present the user a solid, homogenous story.

To achieve that feat, a thorough research has been done (and is continuously in improvment) to get the best out of the Arabic content on Twitter. The research areas extend to: Information Retrieval, Natural Language Processing, Machine Learning, Distributed Systems and Big Data.

The first publication out of TweetMogaz is a demo paper: TweetMogaz v2: Identifying News Stories in Social Media, by Eslam Elsawy (BADR), Moamen Mokhtar (BADR) and Walid Magdy (QCRI), it's published in CIKM 2014.

Why is Git always asking for credentials?

October 13th 2014, 5:46 amCategory: None 0 comments

There are two ways to clone any project from a remote reporesitory, either using SSH protocol or HTTPS protocol. If Git prompts for credentials every time you interact with the repository, it means you are using HTTPS clone URL.

Using HTTPS URLs to clone repositories is easier than SSH and needs almost zero configurations, but, Git will keep asking for credentials, the solution is, to configure Git to cache credentials for you:

git config --global credential.helper cache

The default timeout for git is 15 minutes, you may change it using the following(1 month):

git config --global credential.helper 'cache --timeout=2592000'

SAP HANA Case Study

October 10th 2014, 9:00 pmCategory: Web 0 comments

The idea of this solution is to build a science modeling application to make high level analysis according to specific clusters (region, sales, cost..). it has 2 dashboards: analytics and optimization dashboards. Analytical one studies the relation between 2 modules (cfrate, sales..), results can be filtered depending on specific product line, region or any parameter he wants.

Optimization dashboard is responsible for investigating the impact of changing movement rule like cfrate on profit/net amount via opportunity curve, lets say profit wanted to be studied if cfrate is a little higher by 2%.

All data is stored in SAP HANA database schema, frontend was built using SAPUI5, it communicates via Node.js server to R server which communicates with SAP HANA database executing analytics and calculations on it then save the output in a new table and back to Node.js server with a chart to be sent to SAPUI5 to be drawn. All SAPUI5 tables are bound to output tables to grab the data at runtime dynamically.


2014, Aug 4th — BADR, today announced that it has joined the Hortonworks Systems Integrator Partner program and will be delivering big data solutions powered by Hortonworks Data Platform (HDP). Hortonworks is the leading contributor to and provider of Apache™ Hadoop®. BADR’s customers can now benefit from easier integration with Hadoop to our range of data engineering and visualizations services.
By joining the Hortonworks Systems Integrator Partner program, BADR will strengthen its ability to implement enterprise-level big data solutions including Hortonworks Data Platform, the industry’s only 100-percent open source Hadoop distribution, explicitly architected, built, and tested for enterprise-grade deployments. BADR’s implementation services enable customers to leverage the power of their data and reveal new aspects of hidden information. With the integration of Hadoop, customers can now scale to new extents in volume, variety and velocity.

Hortonworks Data Platform was built by the core architects, builders and operators of Apache Hadoop and includes all of the necessary components to manage a cluster at scale and uncover business insights from existing and new big data sources. With a YARN-based architecture, HDP enables multiple workloads, applications and processing engines across single clusters with optimal efficiency. A reliable, secure and multi-use enterprise data platform, HDP is an important component of the modern data architecture, helping organizations mine, process and analyze large batches of unstructured data sets to make more informed business decisions.

”We welcome BADR to the Hortonworks Systems Integrator Partner Program and look forward to working with them to provide data-driven applications powered by HDP for their customers,” said John Kreisa, vice president of strategic marketing at Hortonworks.
“BADR’s long-standing experience delivering high-value enterprise solutions creates a natural expansion to add Hadoop integration services as companies of all sizes are adopting Hadoop to support their big data projects.”

About BADR

BADR is an established IT company which has now set its sights on changing the world of big data. Established in 2014, this new branch of BADR is dedicated to providing the most effective and innovative big data tools possible to companies large and small in the Middle East. BADR has the knowledge and experience necessary to make a difference in the big data world, and we use this experience to help our customers on every step of the way.


September 29th 2014, 5:04 amCategory: None 0 comments

What is SAP HANA?

SAP HANA, short for "High-Performance Analytic Appliance" is an in-memory data platform developed by SAP SE. It supports massively parallel transactions. It combines row-based, column-based and object-based storage techniques to squeeze the maxim out of multicore processors, thus, enabling very fast query execution. It is integrated with custom tuned servers hardware to support real-time analytical processing and calculations.

SAP HANA is designed to replicate and ingest structured data from SAP and non-SAP relational databases quickly. The main idea is that the replicated data is stored in RAM providing near real-time analytical transactoins by applications that sit on top of HANA.

What about UI?

SAPUI5 is the best solution to deal with SAP products, it is a user interface technology used to build and adapt client applications. It is a client-side HTML5 rendering library with a rich set of standard and extension controls and a lightweight programming model. The client-side rendering library provides a rich set of controls. You can extend these controls as well as develop new custom ones. Many features are provided to enable developers to easily create and extend state-of-the-art user interfaces:

  • RIA like client-side features based on JavaScript.
  • CSS3, which allows designers to work in an effective manner.
  • It is based on an extensibility concept regarding custom controls.
  • It uses the open source jQuery library as a foundation
  • It fully supports SAP product standards.
  • It complies with OpenAjax and can be used together with standard JavaScript libraries.
  • It is produced in a release independent code line to enable short shipment cycles.

How is SAP HANA different From Competing Offerings from Oracle? 

Oracle Exalytics is an in-memory analytic appliance created by Oracle in 2011. The main diffrence compared to SAP HANA is that Exalytics was designed to run on Sun-only hardware, the risk of vendor lock-in is high, and the cost is significantly higher than comparable HANA deployments.

What is R?

R is an open source programming language and software environment for statistical computing and graphics.
The goal of the integration of the SAP HANA database with R is to get the power of statistical and analytical functionalities from R code in SAP HANA database context. SAP HANA database allows R code to be processed in-line as part of the  overall query execution plan. This allows developers to use huge set of statistical functions in SAP HANA.

The R code is embedded in SAP HANA SQL code in the form of a RLANG procedure to be processed in SAP HANA database context. This allows the application developer to elegantly embed R function definitions and calls within SQLScript and submit the entire code as part of a query to the database.