Archive

Archive for the ‘My Writings’ Category

2007 in Review – Part 6

December 24th, 2007 No comments

<< Part 5
My year’s top books

It has been a busy year, college homeworks are really getting annoying and our instructors are pushing us hard with all the works they are packing all over us. However, I manage to read some books both in Arabic or English. I’m going to talk only about English books here.

Hmmm, technical or fantasy books or …?! Let’s just keep it technical and IT books. My number #1 book of the year goes to… The Principle of Beautiful Web Design by Jason Beaird. I have been designing web sites for long time, this book made me realize many web design concepts I never really paid attention to or not even think about it. It is fun (at least for me) to read this book and I really recommend it for every web developer out there.

I’m going to put a shot of one of the shelves I have to make the post looks better lol!

Books 1

And I guess another one makes it durable!

Books 2

Next.. Part 7

Categories: My Writings Tags:

2007 in Review – Part 5

December 24th, 2007 No comments

<< Part 4
My year’s top gadgets

I never really bought much computer gadget as I did in 2007. Hell, in December alone I spent over $300 on computer gadgets. I’m going to talk about SOME of the computer gadgets I was able to collect in 2007!

First of all, here is a picture of my laptop setting just next to my desktop PC. It is an Asus A8Js and you won’t find it in Kuwait because I searched it everywhere and couldn’t find it so I decided to buy it overseas.
Laptop
Click on the picture to see a large size.

That’s my 3rd laptop and my first laptop I bought it from UK about 9 years ago. I think its from somewhere in Newcastle. I won’t show it to you because it is ugly and broken.

I’ll start off with my Logitech Freedom 2.4 Cordless Joystick which I’m really happy with it. The control is really excellent and comfortable as well as its weight and size. Easy to access buttons and fast respond (at least for me). I mainly use it for Flight Simulator X and X3: Reunion games. I’ll give this joystick 8/10…

Joystick
Click on the picture to see a large size.

Keyboard has been an essential component even for my laptop. I have been using wireless keyboards since few years back when I went to Canada and bought my first Wireless Creative keyboard from Best Buy, Eaton Centre in Toronto, for freaking sake $150 (now it’s broken). This year alone I have bought several keyboards and I’m thinking to buy the Logitech Cordless Desktop Wave for my Desktop, I saw it in Best Buy the other day. Currently, the best keyboard of the year is my dear Logitech Cordless Desktop Comfort Laser (with mouse) which I usually connect it to my laptop. It is a Split-key which seems to be very comfortable for fast typing without looking in the keyboard. I’ll give it 9/10…

Keyboard small
Click on the picture to see a large size.

I have also bought several sound cards and speakers/headphones for my laptop and desktop PC. I do not use anything less than 5.1 for speakers anymore and I own a Creative Inspire P5800 5.1 speaker which was bought at the beginning of the year and I’m glad I did. And of course I had to buy a sound card for my desktop and another for my laptop to provide high quality sound in both machine which are X-Fi Xtreme Audio Notebook and Live! 24-bit External, both from Creative. But for 2007 I give my Logitech Digital Precision PC Gaming Headset as the best owned speakers/headphones of the year and its in the upper right corner of next picture. Hmmm, superb sound quality for gaming or any use and it includes a USB input or you can use the normal 3.5mm analog connector. It has a unique design that allows air to flow into your ears to feel cushioned and comfortable… 9/10 should do it.

Sound and related gadgets small
Click on the picture to see a large size.

There are many other gadgets I’d like to share, but the post will really get long and boring. So let’s end the gadgets part here.

Coming next… part 6

Categories: My Writings Tags:

2007 in Review – Part 4

December 24th, 2007 No comments

2007 For Programmers

It’s now the time of year when we look back before we start the motion towards the New Year. The astonishing Microsoft’s Visual Studio 2008 with the incredible amount of add-ons such as LINQ which is a superb plus for developers. Not to mention the popularity of XML is rising as more languages are based in XML structures such as XAML for SilverLight.

