<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.7.3">Jekyll</generator><link href="http://abdulradi.com/feed.xml" rel="self" type="application/atom+xml" /><link href="http://abdulradi.com/" rel="alternate" type="text/html" /><updated>2018-05-01T19:17:50+00:00</updated><id>http://abdulradi.com/</id><title type="html">Tamer AbdulRadi</title><subtitle>Software engineer, writes distributed systems for living.</subtitle><entry><title type="html">Troy</title><link href="http://abdulradi.com/projects/troy/" rel="alternate" type="text/html" title="Troy" /><published>2016-09-07T00:00:00+00:00</published><updated>2016-09-07T00:00:00+00:00</updated><id>http://abdulradi.com/projects/troy</id><content type="html" xml:base="http://abdulradi.com/projects/troy/">&lt;p&gt;Troy is an open source macro-based Cassandra driver, similar to Slick and Quill, provides type-safe &amp;amp; compile-time checking for database queries. Nevertheless, it doesn’t impose a DSL to express the queries in Scala. Instead, it allows developers to write plain Cassandra-query-language (CQL) queries within Scala code, complete with schema validation. In addition, it provides cross-validation against the previous versions, ensuring safe and smooth schema migrations.&lt;/p&gt;

&lt;p&gt;It is worth noting that Troy doesn’t connect to Cassandra during compilation. Instead, the schema is provided as CQL scripts, checked-in within same code base, consisting of plain CREATE TABLE CQL statements. That get’s loaded at compile-time into a light-weight Schema engine capable of analysing queries and providing information about column types. Those CQL scripts can be written as increments, by adding new scripts containing ALTER TABLE statement, instead of editing existing scripts. This allows Troy to check backwards and forward compatibility of queries against different versions of the schema. As well as providing tools to write migration scripts.&lt;/p&gt;

&lt;p&gt;Currently, Troy uses reflection-based black-box macros. But also has a working proof-of-concept using the new style inline/meta as well.&lt;/p&gt;</content><author><name></name></author><summary type="html">Troy is an open source macro-based Cassandra driver, similar to Slick and Quill, provides type-safe &amp;amp; compile-time checking for database queries. Nevertheless, it doesn’t impose a DSL to express the queries in Scala. Instead, it allows developers to write plain Cassandra-query-language (CQL) queries within Scala code, complete with schema validation. In addition, it provides cross-validation against the previous versions, ensuring safe and smooth schema migrations.</summary></entry><entry><title type="html">All you need to know about Play’s routing DSL</title><link href="http://abdulradi.com/blogs/all-you-need-to-know-about-play-sird/" rel="alternate" type="text/html" title="All you need to know about Play's routing DSL" /><published>2016-03-14T00:00:00+00:00</published><updated>2016-03-14T00:00:00+00:00</updated><id>http://abdulradi.com/blogs/all-you-need-to-know-about-play-sird</id><content type="html" xml:base="http://abdulradi.com/blogs/all-you-need-to-know-about-play-sird/">&lt;p&gt;Play 2.4 introduced a new way to write your applications that can be appealing to developers with minimalistic preferences. Now it’s straightforward to embed Play into your application, adding only the necessary dependence, and using a sexy routing DSL.&lt;/p&gt;

