Thursday, January 17, 2013

DLC vs ULC

Now we all know about DLC with it's pros and cons, how it could be used to enhance a game or encourage greedy behaviour from companies. However we can all agree that DLC as a feature is something new and was made possible this gen with internet enabled consoles and faster internet connections.

Depending on the DLC it could add value to a game and keep it relevant and interesting for months after that game has been released. We can say that DLC is a feature that adds more content to an already released game (whether said content is good, bad or worth the price is not the focus here) and as such is an enhancement to gaming since the previous generations.

Well then what about ULC? What does ULC even mean? Let me explain, I noticed that in this generation some games seem to be losing value as time goes by. ULC or what I call Unloadable Content is the opposite of DLC. Where DLC adds new content to a game ULC is when content from a game expires or becomes obsolete.
This especially affects games with online multi-player features. At some point a few years after a game is released, the devs or publishers decide to take down the online servers for whatever reason (reduce budget, no one plays it anymore, etc) thus making part of the game no longer playable.
Examples of this are Chromehounds, Metal Gear Solid Online, The Club and it almost affected Demon's Souls as well.
So some players pay full price for a complete game only to have a part of that game taken away after a few years. What if someone bought a game a bit late (granted not at full price) only to have the online features for that game shut down a mere few weeks after his/her purchase? What if this happened to a fully online multi-player game like Warhawk? I know it's very unlikely now but will we be able to still play these games say 10 years from now like we do with "retro" games nowadays?
Now I'm not blaming the companies for doing such thing, running servers is costly and if very few players still come online compared to when their game first released then there's no point in continuing to do so. However this is still a problem and technically these games are losing part of their value over time.

In a manner of speaking, ULC loosely reminds me of on disc DLC. The content is there on the disc and you paid for it but are unable to access it for some reason or another.

What are your thoughts? Are there any other forms of ULC you have encountered in other games?

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

Saturday, July 24, 2010

Jail breaking the iPhone/iPod touch

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


This is a very simple and straight forward guide to jail breaking your iPhone or iPod Touch. If you get stuck and have any questions feel free to ask here in the comments or contact me on twitter.

For PC users
(note: make sure any software you download is compatible with your device before you use it, check both your device's generation and the firmware currently installed on it)
  • Step 1: Download iTunes and restore your device if you must.
  • Step 2: Download the Blackra1n tool for windows.
  • Step 3: Simply have your device connected to your PC with the USB cable, make sure iTunes is not running and run the Blakra1n.exe file that you have just downloaded.
    That's it, enjoy your new jailbroken phone!
    ____________
  • Step 4 (optional): If you have iTunes version 9.1 or above you might get an error saying "The program can't start because ASL.dll is missing from your computer", if that happens copy the contents of the Blackra1n folder to these directories:

    32 Bit – C:\Program Files\Common Files\Apple\Apple Application Support
    64 Bit – C:\Program Files (x86)\Common Files\Apple\Apple Application Support
  • Step 5 (optional): Once you have the files copied simply run blackra1n.exe from the new directory or create a shortcut for it on your desktop and run it from there. Everything should run smoothly from here. Enjoy your new jailbroken phone!
I will add a guide for Mac users soon, keep checking back.

Credit:
Thanks to the Blackra1n team for providing an easy to use jailbreak tool.
Many thanks to Techie Buzz for info on the ASL.dll error and how to fix it. For the original article see : http://techie-buzz.com/how-to/how-to-fix-missing-asl-dll-while-running-blackra1n.html
Enhanced by Zemanta

Thursday, July 22, 2010

Mac OS X Intstallation log [Last Update 22/7/2010]

Mac OS X Snow Leopard desktopImage via Wikipedia

This is a log of events and steps taken to install Mac OS X Snow Leopard to on a normal PC. It will be updated as I progress.

  • Attempted to Install Mac OS X 10.4 on a Mac Compatible machine. After successful install the machine restarts and gives an error message asking to "Reset the computer". Several repeated attempts later also failed. I Suspect an error with the Hardware itself.
  • Set up a Hackintosh USB flash drive. Attempted to install it on the same machine to confirm whether its a hardware or software error. The error still persists, this time the machine restarts during the Apple logo screen.
  • Set up Hackintosh successfully on a different machine (will be referred to as Mac_B from here on). Mac_B is now currently running Mac OS X 10.6 Snow Leopard.
  • Downloaded the iPhone SDK 4 and XCode 3.2.3 (requires free ADC account) and install them. The installation failed because it requires the OS to be updated to at least Mac OS X 10.6.2 (current version 10.6)
  • Downloaded the latest update for Snow Leopard Manually (must choose the "Combo" update if you plan to jump the versions in between your current and the latest). After the update Snow Leopard starts up but gets stuck on a blue screen that it refuses to go past.
  • Tried re-installing Snow Leopard via USB flash drive again, the installation seems to have rolled it back to Mac OS X 10.6 and left all the files on the hard disk untouched.
Enhanced by Zemanta

Tuesday, July 13, 2010

Warning to all Android users in the MiddleEast

After months of hunting down Android phones in the market and finding the best deals, I have finally settled on the HTC Legend, which is a fantastic Android phone. However, there is a slight problem, it doesn't come with the Android Market App pre-installed! After several Google searches (do you see the irony in this?) I was unable to find any legit way of downloading the Android Market to my phone. Android phones distributed in the Middle East (or from the Middle East as I have found some EU countries also suffer from this problem) do not have the App installed as it is not supported in this region, and Google does not provide the App for download.

There are two ways to get around this:
Option 1: I found several users on various forums complaining about this problem. In order to fix this problem to resorted to rooting or flashing their phones' OS, something I do not recommend unless you know absolutely what your doing and also because it could void your phone's warranty.
Option 2: The easy option is to download free alternatives to Google's Android Market like SlideME or AndAppStore (mind the naughty apps). They may not have all the Apps found on Android Market but they are quickly catching up and might someday even exceed it. There are several other alternative markets out there but these two seem to be some of the more popular ones.

You can bide your time with these market apps and hope that the next update for your Android phone will contain the Android Market, or avoid the problem completely and import a phone you are sure will contain the App like the Nexus One.

Monday, July 12, 2010

Welcome!

Woo! My first blog post!
Welcome to my blog and enjoy your stay!
This is be mainly a Development/Programming blog for various languages and platforms. I'll be posting and documenting tips/tricks, tutorials, reviews and experiences I've had with development. You might occasionally find some posts on the current tech trends and some of my personal opinions on what's going on around.
This is blog is aimed at gaining/sharing knowledge and bridging gaps, so if you have any questions within my field of knowledge, please ask away and I will try my best to answer. On the other hand, feel free to correct me if I have posted any wrong information, we all make mistakes and my purpose here is too learn just as much as to share what I have learned.

Thank you!