Programmers all over the world are thinking of Java 7 and how the end result of the platform will be. The release of Java 6 was absolutely a big tornado in the programming world with the new XML parsing APIs. Hopefully, for Ruby on Rails, the web framework for Ruby programming language, we are going to see more of RoRs applications in 2008 since it passed the 2nd milestone in 2007 by releasing version 2 of the framework. Apple now supports RoR as it being shipped with Leopard as a built-in application.

Here’s a statistics of programming languages popularity in 2006 and 2007 from O’Reilly:

It’s hard to expect what will happen in 2008. But I really hope Google Code expands to provide more and more usable codes for developers. It makes life easier, ain’t it?

Categories: My Writings Tags:

2007 in Review – Part 3

December 23rd, 2007 No comments

Haven’t read part II ? It’s here

The Social Web Gurus

Social websites have grown up very fast upon the beginning of the year 2007 and still growing at rapid speed. As another year draws to close, it is time to look back and see what have been taking in the web. The web was the top reflection of the tech news as social networks are getting bigger and hotter. Facebook now worth 15 billion? No (He means it worth more) according to Mark Zuckerberg, Facebook CEO. MySpace is now crying as it growth slows down in at the expense of Facebook growth. It’s hard to anticipate what will happen in 2008 regarding social networks, but I can say that the buzzword web 2.0 will no longer be used. We don’t even hear the buzzword web 3.0 anymore because no one cares.

web 2.0

Microsoft SilverLight (so-called Flash Killer) has gone out of beta and Adobe Flash/Flex engineers are feeling the pressure of the competition. In addition, the introduction of JavaFX by SUN to compete on creating Rich Internet Applications is starting to buzz out Microsoft and Adobe. The battle of RIAs technologies has started already, more heat will be drawn in 2008 and I expect more RIA tools will be introduced. However, I think Ajax popularity will remain the same.

More web services and mash ups are being available for web developers and Google is taking the upper hand in providing APIs as it marches towards world domination with the release of more APIs at astonishing rate. Social networks expanded their list of APIs. In addition, developers, in 2008, might actually adopt Microformat concept and then the web can be more semantic.

It’s like bubble of late 90s and early 2000 all over again. I think soon there will be no domain names left to take! Unless companies, for some reason, want to take weird names such as: hitMeHard.com! Actually that name is also taken by buyDomains.com!!!!

I’m gonna end this part with an interesting video I found in DILigence blog:

Stay tuned for Part 4 to part 11…

Categories: My Writings Tags:

2007 in Review – Part 2

December 23rd, 2007 No comments

Continuation of 2007 in Review – Part 1

The blog!

I have been blogging since this March and to be honest, I really had fun doing it. So let’s see some facts and statistics on my blog since it started:

Blog statistics

It is still 21st of December and as the statistic shows, the number of visitors has doubled since last month. The numbers are far greater than what I have been expecting. Lovely…

USA, Kuwait, Canada, and Europe were top countries visiting my blog respectively. I can’t imagine how Kuwait got the second place, I never advertise for my blog and I only know several people in Kuwait who actually reads my blog. In addition, Google, msn Live, and Digg were my top referrers to my blog. BIG TIME!

The topic which took most attention and had most comments is “PHP is not a bad programming language“. That topic alone had 6 comments and over 1000 readers worldwide which is kind of scary number for single post and unpopular blog.

Thanks to NoCreditCard, Bruno Lowagie’s Online Gazette, I’m just a programmer, Olkenava, My Hoppy is Programming, and Archana Patchirajan for referring to my blog. And also my thanks to all who referred to my blog not mentioned here. I wrote all the blogs who technorati reported to me.

Al-3baidly and Nosayba thank you for your constructive comments and arguments we had in college. It’s so nice to discuss with people I know about my blog and topics in my blog. Al-3baidly I hope we can continue discussing about tech and IT more in our free time.

I hope you all enjoy reading my blog as much as I enjoy writing it.

Next, let’s talk about the web at a glance in Part 3 of this topic. It might get boring for some of you since most of the stuff I’m going to talk about (part 3 and over) depends on my personal perspective, you might agree or disagree.

Categories: My Writings Tags:

2007 in Review – Part 1

December 23rd, 2007 No comments

The holiday season for most countries all over the world for Christmas and New Year has started and the blogosphere are starting to post 2007’s reviews. Here, in Kuwait University or Kuwait in general, we only have a holiday for Eid ul-Adhu which has ended (New Year 1 day holiday on the way) but since my lovely readers are from all over the world with different cultural background I’m going to take this chance to write the overall year preview.

Lots of stuff happened in 2007 the “Social Network” year as being called in the blogosphere and techies geeks. From the release of Vista, Leopard, iPhone, Java 6, Ruby on Rails 2, SilverLight and Microsoft Visual Studio 2008 to the rumors of Google. In fact, Google has taken lots of attention with the introduction of Google’s Andriod OS for mobile devices after the rumors of GPhone. I’ve also noticed the use of acronym CMS from Content Management System to Community Management System in my feed. Amazing strides has been taken in technology in 2007 and we are one step closer to Starwars era.

Categories: My Writings Tags:

PDF embedded within HTML page

September 22nd, 2007 26 comments

Many web developers are missing the fact that PDF files can be embedded within an HTML web page. Just like how QuickTime movies, Flash, MPEGs, and WAV files can be embedded into an HTML document, PDF documents can be used in the same way. That gives both, the developer and the user, many advantages and flexibility.

Nowadays, a common use of PDF through the internet is clicking on a hyperlink which directly links to a PDF file. The user can then download the PDF file or open it through the internet explorer. Embedding PDF through the web page can be flexible in some situations. For example, generating a PDF file to show dynamic data that change in time, like comments and news. In addition, embedding PDF functions like a normal PDF file opened in Adobe Reader with its numerous interface options available to be used in the web page. You’ll see more of this method features and advantages on this article as we go on.

One of the problems with embedding a PDF file is that it can strain users’ computer resources. File size is also another problem that can slow page loading.

HOW TO

First you’ll need to know how to convert a document into PDF file. Adobe has an online tool to convert many types of documents into PDF. You can try it for free.

Here is first example,<embed src="file1.pdf" width="500" height="650"></embed>

We used the <embed> HTML tag to embed a PDF file into a web page. The property src is used to set the location and the name of the PDF file. Relative or absolute URL can be used here just like images. The width and height property sets the display width and the height of the document. You can also use pixel or percentage (e.g. 90%) here just like image sizing or tables.

If you are like me and want your code to meet the XHTML standard – It’s not like I’m OCD – then you better use the <object> tag instead. <object> also helps on downloading Acrobat Reader if it is not available on user’s machine.

Just a note, <embed> is not an XHML standard, although it is supported by many browsers. It was created by Netscape as a method to embed players in browsers and then many browsers adopted it.

Here is an example on using object:

<object type="application/pdf" data="file1.pdf" width="500" height="650" ></object>

The type property – indicates the MIME type – helps identifying which program is suitable for this file. A list of some MIME types used on this property available here. The data property is the location of the file. The width and height properties are to set the width and height of the document respectively.

Between the opening and closing tags you can add anything as an alternative if the browser do not support <object> or cannot find its program. For example, you can add the link to the PDF file if it cannot be viewed in the page:

<object type="application/pdf" data="file1.pdf" width="500" height="650" >Click <a href="file1.pdf">here</a> to view the file</object>

You can use anything between the two tags to show. We used a link on the previouse example to open the file normally if it cannot be embedded. You can use a nested object (object inside object) or anything.

Thanks to adobe, they gave us the flexibility on choosing the what to display on the PDF document just by coding. By passing parameters when loading the PDF we can do that changes we want.

The most common 3 parameters are:
toolbar – to show the toolbar in the embedded document. 1 = show, 0 = not show
navpane – to show the navigation bar in the embedded document. 1 = show, 0 = not show
scrollbar – to show the scroll bar in the embedded document. 1 = show, 0 = not show

Here is a list of all parameters

Here how to use those parameters:You can use those parameters in any combinations and they also work in object tag.
file1.pdf#toolbar=0 &scrollbar=0
file1.pdf#toolbar=0
file1.pdf#navpanes=0&scrollbar=0 &toolbar=0