&lt;p&gt;In this post, we will go through creating an embedded Play application step by step, then we will take a tour of Play’s new routing DSL features, explaining different usecases, including some advanced ones.&lt;/p&gt;</content><author><name></name></author><summary type="html">Play 2.4 introduced a new way to write your applications that can be appealing to developers with minimalistic preferences. Now it’s straightforward to embed Play into your application, adding only the necessary dependence, and using a sexy routing DSL.</summary></entry><entry><title type="html">Inspecting Akka’s Supervision Strategy</title><link href="http://abdulradi.com/blogs/inspecting-akka-supervision-strategy/" rel="alternate" type="text/html" title="Inspecting Akka's Supervision Strategy" /><published>2016-02-23T00:00:00+00:00</published><updated>2016-02-23T00:00:00+00:00</updated><id>http://abdulradi.com/blogs/inspecting-akka-supervision-strategy</id><content type="html" xml:base="http://abdulradi.com/blogs/inspecting-akka-supervision-strategy/">&lt;p&gt;Akka’s OneForOneStrategy has a maxNrOfRetries parameter, that would result in a Stop rather than a Restart if its limit was exceeded. How can we Escalate instead?&lt;/p&gt;</content><author><name></name></author><summary type="html">Akka’s OneForOneStrategy has a maxNrOfRetries parameter, that would result in a Stop rather than a Restart if its limit was exceeded. How can we Escalate instead?</summary></entry><entry><title type="html">Distributed Computing using Spark</title><link href="http://abdulradi.com/courses/distributed-computing-using-spark/" rel="alternate" type="text/html" title="Distributed Computing using Spark" /><published>2015-10-27T00:00:00+00:00</published><updated>2015-10-27T00:00:00+00:00</updated><id>http://abdulradi.com/courses/distributed-computing-using-spark</id><content type="html" xml:base="http://abdulradi.com/courses/distributed-computing-using-spark/">&lt;p&gt;&lt;a href=&quot;http://spark.apache.org/&quot;&gt;Apache Spark&lt;/a&gt; is an open source cluster computing framework. (see &lt;a href=&quot;https://en.wikipedia.org/wiki/Apache_Spark&quot;&gt;wikipedia&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;This is a FREE course, to teach you how to use Spark to write programs that get’s executed across multiple machines. Whether it is a Simple &lt;a href=&quot;http://spark.apache.org/examples.html&quot;&gt;Text Search&lt;/a&gt;, or something fancy, like calculating &lt;a href=&quot;https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/streaming/TwitterPopularTags.scala&quot;&gt;popular Twitter hashtags&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can use Python, Java, or Scala to solve course’s exercises!&lt;/p&gt;

&lt;h1 id=&quot;about-instructor&quot;&gt;About Instructor&lt;/h1&gt;
&lt;p&gt;Senior Software Engineer at &lt;a href=&quot;http://cakesolutions.net&quot;&gt;Cake solutions&lt;/a&gt;. Developing reactive, distributed applications and working with large amounts of data and traffic.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://uk.linkedin.com/in/tamerradi&quot;&gt;Linkedin&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/tabdulradi&quot;&gt;Github&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;who-should-attend&quot;&gt;Who should attend&lt;/h1&gt;
&lt;p&gt;Students, as well as professionals, who are interested about distributed computing, big data, machine learning, IOT or high scalability.&lt;/p&gt;

&lt;p&gt;Whether you are planning for a kickass graduation project, or looking for a new job. This course can introduce you to the tools you need to write server-side distributed code.&lt;/p&gt;

&lt;h2 id=&quot;programming-languages&quot;&gt;Programming languages&lt;/h2&gt;
&lt;p&gt;You should be ..&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Able to write code using Python, Java, or Scala.&lt;/li&gt;
  &lt;li&gt;Willing to learn new programming languages! (mostly Scala, some Python)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The course will be mostly using Scala code snippets
(You’ll be introduced to Scala basics first), however you will be expected to translate the examples to Python or Java.&lt;/p&gt;

&lt;h1 id=&quot;contents&quot;&gt;Contents&lt;/h1&gt;
&lt;ul&gt;
  &lt;li&gt;Overview of Technology trends
    &lt;ul&gt;
      &lt;li&gt;What is Internet Of Things&lt;/li&gt;
      &lt;li&gt;What is Big Data&lt;/li&gt;
      &lt;li&gt;What is Machine learning&lt;/li&gt;
      &lt;li&gt;Server side challenges of these trends.&lt;/li&gt;
      &lt;li&gt;How Spark fits.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;How distributed algorithms are different from normal ones.&lt;/li&gt;
  &lt;li&gt;Scala in a syringe!
    &lt;ul&gt;
      &lt;li&gt;Read and write basic Scala programs&lt;/li&gt;
      &lt;li&gt;Understand basic functional programming concepts&lt;/li&gt;
      &lt;li&gt;Write programs using ‘map’, and ‘reduce’.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Basic data transformation&lt;/li&gt;
  &lt;li&gt;Loading and Saving data&lt;/li&gt;
  &lt;li&gt;Advanced Spark programming&lt;/li&gt;
  &lt;li&gt;Running on a cluster&lt;/li&gt;
  &lt;li&gt;Spark SQL&lt;/li&gt;
  &lt;li&gt;Spark Streaming&lt;/li&gt;
  &lt;li&gt;Graph programming using Spark&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note: Course contents may vary depending on audience and time limits.&lt;/p&gt;

&lt;h1 id=&quot;schedule&quot;&gt;Schedule&lt;/h1&gt;
&lt;ul&gt;
  &lt;li&gt;Monday 5 October 2015 from 6pm to 9pm&lt;/li&gt;
  &lt;li&gt;Tuesday 6 October 2015 from 6pm to 9pm&lt;/li&gt;
  &lt;li&gt;Wednesday 7 October 2015 from 6pm to 9pm&lt;/li&gt;
  &lt;li&gt;Thursday 8 October 2015 from 6pm to 9pm&lt;/li&gt;
  &lt;li&gt;Monday 12 October 2015 from 6pm to 9pm&lt;/li&gt;
  &lt;li&gt;Tuesday 13 October 2015 from 6pm to 9pm&lt;/li&gt;
  &lt;li&gt;Wednesday 14 October 2015 from 6pm to 9pm&lt;/li&gt;
  &lt;li&gt;Thursday 15 October 2015 from 6pm to 9pm&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;course-location&quot;&gt;Course Location&lt;/h2&gt;
&lt;p&gt;Mansoura, Egypt. (Venue name will be announced later).&lt;/p&gt;

&lt;h1 id=&quot;apply&quot;&gt;Apply&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;http://goo.gl/forms/hgkvRK3bqI&quot;&gt;http://goo.gl/forms/hgkvRK3bqI&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;note&quot;&gt;Note&lt;/h2&gt;
&lt;p&gt;If you got accepted in &lt;a href=&quot;http://abdulradi.com/courses/sicp-using-javascript-for-absolute-beginners.html&quot;&gt;my “Structure &amp;amp; Interpretation of Computer Programs” course&lt;/a&gt;, but you didn’t show up. Please don’t apply, you got blacklisted!&lt;/p&gt;

&lt;h2 id=&quot;fees&quot;&gt;Fees&lt;/h2&gt;
&lt;p&gt;This course is free.&lt;/p&gt;

&lt;h2 id=&quot;quiz&quot;&gt;Quiz&lt;/h2&gt;
&lt;p&gt;Please attempt to solve one of the following quizzes.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/Kiosk12/spark-training/tree/master/quiz/quiz1&quot;&gt;Quiz 1&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/Kiosk12/spark-training/tree/master/quiz/quiz2&quot;&gt;Quiz 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Please solve it yourself. You will be asked to write similar code in the class!&lt;/p&gt;

&lt;h1 id=&quot;faq&quot;&gt;FAQ&lt;/h1&gt;
&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Q: Who uses Spark?&lt;br /&gt;
A: Check http://careers.stackoverflow.com/jobs/tag/apache-spark&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Q: How many companies in Egypt uses Spark?&lt;br /&gt;
A: I know about 4, most of them are using Python.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Q: Would this course improve my chances of getting a job?&lt;br /&gt;
A: Statistically speaking, there is more PHP jobs than spark/big-data jobs! At least in Egypt. &lt;br /&gt;
I won’t say this course is enough. But it is more than a good boost for your skills to continue learning through Coursera, edx and other online eductions websites.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;</content><author><name></name></author><category term="scala" /><category term="python" /><category term="spark" /><summary type="html">Apache Spark is an open source cluster computing framework. (see wikipedia)</summary></entry><entry><title type="html">Structure &amp;amp; Interpretation of Computer Programs</title><link href="http://abdulradi.com/courses/sicp-using-javascript-for-absolute-beginners/" rel="alternate" type="text/html" title="Structure &amp; Interpretation of Computer Programs" /><published>2015-01-02T00:00:00+00:00</published><updated>2015-01-02T00:00:00+00:00</updated><id>http://abdulradi.com/courses/sicp-using-javascript-for-absolute-beginners</id><content type="html" xml:base="http://abdulradi.com/courses/sicp-using-javascript-for-absolute-beginners/">&lt;p&gt;This course is about the art of programming, how to think and write beautiful, readable code. This course is not about Javascript details, we are only using Javascript to demonstrate programming concepts that can be applied using other languages too.&lt;/p&gt;

&lt;p&gt;#Target Audience&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Either you are completely new to programming or you have some experience but want to improve.&lt;/li&gt;
  &lt;li&gt;You want to be a code artist! not just a developer!&lt;/li&gt;
  &lt;li&gt;Committed, Committed, Committed! This is not an easy course. You have to be completely free, dedicated and focused.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;##Contents
The course is based on the first 3 chapters of &lt;a href=&quot;http://mitpress.mit.edu/sicp/&quot;&gt;SICP&lt;/a&gt; and it’s &lt;a href=&quot;http://www.comp.nus.edu.sg/~cs1101s/sicp/#subsection_1_2_1&quot;&gt;Javascript version&lt;/a&gt;, in addition to some extra content. The following is highlights of some topics to be discussed in the course.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Introduction
    &lt;ul&gt;
      &lt;li&gt;Where can I use Javascript&lt;/li&gt;
      &lt;li&gt;What is an interpreter&lt;/li&gt;
      &lt;li&gt;Exploring tools&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Basics of programming (Expressions, Combinations, Abstractions, Conditionals and Predicates)&lt;/li&gt;
  &lt;li&gt;Functions
    &lt;ul&gt;
      &lt;li&gt;Functions as a way of abstraction&lt;/li&gt;
      &lt;li&gt;What is recursion (Linear, Tree, and Logarithmic)&lt;/li&gt;
      &lt;li&gt;recursion vs loop&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;How to analyse performance and memory consumption of programs&lt;/li&gt;
  &lt;li&gt;Higher order functions, and Closures&lt;/li&gt;
  &lt;li&gt;Immutable Data (Building your own datastructres)
    &lt;ul&gt;
      &lt;li&gt;Hierarchical Data using Closures&lt;/li&gt;
      &lt;li&gt;Strings&lt;/li&gt;
      &lt;li&gt;Sets&lt;/li&gt;
      &lt;li&gt;Binary Trees&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Mutable Data (Building your own datastructres)
    &lt;ul&gt;
      &lt;li&gt;Lists&lt;/li&gt;
      &lt;li&gt;Queues&lt;/li&gt;
      &lt;li&gt;Tables&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;##Duration
We are going to simulate a real work environment. The course consists of 6 classes, each class is 9 hours long, including breaks.&lt;/p&gt;

&lt;p&gt;##Location
The course will be held in Mansoura, Egypt.&lt;/p&gt;

&lt;p&gt;##Homework
Exercises in the book are important part of the experience. Your solutions should be published on your &lt;a href=&quot;http://github.com&quot;&gt;Github&lt;/a&gt; account, so that you can show off your work. Best solution will be merged into the main repo.
If you don’t know about Github or Git. Don’t worry, I’ll introduce them.&lt;/p&gt;

&lt;p&gt;##About instructor
If you want know me better, please check the following links:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://abdulradi.com/resume&quot;&gt;My Resume&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://github.com/tabdulradi&quot;&gt;My work on Github&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/users/234998/radian?tab=answers&quot;&gt;My answers on Stackoverflow&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://eg.linkedin.com/in/tamerradi/&quot;&gt;My LinkedIn profile&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;#Course Fees
This course is &lt;strong&gt;FREE!&lt;/strong&gt; However,&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;You may have to pay for the venue (in case I couldn’t get sponsorship to cover this)&lt;/li&gt;
  &lt;li&gt;You will have to pay penalties if you missed classes and/or homeworks!!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;##Insurance
To guarantee commitment. You have to pay an amount of money as a deposit. You should be able to receive your money back at the end of the course, only if you attended all the sessions, and attempted all the homeworks. If you missed any of them, a penalty will be deducted!&lt;/p&gt;

&lt;p&gt;Note: I won’t be able to refund any money once I reserve the venue.&lt;/p&gt;

&lt;p&gt;##Penality System&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;At the beginning of the course you will credit of 5 points&lt;/li&gt;
  &lt;li&gt;Missing a class AND it’s homework costs you 3 points!&lt;/li&gt;
  &lt;li&gt;Missing a class, but solving it’s homework costs you 1 point.&lt;/li&gt;
  &lt;li&gt;Showing up late for the class, costs you 1 point too!&lt;/li&gt;
  &lt;li&gt;Attending a class, but missing it’s homework costs you 1 point.&lt;/li&gt;
  &lt;li&gt;Once your credit reaches zero, you can’t complete the course, and you loose your insurance money.&lt;/li&gt;
  &lt;li&gt;If you made it to the end of course, you’ll receive your money, deducting any points you lost during the course.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;##Conclusion
This course is designed for those who are passonate about programming, and willing to do to their best learning it. If you are not willing to work hard, you will be wasting your money!&lt;br /&gt;
Challenge accepted? &lt;a href=&quot;https://docs.google.com/a/abdulradi.com/forms/d/1plCRgkhcn9z7ExgK9c4uaypHIQaIylCU7RUs7DpM1sQ/viewform&quot;&gt;Register now!&lt;/a&gt;&lt;/p&gt;</content><author><name></name></author><category term="javascript" /><category term="sicp" /><category term="beginners" /><summary type="html">This course is about the art of programming, how to think and write beautiful, readable code. This course is not about Javascript details, we are only using Javascript to demonstrate programming concepts that can be applied using other languages too.</summary></entry><entry><title type="html">Python &amp;amp; Django web development course</title><link href="http://abdulradi.com/courses/python-django-beginners/" rel="alternate" type="text/html" title="Python &amp; Django web development course" /><published>2015-01-02T00:00:00+00:00</published><updated>2015-01-02T00:00:00+00:00</updated><id>http://abdulradi.com/courses/python-django-beginners</id><content type="html" xml:base="http://abdulradi.com/courses/python-django-beginners/">&lt;p&gt;I’ve got a lot of messages requesting a Python and Django course. So here you go!&lt;/p&gt;

&lt;p&gt;##Target Audience&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;You should have a slight background about computer science&lt;/li&gt;
  &lt;li&gt;Know at least what does “inheritance” mean&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note: If you don’t meet the previous qualifications, you can enroll into &lt;a href=&quot;/courses/sicp-using-javascript-for-absolute-beginners.html&quot;&gt;my introductory level course using Javascript&lt;/a&gt;, it is free ;)&lt;/p&gt;

&lt;p&gt;##Contents
This course is about web development using Python and Django. Exploring the beauty, and tricks of Python as well as it’s WTFs! Later we will move to Django, exploring it’s concepts.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Introduction to the REPL&lt;/li&gt;
  &lt;li&gt;Types, values, variables and operators.&lt;/li&gt;
  &lt;li&gt;Statements vs Expressions&lt;/li&gt;
  &lt;li&gt;Functions and recursions&lt;/li&gt;
  &lt;li&gt;Closures and Higher order functions&lt;/li&gt;
  &lt;li&gt;Exploring built-ins&lt;/li&gt;
  &lt;li&gt;Container types: Lists, Sets, and Dicts&lt;/li&gt;
  &lt;li&gt;Advanced Statements (Sequence unpacking, chained assignments, etc)&lt;/li&gt;
  &lt;li&gt;Loops, “Else” clause in loops!&lt;/li&gt;
  &lt;li&gt;Object, classes, decorators and magic methods.&lt;/li&gt;
  &lt;li&gt;Introduction to Django and MVT/MVC pattern&lt;/li&gt;
  &lt;li&gt;How browsers interact with your code&lt;/li&gt;
  &lt;li&gt;Routing, Views&lt;/li&gt;
  &lt;li&gt;Template language&lt;/li&gt;
  &lt;li&gt;Django built-ins and class based views&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;##Duration
5 sessions, 8 hours each.&lt;/p&gt;

&lt;p&gt;##Timing
Course will be held between Tuesday 13 Jan and Sunday 25 Jan. You can vote for the dates and times that suits you &lt;a href=&quot;https://docs.google.com/a/abdulradi.com/forms/d/1NUsQfWYxqfRPbUm08cQnK4OH_SeTpafwkNocNgFEfDI/viewform&quot;&gt;in the registration form&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;##Location
The course will be held in Mansoura, Egypt.&lt;/p&gt;

&lt;p&gt;##About instructor
If you want to know me better, please check the following links:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://abdulradi.com/resume&quot;&gt;My Resume&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://github.com/tabdulradi&quot;&gt;My work on Github&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/users/234998/radian?tab=answers&quot;&gt;My answers on Stackoverflow&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://eg.linkedin.com/in/tamerradi/&quot;&gt;My LinkedIn profile&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;##Course Fees
This course costs 750 LE, plus the cost of the venue.&lt;/p&gt;

&lt;p&gt;Note: I won’t be able to give refunds once I reserve the venue.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://docs.google.com/a/abdulradi.com/forms/d/1NUsQfWYxqfRPbUm08cQnK4OH_SeTpafwkNocNgFEfDI/viewform&quot;&gt;Register now&lt;/a&gt;&lt;/p&gt;</content><author><name></name></author><category term="python" /><category term="django" /><category term="beginners" /><summary type="html">I’ve got a lot of messages requesting a Python and Django course. So here you go!</summary></entry><entry><title type="html">Playing with Scala futures</title><link href="http://abdulradi.com/slides/playing-with-scala-futures/" rel="alternate" type="text/html" title="Playing with Scala futures" /><published>2013-05-13T00:00:00+00:00</published><updated>2013-05-13T00:00:00+00:00</updated><id>http://abdulradi.com/slides/playing-with-scala-futures</id><content type="html" xml:base="http://abdulradi.com/slides/playing-with-scala-futures/">A fast intro to Scala and Play, to prepare the audience for a live demo of a Play Application using Futures to get weather data from Yahoo in a non blocking way, then display to the user the results.
The code is available here https://github.com/tabdulradi/weather</content><author><name></name></author><summary type="html">A fast intro to Scala and Play, to prepare the audience for a live demo of a Play Application using Futures to get weather data from Yahoo in a non blocking way, then display to the user the results. The code is available here https://github.com/tabdulradi/weather</summary></entry><entry><title type="html">Classification of type systems</title><link href="http://abdulradi.com/slides/classification-of-type-systems/" rel="alternate" type="text/html" title="Classification of type systems" /><published>2012-07-07T00:00:00+00:00</published><updated>2012-07-07T00:00:00+00:00</updated><id>http://abdulradi.com/slides/classification-of-type-systems</id><content type="html" xml:base="http://abdulradi.com/slides/classification-of-type-systems/">How to classify the type system of programming langugaes, what is the difference between typesystems of Java, Javascript and Python? &lt;br/&gt;What is the difference between Strong typed languages and statically typed languages?</content><author><name></name></author><summary type="html">How to classify the type system of programming langugaes, what is the difference between typesystems of Java, Javascript and Python? What is the difference between Strong typed languages and statically typed languages?</summary></entry><entry><title type="html">Introducion to Python</title><link href="http://abdulradi.com/slides/intro-to-python/" rel="alternate" type="text/html" title="Introducion to Python" /><published>2012-06-02T00:00:00+00:00</published><updated>2012-06-02T00:00:00+00:00</updated><id>http://abdulradi.com/slides/intro-to-python</id><content type="html" xml:base="http://abdulradi.com/slides/intro-to-python/">A quick tour in Python world. First by By comparing Java code, and the equivalent Python side by side, Second by listing some cool features in Python, finally by listing downs and ups of Python in usage; when to use python and when not.</content><author><name></name></author><summary type="html">A quick tour in Python world. First by By comparing Java code, and the equivalent Python side by side, Second by listing some cool features in Python, finally by listing downs and ups of Python in usage; when to use python and when not.</summary></entry><entry><title type="html">Python Course for Beginners, January 2012</title><link href="http://abdulradi.com/courses/python-course-for-beginners-january-2012/" rel="alternate" type="text/html" title="Python Course for Beginners, January 2012" /><published>2011-12-22T00:00:00+00:00</published><updated>2011-12-22T00:00:00+00:00</updated><id>http://abdulradi.com/courses/python-course-for-beginners-january-2012</id><content type="html" xml:base="http://abdulradi.com/courses/python-course-for-beginners-january-2012/">Al Salamu Alykum ,
I am giving a &lt;a href=&quot;http://en.wikipedia.org/wiki/Python_(programming_language)&quot; target=&quot;_blank&quot;&gt;Python&lt;/a&gt; Course  in Mansoura at mid-year vacation  (January 2012), the course will cover the following.

