tag:blogger.com,1999:blog-20649640885261233442024-02-20T16:58:34.431-08:00Ammar Ahmed's Blog Sharing the simple lessons I learnedAmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.comBlogger43125tag:blogger.com,1999:blog-2064964088526123344.post-49171664520237722882022-12-28T16:45:00.001-08:002022-12-28T16:45:19.544-08:00alchamist style to use button down and button up<p> I have always liked the idea of button up in games and I feel like we don't use it enough. We always use the button down to register a button press. </p><p><br /></p><p><br /></p><p>button up has always been a concept that I would like to use. It would force the player to consider when to let go of a button. There are only so many buttons someone can press at the same time. Think about climbing for example and how you need to use the same limb (arms or legs) to move into the next stop. You can't let go of a spot we are hanging on just because we are interacting with it. </p><p><br /></p><p>I always loved the idea of magic summoning. Using different spells at the same time to summon something. I think Magica did it well by reusing the idea from Dota2 Invoker. The problem is usually having to memorize all the combinations</p><p><br /></p><p>I think the spells need to be a button press. so you can shoot a fire ball, or ice ball or such</p><p><br /></p><p>BUT</p><p>if you press two button and hold both and let go of both, then you get the combination of the two</p><p>maybe alchamy of some sort to use this. </p>AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-40916263034114955162020-02-29T12:55:00.000-08:002020-02-29T12:55:32.277-08:00Crab Volleyball - getting a partnerProbably I should have made a blog way earlier or split this elsewhere but I will start here and retro in the future.<br /><br />Today I accepted getting help. The game is growing and I think it would be better for the goal of the game "have as many people play and enjoy it" to allow others to join.<br />
<br />
There are negatives of course. It is more novel to have the project be a one person project and all. But nothing worth while is built by one person.<br />
<br />
I am already noticing myself being better. I am more self accountable. Have more attention to details. Bigger risk as success is someone else's success as well.<br /><br />Also, now I can get used to working together with someone else. Learning is key and having this skill in a setting like this will help me improve a lot.<br /><br />onward!AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-55802193471661799042015-01-05T17:38:00.000-08:002015-01-05T17:38:40.611-08:00Monthly Budgeting: The 50,30,20 ruleIt is 2015 and I am already reflecting on the past year and all of my holiday spending. I started looking into my spending habits given that I have a lot to purchase and plan for this year. It is stressful to measure my spending compared to other people given that everyone's life and income is different. So as a result, finding an answer to this can get complicated<br />
<br />
I can't find the source for it, but I remember reading about how Winston Churchill would ask his generals for the full facts happening about WWII just so he can sleep at night. It is an example of how taking control and facing the reality of the issue can free the brain to focus on other tasks and be more productive.<br />
<br />
A great rule that I found is the 50 30 20 rule. Simply, it is works as setting three buckets and splitting your income between them<br />
<br />
<b>50%: Needs</b><br />
This money is set for everything that you can not live without. This includes Rent/Mortgage, Transportation, and bills. These are fixed costs that you are paying monthly.<br />
<br />
<b>20%: Long term</b><br />
This is for either clearing debt or saving for retirement (401k or IRA). Savings for long term purchases (e.g. a house) can go here.<br />
<br />
<b>30% Lifestyle</b><br />
This is for flexible spending items. This includes entertainment, restaurants, and all fun activities that you do on regular basis.<br />
<br />
You don't have to follow the same percentages of course , but you need to be careful to not overstep a bucket as it can harm you in the long run.<br />
<br />
The best thing about this budget is that it can<br />
a) free you from the guilt of having fun. You will have no problems blowing your money on fun activities as long as you know that you are within the threshold that you set for yourself.<br />
b) Better comparison to how others spend their money if that is your thing.<br />
c)Finally, the ability to actually observe and save. If you notice that you are overspending on a media subscription that you are not using then you should think about canceling it.<br /><br />Not sure why started with a WWII reference.. but I think we should all attack our problems as that is the only way to solve them.<br /><br />Hope that helps.<br /><br />(Not so bad) Resource:<br />http://www.learnvest.com/knowledge-center/your-ultimate-budget-guideline-the-502030-rule/AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-4356034447861853752014-11-20T09:59:00.001-08:002014-11-20T09:59:36.932-08:00Filtering large text files with PowerShellI found myself struggling to opening and reading large text files and looking for errors. So I made this powershell script:<br /><br />
Get-Content file-name.txt | select -First 5000 | Foreach-Object{ If ( $_ -match 'ERROR'){$_} }<br />
<br />Simply it does three things:<br />
Get-Content file-name.txt gets all of the content of the text file<br />select -First 5000 gets me the first 5000 lines (this is optional if you want to search all the data)<br />Foreach-Object{ If ( $_ -match 'ERROR'){$_} } gets lines with the word 'ERROR' in them<br /><br />The result is the lines you want. You can use regex for better word matching as well.<br /><br />To export the result. you can add a "> mytxt.txt" to the line and you will end up with a text file at your directory.<br /><br /><br /><br />AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-61114081988791122382014-04-24T17:23:00.001-07:002014-04-24T17:42:27.330-07:00Book Review - The Lean Startup by Eric Ries A coworker of mine asked me for help on how to buy an audio book and how to listen to it as he is going on a road trip. I recommended the service <a href="http://www.audible.com/">Audible </a>as it is easy to listen to audio books. The book that he was trying to listen to was Lean Start up by Eric Ries. I had the book on my to read list as I heard many great things about it. It was also a great timing as I just switched my career and joined a small start up with the goal of learning how to start a successful business.<br />
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.kimhartman.se/wp-content/uploads/2013/10/the-lean-startup-summary.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.kimhartman.se/wp-content/uploads/2013/10/the-lean-startup-summary.png" height="300" width="320" /></a></div>
<br /></div>
<div>
The Lean Start-up focuses on building the features that existing customers want over building a product that no one wants. The process steps that he talks about share a lot with the Agile software process where the app is driven by constant feedback. Small failures are also considered to be a good thing and are encouraged . </div>
<div>
<br /></div>
<div>
There are a lot of examples and stories told to support the points made on how the process can help companies. My favorite were the ones where the "lean thinking" was implemented in larger companies. Intuit creating process of the mobile Turbo Tax used all of the ideas that seems to be exclusive to a start-up in a big corporation. I have heard that the secret to Google's success was that it was made of start ups inside a corporation umbrella and it all make scene after reading this book.</div>
<div>
<br /></div>
<div>
While I love the concepts of the book, I felt like the audio version was not the best way to enjoy this book. The examples used kept going back to ones used earlier and it was hard to follow the book structure as all chapters felt to sound as they talked about the same thing (compared to Good to Great Audio book where each concept/chapter used it's own chapter). This is more of a study guide to follow than it is an easy to follow audio book. That being said, I found myself sitting in my car waiting for a good stopping point. The concepts discussed were so relevant and ear grabbing.</div>
<div>
<br /></div>
<div>
Book Summary that I enjoyed:</div>
<div>
http://www.kimhartman.se/wp-content/uploads/2013/10/the-lean-startup-summary.pdf</div>
AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-50570500134232237992014-02-04T20:45:00.001-08:002014-02-04T21:04:26.815-08:00Charlotte Start Up Weekend 6: Return of the Jedi<div dir="ltr">
Just a quick reflection about my experience in my second Charlotte Start Up Weekend (CSW6). You can find my last's year thoughts here:<br />
http://amadhammer.blogspot.com/2013/01/startup-weekend-clt.html </div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
I highly recommend all event participants to take the time to look back and reflect on what they learned, What worked and what they can improve on. It is very helpful.</div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-uiTb8N0QZiw/UvHEvprafBI/AAAAAAAADKE/Rcq37c-xf38/s1600/IMG_9747-1170x694.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-uiTb8N0QZiw/UvHEvprafBI/AAAAAAAADKE/Rcq37c-xf38/s1600/IMG_9747-1170x694.jpg" height="189" width="320" /></a></div>
<b>What is this?</b></div>
<div dir="ltr">
This is the 6th Charlotte Start up weekend. It is an event where participants work over the weekend to create a business. The winner gets a prize package that helps them going further with the business.</div>
<div dir="ltr">
<br />
But at it's core, it is a networking and hands-on learning event.<br />
<br />
<br />
<br />
<b>How did you prepare and what did you want out of the event?</b></div>
<div dir="ltr">
I had a different strategy this year. Last year, I wanted to put my technical skills on the table. I built a web site and got it going.<br />
<br /></div>
<div dir="ltr">
This year, I had a different goal: Win the contest... cold truth. Everyone wanted the same thing.. yet it is somewhat selfish when I put it that way. But I want to build a start up and see what lessons I can learn. Winning the contest would give me the chance to do that.</div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
<b>My Pitch:</b></div>
<div dir="ltr">
.. no pitch. A wasted opportunity? I spent my time scribbling down all of the pitched ideas. I wrote "red shirt" next to some pitches and had no idea who was who when they came back they day after wearing different colors.</div>
<div dir="ltr">
<b><br /></b>
<b>What went well?</b></div>
<div dir="ltr">
-Decision making. When the teams were announced, I had a "gut" feeling on who can win and who can not. There were a lot of good ideas this year and I wanted to work with three teams (two fitness and one about education). Two of the teams got first and second. </div>
<div dir="ltr">
-Focus. I observed what happened last year and knew what it takes to win. last year, We built a great product and did not have any potential business. It was clear that we were not accomplishing anything and decided to talk about patents and ideas that could not be done in a weekend. </div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
<b>What did not go well? (sorry if I offend anyone)</b></div>
<div dir="ltr">
-I did not get to ask people about their pitches before the voting ended.</div>
<div dir="ltr">
-My technical skill set was not used (three developers with three different technology stack on the same team).The guilt was very painful to me and I kept going around trying to find things to help out with.</div>
<div dir="ltr">
-Did not force myself to meet as many people as I wanted. I need to print out some business cards with personal contact information (Twitter/FB/linkedin) on them.</div>
<div dir="ltr">
-I was sick. I had a long work week and I did not eat as well as I should have.</div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
<b>For the future, What would do?</b></div>
<div dir="ltr">
This answer really depends on what I can get out of YouCompleteMe and how it goes. Generally, I am going to stay around the team, learn the ins and out of a startup, and take what I learnt to whatever I am building next.</div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
<b>Who won? How did they win? Do you think X deserved to win instead?</b></div>
<div dir="ltr">
<a href="http://youcompeteme.co/">YouCompleteMe</a>,<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-7wQ0ZTx05O0/UvHFLaguhkI/AAAAAAAADKM/K4oEyYmhkq8/s1600/1546053_10151927225913201_1788492347_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-7wQ0ZTx05O0/UvHFLaguhkI/AAAAAAAADKM/K4oEyYmhkq8/s1600/1546053_10151927225913201_1788492347_n.jpg" height="320" width="179" /></a></div>
<br />
Yeah I act like a cartoon charachter..but it is worth to quickly highlighting why I think YouCompleteMe Won:</div>
<div dir="ltr">
-Working MVP (Minimal Viable product) up and running to handle the business concept.</div>
<div dir="ltr">
-Experienced team (5 out of 9 members were at the last start up weekend).A strong diverse team that works together.</div>
<div dir="ltr">
-Presentation that explained how our product is a business. Explain the revenue plan</div>
<div dir="ltr">
-Explain why we need to win and how we would continue the business beyond the weekend.</div>
<div dir="ltr">
-Great video that explained who would use the app.<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="//www.youtube.com/embed/e7IRsr8Rcx8" width="560"></iframe>
<br />
<br /></div>
<div dir="ltr">
Basically, We stuck to the formula. We (or I) read the blog by a CSW6 organizer and tried to hit all the points (seriously.. he knows what he is talking about)<br />
http://charlotte.startupweekend.org/2014/01/26/the-final-pitch/</div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
Other teams are solving real problems and they all have potential to grow great business. The biggest reward here is the feedback and network you got. Please prove to everyone that you should have won. Your success will benefit everyone.</div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
<b>Finally</b></div>
<div dir="ltr">
It is a great feeling to win. It validated our work and effort. Our team worked well together and we had a lot of fun. Time flew by very fast that we had to remind each other when lunch and dinners were served. I am really happy that this event exists and I really appreciate the work that the organizers put into this event.</div>
<div dir="ltr">
<br />
<br /></div>
<div dir="ltr">
<b>Random points (future blogs maybe?):</b></div>
<div dir="ltr">
-Many people are still leaving after an unsuccessful pitch. You are missing the point of the event and .. it is probably good that your idea was not selected. <b>YES I SAID IT.</b><br />
-You don't need a website if your business is not technical. Just set up a Google dorm doc and collect emails. </div>
<div dir="ltr">
-Being a developer in a start up weekend kinda <u>sucks</u>. Many of my friends from last year expressed the same opinion and decided that it is not worth coming back. It might be worth it for me to sign up as a "non-technical" to have a chance of pitching and contributing. because .. planning is fun.<br />
-Do some research before you pitch your idea. Talk to others about it and see what they think. Also, does you idea exist already? (so you don't solve a solved problem).<br />
<br />
<br />
ok enough writing. I need to work on other ideas. Go try out our app<br />
youcompeteme.co<br />
<br />
<br />
--credit<br />
*photo was taken from detailedblock.com.<br />
*Twitter person who took the second picture I am so sorry I can't find your name<br />
<br /></div>
AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0Charlotte, NC, USA35.2270869 -80.84312669999997134.8118989 -81.488573699999975 35.642274900000004 -80.197679699999966tag:blogger.com,1999:blog-2064964088526123344.post-84648556521904204852013-10-17T14:33:00.000-07:002013-10-17T14:35:29.048-07:00Book review: I Will Teach You To Be Rich<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
I will teach you to
be rich is a book about the fundamental needed for a person to start a good
financial foundation. It breaks down all
of the intimidating investment, credit card, retirement funds, and banking accounts
into plain English.<br />
<br />
The author proposes a plan to start a 3-4 weeks to start building a good
financial foundation. </div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
The chapters start
with explaining the basics such as explaining Credit Cards, opening retirement
accounts (401k and roth IRA). Those are the best chapters in my opinion as I
had a foggy understanding on what to do and how those financial concepts work. The
idea of the early chapters is to not worry about the details of which credit
card or account to chose. Instead, It is better to start and get the the tasks
done.<br />
<br />
The later chapters are about investing and they go in depth into what to do with
money. It also talks about how to save money for events like weddings and other
spending. I did not think that those advises are strong and I saw some
complaints on Amazon about how some of the ideas are wrong or outdated (e.g.
bank loans changing, buying a car method does not apply to all
dealers).<br />
<br />
Overall, I think this is a fun read for beginners. I have been wanting to learn
more about investing and money handling. This book worked pretty well as a
beginner guide. I would recommend it to anyone who is too intimidated by all of
the noise out there.</div>
AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-13618773035346419902013-05-24T18:38:00.000-07:002013-05-24T18:38:42.465-07:00Getting Started with Chrome Developer Tools<br />
<div style="border-width: 100%; direction: ltr;">
<div style="direction: ltr; margin-left: 0in; margin-top: 0in; width: 7.6256in;">
<div style="direction: ltr; margin-left: 0in; margin-top: 0in; width: 7.6256in;">
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
I found a great site
called <a href="http://www.codeschool.com/">Code School</a> (all free for the 5/24 - 5/27 weekend) with a very well
made hand on tutorials for different Web technologies. The <a href="http://www.codeschool.com/courses/discover-devtools">Google Chrome
Developer Tools course</a> was free. It
was so interesting and engaging that I finished the full course in one
day.<br />
<br />
Here is a list of <span style="text-decoration: underline;">features</span> that
are included in the Chrome Developer Tools. If you do not have the time to take
the course,<span style="text-decoration: underline;"> </span>I highly suggest
skimming the features and go back to learn them if you needed the tools.</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<span style="font-weight: bold;">Elements:</span></div>
<div style="margin: 0in;">
<a href="http://3.bp.blogspot.com/-n6sz1gnAxHg/UaATxHRaxzI/AAAAAAAADD8/odEv25w8IEg/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="155" src="http://3.bp.blogspot.com/-n6sz1gnAxHg/UaATxHRaxzI/AAAAAAAADD8/odEv25w8IEg/s320/1.png" width="320" /></a></div>
<span style="font-family: Calibri; font-size: 11pt;"><ul>
<li><span style="font-size: 11pt;">Gives you the ability to Drag
and drop HTML Lines, Edit the HTML,</span></li>
<li><span style="font-size: 11pt;">Look up the CSS </span><span style="font-size: 11pt; text-decoration: underline;">items </span><span style="font-size: 11pt;">and where they are inheriting the elements.</span></li>
<li><span style="font-size: 11pt;">Ability to change to cursor
dependent events (elements like onhover, infocus ..etc) to edit the CSS</span></li>
</ul>
</span><ul style="direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;" type="disc">
</ul>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<span style="font-weight: bold;">Resources:</span> </div>
<div style="margin: 0in;">
<a href="http://2.bp.blogspot.com/-LocbQtypU28/UaATw2jhVaI/AAAAAAAADD4/dYmw7VvWaag/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="155" src="http://2.bp.blogspot.com/-LocbQtypU28/UaATw2jhVaI/AAAAAAAADD4/dYmw7VvWaag/s320/2.png" width="320" /></a></div>
<span style="font-family: Calibri; font-size: 11pt;"><ul>
<li><span style="font-size: 11pt;">Look up all the files used to
create the site (CSS, JS, images) and highlight any missing ones</span></li>
<li><span style="font-size: 11pt;">Local storage shows any saved
JSON calls (I have yet to test this with forms, but Get and Post data
should be shown here)</span></li>
</ul>
</span><ul style="direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;" type="disc">
</ul>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<span style="font-weight: bold;">Network:</span></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<a href="http://4.bp.blogspot.com/-YiKIimnN6d4/UaATwWjuDDI/AAAAAAAADD0/PAIAC4bsUt8/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="151" src="http://4.bp.blogspot.com/-YiKIimnN6d4/UaATwWjuDDI/AAAAAAAADD0/PAIAC4bsUt8/s320/3.png" width="320" /></a></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
</div>
<div style="margin: 0in;">
</div>
<span style="font-family: Calibri; font-size: 11pt;"><ul>
<li><span style="font-size: 11pt;">Shows the calls (Get and
Post) made to show all of the files and when they started (server is
limited to a number of files it can call in time. So it is a great idea to
combine and minify files.</span></li>
<li><span style="font-size: 11pt;">To use: Press the black
circle at the bottom and it would start recording then Refresh the page.</span></li>
<li><span style="font-size: 11pt;">Options to disable cashed
items under settings (small gear on the bottom right)</span></li>
</ul>
</span><ul style="direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;" type="disc">
</ul>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<span style="font-weight: bold;">Sources:</span></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<a href="http://1.bp.blogspot.com/-pEjVTwHcM_w/UaATx0wVVCI/AAAAAAAADEI/XBi_l93tGxA/s1600/4.png" imageanchor="1" style="font-family: 'Times New Roman'; font-size: medium; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="151" src="http://1.bp.blogspot.com/-pEjVTwHcM_w/UaATx0wVVCI/AAAAAAAADEI/XBi_l93tGxA/s320/4.png" width="320" /></a></div>
<div style="margin: 0in;">
</div>
<span style="font-family: Calibri; font-size: 11pt;"><ul>
<li><span style="font-size: 11pt;">A text editor. Access all of
your (js) files and ability to edit.</span></li>
<li><span style="font-size: 11pt;">Right click and click on
Local modifications for the option to save your files or revert.</span></li>
</ul>
</span><ul style="direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;" type="disc">
</ul>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<span style="font-weight: bold;">Timeline:</span></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<a href="http://1.bp.blogspot.com/-CtFvdZuIRuo/UaATyzFLqCI/AAAAAAAADEY/Xi3tyOI0GdY/s1600/5.png" imageanchor="1" style="font-family: 'Times New Roman'; font-size: medium; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="122" src="http://1.bp.blogspot.com/-CtFvdZuIRuo/UaATyzFLqCI/AAAAAAAADEY/Xi3tyOI0GdY/s320/5.png" width="320" /></a></div>
<span style="font-family: Calibri; font-size: 11pt;"><ul>
<li><span style="font-size: 11pt;">Record Behaviors (animation,
drawing) to see how long they are taking to draw.</span></li>
<li><span style="font-size: 11pt;">Memory monitoring to check
for any memory leaks</span></li>
</ul>
</span><ul style="direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;" type="disc">
</ul>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<span style="font-weight: bold;">Profile:</span></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<a href="http://3.bp.blogspot.com/-M-H1nvFadTk/UaATy8xXR0I/AAAAAAAADEU/SlPoXxdGGMY/s1600/6.png" imageanchor="1" style="font-family: 'Times New Roman'; font-size: medium; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="152" src="http://3.bp.blogspot.com/-M-H1nvFadTk/UaATy8xXR0I/AAAAAAAADEU/SlPoXxdGGMY/s400/6.png" width="400" /></a></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
</div>
<ul>
<li><span style="font-size: 11pt;">Monitor the speed of
the JS to help with finding parts of the codes that are slowing the page</span></li>
<li><span style="font-size: 11pt;">Monitor CSS to find
how long the JS is taking to select the elements (e.g. #elementName vs
.elementClass)</span></li>
<li><span style="font-size: 11pt;">Take a Heap shot to
find any memory leaks of elements not collected.</span></li>
</ul>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<span style="font-weight: bold;">Console:</span></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<a href="http://1.bp.blogspot.com/-stIktyYqQ6A/UaATzBH2z6I/AAAAAAAADEk/aPolVPeKeUs/s1600/7.png" imageanchor="1" style="font-family: 'Times New Roman'; font-size: medium; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="122" src="http://1.bp.blogspot.com/-stIktyYqQ6A/UaATzBH2z6I/AAAAAAAADEk/aPolVPeKeUs/s320/7.png" width="320" /></a></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Consoles allow you
to type any Javas Script functions you have in your page and it would return
the result.</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Select elements to
find them in your html by using
$(".className") or element</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Lots of goodies that
could be found on the <a href="https://developers.google.com/chrome-developer-tools/docs/console#writing_to_the_console">google
API support</a>.</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Chrome Developer
tool is a must learn if you are doing any web development. I have to admit that
one feature that I miss from IE dev tool is being able to use the cursor to
highlight and click on an element on the web page.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
</div>
</div>
AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-36535212381792730392013-05-11T21:28:00.001-07:002013-05-13T21:47:54.330-07:00Zoom in to Show Your Presentation Details<span style="font-family: inherit; font-size: 11pt;">Ever seen a
presentation where the presenter zoomed in to a part of the
screen to show some hard to read details?</span><br />
<div style="font-size: 11pt; margin: 0in;">
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">I always thought that it was a windows feature but I finally found it. This cool trick could be done with a product from Microsoft called <a href="http://technet.microsoft.com/en-us/sysinternals/bb897434.aspx">ZoomIt</a>. It is hard to show an example of it, but this is what my full screen looks like before
and after zooming in.</span></div>
<div style="font-size: 11pt; margin: 0in;">
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-IEHLsaNOhk8/UY8aGTd045I/AAAAAAAADCk/KvGyzGj44ug/s1600/Untitled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" height="320" src="http://4.bp.blogspot.com/-IEHLsaNOhk8/UY8aGTd045I/AAAAAAAADCk/KvGyzGj44ug/s320/Untitled.png" width="259" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><br /></span></div>
<div style="font-size: 11pt; margin: 0in;">
<span style="font-family: inherit;">I wish I knew about
this before I used ctl + and - on my presentation. Enjoy!</span></div>
AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-59642945778435212592013-05-09T20:47:00.002-07:002013-05-11T14:20:38.736-07:00How to Give Your First Technical Presentation<span style="font-family: inherit;">So I gave my first ever technical presentation at <a href="http://codecamp.developersguild.org/2013/">Carolina Code Camp 2013</a>. I talked about a technology that makes my life easier and felt that other developers should know about. I had a lot of fun doing it and received a positive reaction from the audience.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Before I start, I just want to break the misconception of <a href="http://www.codinghorror.com/blog/2009/02/are-you-an-expert.html">being an expert</a> to present. You don't. It is all about knowledge sharing and helping others. You can simply research a topic for a week and present the lessons to your audience.</span><br />
<blockquote class="twitter-tweet" data-partner="tweetdeck">
<div style="text-align: center;">
<span style="font-family: inherit;">Protip: Nobody is really "qualified" to give tech talks.We're all exploring and figuring it out.Just share what you've learned.</span></div>
<div style="text-align: center;">
<span style="font-family: inherit;">— Jeremy Kahn (@jeremyckahn) <a href="https://twitter.com/jeremyckahn/status/322390046491688960">April 11, 2013</a></span></div>
</blockquote>
<br />
<div style="text-align: center;">
<br /></div>
<span style="font-family: inherit;">It was a learning experience for me and a step that I knew that I should take one day. So I decided to focus on improving my presentation and public speaking skills. These are some basic tips I collected that would help anyone trying to present for the first time:</span><br />
<span style="font-family: inherit;"><br /></span>
<b><span style="font-family: inherit;">1- Don't focus on being a great presenter. Focus on not sucking</span></b><br />
<span style="font-family: inherit;">Silly..but an average presentation where the message is delivered is your goal. You can not become a Steve Job by practicing for a weekend. It takes experience to give a great presentation. Instead, look back at the bad presentations that you been to (speaker was not prepared, reading from the slides ...etc) and focus on NOT doing these mistakes.</span><br />
<span style="font-family: inherit;"><br /></span>
<b><span style="font-family: inherit;">2- Practice In voice</span></b><br />
<span style="font-family: inherit;">Practicing the presentation in voice helps with recognizing strong points for the slides. Each slide should have a reason for being up and you will need to tell the audience why you have it up there.</span><br />
<span style="font-family: inherit;">It also helps with creating an "auto pilot" feel where some key points would be explained at the right time giving you time to prepare for answers. And walk around the room to practice your body movement.</span><br />
<span style="font-family: inherit;"><br /></span>
<b><span style="font-family: inherit;">3- Find Your slides Balance</span></b><br />
<span style="font-family: inherit;">A slide with one word can be as powerful as one with multiple bullet points. Your goal with the text is to get your crowed to stay at the same subject as you. Do not read from the slides as human eyes can read faster than the speaker reading.</span><br />
<span style="font-family: inherit;"><br /></span>
<b><span style="font-family: inherit;">4- Live Code can go wrong. Just show us the code</span></b><br />
<span style="font-family: inherit;">If you are a new speaker, Try to lower the risk of failure of presentation tools. We know that you can code. So not coding in front of everyone and showing us the final result is enough. Just practice, add a lot of comments and know the code does.</span><br />
<span style="font-family: inherit;"><br /></span>
<b><span style="font-family: inherit;">5- Everyone in the room wants you to succeed</span></b><br />
<span style="font-family: inherit;">Unlike the old school and college days, No one is forced to come in. Everyone knows what it feels like to present and they know that it is tough. They will all help you because they want to hear what you got.</span><br />
<span style="font-family: inherit;"><br /></span>
<b><span style="font-family: inherit;">6- Draw your energy from the crowd</span></b><br />
<span style="font-family: inherit;">Your crowd will follow along and there will be some interested people sitting. Try to find one from each section of the room and it would look as if you are making eye contact with everyone. It would be more helpful if they are sitting in the back.</span><br />
<span style="font-family: inherit;"><br /></span>
<b><span style="font-family: inherit;">7- Tell them when they can ask questions</span></b><br />
<span style="font-family: inherit;">It is a great feeling when others ask questions. It wakes up the room to hear another voice talking. After any big slide, make sure that you are asking for questions. Waiting to the end would cause the audience to forget to ask. Plus, It is easy to assume that the crowed knows some concept when they are not familiar with it. A simple question can clear a lot of confusion and put everyone at the same point with the speaker.</span><br />
<span style="font-family: inherit;"><br /></span>
<b><span style="font-family: inherit;">8- Show your personality</span></b><br />
<span style="font-family: inherit;">Be human. The audience would learn more from a presentation that they enjoyed. be yourself. Just talk to them the same way you talk to your friends.</span><br />
<span style="font-family: inherit;"><br /></span>
<b><span style="font-family: inherit;">9- Tell a story</span></b><br />
<span style="font-family: inherit;">You can always come up with a story. Do you have any reference stories about your client? How did you start using this technology? We want to relate the technology to our lives. An If statement is a cool concept, but an ability to make a decision is more interesting.</span><br />
<span style="font-family: inherit;"><br /></span>
<b><span style="font-family: inherit;">10- Replace the "um" with hand gestures.</span></b><br />
<span style="font-family: inherit;">Trust me .. Not a single um was given.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">That is all I can think about now. I am still a bad presenter and will be for a while. And it is OK. Everyone got to start somewhere. I did not expect that good of a reaction out if my first presentation. I can't wait until I am up in front of everyone again.</span><br />
<span style="font-family: inherit;">You are all ready now (you were before reading this but probably didn't know it). Go ahead and present!</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Some helpful resources I used:</span><br />
<span style="font-family: inherit;"><span style="font-size: 11pt;">- Scott Hanselman has a lot of
good articles and videos. At the very least, I recommend listening to the </span><a href="http://www.hanselman.com/blog/HanseminutesPodcast250ProfessionalTechnicalSpeakerTipsFromScottWithDrewRobbins.aspx"><span style="font-size: 11.0pt;">podcast</span></a><span style="font-size: 11pt;">.</span></span><br />
<span style="font-family: inherit;"><span style="font-size: 11pt;">- <a href="http://www.slideshare.net/thepresentationdesigner/how-to-become-a-better-speaker" style="font-size: 11pt;">Good tips and very cool slide
design.</a></span><span style="font-size: 11pt;"> I
recommend reading his take on how we </span><a href="http://www.slideshare.net/thepresentationdesigner/2012-and-were-still-using-powerpoint-wrong" style="font-size: 11pt;"><span style="font-size: 11pt;">use Powerpoint wrong</span></a><span style="font-size: 11pt;">.</span><span style="font-size: 11pt;"><br /></span><span style="font-size: 11pt;">- <a href="http://bartaz.github.io/impress.js/#/bored" style="font-size: 11pt;">Impress.js</a></span><span style="font-size: 11pt;"> library helped me create a non-powerpoint
presentation.</span></span>AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-9053318425800831342013-05-05T17:04:00.000-07:002013-05-05T17:04:52.339-07:00Using Twitter Bootstrap 2.0 in ASP.NET MVC web applications<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
<a href="http://twitter.github.io/bootstrap/index.html">Bootstrap</a> is a powerful front end framework that contain a collection of tools used to
create great sites and solve common front end problems. </div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
I
stumbled upon bootstrap while looking for a way to improve the look of my web
pages. I come from a native development background and the front end
of my application -while important- has not been my focus. I wanted to create cool looking, and yet, not time consuming UI for my applications. Twitter Bootstrap saved my day.</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
I
tried to change the front end of my ASP.NET MVC web apps and Here is a quick
way to use bootstrap in your ASP.NET application:</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
1-<span style="font-family: Calibri; font-size: 11pt; text-align: left;">Create a new blank ASP.NET
MVC 4 project. </span><br />
<div class="separator" style="clear: both; text-align: left;">
<a href="http://2.bp.blogspot.com/-ZW8cEWSJLFM/UYblzfRQP2I/AAAAAAAAC_Y/xW9bfP1UoTM/s1600/1new+project.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: left;"><img border="0" height="126" src="http://2.bp.blogspot.com/-ZW8cEWSJLFM/UYblzfRQP2I/AAAAAAAAC_Y/xW9bfP1UoTM/s200/1new+project.png" width="200" /></a><a href="http://3.bp.blogspot.com/-k2HEPiGVHUs/UYblzBgIFQI/AAAAAAAAC_c/3DnLNBTMoZg/s1600/2application+type.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="179" src="http://3.bp.blogspot.com/-k2HEPiGVHUs/UYblzBgIFQI/AAAAAAAAC_c/3DnLNBTMoZg/s200/2application+type.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="" style="clear: both; text-align: left;">
2-<span style="font-family: Calibri; font-size: 11pt;"> Let </span><a href="http://nuget.org/" style="font-family: Calibri; font-size: 11pt;"><span style="font-size: 11pt;">Nuget</span></a><span style="font-family: Calibri; font-size: 11pt;"> handle it for you (OR you
can manually add the bootstrap files to the correct directory. Not
recommended). You should find the package installer under Tools (don't mix between it and the VS command line). The command is<i> :</i></span><br />
<br />
<div style="text-align: center;">
<i>Install-Package Twitter.Bootstrap.</i></div>
<span style="font-family: Calibri; font-size: 15px; text-align: start;">Your Bootstrap files will be located in your content file</span></div>
<div class="" style="clear: both; text-align: left;">
<span style="font-family: Calibri; font-size: 15px; text-align: start;"><i><br /></i></span></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://3.bp.blogspot.com/-dSzAh2AeXG8/UYbl0aUNjmI/AAAAAAAADAA/t0uxjtczQnU/s1600/4bundles.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="118" src="http://3.bp.blogspot.com/-dSzAh2AeXG8/UYbl0aUNjmI/AAAAAAAADAA/t0uxjtczQnU/s200/4bundles.png" width="200" /></a><a href="http://2.bp.blogspot.com/-mYLXzF6ek0g/UYblzy_cGeI/AAAAAAAAC_8/OnTRD9aSLXs/s1600/3nuget.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="118" src="http://2.bp.blogspot.com/-mYLXzF6ek0g/UYblzy_cGeI/AAAAAAAAC_8/OnTRD9aSLXs/s200/3nuget.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Calibri; font-size: 11pt;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Calibri; font-size: 11pt;">3-Add the libraries to your
BundleConfig.cs file. This is not required but it is a </span><a href="http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification" style="font-family: Calibri; font-size: 11pt;"><span style="font-size: 11pt;">good practice</span></a><span style="font-family: Calibri; font-size: 11pt;">. </span></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
<span style="font-size: 11pt;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://4.bp.blogspot.com/-xh_aUh1Uzrc/UYbl0DEwBuI/AAAAAAAAC_w/SyfdtcRN1_o/s1600/4bundle.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="http://4.bp.blogspot.com/-xh_aUh1Uzrc/UYbl0DEwBuI/AAAAAAAAC_w/SyfdtcRN1_o/s320/4bundle.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Calibri; font-size: 11pt;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
<span style="text-align: left;">4- Include your CSS and JS bundles in the _layout header. I ran the site before and after including the bootstrap file.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://3.bp.blogspot.com/-LaoqZhwJDQw/UYbl1KVQ3SI/AAAAAAAADAY/0c94aC-DxfU/s1600/8asp+with+bootstrap.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="125" src="http://3.bp.blogspot.com/-LaoqZhwJDQw/UYbl1KVQ3SI/AAAAAAAADAY/0c94aC-DxfU/s200/8asp+with+bootstrap.png" width="200" /></a><a href="http://4.bp.blogspot.com/-RcDQc7EpPSg/UYbl0TQpKjI/AAAAAAAADAU/EawGVGV2fcY/s1600/5site+before.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="115" src="http://4.bp.blogspot.com/-RcDQc7EpPSg/UYbl0TQpKjI/AAAAAAAADAU/EawGVGV2fcY/s200/5site+before.png" width="200" /></a></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
<span style="text-align: left;"><br /></span></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
<span style="text-align: left;"><br /></span></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
<span style="text-align: left;">5- Change the contents of the file to fit your style. I used an <a href="http://twitter.github.io/bootstrap/examples/hero.html">example from bootstrap website</a> to start. </span><span style="font-family: Calibri; font-size: 15px;">I added padding to the top of the body to allow for room for the navbar.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://1.bp.blogspot.com/-_1gUiYIycII/UYbl05IhdsI/AAAAAAAADAM/JnMGeB6vmN0/s1600/7code+in+asp.enct.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://1.bp.blogspot.com/-_1gUiYIycII/UYbl05IhdsI/AAAAAAAADAM/JnMGeB6vmN0/s320/7code+in+asp.enct.png" width="320" /></a></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
Code is available (folder: Working Example) at <a href="https://github.com/AMadHammer/Bootstrap2inASPnet">https://github.com/AMadHammer/Bootstrap2inASPnet</a><br />
<br />
Helpful resources for super-hero-level of website building:<br />
- <a href="http://www.blogger.com/-%20Forms%20http://minikomi.github.io/Bootstrap-Form-Builder/">Form builder using drag and drop.</a><br />
- <a href="http://bootswatch.com/">Free themes to use</a>.<br />
- <a href="https://jetstrap.com/">Create a mock up of your bootstrap site</a>.<br />
- <a href="http://divshot.github.io/geo-bootstrap/">THE GREATEST BOOTSTRAP THEME EVER</a><br />
<br /></div>
AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-2530811954058610092013-04-10T13:49:00.000-07:002013-04-28T23:23:49.031-07:00Telerik grid to open a new web pageIt took me a long time to find out how to go to a new page on telerik when clicking on a grid row. Here is a sample code in case an internet traveler stumbles upon it.<br />
<br />
Html.Telerik().Grid(Model.dialogueEntity)<br />
<span style="color: lime;">.DataKeys(keys => keys.Add(o => o.DialogueID)) </span><br />
.HtmlAttributes(new { style = "height: 100%; border: 0;" })<br />
.Name("Grido")<br />
.Selectable()<br />
.Columns(columns =><br />
{<br />
columns.Bound(o => o.DialogueID).Hidden();<br />
columns.Bound(o => o.LoanID);<br />
})<br />
//.Scrollable()<br />
//.Sortable(sorting => sorting.OrderBy(sortOrder => sortOrder.Add(o => o.LoanID).Ascending())<br />
.Sortable(config => config<br />
.OrderBy(order => order<br />
.Add(((string)ViewData["view"]) == "sortedByDate" ? "Category Type" : "LoanID")<br />
)<br />
)<br />
<span style="color: lime;">.ClientEvents(events => events.OnRowSelect("onRowSelect"))</span><br />
<br />
.Filterable()<br />
.Render();<br />
<br />
The green text is needed for this to work<br />
And this javascript part is needed to go to another page. o.DialogueID was the key that I was using to take the user to as explained below.<br />
<br />
<script type="text/javascript"><br />
function onRowSelect(e) <br />
{<br />
var id = e.row.cells[0].innerHTML;<br />
location.href = "/Dialogue/Details/" + id;<br />
}<br />
</script><br />
<br />
<br />
<br />AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-21171655658964560222013-03-08T20:09:00.000-08:002013-05-14T07:38:59.314-07:00What Blogging is to meBlogging is a confusing internet medium. It has been overtaken by newer personal communication sites (twitter and facebook) and quick professional communication (linkedin and message boards). Yet, blogs are still a hub for information from the famous blogger and big news blogs. For the less famous, blogging is a diary-like to log personal ideas. I have seen bloggers talking about life experience and life events, personal opinions (religion, politics and all of the fun stuff). There is also the<a href="http://assistsocialmedia.com/why-you-need-a-business-blog/"> brand marketing</a> that is disguised as blogging. It is a smart way to advertise a a site while offering the information.<br />
<div>
<br /></div>
<div>
So.. Why am I blogging?</div>
<div>
<br /></div>
<div>
I don't know. I started this as a part of a class requirement when I was a student and I enjoy some parts of it and dislike the other.</div>
<div>
<br /></div>
<div>
Like: I seem to enjoy going back and seeing my past self was thinking. It is a good way to solve problems and helping my confidence. It also brings events and skills back to memory.</div>
<div>
<br /></div>
<div>
Dislike: the stress. I don't know my Target audience and the fact that anyone can Google me and find my Blogger is terrifying I am aware that I am a bad writer and my confidence is blocking me. The thought that someone would find my blog and find a spelling error is scary. The only way for me to improve is by writing and I feel as going back and over proof read my blog to be tiring. So I just give up and not publish my blogs. I have no readers now and I have more drafts than posts.</div>
<div>
<br /></div>
My new goal is to brain dump what I have. I want to build up my momentum and write. It will take a lot of practice to become a good writer and I will start now.
AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-79431625997697089352013-03-05T10:42:00.001-08:002013-03-05T10:42:17.775-08:00Uploading files to your website and saving them on a sharepoint folder (or any folder)<div>
I ran into a requirement where I had to implement an email attachment like feature on my web page. The user should be able to upload and retrieve a the file. We chose Sharepoint to be the host for the files.<br />
<br />
I never worked with Sharepoint before and I felt as using the ms libraries would be complicated. Thankfully, the whole process was easier than what I expected as it is all .NET. It boils down to moving a file from one folder to another folder in a directory in the server.<br />
<br />
Bellow is a snippet if code that would accomplish the task (I will format it later. I wish the option was in blogger)<br />
<br />
<br />
string location = WebConfigurationManager.AppSettings["IssueTrackingSharepointFolderLocation"];//Shared Documents";<br />
<br />
// Some browsers send file names with full path. We only care about the file name.<br />
var fileName = Path.GetFileName(file.FileName);<br />
<br />
<br />
<br />
string[] combinedPath = new string[3];<br />
combinedPath[0] = location;<br />
<br />
<br />
<br />
//handle the month if iti s less than 10 and add a 0 to it<br />
if (date.Month < 10)<br />
{ combinedPath[1] = date.Year.ToString() + "0" + date.Month.ToString(); }<br />
else<br />
{ combinedPath[1] = date.Year.ToString() + date.Month.ToString(); }<br />
<br />
combinedPath[2] = entity.IssueAttachmentID.ToString() + "." + GetFileNameExtension(fileName); //get the key with the extension<br />
<br />
string destinationPath = Path.Combine(combinedPath);<br />
<br />
string directoryPath = Path.Combine(combinedPath[0], combinedPath[1]);<br />
Directory.CreateDirectory(directoryPath);<br />
<br />
<br /></div>
AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-34395547474613059992013-01-25T18:35:00.000-08:002013-01-28T18:48:16.936-08:00Startup Weekend CLT I decided to try a new thing on the weekend. I went to Startup Weekend. An event where anyone can pitch an idea and work on for the chance of winning funding and other perks and fun. The event took place in <a href="http://packardplace.us/">Packard Place</a> in downtown Charlotte. I did not have any ambitions of starting my own business (yet!) but I wanted to get exposed to the process in case I want to. I also wanted to improve my programming skills. The weekend was quite an adventure that I learned a lot from so I am going to talk about what happened and follow up with what I learned.<br />
<br />
<b>Day one - The Pitch:</b><br />
Everyone with an idea were given a minute to pitch. I decided to go for it as I don't get a chance to practice my public speaking skills every day so I went for it. After an adrenaline rush that lasted for over 30 minutes, I pitched my idea and I did not know how to explain it and it got lost in the sea of pitches. It was really bad.
<br />
<blockquote class="twitter-tweet">
Pitch 27: App that allows a group of friends to divide the planning for the evening.<a href="https://twitter.com/search/%23csw5">#csw5</a><br />
— Startup Weekend CLT (@StartupWkndCLT) <a href="https://twitter.com/StartupWkndCLT/status/294982340390834176">January 26, 2013</a></blockquote>
<br />
<br />
After voting for the top pitches, We had to join a team that we are interested in working with. It was tricky given that I had no interest in any of the ideas so I chose a team that needed a web developer and had other developers that I could learn from. We did not win and I really don't regret not choosing another team. I came to the event to sharpen my skills and I think I worked on a really challenging product.<br />
<br />
<b>Day 2: The head down coding phase:</b><br />
Now that the plan is set, we divided our team to handle the development, marketing, bushiness planning and research. I decided to handle the web development given that we already had 3 developers in the team who handled the Android app and the back end of the server.. ... I was able to pull a quick web layout thanks to bootstrap and Google maps. I used Google charts for the first time and it was really easy to use.<br />
<br />
<b>Day 3: The catching up:</b><br />
The last day. We did not code freeze and it felt as if we were moving the last pieces of a jinga game. I finished up my web development and we were really impressed by how fast we finished the product.<br />
<br />
The presentation went better than what I expected. The marketing and project management guys were able to research the product and pulled a <a href="http://prezi.com/l02i8fl3aibi/digiceipts/?auth_key=551df01fae7649c3830fb4adeb95fa3ca117fbb4&kw=view-l02i8fl3aibi&rc=ref-29698079">really nice presentation</a>.<br />
<br />
We did not win the contest ... But I learned a lot and met amazing people.<br />
<br />
<a href="http://3.bp.blogspot.com/-RQ_u7z8PcNQ/UQc3C6grlZI/AAAAAAAAB9w/biDpIw7IIMo/s1600/photo.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="240" src="http://3.bp.blogspot.com/-RQ_u7z8PcNQ/UQc3C6grlZI/AAAAAAAAB9w/biDpIw7IIMo/s320/photo.JPG" width="320" /></a><br />
<br />
<br />
Lessons learned:<br />
<ul>
<li>I am not the only one with a "great" idea. Over half of the crowed came up to pitch and I actually liked a lot of the ideas that were not selected.</li>
<li>I should practice my pitch. I failed at communicating my idea to the public and this is what they thought it was (reminder: it was about creating a bucket list for friends)</li>
<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"></script>
<li>I should be passionate about my pitch and I should show it.</li>
<li>Focus on solving problems</li>
<li>Prove a track record of what I done before to support my pitch.</li>
<li>Think about which team to join and what project I could add the most value to.</li>
<li>Bring in my business cards. I regret not marketing myself. Especially given the melting pot nature of talented people that I could network with.</li>
<li>Bring in more of my friends. Knowing people makes it easier to jump into conversations and meet others.</li>
<li>Take breaks and stay healthy. I think I might bring some board games to play with the team while taking breaks.</li>
<li>Know my technologies and have suggestions for common solutions (web hosting, layouts, social marketing).</li>
<li>Learn about technologies that are common among other start ups (Javascript, Ruby, mobile development, facebook Graph API). </li>
<li>Read the rules... yeah.</li>
</ul>
<div>
<br /></div>
<div>
<b>Great quotes I heard (paraphrasing for some of them):</b></div>
<blockquote class="tr_bq">
"Your customers will not move away from the bad process they are following because it works. You have to make your product a 100 times better before they will adopt it." - Tim Cheadle</blockquote>
<br />
<blockquote class="tr_bq">
"The biggest mistake you could make in start up weekend is to actually work on implementing your product" </blockquote>
<div>
<b><br /></b></div>
<div>
Some <a href="http://www.charlotteobserver.com/2013/01/26/3814341/charlotte-startup-weekend-012613.html?spill=1">media coverage</a>.<br />
<br /></div>
<div>
<br /></div>
<div>
<b>List of skills and technologies I got exposed to:</b></div>
<div>
<b>Bootstrap:</b> I used it before but I never created a full project with it. It is a great way to prototype websites. There are a lot of great templates and themes ready to use.</div>
<div>
<b>Google Charts:</b> a great way to charts. We used it to plot a pie graph of the categories and a Bar graph for the spending. We ran into an API key issue but we fixed it.</div>
<div>
<b>Google Maps API:</b> Used to show multiple transaction locations. </div>
<div>
<b>Android Geolocation:</b> I had to get the coordination to plot them on the map. Google resources were really helpful. </div>
<div>
<b>prezi: </b>A great presentation tool.</div>
<div>
Sublime text 2: A great text editor (Thanks <a class="g-profile" href="http://plus.google.com/112678110861270900036" target="_blank">+Dimitrios Arethas</a>)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br /></div>
AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0333 South Church Street, Charlotte, NC 28202, USA35.2261421 -80.84696959999996635.2260916 -80.847048599999965 35.2261926 -80.846890599999966tag:blogger.com,1999:blog-2064964088526123344.post-72421970627813301862013-01-21T19:25:00.000-08:002013-01-28T11:43:56.059-08:00Podcasts I have always enjoyed talk shows but I have no interest in the topics presented. NPR has multiple good shows but I find it hard to plan my day around the radio shows (I don't do that for TVs either!). I starting listening to gaming podcasts and it led me into a whole ocean of podcast about all different topics. I tried rooting my android phone and I ended up losing all of my podcast.<br />
<br />
I am going to create a list here and share my favorite topics with all of you:<br />
<br />
<br />
<b>Random Information and facts:</b><br />
How Stuff Works<br />
<br />
<b>Nostalgia-Nerd Culture:</b><br />
Laser Time<br />
<br />
<b>Programming:</b><br />
This developer life<br />
Hanselminute<br />
.Net Rocks<br />
Thirsty Developer<br />
<br />
<b>Money:</b><br />
Clark Howard<br />
Dave Ramsey<br />
montlyfool<br />
freakonomics<br />
<br />
<b>NPR:</b><br />
Car Talk<br />
This American Life<br />
<br />
<b>gaming:</b><br />
Giant bombcats<br />
8-4 Play<br />
games dammit<br />
Player one podcast<br />
Retronauts<br />
<br />
<b>Electronic music (stay away):</b><br />
UKF<br />
Tiesto's club life<br />
<br />
<b>Science:</b><br />
StarTalk<br />
<br />
<b>TV shows:</b><br />
The Talking Dead<br />
Dexter<br />
<br />
<br />
<b>WhyAmIListeniongToThis:</b><br />
Joe Rogan Experience<br />
Ratchet & The Geek<br />
<br />
<b>History:</b><br />
Hardcore History with Dan Carlin<br />
<br />
<b>Comedy:</b><br />
The Nerdist.<br />
<br />AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-80520070126415362792012-10-05T09:30:00.001-07:002013-03-06T17:08:44.424-08:00How to get market your product<div><p>A good product would be used because it is good</p>
I have seen a lot of advertisement about products that don't function correctly and I quit them so early. I am a gamer and I have to wash my eyes after looking at the Facebook ads. There is no way I am giving your Facebook game a chance. I played mafia wars and I already know what those free to play games are. If you want to get a good following then spend the money on improving the product or the model you are using. I have used many products that were reccomended to me by my friend. I have used dropbox for one reason. It is awesome. It solves a problem and I will share my dropbox with my friends. Not because it is good, but because I care about my friends and I want them to use a good. WE WANT TO USE YOUR PRODUCTS BECAUSE THEY ARE GOOD.
</div> AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-19259605354373105752012-09-24T18:52:00.002-07:002012-09-24T18:52:44.303-07:00Reading Information from a webconfig file in asp.net <div>
Every once in a while, we would like to keep some of the application settings in a web config file to handle tasks like Database location and file location. Here is a quick way too read from a Web.config file <br />
<br />
<blockquote class="tr_bq">
<!-- Somewhere in the web.config fole --><br />
<appSettings><br />
<add key="NameOfTheKey" value="Value"/><br />
<add key="FooKey" value="\\folder\Shared Documents"/><br />
</appSettings></blockquote>
</div>
<div>
<br />
<br />
Here is how to get the file in C#<br />
<br /></div>
<div>
<br />
<blockquote class="tr_bq">
string location = WebConfigurationManager.AppSettings["NameOfTheKey"]; //location will be "Value"</blockquote>
<br />
Hope that helps</div>
<div>
</div>
AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-76879639814920883522012-09-24T18:20:00.000-07:002012-09-25T07:54:51.514-07:00A Web Afternoon - NotesI went to a (surprisingly) fun event last weekend. The best way to describe it is it is a series of TED videos all talking about the web (with great cake and coffee in the back of the room). Hopefully, you can follow these amazing speakers and get caught up on what you missed. I highly recommend going to the future A Web Afternoon events.<br />
<br />
<br />
below are some of the quotes that I was able to doodle down (I really have no idea how to summarize this). I am sorry if I am misrepresenting any of the sessions or misquoting anyone.<br />
<br />
===<br />
Speaker: Jensen Inman<br />
Contact: @edae<br />
Topic:Be Awesome<br />
"if you find yourself smiling and excited about what you are talking about then that is the thing you should do"<br />
"Compare shoes.. if you are all wearing the same shoes then you are hanging out with the same people"<br />
===<br />
Speaker: Igor<br />
Contact:<br />
Topic: Yap Story - story of a start up<br />
David vs gollaiath.<br />
"to keep up, you will find yourself spending 8 hours to keep up, and 8 hours to surpress"<br />
Koala bottle (using a cute descriptive name can help)<br />
yoko onno apple in the art exhibit<br />
===<br />
<div>
Speaker: Todd Moy<br />
Contact: @toddmoy<br />
Topic: ..magic<br />
"I can't do magic, I can help you see it"<br />
user experience is the intercention between the user's mental model and interaction and the Designer's system.<br />
-A Beautiful Lie:<br />
"fiiction can be more compelling than truth"<br />
examples:<br />
Turbo tax and the "analysing your taxis status loading bar"<br />
Gmail "recall" feature delaying the email for a couple of seconds.<br />
- Slight of hand<br />
"work while they are distracted"<br />
red paper heart (I don't remember why I wrote that)<br />
===<br />
<br />
Speaker: Doc Waller<br />
Contact: :@docWaller<br />
Topic: The power of words<br />
I am having a hard time writing about this session. It was mind blowing and made me think about a lot of stuff. I found myself day dreaming and relating to every word.<br />
"Transparency is sexy"<br />
"Less ____ More Layman"<br />
<br />
"Pinocchio had a rock bottom"<br />
"Power words vs word with power"<br />
"The Champ is here"<br />
<a href="http://www.shopliftwindchimes.com/compliment.html">http://www.shopliftwindchimes.com/compliment.html</a><br />
===<br />
<br />
Speaker: Josh yolkert<br />
Contact: @Skookum<br />
Topic: Destruction<br />
build -> fix -> integrate<br />
"We are ____ shop" will die<br />
===<br />
<br />
<br />
<br />
I think I will stop here for now. I have 4 more pages of notes and it is getting really late<br />
More info could be found here.<a href="http://webafternoon.com/"><br class="Apple-interchange-newline" />http://webafternoon.com</a>
<br />
<br /></div>
AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-55329927343143485922012-09-24T11:15:00.001-07:002012-09-24T11:39:33.308-07:00Razor HelpersRazor helpers work just like functions in C# and JS. Create a function (and pass parameters to it if needed) and call it to draw the HTML.<br />
<br />
<br />
Example:<br />
@helper ShowName(string Name)<br />
{<br />
<p> hello @Name <p><br />
}<br />
<br />
and then to use it<br />
<br />
ShowName("Ammar")<br />
ShowName("Mike")<br />
<br />
The HTML will transplate to<br />
<p> hello Ammar <p><br />
<p> hello Mike<p><br />
<br />
The output will show:<br />
Hello Ammar<br />
Hello MikeAmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-84598526585724365852012-09-01T14:05:00.000-07:002012-09-01T16:14:15.556-07:00CSS quick cheat sheet/tutorialI think it is about time I start building a cheat sheet for myself. Here is a CSS one to cover up all the basics.<br />
<br />
How to use a CSS from another file:<br />
<head><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><link rel="stylesheet" type="text/css" href="mystyle.css" /><br />
</head><br />
<br />
Elements and definition<br />
SELECTOR { PROPERTY: VALUE; PROPERTY:VALUE;}<br />
h1 { Color: BLUE; fontsize:12px;}<br />
<br />
Comments:<br />
/*This is how you comment*/<br />
<br />
how to apply the style:<br />
in the html line, use style="Color:Blue"<br />
<br />
how to write a CSS<br />
something<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>font-Size: 24px;<br />
}<br />
<br />
how write a CSS to apply it to what<br />
. means class selector for multiple elements e.g. .RegisterElements. Or you can get p.RegisterElements<br />
<br />
# means selects an id e.g. id="item"AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-38652637325002717552012-06-06T11:53:00.003-07:002012-11-26T07:56:30.485-08:00Validation for MVC ASP.net Razor viewI got stuck with creating the validation for the MVC project and I couldn't find many resources.<br />
<br />
There are three steps needed to implement validation in the MVC project:<br />
1. Attribute on the variables<br />
2. HTTP helpers Validation summery and messages on the view<br />
3. Javascript and Jquery libraries<br />
<br />
Here is how you implement the validation<br />
1.<b>Attribute on the variables</b><br />
They are placed on top of the variables stating the limitations on the variables (e.g. has to be a number, too long or short, can't be null..etc).<br />
Here is an example that I used for a variable that can not be over 1024 and is also required.<br />
[Required(ErrorMessage="Value is Required")]<br />
[Display(Name="DialogueSubject")]<br />
[StringLength(maximumLength: 1024, ErrorMessage = "too long")]<br />
public string DialogueSubject { get; set; }<br />
<br />
make sure you include using System.ComponentModel.DataAnnotations;<br />
<br />
2.<b>HTTP helpers Validation summery and messages on the view</b><br />
These lines would fire up once a validation error shows up.<br />
At the top of the form I placed the following<br />
@Html.ValidationSummary(true, "Error. See the notification below")<br />
and after each one of the textboxes I placed this line. It would get the error from the attribute and tell the user which rule was violated.<br />
@Html.ValidationMessageFor(m => m.DialogueSubject)<br />
<br />
<b>3.Javascript and Jquery libraries</b><br />
And this was the part that I was stuck on. I didn't include the Jquery libraries. These are the 2 libraries that need to be included:<br />
jquery.validate.unobtrusive.min.js<br />
jquery.validate.min.js<br />
<br />
This is what the final result would look like:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-E16MgxyGIKA/T8_HXYSJFKI/AAAAAAAABEo/_nnsMP1da80/s1600/New+Bitmap+Image.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="130" src="http://1.bp.blogspot.com/-E16MgxyGIKA/T8_HXYSJFKI/AAAAAAAABEo/_nnsMP1da80/s400/New+Bitmap+Image.jpg" width="400" /></a></div>
<b><span style="color: #1f497d; font-family: Calibri, sans-serif; font-size: 11pt;"><br /></span></b>
And that is it! happy validationAmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-89266972479644707632012-06-06T11:36:00.001-07:002012-06-06T11:36:07.636-07:00I need to blog moreI need to blog more I need to blog more I need to blog more I need to blog more I need to blog more I need to blog more I need to blog more I need to blog more I need to blog more I need to blog more I need to blog more I need to blog more I need to blog more I need to blog more<br /><br />It has been a while now. I need to clean up all of the drafts I made.AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-52670596391866696572012-01-21T19:02:00.000-08:002012-01-21T19:02:47.466-08:00College for the Non-Traditional Students and it's benefitsI will try to rush this write up as I feel like there is much to discuss and edit. and..GO<br /><br />I was listening to NPR on my way home from work and they were talking about bringing back college drop outs to the classes. The part that interested me was when they talking about how the current college model does not cater to the current college student now. Many college students commute or work while attending college unlike what universities (and societies) expects the average student to be (living in the dorm and having no other responsibilities aside from school work). Many of these (new aged) students will have to choose between work or school. On of the options will put food on the table so it is easy to drop out of school. I am hoping that this will change in the future with the introduction of the internet and online classes. Here are my reason on why non traditional students will can have a better education:<br /><br />1. An early work force experience.<br />Sure, There is no trade of for the crazy social life in school with all of its highs and lows. But there is no trade off for the work force experience either. Having a job or two on the resume will mean a lot especially if the job is related to your dream future job that you are applying for.<br />
<br />
2. being your own teacher.<br />Online classes demand a lot of self-taught skills. It could feel like cheating sometimes by attending a class and trying to find what the teacher assumes is going to be on the test over learning the actual material. I knew students who did not read the book and never heard of a UML diagram before even that it was on the 2nd chapter in a book for a 1st year Computer Science class. Teachers can not go over everything in the 45 min class time so they will only try to pick what they want the student to pass knowing.<br /><br />3. Time management skills.<br />
If you work and attend school at the same time, then you will force yourself to get the best out of your study time and develop good study skills.<br />
<br />
<br />
<br />
The model of college education is outdated and it will be long before it become effective to all students. But I also think that those who are not in the target could benefit a lot more if they can survive their way through.<br /><br /><br />--<br /> I just hope that it helps some internet surfer looking for opinions.<br />
<br />
<br />
<br />AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0tag:blogger.com,1999:blog-2064964088526123344.post-33398863485304644922011-12-22T20:07:00.001-08:002011-12-22T20:07:48.647-08:002011 college graduate<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-PI1GtOY0RFU/TvP-JWUHWhI/AAAAAAAAA2A/5etEd4wfXs0/s720/IMG_0090.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-PI1GtOY0RFU/TvP-JWUHWhI/AAAAAAAAA2A/5etEd4wfXs0/s320/IMG_0090.JPG" width="285" /></a></div>
<div style="text-align: center;">
enough said!</div>AmmarRicahttp://www.blogger.com/profile/10138396730888070864noreply@blogger.com0