Just don’t forget the & symbol between the parameters and the # symbol at the end of the file name.

Note that in full screen mode, the PDF will display in full screen inside the defined region only, not full screen within the web browser or within the whole monitor screen.

Sponsor Text
The BSCI 642-901 test will verify that the winning candidate has significant knowledge and skills needed to use advanced IP addressing in addition to routing in applying scalability for Cisco ISR routers linked to LANs and WANs. 220-601 test format is linear format which is computer-based test. 1Y0-259 study guides offer a variety of support to help improve professional skills and knowledge. SY0-101 involves a methodical working knowledge of TCP/IP networking is entirely critical for achievement on the Security+ test. Candidates for 70-620 should have knowledge of determining issues related to network connectivity.

The buzzword “AJAX”… Get more familiar with it.

July 11th, 2007 No comments

Introduction

I decided to write about Ajax because so many people don’t know anything about it. Most of them never heard about it. At least that’s what I find when asking my colleagues and friends in Kuwait University even computer engineering students. The buzzword “Ajax” seems to be a strange word around our community. I wonder if even “Web 2.0” or “Mash-up” is known among computer engineering students here?

If you have been one of the users of the internet for many years, you have noticed the tremendous improvement in web experience. From static ugly looking web pages to fully dynamic web pages with rich user experience and social contribution wikis. From a fully static text web pages to highly user friendly drag and drop web applications.

There are many ways to create RIAs (Rich Internet Application). The most two common methods are JavaScript (with Ajax technique) and Adobe Flash. Those two methods have played a tremendous part in shaping the way the web can be used interactively in modern website. Recently Microsoft announced SilverLight as a new development tool to create RIA which aims to compete with Ajax and Flash.

What is Ajax?

Ajax is the acronym for Asynchronous JavaScript and XML. It is based on an XML DOM (Document Object Model) which is an XMLHTTPRequest object, and it is supported by almost all browsers lately. “Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways.”(1). It is not a new technique; it has been used before the term was introduced, but only recently it gained popularity. In fact, XMLHttpRequest (XHR) has been used since 1999 when Internet Explorer 5 released.

Why Ajax?

• Less Resource Consumption
The main advantage of Ajax is less resource consumption on the server side. That’s right; you don’t have to load the whole page every time a user clicks on a link. Let’s take Gmail for instance, when you click on one of the links on the menu, it does not reload the whole page. Only part of the page will be reloaded. That’s called “Call on demand”, and it means it only loads what needs to be changed on the webpage. That’s how Google saves bandwidth, by sending less data to users when navigating, and also saves CPU, RAM, and many other resources. Therefore, Google will pay less for providing its email service to users which means that Google will economically gain more profit with their system.

• Faster Browsing
Browsing the website is much faster and less tedious since you are loading only part of the page that is needed to be loaded rather than loading the whole page. It is a big advantage for companies that rely on users to browse their websites to boom their business. The faster the website is loading, the more the user will be comfortable browsing it.

• A Web 2.0 Standard
Ajax is a web 2.0 key component which was defined by O’Reilly. Using it is a big plus. Many companies hire web designers just because they are familiar with web 2.0 standards like Facebook and Flicker. After all, web 2.0 is business hype.
Ajax developers get paid more than non-Ajax developers. Few days ago from the time I write this article, a principal USA Department of Defense agency was looking for Ajax developer, offering salary of $200K a year with no taxes. That’s around $16,500 (5000 K.D) a month.

• Cross Browser and Cross Platform
Ajax works on all servers, even the simplest one. All you need is a server that can show/run html web pages. Ajax can work on your local computer by just opening the webpage file!

Ajax also works with many browsers despite of some inconsistency among popular browsers because Ajax is based on open standards.

• Competes Flash/Flex
I really love Flash ever since Flash 4. But I have to admit it, Ajax in many situations, is much better. Can flash run without plug-in? Hell no! And Ajax in many cases produces a smaller size files than Flash and sometimes runs faster than Flash.

