Saturday, November 14, 2009

Excerpt (3)

In the case of the Trinity, however, the Qur'an asserts that this mistaken doctrine is the inevitable result of the limitations of human imagination. If theologians do not recognize that no matter how deeply they probe, no matter how sophisticated their discourse, they will never truly understand the nature of God, they will always end up with concepts that restrict God in a way that is not in accord with his nature. Thus, the claim that Jesus is God's son is criticized in the Qur'an as a kind of "exaggeration" in religion.
39:3 tsotq

Excerpt (2)

I personally do not believe in automated link requests. The thing I say at the conferences, when I talk about them, is any link that you can get because you have sent it to "Dear webmaster, please link to our site," is not worth it; it does not have any value. Any link you can get that way is useless, and anybody that would give you a link upon receiving an email addressed to them in that way obviously doesn't understand what they're doing and must not have content that would be useful.
I hate to say it, but it's the truth. I get them every day, "Dear webmaster, please link to us." And I delete 'em.
116:5 omh

Saturday, November 7, 2009

Link (7): Bug in Latest Linux Gives Untrusted Users Root Access

A software developer has uncovered a bug in most versions of Linux that could allow untrusted users to gain complete control over the open-source operating system.
Read more...

Link (6): SSL Protocol Flaw

Software makers around the world are scrambling to fix a serious bug in the technology used to transfer information securely on the Internet.

The flaw lies in the SSL protocol, best known as the technology used for secure browsing on Web sites beginning with HTTPS, and lets attackers intercept secure SSL (Secure Sockets Layer) communications between computers using what's known as a man-in-the-middle attack.
Read more...

Sunday, November 1, 2009

Link (5): 100 Incredible Open Courses for the Ultimate Tech Geek

While colleges can be a great place to build up your knowledge of technologies of all kinds, real world experience and free learning resources on the web can do a pretty good job of showing you the ropes as well. Here are 100 free resources to help you hone your techie skills and learn more about the ever-changing world of technology.

Saturday, October 24, 2009

Google Chrome Portable Download

The portable apps website has started packaging freeware applications recently. Google Chrome Portable 3.0.195.27 release is among the popular new packages. The package installer file doesn't contain the whole application. The launcher and installer are hosted on SF site and the rest is pulled from Google (chrome_installer.exe).

Unfortunately and discriminately, this file is not available for some countries including Iran and if you click the link, you'll be presented with a shameful text from Google. So if you have any problem with downloading process, you can alternatively grab the complete application from Download Link 1 or Download Link 2.

[Update 10/24/2009 8:27 PM]: I've had a discussion with John T. Haller of portable apps about the new download source. He believes it's illegal to include the installer according to the software EULA and "it should be removed". I believe it is unfair, immoral and also illegal to restrict program access by Google according to article 2 of the Universal Declaration of Human Rights. The judgment is up to you.

Wednesday, September 23, 2009

Excerpt (1)

It's still happening today. People are saying, "Wow, we need more of that Web 2.0 stuff. We need more AJAX on our site." that's silly. That's like saying, "We're building a building; we need more concrete in that." It's just part of the structure. It's not an end unto itself.
82:7 omh

Excerpt (0)

What is most remarkable is the rise of what I will call the "non-Muslim Islamic fundamentalist." These are people who (perhaps because they read their own scripture in a literal and decontextualized fashion) open an English translation of the meaning of the Qur'an and, plucking a verse out of context, declare that this is proof that "Muslims believe (this) or (that)."
vii:1 tsotq

Tuesday, September 1, 2009

Photo (4)


photo: omidqrose.com

Friday, July 24, 2009

Link (4): Learning from the Gecko's Tail

Biologist Robert Full studies the amazing gecko, with its supersticky feet and tenacious climbing skill. But high-speed footage reveals that the gecko's tail harbors perhaps the most surprising talents of all.

Watch this amazing video available in four languages (trun on subtitles!).

photo: ted.com

Wednesday, July 22, 2009

Link (3): <!DOCTYPE html>

Are you worried about the pain of it? Have you embraced it? There are already tons of posts and news about HTML5 coming. Read this article to have a fair vision of the future web.

Tuesday, July 21, 2009

Photo (3)


photo: omidqrose.com

Monday, July 20, 2009

Link (2): Bing Search Provider for Popular Internet Browsers

I've been using bing for a while and I believe it's a very competitive search engine. Read this page to add bing to your browser's search toolbar.

Note: The Firefox add-on introduced in the link above appears to be suspicious! Use the "A few other ways to add Bing to your IE or Firefox browser" section for a safe installation.

photo: bing.com

Thursday, June 25, 2009

Privacy in Peril: What Internet Users from Iran Should Know

What's in the news

According to Wall Street Journal, Iran “has developed, with the assistance of European telecommunications companies, one of the world’s most sophisticated mechanisms for controlling and censoring the Internet, allowing it to examine the content of individual online communications on a massive scale.” [1]

The article says they are using deep packet inspection method to not only block communication, but to monitor it to gather information about individuals. This information could be your instant messaging text, email, twitter updates, facebook activities and even your passwords. It also suggests that all the time-consuming packet inspection process is done through a single gate at a monitoring center called telecommunication company of Iran: "Every digitized packet of online data is deconstructed, examined for keywords and reconstructed within milliseconds."

The Nokia Siemens Networks, which sold the system to Iran in the second half of 2008, has announced that "The restricted functionality monitoring center provided by Nokia Siemens Networks in Iran cannot provide data monitoring, internet monitoring, deep packet inspection, international call monitoring or speech recognition. Therefore, contrary to speculation in the media, the technology supplied by Nokia Siemens Networks cannot be used for the monitoring or censorship of internet traffic." and "Nokia Siemens Networks provided TCI, the Iranian national operator, with the capability to conduct voice monitoring of local calls on its fixed and mobile network." [2]

It is worth mentioning the Internet speed in Iran has been very slow recently. This is not a proof of DPI method implementation or anything similar but surely is a dubious symptom.


What should you believe?

I think it doesn't really matter if the WSJ is correct or not. The only tangible reality is the vast filtering of Internet in Iran. This forces the populous users of Internet in here to use any option available to bypass the system. From anonymizing proxy servers to open proxies with various protocols. The Freegate software which enables users from limited countries to view blocked websites stopped the service for Iranians recently due to apparently extreme usage.

This brings up a new problem: your privacy. Most online traffic of Iran is trapped in integrated servers whether the country is using sophisticated systems to monitor traffic or users find alternative (and usually common) solutions to access the free Internet. So unless you want some bad guys blackmail you with your life's most personal info in near future, you'd better protect your privacy.


What to do?

Here is a list of techniques you can apply to protect your privacy (with no guarantees):

1) Encrypt your sensitive online activities using a Tor node or a legitimate proxy that really encrypts traffic with SSL. You can also use encryption in your instant massaging and VoIP software by configuring a secured proxy. Even the DPI can't see the content this way.

2) Having all your traffic traces integrated at a place increases the risk of blowing your identity. Don't use a single and probably widespread solution to access free Internet. Use as many options as possible.

3) Change your Internet accounts' passwords frequently if you use proxies. If you have used a proxy service to login to a website that doesn't support SSL encryption by default (e.g facebook), chances are high that the proxy server has your raw credentials logged already.

4) Don't use your real name in social networks and blogs if you are worried about being arrested for materials you post.

And last but not least, the security measures applicable for protecting privacy are much more. I'll gratefully extend it if I receive any comments.

[1]: WSJ article
[2]: Nokia Siemens Networks announcement

External links:
DPI
p2pnet story
Tor project
TCI

Thursday, June 18, 2009

Photo (2)


sky, big

photo: misterarasmus @ flickr

Wednesday, June 17, 2009

Photo (1)


upwind

photo: origin unknown - modified

Tuesday, June 16, 2009

Photo (0)


responsibility, divine, evil, fake, common, goal, vague

photo: origin unknown

Wednesday, May 13, 2009

Link (1): Privacy in Peril

"Online tools really aren't free. We pay for them with micropayments of personal information," says Greg Conti, a professor at the U.S. Military Academy at West Point.

Read a great article about What google knows about you.

Tuesday, April 21, 2009

Link (0): Hide Your Tracks at Work

We all spend some of our time at work doing things that have nothing to do with our job. We surf the Web. We play games. Sure, we all need our downtime, and the enlightened manager knows that. But still, we'd rather just surf in private than deal with the raised eyebrows.
I believe any developer should be able to surf the web and read as he likes when he gets tired or frustrated. This process could increase the productivity in long term if applied modestly. Some managers won't get it anyway so you can try cool tools introduced in this post (at your own risk) which hide your tracks so you can surf conveniently!

Saturday, April 11, 2009

Disastrous Algorithms: The Internet Filtering Story

I've noticed that many cool websites have been filtered recently in Iran. For example, tinypic.com along with other famous image hosting services, ZDNet blog, makeuseof.com and even blogger.com! So you might have guessed that I'm surfing my own blog using a proxy service! Putting strange policies that support the Internet filtering aside, sometimes programmers are responsible for erroneous filtering of websites.*

Thanks to various proxy services available for free, any child can bypass the filter nowadays and the only tradeoff is speed. But sometimes it's more than that, for instance, when the U.S. government sponsored a service to assist Iranians in overcoming Internet filtering imposed by the Iranian government, the U.S.-sponsored service in turn sought to filter out pornographic sites so that Iranians would not use the circumvention service to obtain pornography. The service filtered any site with "ass" in its domain name—including usembassy.state.gov, the U.S. Department of State's online portal for its own overseas missions.[1] They have probably chosen to use The Most Simple Solution but missed the conclusion!

