Wednesday, May 23, 2012

Google celebrates Egyptian Elections with a doodle

Google has posted a doodle on their Egyptian homepage to commemorate the first Egyptian elections, since the revolution that toppled previous president Hosni Mubarak, being held today!
The doodle is view-able on Google.com.eg, the Egyptian domain for Google's homepage. Clicking the doodle will show you the latest search results for the Egyptian Elections. For those who haven't voted yet and would like to check the official voting page for their voting information please go to www.elections.eg

Wednesday, February 15, 2012

Setting up Notepad ++ for Java development

There are many editors out there that can be used for writing Java programs. Notepad ++ is a free and simple Notepad like application that also supports programming languages like C++, HTML, Java and others. Unlike Textpad or JCreator it does take some setting up before its ready for use.

  1. Grab Notepad ++ (download.com link)
  2. Install the program
  3. Once its all set up you will need to download a special plugin called NppExec for it that will allow it to compile and run code. It might be also worthwhile to have a look at the rest of the plugins and see if anything catches your interest ( http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Plugin_Central)
  4. Now the easy way to get NppExec is through Notepad++'s plugin manager, it will download and install it for you automatically. Installing it yourself can get a bit tricky. Open Notepad++ and go to Plugins -> Plugin Manager -> Show Plugin Manager
  5. Once open, scroll down and find NppExec and check the box next to it and click 'Install'
  6. Now you have the ability to execute Java programs! But we're still not done yet, we want the program to be able to run the currently active code that we are writing. Press F6 on your keyboard, that will open a command window. Type in:
    cd $(CURRENT_DIRECTORY)
    javac $(FILE_NAME)
    Save that command as Compile so you don't have to write it in every time. This will allow you to compile your code.
  7. Now click on the drop down menu and select to get a new blank box and type in:
    cd $(CURRENT_DIRECTORY)
    java $(NAME_PART)
    Save that as Run and this will be the command that will allow you to run your code.
  8. Now all you need to do it type in your code, press F6 and choose either Compile or Run. Your console will appear at the bottom.
     
That's all. Please comment bellow if you need any more help.
Thanks to these guys here for the Run and Compile commands.

Monday, February 13, 2012

Downloading Java (JDK) and installation + API

If you're interested in trying Java programming then this tutorial will help you get started with the installation. To start off, if you're going to be doing programming with Java then you'll need the Java Development Kit (JDK) NOT to be confused with Java Runtime Environment (JRE) which is used to run Java applets and programs on your web browser/computer. 

While starting out with Java myself I found downloading and installing JDK could be confusing at certain points (you have Oracle to thank for that). It took me a few tries before I managed to get the version I needed along with its documentation (we'll talk about that later).

So, first thing we need is to download and install JDK:
 You'll see something that looks like this: 

 

  • Don't click on anything yet, scroll down until you see Java SE 6 Update 30. At the time of writing this Blog Java 7 is the latest version of Java, but Java 6 is the standard one. Click on Download under JDK.
  • You'll be taken to the next page where you have to accept the license agreement and download the Java version suitable for your operating system. Choose the one you need, pick a download location and start the download.
  • After the download is done, simply navigate to the download location and double click the file to start installation.
  • The installation is simple, I recommend keeping the default install settings and change the install location (if you wish) to a different directory. Wait for it to install and That's it. It will prompt you to register, you can do that or leave it for later.
Now to download the documentation. The documentation or API is a specification document that contains all the packages, classes, methods ..etc that you need to use when you are programming in Java. Now you can simply type 'Java API' in Google and it will take you to the web version of the API, but I find it convenient to have a copy on your hard disk that you can check any time.

You can go back to the first page and do a few loops before you can find where to download it (have fun with that) or jump straight here and get it painlessly. Select a download location and start the download. Once its done un-zip the file, I highly recommend creating a shortcut to the location you extracted it to so you have quick access to it in the future and don't go searching for it if you forget its location.



Extract it to a folder like 'Documents' for example and create a desktop shortcut to the API. Inside the folder go to docs -> api -> index.html. Right-click index and then 'create shortcut', cut and paste the shortcut on the desktop.

All done!


Friday, February 25, 2011

Google holding workshops in Dubai

Image representing Google as depicted in Crunc...Image via CrunchBase

Google will be having workshop sessions in Dubai on March 21st.
The sessions are aimed at IT professionals & webmasters (Morning sessions) and marketeers & small businesses (Afternoon sessions).
If you live in UAE and wish to attend you can register on their website here
Places are very limited so register as early as possible to guarantee a spot.

[Links: https://sites.google.com/site/workshopsdubai/Home]
Enhanced by Zemanta

Thursday, February 10, 2011

Internet Survival Guide for Revolting Egyptians

With all communications and the Internet susceptible  to being cut off again any day it is important to have a few alternative ways of communicating with your friends or family.

I will post several websites or tools that can be used to access the internet or with information on how to access the internet and keep yourself protected online.

First and probably most useful, Google's Crisis Response website for Egypt: http://www.google.com/crisisresponse/egypt.html

The site has information ranging from phone numbers for accessing internet from dial-up modems to maps with hospital locations and demonstration locations to the numbers of several important government agencies.


TOR secure web browsing: http://www.torproject.org/index.html.en
TOR can be used to bypass proxies and access website that have been blocked (eg: Twitter, Facebook...etc)
The TOR Browser Bundle launches a portable copy of Firefox with TOR embedded within it. It access websites that might not be accessible due to a proxy server or a restriction from the ISP. It also browses the web securely so as to protect your identity from any one trying to monitor your connection.

Overcoming a DNS service blockage: (thanks to @m_alzantot)
  • Use open DNS servers 208.67.222.222 or 208.67.220.220
  • Use proxy servers like Ultra-surf, JAP or Hotspot 
  • Surf the web through proxy sites like Anonymouse
Using Dial-up Modem: (thanks to @m_alzantot)
  • Dial "Noor Group" 0777 7770, 0777 7000 ISP which was still working during the internet cut off in Egypt.
  • Connect to a global dial-up service like Budget dial-up
  • There are other numbers that can be dialed on Google's CR page posted above
If you know any other methods or techniques please share.

Thursday, December 30, 2010

Google Days Egypt

For the first time in Egypt Google held a public event called "G-Egypt" which started on the 8th of Dec till 10th of Dec. The event was organized by Sebatian Trzcinski-Clément and was held in Dusit Thani Hotel in the Fifth Settlement area.
Each day was aimed at a specific group of people.
Day 1 (8 Dec): For Computer Science students and professors
Day 2 (9 Dec): For software developers/programmers/engineers
Day 3 (10 Dec): For companies and entrepreneurs.

I've managed to register for a place on the 2nd day. I can say it was quite an interesting event and was very educational and useful. We were presented with existing Google technologies as well as made aware of new ones. There were lots of new features implemented by Google and tailored to the needs of the Middle Eastern market. Below is Day 2's agenda along with a short description of some of the sessions that I attended.

Day 2 Agenda:
Main auditorium :

09:45 - 10:00 Welcome Address
10:00 - 10:30 Keynote
10:30 - 11:00 Google in the Middle East
11:00 - 11:30 Work in Open Source
11:30 - 12:10 Google AppEngine & Google Web Toolkit
12:10 - 12:30 Break
12:30 - 13:45 Google AppEngine & Google Web Toolkit - continued
13:45 - 14:30 Lunch
14:30 - 15:20 Panel Discussion : from idea to product
15:20 - 16:10 The latest on Maps APIs
16:10 - 16:30 Break
16:30 - 17:20 Introduction to Mobile Development
17:20 - 18:00 Google Apps, APIs & Apps Marketplace
18:00 - 18:25 Closing comments

Parallel sessions :

11:00 - 11:30 The New Social Web: It's About Open Standards

12:30 - 13:45 Search 101 - a great website is nothing if it can't be found

14:30 - 15:20 Chrome Extensions
15:20 - 16:10 Presentations on using Google tools by external speakers
16:10 - 16:30 Site Clinic (live review of websites)
16:30 - 17:20 Web-based Language Services
17:20 - 18:00 Introduction to MapReduce

________
Welcome Address and Keynote:
Quite a strong start and powerful Introduction to a great event. They started with introducing the all the Google staff to the audience and then moved on to talking about Google itself and its operations in Egypt and the Middle East.

Google in the Middle East:
One of the biggest and most impressive presentations during the event. The session covered a very wide range of topics starting from Google's core search engine and how it has been made to fit the needs of Arabic speakers surfing the web all the way to development technologies for platforms like Google's App Engine and Android. One of the highlights of this session is the HTML5 demonstrations, they introduced HTML5 to the audience, highlighted the new features of HTML5 like the canvas and showed us how all this is compatible with Google's own Chrome Internet Browser.

Work in Open Source:
Another very interesting session presented by Chris DiBona. The session talked about open source software, its advantages to both consumer and developer as well as all of Google's open source projects like Android for example.

Google AppEngine & Google Web Toolkit:
We were given a quick tutorial on Google's new platform called the Google App Engine. The required software and SDKs were distributed among the attendees so they can follow up on the coding session instantly. The tutorial covered the the basics of App Engine. The Google staff then announced that there is a coding competition taking place through out the rest of the day and the best App Engine application is to win an Android phone as a prize. At the end of the day each team presented us with their application. They were quite impressive and creative especially for people who had no prior experience in App Engine and were coding on it for the first time. A panel of judges from the Google staff was set up and the winner(s) were chosen.

Almost every session during G-Egypt was great, interesting and taught us something new. I'm very happy to have had the opportunity to attend such and event and plan to attend the next event.

Additional Links:
List of presentations and videos of the event: http://sitescontent.google.com/gegypt/presentations-videos
List of Speakers at the Event: http://sitescontent.google.com/gegypt/speakers

Wednesday, October 13, 2010

iPod Touch 2G Jailbreak Log


Well since I now have a Mac (Snow Leopard) machine and Xcode, I can start developing applications for my iPod Touch. However, Apple's regulations require that i need to purchase a developer's license even if its JUST to test my app on the actual device. Since I am learning/developing on the iPod Touch for educational purposes only and have no intention of publishing to the iTunes store I find little choice but to jailbreak the ipod touch. This post will show the steps/missteps I've gone through to do such a procedure along with links to the tutorials I've used.


iPod touch 2GImage via Wikipedia


First off, in a previous blog I've shown how to jailbreak the iPhone/iPod Touch using the blackra1n tool. The problem I faced when starting off was that I was working with Xcode v3.2.4 and iOS SDK 4.1, iOS firmware 3.1.2 was no longer supported on that SDK so I either had to upgrade my device's firmware or downgrade the SDK. I soon discovered that the blackra1n tool only works for firmware 3.1.2 and I had to find another alternative for jailbreaking. Here are the steps I've gone through:
  1. Downloaded the ipsw recovery image (firmware version 4.0) that I will need for the jailbreak. My device is an iPod Touch 2G so if you have a different device you will have to download a different ipsw image that will be compatible with your device.
  2. Downloaded the latest Pwnage tool for Mac (you can use Redsn0w for windows)
  3. Follow the steps the jail breaking application tells you (they are pretty self explanatory) or if you feel lost follow this tutorial to jailbreak your device.
  4. Now what happened to me here is the iPod booted up into recovery mode even though it should have been jailbroken by now. It went into a state where even iTunes failed to recognize it and therefore unable to restore/recover it. Why this happened is unknown to me at this time. What I did now is  force put it into recovery mode by pressing and holding down the power and menu buttons at the same time. It will prompt you to shut down the device, go ahead and shut it down.
  5. Now, while holding down the menu button, plug your device to your computer using the usb cable. This will make the device start up in recovery mode and launch iTunes. This time iTunes should be able to detect the device, if it didn't try repeating the recovery steps again.
  6. I used my old ipsw image for firmware 3.1.2 to try and restore the ipod back to its original state (for Windows press shift and the restore button in iTunes, for Mac press the option button + restore button). This time the ipod surprisingly booted successfully into the jailbroken 4.0 firmware.
So here we are, a somehow working jail break for the iPod Touch 2G. Your steps may vary according to your device. If there are any question/comments/suggestions please feel free to leave a comment.
Enhanced by Zemanta