• Compatible with many programming languages
Ajax is compatible with any server-side language such as PHP, ASP, Ruby, Perl and so forth. Heck, Ajax can even work with Adobe Flash/Flex effectively by a JavaScript bridging tool provided by Adobe lately.

and Disadvantages
At the same time, there are number of disadvantage to Ajax. One is that Ajax is based on open standards. That means browsers can freely change how XMLHttpRequest works. But that can be easily overcome by a method commonly used by developers. Some consider open standards as an advantage because it is supported by many browsers and there is no vendor lock-in or monopolizing.

Another disadvantage is the integration with the browser; the common ‘back’ button problem with Ajax and bookmark problem. Making XHR request does not modify the history stack of your browser. Therefore, the ‘back’ button will have some issue and bookmarking the page will not work properly.

Conclusion
There are many advantages and disadvantages for Ajax. Ajax is neither perfect nor bad to be used as a web application. It has gained popularity among top websites and the industry seems to be agreed on using Ajax, no doubt it fueled the web 2.0 movement. Ajax has become a phenomenon that shaped the web and made the internet a happier place. JavaScript 2.0 is being developed by the time I am writing this article, we are looking forward to see what will happen to Ajax when JavaScript 2.0 is out.

(1) by Jesse James Garrett of web design firm Adaptive Path

Resources:
http://en.wikipedia.org/wiki/Ajax_(programming)
http://en.wikipedia.org/wiki/ECMAScript
http://www.adaptivepath.com/publications/essays/archives/000385.php
Foundations of Ajax, by Ryan Asleson and Nathaniel T. Schutta. Apress.
Ajax in Action, by DAVE CRANE and ERIC PASCARELLO. Manning.
Ajax for Web Application Developers , By Kris Hadlock. Sams.
Ajax for Dummies, by Steve Holzner. Wiley.

Categories: Ajax, My Writings, Programming Tags:

Free cheatsheets for developers

July 10th, 2007 3 comments

After seeing the cheatsheets I have written in last post, I decided to look up the web for free cheat sheets and guess what?… I found alot of them downloadable for free. Search in google and you’ll find a lot.

Here are links to some web developers cheat sheets that I need:

Cheat Sheet Roundup – Over 30 Cheat sheets for developers

Apollo Cheat sheets

Actionscript Cheat sheets

More good Cheat sheets

HTML/XHTML Cheat Sheets

MySQL Cheat sheet

Another MySQL Cheat sheet

XML Syntax Quick Reference

Okay, let’s look for other programming cheat sheet that I might find useful:

C++ Reference Sheet

Java Reference Sheet

At the end, I found this and this!!! it has everything…

IBM island in Second Life

July 9th, 2007 No comments

Today, despite of my studies in the waiting list, I decided to wander around IBM island on Second Life to kill my boredom and get ready to study.

When I teleported to the island at first, I saw the big model of IBM area on second life in front of me. The model shows the structure of the area and names written on each structure. I was stunned with the design and look of the area.

Second Life - IBM island model

And behind me its IBM Recruitment which seems a circular area with seats surrounding it from all directions.

Second Life - IBM Welcome Center

The model shows the name of each area, when I click on the area it shows me the way to that area with an arrow in the screen and a mark on the map.

My first destination is Virtual Universe Community. The area is very huge, on my way I passed through IBM Theater as you can see in the screenshot. It’s like a conference area with a huge screen on the middle of the area.

Second Life - IBM Theatre

As I entered the target building, there was a nicely designed fountain surrounded by circular stairs which I’m standing on it as in the screenshot.

Second Life - IBM Virtual Universe Community

Just next to me is the Guildmaster office to contact the community’s Guildmaster Boris Frampton. No one was on the office and there was a note on the table written on it the email address of the guildmaster.

I went up all the way to the end of the stairs, it is the conference room. In the board/screen, as you can see in the pictures, a schedule for next meeting is 14th June with some key points. Now its July so it seems it’s outdate!

Second Life - IBM Virtual Community Conference Room

I’ll continue the journey in next post which should be soon.

Categories: Games, My Writings Tags: