Friday, June 10, 2011

TechWomen - Facebook TechTalk

As most of the people who know me, know, I've been selected to participate in the TechWomen program, a technical mentor-ship program at Silicon Valley, California initiated by the U.S department of state.

Today I can say that I've been here in the U.S for a week now, it's been full of excitement so far, however, some disappointments as well, in the area of the mentor-matching process and organizing things.. I would've been much better if mentors and mentees were introduced to each other ahead of time, and to have more sufficient time to prepare for the project instead of consuming time preparing for the project.

But some of the workshops we've been doing are really impressive, today we've been to a TechTalk at Facebook premises in PaloAlto, Silicon Valley, California.
Mike talked about how they had to optimize and come up with a new version of PHP in order to increase performance and server utilization efficiency, and then they opened-source this version under the name of HipHop for PHP.

That was the most exciting part to me, among all the other technical things that Mike talked about, and Tim also talked about how it is to work at Facebook, was really impressive how they can still be "in control" with all this flexibility given to employees, I tried to think about it and because we had limited time for questions (and I already asked 3 questions), I didn't get the chance to ask how exactly could Facebook still stay in control with the productivity of the employees with all this flexibility given to them, but then i guess i figured out that it most probably relies on the fact that Facebook only hires the best engineers, those who are eager to get things done, those who actually "eat" code as they say, I like that.. & I've been starving for "such" a code since a very long time now.. yum yum

Lesson of the day: "Move fast & break things. Fail, fail harder. Be BOLD. What will you do if you weren't afraid? Done is better than Perfect" - a combination of Facebook philosophical quotes, taken from the TechTalk today at Facebook premises

Friday, December 24, 2010

QR Code Images




QR codes are 2D code images (black and white dots and bars) that have text encoded into them in several formats (text, URL, phone number, SMS), and can be read with qr code reader softwares, available online & in most smart phones.. they are also called "hardlinks" since they can serve as physical world hyperlinks.. you can simply read a printed or even artistically painted qr code image with ur phone & then it will open u the website url that is encoded in the qr image!! same as a soft hyperlink.. They can be and are used widely in marketing to attract traffic to certain websites or to hardlink a brand's website.. it can also be printed on T-Shirts, Mugs and can be formed with colored materials like coffee beans or M&Ms


qr stands for Quick Response

Audi Japan’s World’s Biggest QR Code (so far):


More:
Wikipedia: http://goo.gl/zahiN
QR Code Reader: http://goo.gl/mNdex
Google API: http://goo.gl/sB52F
Another QR Code Generator: http://goo.gl/JhWOG

QR Code Custom Designs:

Sunday, November 28, 2010

Packing Buddy


It's hosted live now, but the prototype is not yet finished, however I added a sample demo to be viewed, you may visit it here.
Still needs lots of work.. I need a UI designer/developer!!

Recent Recommendation :)

My manager said looking for a developer to recruit "I want someone like you" then he proceeded "in fact, there's no one like you!"
- Osama Darawsheh | Development Team Manager | Softact

Wednesday, September 22, 2010

File Shredder

Do you have critical data files that you need to permanently destroy? you can use file shredders for this task, but if you're paranoid and don't want to run executables downloaded from untrusted resources, you can simply write your own file shredder, all you need is an IDE (e.g. Visual Studio, Net Beans.. etc.)

File Deletion Concept (OS 101):
The OS does not physically remove deleted files from your hard disk. Emptying your Recycle Bin does NOT protect you at all. Your sensitive files can be recovered, even after you format your hard disk! When you delete a file from Windows, the OS just marks the file as deleted in the file allocation table (FAT), but the data of the file is still on your hard disk, even though not accessable through the system friendly UI. There are many tools available which can let you or others easily recover your sensitive files even after you format your hard disk. Thus, make sure you ALWAYS shred your sensitive files if you plan to sell your PC later on.

A simple analogy would be like adding a new column to a database table to indicate if a record has been deleted, without actually deleting the record from the database. And in the system front-end, fitching only records of which the Deleted column is set negatively.


Technique:
The simplest technique to shred a file, is to overwrite the contents of that file multiple times with junk data before the file is deleted, so that the previous portions of the hard disk drive that were allocated to that file would be actually overwritten and untracable.

Download Executable
Download Source Code



Have a glance at the code
Main Function (DestroyFile) [Tip]: This function could also be implemented in a separate asynchronous thread to keep the main thread and UI responding and interactive with the user while the file is being shredded, because if the file size is too large, then the main thread (including the UI event handlers) will stop responding until the file shredding operation is completely executed.

private void DestroyFile(string filePath)
        {
            try
            {
                FileStream filestream = new FileStream(filePath, FileMode.Open, FileAccess.Write);
                long length = filestream.Length;
                StreamWriter streamWriter = new StreamWriter(filestream);
                char[] buffer = new char[length];
                for (long i = 0; i < length; i++)
                {
                    buffer[i] = '0';
                }
                streamWriter.Write(buffer);

                streamWriter.Close();
                filestream.Close();

                File.Delete(filePath);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!");
            }
        }

Wednesday, August 25, 2010

Cloud Computing: Web-Based Screen Recorder

I have previously blogged about CodeRun the cool browser-based IDE, I find the cloud-computing concept as a whole is exciting regardless of the endless debates that we can have about the security and controllability.
Moreover, I recently came across this web-based screen recorder Screenr that allows you to quickly record and screencast!
The product is java-based and -of course- cross-platform, no need for download or installation.


Tuesday, August 3, 2010

Cloud Development

CodeRun Studio is a cross-platform Integrated Development Environment (IDE), designed for the cloud. It enables you to easily develop, debug and deploy web applications using your browser.

CodeRun Studio can be used instead or alongside your existing desktop IDE. You can upload existing code in order to test it in the cloud or for sharing with your peers.