&lt;ul&gt;&lt;li&gt;Shell &amp;amp; IPython&lt;/li&gt;
&lt;li&gt;Basics 
&lt;ul&gt;&lt;li&gt;Types, Operators and Variables&lt;/li&gt;
&lt;li&gt;Calling Functions&lt;/li&gt;
&lt;li&gt;Importing modules&lt;/li&gt;
&lt;li&gt;Saving &amp;amp; running python scripts&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Containers: Lists, Tuples and Dictionaries&lt;/li&gt;
&lt;li&gt;Statements: Conditionals, and Loops&lt;/li&gt;
&lt;li&gt;Functions: Defining and advanced calling&lt;/li&gt;
&lt;li&gt;Exceptions handling&lt;/li&gt;
&lt;li&gt;Object Oriented&lt;/li&gt;
&lt;li&gt;Exceptions: Defining and Raising&lt;/li&gt;
&lt;li&gt;Python Magic! 
&lt;ul&gt;&lt;li&gt;Constructors&lt;/li&gt;
&lt;li&gt;Implementing Custom Containers&lt;/li&gt;
&lt;li&gt;Iterators and generators&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Handling Files, and Shelving.&lt;/li&gt;
&lt;li&gt;Introduction to Threading&lt;/li&gt;
&lt;li&gt;Introduction to Socket Programming&lt;/li&gt;
&lt;li&gt;Introduction to Database support&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;*Note: There is a bonus Mercurial introduction and a team project depending on the students, If we could finish the course before the schedule.&lt;/p&gt;
&lt;p&gt;Course duration will be 50~60 hours (10 lectures, each from 5 to 6 hours) including hands-on labs (other that the team project)&lt;/p&gt;
&lt;p&gt;The price of the course will be 600 LE, and there is 200 LE discount for &lt;a href=&quot;http://nozom.org/&quot; title=&quot;Nozom-NGO&quot; target=&quot;_blank&quot;&gt;Nozom-NGO&lt;/a&gt; members&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://docs.google.com/a/abdulradi.com/spreadsheet/viewform?hl=en_US&amp;amp;formkey=dDhLYjY5MFB5bVEtaklXMU9qdVBybnc6MA#gid=0&quot;&gt;&lt;strong&gt;Register Now&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</content><author><name></name></author><summary type="html">Al Salamu Alykum , I am giving a Python Course  in Mansoura at mid-year vacation  (January 2012), the course will cover the following.</summary></entry></feed>