Tuesday, January 13, 2015
Monday, December 9, 2013
Monday, April 1, 2013
Nominate an Exceptional Technical Woman for an 'ABI' Award
Nominate an Exceptional Technical Woman for an 'ABI' Award
Anita Borg Institute award winners are recognized by the community of technical women at the Grace Hopper Celebration of Women in Computing ("Hopper Conference"). Awards recognize exceptional technical women for their leadership, technological achievements, and impact on society. GHC-13 Nominations for the following are due May 15 - for more, see URL:
http://anitaborg.org/initiatives/awards/
- 'ABI' Award for Social Impact
- 'ABI' Award for Technical Leadership
- 'ABI' Denice Denton Emerging Leader Award
- 'ABI' A. Richard Newton Educator Award
- 'ABI' Change Agent Awards
The Anita Borg Institute is writing women into technical history. Thousands of women throughout the world are leading technology innovation. They often go unnoticed and unrewarded. The Anita Borg Institute has created a set of awards to honor these distinguished technical women and those who are working towards the recruitment, retention and advancement of technical women.
http://anitaborg.org/initiatives/awards/
- 'ABI' Award for Social Impact
- 'ABI' Award for Technical Leadership
- 'ABI' Denice Denton Emerging Leader Award
- 'ABI' A. Richard Newton Educator Award
- 'ABI' Change Agent Awards
The Anita Borg Institute is writing women into technical history. Thousands of women throughout the world are leading technology innovation. They often go unnoticed and unrewarded. The Anita Borg Institute has created a set of awards to honor these distinguished technical women and those who are working towards the recruitment, retention and advancement of technical women.
Thursday, March 28, 2013
Monday, March 11, 2013
HTML - Disabled vs. ReadOnly
Key Differences between Disabled and ReadOnly html attributes:
The Disabled attribute
. Values for disabled form elements are not passed to the processor method. The W3C calls this a successful element.(This works similar to form check boxes that are not checked.)
. Some browsers may override or provide default styling for disabled form elements. (Gray out or emboss text) Internet Explorer 5.5 is particularly nasty about this.
. Disabled form elements do not receive focus.
. Disabled form elements are skipped in tabbing navigation.
Example:
The Read Only Attribute
. Not all form elements have a readonly attribute. Most notable, the <SELECT> , <OPTION> , and <BUTTON> elements do not have readonly attributes (although thy both have disabled attributes)
. Browsers provide no default overridden visual feedback that the form element is read only. (This can be a problem… see below.)
. Form elements with the readonly attribute set will get passed to the form processor.
. Read only form elements can receive the focus
. Read only form elements are included in tabbed navigation.
Example:
Saturday, December 1, 2012
Entrepreneurship
Long time ago, I started a little startup with a couple of friends, it failed (no wonder).
As entrepreneurship awareness is growing significantly in Jordan, I started seeing the key reasons of my first startup failure, mainly in the lack of planning.
Given that the three of us were developers, we jumped directly into execution, and by directly I mean not only we have skipped doing our homework in terms of financial statements, market and business model, but we have also skipped the planning part of the product itself, we coded first and then we designed.. Which to be honest was horrible for the type of product we were building.
After learning few things, and of course I'm still always learning, I can advice you with the following:
- Identify your customers, do your market research, you can find cheap ways to get the statistics data
- Identify their pain, their problem that your product/service is gonna resolve
- Identify how your product/service is gonna solve/ease your customers pain
- What are your revenue streams?
- Build your initial business model
- Build your income statement forecast
- Build your executive summary and your value proposition
- Research and read about the above
- Know the difference between a VC (Venture Capitalist) and an angel investor
As entrepreneurship awareness is growing significantly in Jordan, I started seeing the key reasons of my first startup failure, mainly in the lack of planning.
Given that the three of us were developers, we jumped directly into execution, and by directly I mean not only we have skipped doing our homework in terms of financial statements, market and business model, but we have also skipped the planning part of the product itself, we coded first and then we designed.. Which to be honest was horrible for the type of product we were building.
After learning few things, and of course I'm still always learning, I can advice you with the following:
- Identify your customers, do your market research, you can find cheap ways to get the statistics data
- Identify their pain, their problem that your product/service is gonna resolve
- Identify how your product/service is gonna solve/ease your customers pain
- What are your revenue streams?
- Build your initial business model
- Build your income statement forecast
- Build your executive summary and your value proposition
- Research and read about the above
- Know the difference between a VC (Venture Capitalist) and an angel investor
Wednesday, July 6, 2011
Honored by Mrs. Hillary Clinton
Join me LIVE on Wednesday 6th of July, 12 pm Washington local time, 7 pm Amman local time, honored by Mrs. Hillary Clinton at the U.S Department of State, Washington DC :)
http://blogs.state.gov/index.php/site/entry/clinton_techwomen
LIVE on: www.state.gov/
Thursday, June 30, 2011
Google+
I started using Google+ yesterday, it's pretty cool, promising with a little learning curve though, I think it might and probably has the capabilities to take over both Facebook and Twitter soon enough.. Reminds me of the elimination of MySpace and Hi5..
Google has opened Google+ for a limited field test, the invitations were unavailable for the public in the last few days but they're now ready for testing it on a larger scale, where Google+ users get to invite other people to join in.
Google has decided they're going to roll out the network very slowly, but they had to shut down the invite mechanism last night due to insane demand.
It's not "just another" social network, I might become "THE" social network soon, the great thing is that people already love Google! I do.. and after the multiple failures with Orkut and other social networks, Google's graveyard got bigger and I can see that Google has finally decided to take it seriously and take over the web, again!
It's combining the features from Facebook, twitter anf foursquare in a one social network, and moreover, adding to them the ease of use and the friendly UI, Google is already known of it's user experience standards and they're applying it intensively there..
People already love Google and will most probably gladly and easily transit to g+ , and this invitation mechanism is making ppl crave to join in ;) they're playing it smart this time, they have to..
Now the question is, how about the APIs? when? and how?
I'm crossing fingers for a better API documentation than Facebook's.
To learn more about Google+ visit Google's official blog post http://googleblog.blogspot.com/2011/06/introducing-google-project-real-life.html
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
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
Thursday, April 28, 2011
Sunday, April 17, 2011
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
- Osama Darawsheh | Development Team Manager | Softact
Wednesday, October 20, 2010
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.
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 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.
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.
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.
Monday, July 26, 2010
Web Automation - Intro
Did you know that you can automate your daily repetitive tasks that you do on the web, and save yourself time and effort!
This is a very simple automation sample, the automation simulates the user web browsing, I built 2 automation samples:
Download Executable you also need to check Microsoft.mshtml.dll (?)
Download Source Code
You can also build your own toolbar to the browser with your customized buttons, for example you can add a button that will collect all the images in a web page.. whatever comes to your mind!
You can also use this concept to build automated tests for your web applications, simulating the end user browsing activities.
A quick look at the code
In the event handler of the click event of the sub-menu "Automate My Blog", I attach a new event handler to the DocumentComplete event of the WebBrowser, and navigate the web browser to my blog's "Contact Me" page url, and then wait for the event handler to be invoked to complete the automation.
In the sub menu click event handler:
In the WebBrowser document complete event handler, I find the yahoo mail link object, and click on it:
This is a very simple automation sample, the automation simulates the user web browsing, I built 2 automation samples:
- Automate Google Search: will navigate to google website, enter "Dareen Alhiyari" in the search textbox, and then click the search button.
- Automate My Blog: The second automation will navigate to my blog's "Contact Me" page, and then click on my yahoo email link.
Download Source Code
You can also build your own toolbar to the browser with your customized buttons, for example you can add a button that will collect all the images in a web page.. whatever comes to your mind!
You can also use this concept to build automated tests for your web applications, simulating the end user browsing activities.
A quick look at the code
In the event handler of the click event of the sub-menu "Automate My Blog", I attach a new event handler to the DocumentComplete event of the WebBrowser, and navigate the web browser to my blog's "Contact Me" page url, and then wait for the event handler to be invoked to complete the automation.
In the sub menu click event handler:
try { this.webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted_AutomateMyBlog); this.webBrowser1.Navigate("http://dareen-h.blogspot.com/p/contact-me.html"); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error!"); }
In the WebBrowser document complete event handler, I find the yahoo mail link object, and click on it:
try { IHTMLDocument3 doc = this.webBrowser1.Document.DomDocument as IHTMLDocument3; if (doc != null) { IHTMLElement yahooMail = doc.getElementById("yahoomail"); if (yahooMail != null) { yahooMail.click(); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error!"); } finally { this.webBrowser1.DocumentCompleted -= new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted_AutomateMyBlog); }
Microsoft.mshtml.dll
You will need Microsoft.mshtml.dll that usually ships with IE, to make sure if you have it installed in the GAC, open Start Menu->Run and type assembly then hit enter, the GAC folder will open up, make sure that you have the dll in the dlls list
If you don't find the dll in the list, you may download Office 2003 Update that contains the dll, or if you find it too big for you, you may download it from dll download websites
After you get the dll, drag it and drop it into the assembly folder "%OS Drive%\Windows\Assembly"
CodeProject
You will need Microsoft.mshtml.dll that usually ships with IE, to make sure if you have it installed in the GAC, open Start Menu->Run and type assembly then hit enter, the GAC folder will open up, make sure that you have the dll in the dlls list
If you don't find the dll in the list, you may download Office 2003 Update that contains the dll, or if you find it too big for you, you may download it from dll download websites
After you get the dll, drag it and drop it into the assembly folder "%OS Drive%\Windows\Assembly"
Wednesday, July 14, 2010
Build impressive flash dashboards and charts
Open Flash Chart is a cool open source flash project that allows you to easily embed impressive dashboards and charts into your website or business portal.
This is one of the 3D-bar chart samples:
And a glass bar chart sample:
The data from which to build the charts can be extracted from any data source or database, and saved into an array that is passed to the OFC library to build the chart.
The basic tutorial in the website shows how to integrate the flash chart along with the data file into your page.
Of course you will have to do some tweaks here and there like changing some include paths, renaming some folders... etc. But the cool result is worth the hassle ;)
I will be posting a detailed step-by-step tutorial of how to build and integrate the charts into a PHP5 website once I get some time.
CodeProject
This is one of the 3D-bar chart samples:
And a glass bar chart sample:
The data from which to build the charts can be extracted from any data source or database, and saved into an array that is passed to the OFC library to build the chart.
The basic tutorial in the website shows how to integrate the flash chart along with the data file into your page.
Of course you will have to do some tweaks here and there like changing some include paths, renaming some folders... etc. But the cool result is worth the hassle ;)
I will be posting a detailed step-by-step tutorial of how to build and integrate the charts into a PHP5 website once I get some time.
CodeProject
Subscribe to:
Posts (Atom)


