* I've seen an email address shown by my ISP which allows users to send website addresses filtered mistakenly for revision. You have to write the address in your email subject. Here it is: filter[at]dci.ir
[NEW 4/26/2009]: Almost all websites mentioned in this post are now unfiltered!

1. J. Zittrain (2008). The Future of the Internet And How to Stop It. Yale university press.

Thursday, April 2, 2009

The Most Simple Solution

Intro
Two years ago, I was working on a Digital Signage project at a company which developed various softwares for another company in Germany. It's become very common and of course economic to outsource software projects these days. Some call it a win-win game because both parties gain a lot thanks to countries different states of economy.

The project was considerably big on paper. There were many servers and clients that needed synchronized communications and we had to consider ftp servers for massive file transfers. There were also different applications written in different languages that needed to cooperate. My job was to develop a solution to organize and manage all softwares, network communications, scheduling, etc. The cool part was me as the whole development team!


The Crazy Job

To be honest, before this project I couldn't imagine that complex softwares could be developed by a small team. I always remembered the enormous list of names at the end of computer games (I'd never forget The Neverhood!) when I encountered a professional software (but why there is no cast for those impressive softwares anyway?!).

The company I worked for was used to develop big and complex applications this way: A team of one or two programmers managed everything. It is a very good experience but truth to be told, it's sheer craziness!
I had the advantage of choosing my favorite language for development and at that time I chose the VB.NET! Figure 1 shows a very rough schema of the main application just to make it more clear.


Figure 1. Main application schema


The Problem
OK that was a long story. The main part is about a communication problem between two different applications. The main application sent commands (download, view, suspend, shutdown, etc.) to clients. The clients then did the appropriate job. Each client supposed to have a viewer application which viewed graphical contents. I said 'supposed' because it was not developed since and it intended to be in pure C++.

The senior developer who was responsible for this viewer application was busy with another one-man project at the time so I had to do some parts virtually. The problem was simply the way two applications communicated. OK I know you have already listed possible approaches.* I also considered many: MSMQ, web services, various databases, COM Interop, etc. and surprisingly, the programmer refused any!

He demanded the communication mechanism to be as simple as possible. Actually simple for his side as he was busy. So I came to a very simple conclusion which the senior developer accepted without any hesitation. I created two folders at each client: Request and Response. The server created xml files in the Request folder and the client watched the folder for new requests (i.e files). After processing each request, the client deleted the file and optionally issued a response for the server to log through the response folder in the same way. I even created a simulated client which processed request under stress testing and it worked like a charm!


Conclusion
The project had many different parts and many technologies were involved. But this one was really fun! Sometimes you just can't use the most reliable and obvious solution and every solution won't work everywhere out of the box. I've seen many developers implement complex solutions for simple tasks which often use more system resources. The only key is to consider all possibilities without feeling shame! There are hopefully always alternatives and let them be simple but practical.


* I consulted guys at MSDN forum at the time. Here is the link.
photo: omidqrose.com

Wednesday, March 25, 2009

Because They Like to Do ...

The drop-dead killer programmers you want on your team, as likely as not, were not CompSci or Software Engineering majors. They're doing programming because they like to do programming.
I just read an article by Esther Schindler. The quoted text is the article in a nutshell. I almost agree with him. I believe the bests in any field were not those who followed a strict pattern. Mozart might have turned to painting if there were no musical instruments for which to compose, but there is no particular reason to believe that his paintings would be as good among the work of painters as his music is judged to be among that of musicians.[1]

I believe there are so many people wasting their time studying different fields without any success or satisfaction and that's because we can't just copy the success code algorithm and run it in a separate thread and wait for the results!

Anyway, it's not about having a degree or not it's about having faith in my mind. After all if I was a recruiter and my company needed a great developer, I'd choose someone with real programming skills who likes coding and to be honest, I'd prefer him to have a university degree.




1. J. Zittrain (2008). The Future of the Internet And How to Stop It. Yale university press.

Saturday, March 21, 2009

The Answer to Obama's Message

Iran's supreme leader dismisses Obama overtures.

Well that response was pretty obvious. Obama had extended the sanctions against Iran for another year a couple of days before Nowrouz. It is like to be a very nice gentleman at the front but stab in the back. I'm not supporting any side in this case but frankly, considering all aspects, that "Eid e shoma mobarak", although being very cool and respectful, was actually ineffective: Absurd.

Friday, March 20, 2009

Nowrouz


Nowruz marks the first day of spring and the beginning of the Iranian year and is a secular holiday. It is celebrated on the day of the astronomical vernal equinox, which usually occurs on March 21 or the previous/following day depending on where it is observed. ~ from wikipedia

Nowrouz has come and I have started a weblog in English! I wish all human beings, specially Iranians a very good year.

To know more about Nowrouz, check out this article from wikipedia. You may also be interested in watching the special video message for all those celebrating Nowruz, realesed by President Obama from the White House blog.

Happy new year!

The Innovative Post

Just testing...
This could be my first innovative post!