сряда, 28 ноември 2012 г.

Android 4.2. – втората издънка на Google за последните 12 месеца


Отварям тази тема, за да предупредя всички имащи Nexus устройства и чакащи версия 4.2 на Android да направят по един backup преди на ъпдейтнат. Както много хора и аз съм си купил Nexus устройство (Samsung Galaxy Nexus), защото ъпдейтите идват до седмица две след официалната премиера на новата версия на операционната система. До версия 4.1.2. всичко си се случваше повече от добре, но за съжаление това не може да го кажа за най-новото творение на Google Android 4.2.. Вчера вечерта най-накрая дойде съобщение, че има нова версия и че мога да ъпдейтна. Подготвих телефона и си пуснах ъпдейта да се инсталира. Всичко си беше ок дръпна се ъпдейта рестартира се телефона, започна да си се инсталира, но всичко свърши когато се рестартира и започна да зарежда операционната система. Телефона си зацикли на началното лого и не пожела да мръдне повече. Пробвах какви ли не системи с пълна батерия, с наполовина пълна, с включен адаптер и без, с wipe cache partition, със сложена сим карта и извадена, с дълго изчакване да зареди и резултата беше нулев. Най-лошото от цялата работа е че този телефон няма sd карта и ако му направя factory reset ще загубя всичко на него. Тъй като никога не се отказвам толкова лесно ще пробвам да инсталирам пак 4.2 ъпдейта през флашка закачена за телефона или чрез ADB и се надявам да се съживи колкото да си преточа информацията и веднага ще се върна на версия 4.1.2.  Нямам навика да си правя backup преди инсталиране на нова версия, защото си мислих, че втора такава издънка като Android 4.0 Google няма да направят, но ето видя се, че явно могат. В интерес на истината видях само още няколко случая като моя, но за сметка на това всички успели да ъпдейтнат се оплакват от доста проблеми и бъгове, част от които са неработещ Bluetooth и забиваш GPS. Друга индикация, че нещата са тотално сбъркани при тази версия е излизането на версия 4.2.1 само две седмици след пускането на ъпдейта. Информация за това може да се намери тук.
Същата история се случи и с Android 4.0 само седмици след като излезe се пусна версия 4.0.1, а за да бъде напълно оправен трябваше да чакаме до версия 4.0.4.. Версия 4.1. беше наистина много добре изпипана и много неща бяха изгладени. С версия 4.1.2. живота на батерията ми се дигна с около 20% и изведнъж както всичко беше ок всичко отиде по дяволите. Вече трябва да се има едно на ум и да се прави backup  преди всеки ъпдейт.
Като причина за случилото се засега подозирам свободното място на телефона преди да започне ъпдейта. Както казах този телефон няма sd карта, а има само вградена пемет от 16GB от която използваеми са не повече от 12GB. За днешните стандарти това е критично малко, като се има предвид, че в google play има приложения големи по 2GB. Та с тези 12GB е доста трудно човек да запази поне гигабайт свободен. При мен свободното място обикновено варира от 450MB до към 700MB. Забелязах, че когато свободното място е около 500MB част от приложенията не искаха да се ъпдейтват и избиваха грешка, че няма свободно място, а то реално има 500MB. Интересното е че такива грешки даваха приложения на които самия ъпдейт е по 20-тина мегабайта. И от цялото това нещо си мисля дали има шанс да не е стигнало мястото от 500MB да се инсталира новия ъпдейт и от това да се е омазала системата и да не иска да зареди. Ъпдейта реално е около 70MB. За друга причина не мога да да се сетя. Търся свежи идеи за това каква може да е причината за срива и как може да си измъкна инфото от телефона.

вторник, 13 ноември 2012 г.

Стивън Синофски – ръководителя на Windows подразделението на Microsoft напуска компанията


Днес в интернет се появи информация, че ръководителя на Windows подразделението на Microsoft  напуска компанията. След 23 години работа и активно участие в разработката на много ключови продукти и само месец след представянето на Windows 8 Стивън решава да напусне компанията за която е работил толкова дълго и е отдал голяма част от живота си. След тази новина идва един голям въпрос – трябваше ли този човек дал толкова на Microsoft да се маха точно сега и каква причина се крие зад това му решение?
За мен лично причините може да бъдат две. Първата и доста вероятна е че той може да е изкупителната жертва при един бъдещ неуспех на Windows 8. Другата причина може да се крие в самия него. Може той самия да не се чувства сигурен в успеха на новата операционна система и да е решил да се махне докато е време. Тук изниква следващия въпрос негова ли ще бъде вината за един бъдещ провал на Windows 8 и той ли трябва да понесе отговорността? Според мен той няма никаква вина в цялата ситуация в която се намират Microsoft  в момента, тъй като те просто бяха притиснати  и нямаха друга алтернатива.
 За голямо мое съжаление трябва да призная, че Microsoft малко закъсняха и сега се опитват да догонват, но по доста труден начин. След много успешния  Windows 7, за което много заслуги има точно Синофски, за Microsoft  настъпва един много труден път на преход към нещо тотално различно. Въпреки, че Windows 7 беше много успешен продукт, това не можеше да се каже за Windows Phone 7 и за мен от там започнаха да се зараждат проблемите. Аз съм използвал Windows phone 7 телефон в продължение на месеци и доста ми допадна концепцията, но за повечето хора това не беше просто тяхната платформа. Две са основните неща, които могат да създадат доста главоболия на компанията за в бъдеще. Едното е провала на Win phone 7,  а второто е че решиха да направят Windows за ARM процесори. След провала и ниския пазарен дял на мобилната платформа доста хора трябваше да бъдат махнати от компанията, защото заради тях се изпуска много голям пазар  при мобилните устройства.  След този провал Microsoft нямаха друг вариант освен да предложат нещо различно като концепция, за да могат да се върнат на мобилния пазар. Една от причините за този провал е желанието на Microsoft да използва концепцията на Apple и да вкара всякакви рестрикции на платформата си.  След всичко това Microsoft не успяха отново да влезнат в битката за мобилния пазар и затова решиха, че с Windows 8 ще променят целия пазар.
 Windows RT може да е много добре направен (за което не мога да твърдя, че е така защото съм нямал личен допир), но си остава една гола операционна система с един офис пакет и един магазин, който няма почти нищо. Това да се заложи на три различни операционни системи за PC-та, таблети и телефони може да се окаже доста лош ход. Колкото и да са с едно ядро всяка си остава със своята индивидуалност.  Най-правилното решение за мен беше да се използва Windows phone като операционна система за таблетите. Ако това се беше случило сега Surface можеше да има вече магазин със 120000 приложения, а не един гол Windows с тепърва развиващ се магазин. Както се вижда при Android и Apple този подход работи.
При Windows phone 8 се вижда, че е направена стъпка в правилната посока, но въпреки това неизвестните са все още много. Надявам се, че от Microsoft ще успеят да реализират бъдещите си планове за развитие и нещата рано или късно ще се случат, но разделяйки се с ключови служители няма да им е от полза. Надявам се господин Синофски да продължи да твори в тази област, защото за мен той е един доста кадърен човек в който има много потенциал. Пожелавам му успехи в бъдещите му начинания.

HTML: Semantic Web

Това е последното домашно от курса по въведение в HTML. Всички задачи са минати през валидатор.

Задача 1: Refactor the refactoring-homework.html web page and make its HTML semantic.

<!DOCTYPE html>
<html>
<head>
 <title>Design_1</title>
</head>
<body>
<header>
 <h1>
  <img src="logo.jpg" alt="Logo" /><span>Welcome to our Web Site</span>
 </h1>
 <nav>
  <ul>
   <li><a href="#">Nav Item 1</a></li>
   <li><a href="#">Nav Item 1</a></li>
   <li><a href="#">Nav Item 1</a></li>
   <li><a href="#">Nav Item 1</a></li>
  </ul>
 </nav>
</header>
<table border="1" cellspacing="0">
 <thead>
  <tr>
   <th>First name</th>
   <th>Last name</th>
   <th>Score</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>Doncho</td>
   <td>Minkov</td>
   <td>4.54</td>
  </tr>
  <tr>
   <td>Svetlin</td>
   <td>Nakov</td>
   <td>4.31</td>
  </tr>
  <tr>
   <td>Georgi</td>
   <td>Georgiev</td>
   <td>4.54</td>
  </tr>
 </tbody>
</table> 
</body>
</html>

Задача 2: Create a web page using semantic HTML by the design in homework-design-1.pptx.

<!DOCTYPE html>
<html>
<head>
 <title>LinkedIn</title>
</head>
<body>
<header>
 <h1><a href="http://www.linkedin.com/">LinkedIn</a></h1>
  <nav>
   <ul>
    <li><a href="#">LinkedIn</a>
    <li><a href="#">What is LinkedIn</a></li>
    <li><a href="#">Join Today</a></li>
    <li><fieldset><legend>Sign In</legend>
     <ul>
      <li><form><label>Email:</label>
      <input type="email" name="email"  pattern="[a-zA-Z0-9_]{3,}@[a-zA-Z0-9_]{3,}.[a-zA-Z0-9_]{2,4}" /></form></li>
      <li><form><label>Password:</label>
      <Input type="password" name="password" /></form></li>
      <li><input type="button" value="Sign In" /></li>
     </ul>
     </fieldset>
    </li>
   </ul>
  </nav>
 <hr/>
</header>
<h1>Over 175 million proffesionals use LinkedIn to exchange information, ideas and opportunities</h1>
<ul>
 <li>Stay informed about your contacts and industry</li>
 <li>Find the people & knowledge you need to achieve your goals</li>
 <li>Control your professional identity online</li>
</ul>
<h2>Join LinkedIn Today</h2>
 <fieldset>
  <legend>Sign Up</legend>
  <ul>
   <li><form><label>First Name:</label>
   <div><input type="text" name="firstname" /></div></form></li>
   <li><form><label>Last Name:</label>
   <div><input type="text" name="lastname" /></div></form></li>
   <li><form><label>Email:</label>
   <div><input type="email" name="email" pattern="[a-zA-Z0-9_]{3,}@[a-zA-Z0-9_]{3,}.[a-zA-Z0-9_]{2,4}" /></div></form></li>
   <li><form><label>Password</label>
   <div><input type="password" name="password"   /></div></form>
   <div>6 or more characters</div></li>
  </ul>
  <form><input type="button" value="Join Now" /></form>
  <span><a href="#">*</a></span>
  <p>Already on LinkedIn? <a href="#">Sign In</a></p>
 </fieldset>
<h3>Search for someone by name</h3>
<ul>
 <li><form><label>First Name</label>
 <input type="text" name="firstname" /></form></li>
 <li><form><label>Last Name</label>
 <input type="text" name="lastname" ></form></li>
</ul>
<form><input type="button" value="Go" /></form>
</body>
</html>

Задача 3: Create a web page using semantic HTML by the design in homework-design-2.pptx.

<!DOCTYPE html>
<html>
<head>
 <title>Refactoring</title>
</head>
<body>
<header>
<h1>The Header</h1>
<nav>
 <ol type="1">
  <li><a href="#">nav item 1</a></li>
  <li><a href="#">nav item 2</a></li>
  <li><a href="#">nav item 3</a></li>
  <li><a href="#">nav item 4</a></li>
 </ol>
</nav>
</header>
<h2>Post header</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing <strong>elit</strong>. Mauris urna orci, euismod vitae sollicitudin et, varius et velit. 
 Cras et tellus erat. Vestibulum auctor varius purus faucibus posuere. Maecenas et libero et orci bibendum eleifend sit amet ut purus. 
 Sed at lorem in metus tempus pretium. Praesent cursus rhoncus nulla. Nulla condimentum lacus et ligula consectetur eu tristique sem scelerisque. 
 Duis id velit enim, sed sodales nulla. Donec leo erat, posuere vel scelerisque in, rutrum ac magna. <em>Donec elementum nunc molestie nulla semper</em> vitae placerat turpis bibendum. 
 Phasellus egestas lobortis dictum.</p>
<h2>Post header</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing <strong>elit</strong>. Mauris urna orci, euismod vitae sollicitudin et, varius et velit. 
 Cras et tellus erat. Vestibulum auctor varius purus faucibus posuere. Maecenas et libero et orci bibendum eleifend sit amet ut purus. 
 Sed at lorem in metus tempus pretium. Praesent cursus rhoncus nulla. Nulla condimentum lacus et ligula consectetur eu tristique sem scelerisque. 
 Duis id velit enim, sed sodales nulla. Donec leo erat, posuere vel scelerisque in, rutrum ac magna. <em>Donec elementum nunc molestie nulla semper</em> vitae placerat turpis bibendum. 
 Phasellus egestas lobortis dictum.</p>
<h2>Post header</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing <strong>elit</strong>. Mauris urna orci, euismod vitae sollicitudin et, varius et velit. 
 Cras et tellus erat. Vestibulum auctor varius purus faucibus posuere. Maecenas et libero et orci bibendum eleifend sit amet ut purus. 
 Sed at lorem in metus tempus pretium. Praesent cursus rhoncus nulla. Nulla condimentum lacus et ligula consectetur eu tristique sem scelerisque. 
 Duis id velit enim, sed sodales nulla. Donec leo erat, posuere vel scelerisque in, rutrum ac magna. <em>Donec elementum nunc molestie nulla semper</em> vitae placerat turpis bibendum. 
 Phasellus egestas lobortis dictum.</p>
<h2>Post header</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing <strong>elit</strong>. Mauris urna orci, euismod vitae sollicitudin et, varius et velit. 
 Cras et tellus erat. Vestibulum auctor varius purus faucibus posuere. Maecenas et libero et orci bibendum eleifend sit amet ut purus. 
 Sed at lorem in metus tempus pretium. Praesent cursus rhoncus nulla. Nulla condimentum lacus et ligula consectetur eu tristique sem scelerisque. 
 Duis id velit enim, sed sodales nulla. Donec leo erat, posuere vel scelerisque in, rutrum ac magna. <em>Donec elementum nunc molestie nulla semper</em> vitae placerat turpis bibendum. 
 Phasellus egestas lobortis dictum.</p>
<footer>
<p>and the footer</p>
</footer>
</body>
</html>

HTML: Forms

Ето ги и задачите от домашното за форми в HTML. Постарал съм се всичко да е направено максимално според изискванията. Всичко е минато през валидатор.

Задача 1: Create a Web form that looks like this sample:




<!DOCTYPE html>
<html>
<head>
 <title>Web Form</title>
</head>
<body>
<form>
 <table border="1" cellspacing="0" style="text-align:left">
  <colgroup>
   <col width="140" />
   <col width="320" />
  </colgroup>
  <tr>
   <td style="text-align:right"><label>Last Name</label></td>
   <td><input type="text" name="lname" required="required" pattern="[a-z-A-Z]{2,15}" size="40"/></td>
  </tr>
  <tr>
   <td style="text-align:right"><label>First Name</label></td>
   <td><input type="text" name="fname" required="required" pattern="[a-z-A-Z]{2,15}" size="40"/></td>
  </tr>
  <tr>
   <td style="text-align:right"><label>Adress</label></td>
   <td><textarea name="adress" cols="30" rows="4" required="required" ></textarea></td>
  </tr>
  <tr>
   <td style="text-align:right"><label>City</label></td>
   <td><input type="text" name="city" required="required" pattern="[a-z-A-Z]{2,20}" size="25"/>
   <span><label>State</label>
   </span><input type="text" name="state" required="required" pattern="[a-z-A-Z]{2,20}" size="5"/></td>
   
  </tr>
  <tr>
   <td style="text-align:right"><label>Zip/Postal Code</label></td>
   <td><input type="text" name="zip" required="required" pattern="[0-9]{4}" size="15"/></td>
  </tr>
  <tr>
   <td style="text-align:right"><label>Country</label></td>
   <td><select name="country">
    <option value="BG" selected="selected">Bulgaria</option>
    <option value="RO">Romania</option>
    <option value="GR">Greece</option>
    <option value="SR">Serbia</option>
   </select></td>
  </tr>
  <tr>
   <td style="text-align:right"><label>Phone(Country Code, Area Code, Number)</label></td>
   <td><span>*(</span>
   <input type="tel" name="phone" required="required" pattern="[\+]\d{3}" placeholder="+359" size="5"/>
   <span>)</span>
   <input type="tel" name="phone" required="required" pattern="\d{3}" placeholder="888" size="5"/>
   <span>-</span>
   <input type="tel" name="phone" required="required" pattern="\d{6}" placeholder="888888" size="15"/></td>
  </tr>
  <tr>
   <td style="text-align:right"><label>E-mail</label></td>
   <td><input type="email" name="email" required="required" pattern="[a-zA-Z0-9_]{3,}@[a-zA-Z0-9_]{3,}.[a-zA-Z0-9_]{2,4}" placeholder="sample@email.com" size="40"/></td>
  </tr>
  <tr>
   <td style="text-align:right"><label>Birth date</label></td>
   <td><span>Month</span><input type="text" name="birth date" required="required" pattern="[0-9]{1,2}" size="1"/>
   <span>Day</span>
   <input type="text" name="birthdate" required="required" pattern="[0-9]{1,2}" size="1"/>
   <span>Year(4 digit)</span>
   <input type="text" name="birthdate" required="required" pattern="[0-9]{4}" size="3"/></td>
  </tr>
  <tr>
   <td style="text-align:right"><label>Gender</label></td>
   <td><select name="gender">
    <option value="male" selected="selected">Male</option>
    <option value="female">Female</option>
   </select></td>
  </tr>
  <tr>
   <td style="text-align:right"><label>Starting date</label></td>
   <td><input name="startingdate" type="radio" value="s" />
   <label>Spring 2006</label>
   <input name="startingdate" type="radio" value="r" />
   <label>Summer 2006</label></td>
  </tr>
  <tr>
   <td style="text-align:right"><label>Comments/Questions</label>
   <td><textarea name="comments" cols="35" rows="5"></textarea></td>
  </tr>
  <tr>
   <td colspan="2" style="text-align:center"> <input type="submit" name="submit" value="Submit" />
   <input type="reset" name="reset" value="Clear This Form" /></td>
  </tr>
 </table>
</form>
</body>
</html>

Задача 2: Create the following using tables and forms:


<!DOCTYPE html>
<html>
<head>
 <title>Univercity Table</title>
</head>
<body>
<form>
 <table border="1" cellspacing="0">
  <thead>
   <tr>
    <th rowspan="2">Order</th>
    <th colspan="3">Personal Info</th>
    <th colspan="5">University Marks</th>
   </tr>
   <tr>
    <th>First Name</th>
    <th>Last Name</th>
    <th>Faculty Number</th>
    <th>English</th>
    <th>Math</th>
    <th>Biology</th>
    <th>Physics</th>
    <th>Total</th>
   </tr>
  </thead>
  <tfoot>
   <tr>
    <td colspan="9"><input type="button" value="Previous" />
    <a href="#">1</a>
    <span>,</span>
    <a href="#">2</a>
    <span>,</span>
    <a href="#">3</a>
    <span>,</span>
    <a href="#">4</a>
    <span>,...,</span>
    <a href="#">10</a>
    <input type="button" value="Next" /></td>
   </tr>
  </tfoot>
  <tbody>
   <tr>
    <td>1</td>
    <td>Pesho</td>
    <td>Yordanov</td>
    <td>123456</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>3,50</td>
   </tr>
   <tr>
    <td>2</td>
    <td>Pesho</td>
    <td>Yordanov</td>
    <td>123456</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>3,50</td>
   </tr>
   <tr>
    <td>3</td>
    <td>Pesho</td>
    <td>Yordanov</td>
    <td>123456</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>3,50</td>
   </tr>
   <tr>
    <td>4</td>
    <td>Pesho</td>
    <td>Yordanov</td>
    <td>123456</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>3,50</td>
   </tr>
   <tr>
    <td>5</td>
    <td>Pesho</td>
    <td>Yordanov</td>
    <td>123456</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>3,50</td>
   </tr>
   <tr>
    <td>6</td>
    <td>Pesho</td>
    <td>Yordanov</td>
    <td>123456</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>3,50</td>
   </tr>
   <tr>
    <td>7</td>
    <td>Pesho</td>
    <td>Yordanov</td>
    <td>123456</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>3,50</td>
   </tr>
   <tr>
    <td>8</td>
    <td>Pesho</td>
    <td>Yordanov</td>
    <td>123456</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>3,50</td>
   </tr>
   <tr>
    <td>9</td>
    <td>Pesho</td>
    <td>Yordanov</td>
    <td>123456</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>3,50</td>
   </tr>
   <tr>
    <td>10</td>
    <td>Pesho</td>
    <td>Yordanov</td>
    <td>123456</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>3,50</td>
   </tr>
  </tbody>
 </table>
</form>
</body>
</html>

Задача 3: Construct the following Grid component:
Try to make a HTML page, that looks just like the example
Not required to style for the homework


<!DOCTYPE html>
<html>
<head>
 <title>Grid Component</title>
</head>
<body>
<form>
 <table cellspacing="0" border="1">
  <thead>
   <tr>
    <th colspan="6">Drag a column header and drop it here to group by that column</th>
   </tr>
   <tr>
    <th>ProductID</th>
    <th>Product Name</th>
    <th>Unit Price</th>
    <th>Quantity per unit</th>
    <th>Units in stock</th>
    <th>Discontinued</th>
   </tr>
   <tr>
    <th><input type="text" name="1" /></th>
    <th><input type="text" name="2" /></th>
    <th><input type="text" name="3" />
    <input type="image" src="images/Button1.jpg" width="20" alt="B" /></th>
    <th><input type="text" name="4"  /></th>
    <th><input type="text" name="5"  />
    <input type="image" src="images/Button1.jpg" width="20" alt="B" /></th>
    <th style="text-align:left"><input type="checkbox" name="" value="" />
    <input type="image" src="images/Button1.jpg" width="20" alt="B" /></th>
   </tr>
  </thead>
  <tfoot>
   <tr>
    <td colspan="4"><input type="image" src="images/first.jpg" width="20" alt="<<" />
    <input type="image" src="images/Previous.jpg" width="20" alt="<" />
    <a href="#">1</a>
    <a href="#">2</a>
    <a href="#">3</a>
    <a href="#">3</a>
    <a href="#">4</a>
    <a href="#">5</a>
    <a href="#">6</a>
    <a href="#">7</a>
    <a href="#">8</a>
    <a href="#">9</a>
    <a href="#">10</a>
    <span>...</span>
    <input type="image" src="images/next.jpg" width="20" alt=">" />
    <input type="image" src="images/last.jpg" width="20" alt=">>" />
    <label for="pagesize">Page size:</label>
    <select name="pagesize" id="pagesize">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="2">3</option>
    <option value="2">4</option>
    <option value="2">5</option>
    <option value="2">6</option>
    <option value="2">7</option>
    <option value="2">8</option>
    <option value="2">9</option>
    <option value="2" selected="selected">10</option>
    </select></td>
    <td colspan="2" style="text-align:right">335104 items in 33511 pages</td>
   </tr>
  </tfoot>
  <tbody  style="text-align:left">
   <tr>
    <th>1</th>
    <th>Chai</th>
    <th>$18.00</th>
    <th>10 boxes x 20 bags</th>
    <th>39</th>
    <th><input type="checkbox" name="" value="" /></th>
   </tr>
   <tr>
    <th>2</th>
    <th>Chang</th>
    <th>$19.00</th>
    <th>24 - 12 oz bottles</th>
    <th>17</th>
    <th><input type="checkbox" name="" value="" /></th>
   </tr>
   <tr>
    <th>3</th>
    <th>Aniseed Syrop</th>
    <th>$10.00</th>
    <th>12 - 550ml bottles</th>
    <th>13</th>
    <th><input type="checkbox" name="" value="" /></th>
   </tr>
   <tr>
    <th>4</th>
    <th>Chef Anton's Cajun Seasoning</th>
    <th>$22.00</th>
    <th>48 - 6 oz jars</th>
    <th>53</th>
    <th><input type="checkbox" name="" value="" /></th>
   </tr>
   <tr>
    <th>5</th>
    <th>Chef Anton's Gumbo Mix</th>
    <th>$21.35</th>
    <th>35 boxes</th>
    <th>0</th>
    <th><input type="checkbox" name="" value="" /></th>
   </tr>
   <tr>
    <th>6</th>
    <th>Grandma's Boysenberry Spread</th>
    <th>$25.00</th>
    <th>12 - 8 oz jars</th>
    <th>120</th>
    <th><input type="checkbox" name="" value="" /></th>
   </tr>
   <tr>
    <th>7</th>
    <th>Uncle Bob's Organic Dried Pears</th>
    <th>$30.00</th>
    <th>12 - 1 lb pkgs.</th>
    <th>15</th>
    <th><input type="checkbox" name="" value="" /></th>
   </tr>
   <tr>
    <th>8</th>
    <th>Northwoods Cranberry Sause</th>
    <th>$40.00</th>
    <th>12 - 12oz jars</th>
    <th>6</th>
    <th><input type="checkbox" name="" value="" /></th>
   </tr>
   <tr>
    <th>9</th>
    <th>Mishi Kobe Niku</th>
    <th>$97.00</th>
    <th>18 - 500g pkgs.</th>
    <th>29</th>
    <th><input type="checkbox" name="" value="" /></th>
   </tr>
   <tr>
    <th>10</th>
    <th>Ikura</th>
    <th>$31.00</th>
    <th>12 - 300ml jars</th>
    <th>31</th>
    <th><input type="checkbox" name="" value="" /></th>
   </tr>
  </tbody>
 </table>
</form>
</body>
</html>

Задача 4*: Create the following HTML Page:


<!DOCTYPE html>
<html>
<head>
 <title>Mac Book Air</title>
</head>
<body>
<form>
 <table>
  <thead>
   <tr>
    <th style="text-align:center" colspan="3"><span><a href="#">Apple</a></span>
    <span><a href="#">Toshiba</a></span>
    <span><a href="#">Lenovo</a></span>
    <span><a href="#">Dell</a></span>
    <span><a href="#">Asus</a></span>
    <span><a href="#">Acer</a></span>
    <span><a href="#">HP</a></span>
    </th>
   </tr>
  </thead>
  <tbody>
   <tr>
    <td><fieldset><legend>Apple Mac Book Air</legend>
     <table>
      <tr>
       <td  rowspan="2"><img src="macbook.jpg" width="200" alt="Mac Book Air"></td>
       <td>64GB SSD</td>
      </tr>
      <tr>
       <td>2GB DDR</td>
      </tr>
      <tr>
       <td>1300USD</td>
       <td>Intel Core i5</td>
      </tr>
     </table>
     </fieldset>
    </td>
    <td><fieldset><legend>Apple Mac Book Air</legend>
     <table>
      <tr>
       <td  rowspan="2"><img src="macbook.jpg" width="200" alt="Mac Book Air"></td>
       <td>64GB SSD</td>
      </tr>
      <tr>
       <td>2GB DDR</td>
      </tr>
      <tr>
       <td>1300USD</td>
       <td>Intel Core i5</td>
      </tr>
     </table>
     </fieldset>
    </td>
    <td rowspan="3"><div>Min price: 500USD</div>
    <div><input type="range" min="500" max="1500" /></div>
    <div>Max price: 500USD</div>
    <div><input type="range" min="500" max="1500" /></div>
    <div>Min RAM: 4GB</div>
    <div><input type="range" min="4" max="16" /></div>
    <div>Max RAM: 16GB</div>
    <div><input type="range" min="4" max="16" /></div></td>
   </tr>
   <tr>
    <td><fieldset><legend>Apple Mac Book Air</legend>
     <table>
      <tr>
       <td  rowspan="2"><img src="macbook.jpg" width="200" alt="Mac Book Air"></td>
       <td>64GB SSD</td>
      </tr>
      <tr>
       <td>2GB DDR</td>
      </tr>
      <tr>
       <td>1300USD</td>
       <td>Intel Core i5</td>
      </tr>
     </table>
     </fieldset>
    </td>
    <td><fieldset><legend>Apple Mac Book Air</legend>
     <table>
      <tr>
       <td  rowspan="2"><img src="macbook.jpg" width="200" alt="Mac Book Air"></td>
       <td>64GB SSD</td>
      </tr>
      <tr>
       <td>2GB DDR</td>
      </tr>
      <tr>
       <td>1300USD</td>
       <td>Intel Core i5</td>
      </tr>
     </table>
     </fieldset>
    </td>
   </tr>
      <tr>
    <td><fieldset><legend>Apple Mac Book Air</legend>
     <table>
      <tr>
       <td  rowspan="2"><img src="macbook.jpg" width="200" alt="Mac Book Air"></td>
       <td>64GB SSD</td>
      </tr>
      <tr>
       <td>2GB DDR</td>
      </tr>
      <tr>
       <td>1300USD</td>
       <td>Intel Core i5</td>
      </tr>
     </table>
     </fieldset>
    </td>
    <td><fieldset><legend>Apple Mac Book Air</legend>
     <table>
      <tr>
       <td  rowspan="2"><img src="macbook.jpg" width="200" alt="Mac Book Air"></td>
       <td>64GB SSD</td>
      </tr>
      <tr>
       <td>2GB DDR</td>
      </tr>
      <tr>
       <td>1300USD</td>
       <td>Intel Core i5</td>
      </tr>
     </table>
     </fieldset>
    </td>
   </tr>
  </tbody>
 </table>
</form>
</body>
</html>


Последната задача съм се опитал да я докарам едно към едно със заданието, но има лека разлика. Според мен може да има и по-лесен начин за реализация, но за момента само така успях да го направя.

понеделник, 12 ноември 2012 г.

Windows 8 Pro - впечатления, препоръки и премеждия


Тъй като си купих Windows 8 веднага след излизането пиша това, за да споделя моите настоящи впечатления, препоръки и премеждия.
Ще започна от офертите, които предлагат Microsoft  на този етап. Първата опция е тази за 30 лева. Тя е доста добра, но и малко подвеждаща.  Microsoft казват, че за да се възползваме от тази оферта трябва компютъра да е закупен след 2 Юни и да има лиценз за Windows 7. Тъй като аз си закупих лаптоп с Windows 7, но седял в склад 2 години не можах да се възползвам от тази оферта. Въпреки че лаптопа е закупен в периода на промоцията от търговеца на дребно се оказа, че не изпълнявам условията. След проведен разговор с Microsoft България това се потвърди. Девойката с която говорих ми каза, че лиценза ми е издаден през 2010 година и няма как да мине проверката. Като алтернатива ми предложи офертата за 60 лева, но леко ме подведе като ми каза, че това е оферта само за ъпгрейд от 7, а то се оказа, че може да си се инсталира на чисто. Имайте едно на ум ако пазарувате лаптоп с Windows 7 и желание за ъпгрейд, тъй като може да попаднете на модел преседял при някой от родните дистрибутори. За лаптопа който аз закупих си знаех, че е стар модел, но пък офертата за него беше прекалено добра и затова го взех.
След като вече разбрах, че единствената ми алтернатива е ъпгрейд за 60 лева + 5 евро ДДС се захванах с процедурата. Изтеглих си програмката за проверката за съвместимост и направих проверката. От към драйвери всичко беше съвместимо с изключение на един драйвер за Bluetooth.  Програмата като цяло дава доста  добра информация за цялостната съвместимост. Лично аз препоръчвам ако се прави ъпгрейд, а не чиста инсталация да се деинсталира всичкия софтуер, който програмката показва, че има проблеми със съвместимостта. Аз реших да правя ъпгрейд тъй като лаптопа ми беше почти празен. След като подготвих машината си купих лиценза и веднага ми пристигна ключа. След като купих ключа започна изтеглянето. След изтеглянето има няколко опции - да се започне инсталацията, да се запише на диск или да се запише на флаш памет. Ако се избере опцията за запис на диск се прави image който се съхранява на харда и след това се записва на диск. След всичко това натам вече си се инсталира стандартно. След като мине инсталацията се правят както стандартните настройки при Windows 7 така и някои допълнителни. Новост е опцията да се логваш направо с Live акаунт, което има и плюсове и минуси. От една страна като се влиза с Live акаунт не е необходимо да се логваш в различните програми поотделно. Като нещо негативно бих изтъкнал, че самото логване отнема няколко секунди повече в сравнение с локалния акаунт. Аз лично не харесах тази опцията, защото не исках да съм логнал непрекъснато към всички онлайн неща, които вървят с Live акаунта. За себе си избрах локален акаунт. Като минус на локалния акаунт мога да изтъкна, че трябва да се въвежда Live акаунта за различните услуги като skydrive, calendar, photos и други по отделно, но може да се излиза от тях по всяко време. След избора на акаунта настройките са готови и операционната система е готова за употреба. При мен всички драйвери без този за Bluetooth си бяха ок. Този драйвер windows-a си го намери автоматично.
След като направих всички настройки и оптимизации по операционната система реших да започна да си качвам необходимия софтуер и тук започнаха премеждията. Като за начало бих отбелязъл, че вече има вградена опция за Mount-ване на image файлове, което е много удобно. За съжаление аз го разбрах след като вече качих Alcohol 52% free. Не си правете труда да го качвате, защото не работи като хората и после не може да се деинсталира. Другото, което си има вградено е антивирусната на Microsoft сега позната като Windows defender. Не знам колко върши работа, но засега не съм инсталирал допълнителен софтуер. Последното нововъведение от към софтуер, което за сега съм забелязал е вградения четец за PDF файлове. След инсталирането на стандартните програми дойде време да инсталирам и Visual Studio 2012 Express for Desktop. Тук дойде първия голям проблем. Изпробвах с какви ли не настройки и винаги инсталацията забиваше на началното лого и до там. След много четене и ровене в нета открих, че доста хора изпитват подобен проблем. И всичко това се случва на потребители, които са направили ъпгрейд, а не чиста инсталация. Накрая се оказа, че единственото решение е преинсталация на чисто. След преинсталация на чисто си се инсталира без проблеми.
След първата преинсталация и успешното инсталиране на Visual studio-то ми изникна проблем с драйверите. Тъй като лаптопа е с две видео карти Nvidia GT210 и интелска в хибридна конфигурация драйветите доста специфично се инсталират. За мен това се дължи повече на драйвера отколкото на Windows-а. След още две преинсталации успях всички драйвери да подкарам.
Следващата ми стъпка беше да си инсталирам Skype. След инсталацията дойде следващото премеждие. За да се използва skype трябва да се обедини skype акаунта с Live акаунта, което на мен хич не ми хареса, но се примирих. Като цяло skype с metro UI не е толкова зле и ми допада.
Нещо, което ми хареса е че има вградено Skydrive приложение, но за съжаление само metro такова. Ако някой иска да го използва и като desktop приложение трябва да се дръпне допълнително.
От към бързина съм много доволен как движи системата. Конфигурацията на която върви е  - Intel SU7300 1,3GHz, 4GB рам и 120GB Intel 330 SSD. Системата стартира доста по-бързо в сравнение с Windows 7. При мен с SSD-то за около 15-тина секунди всичко е заредено. На мен лично интерфейса ми допада, но засега е малко бъгав на моменти. На моменти когато се превключва от metro-то към desktop-а background-а на metro-to остава на заден план и докато не се натисне show dosktop не се маха. Skype също забива от време на време. Това, което не ми харесва, че когато се използват metro приложения не могат да се виждат неща като избрания език за писане, час, дата и други такива неща.
С новото Start menu за мен лесно се свиква с малко пренареждане на нещата в него. На мен още от windows phone 7 доста ми допадна концепцията. Само ако се оправи бъга при преминаването към desktop-a ще е супер. Нещо, което не ми харесва е че при десен клик опциите се появяват отдолу а не директно там където е натиснато.
За сега такива са ми впечатленията от няколко дни използване. Ще се радвам ако и други хора споделят преживяванията си и премеждията си от новото творение на Microsoft. Според мен Microsoft направиха много смела крачка, която на доста хора може и да не допадне, но винаги е така когато идва нещо ново и различно.

неделя, 11 ноември 2012 г.

HTML: Tables


Това са задачите от второто домашно по HTML на тема таблици.

Задача 1: Create Web Pages like the following using tables:


<!DOCTYPE html>
<html>
<head>
 <title>Fruit Table</title>
</head>
<body>
<table>
<colgroup>
 <col width="300">
 <col width="200">
</colgroup>
 <thead>
  <tr>
   <th colspan="2">Fresh Fruits</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>It has long been known that a diet that includes
    at least a few servings of fresh fruit every day
    will help keep you healthy, fit and trim.</td>
   <td><img src="fruit.jpg" width="200" alt="fruits"/></td>
  </tr>
 </tbody>
</table>
</body>
</html>

Задача 2: Create a Web Page like the following using forms:


<!DOCTYPE html>
<html>
<head>
 <title>Alphabet Table</title>
</head>
<body>
<table border="1">
 <tr>
  <td colspan="3" >Title goes here</td>
  <td>A</td>
  <td>B</td>
 </tr>
 <tr>
  <td rowspan="3">C</td>
  <td>D</td>
  <td>E</td>
  <td>F</td>
  <td>G</td>
 </tr>
 <tr>
  <td>H</td>
  <td colspan="2" >I</td>
  <td rowspan="2" >J</td>
 </tr>
 <tr>
  <td>K</td>
  <td>L</td>
  <td>M</td>
 </tr>
 <tr>
  <td>N</td>
  <td colspan="4">O</td>
 </tr>
</table>
</body>
</html>


Задача 3: Create a Calculator-like table. You should use a HTML 5 form for the Calculator.
Buttons for all the numbers and operators (+, -, etc.)
Textbox for the result
Do not make the same styles as the example


<!DOCTYPE html>
<html>
<head>
 <title>Form</title>
</head>
<body>
<form>
 <fieldset>
 <label for="mname">Member Name</label>
 <input type="text" name="mname" id="mname" />
 <label>*req</label>
 <br />
 <label for="email">Email</label>
 <input type="text" name="email" id="email" />
 <label>*req</label>
 <br />
 <label for="school">School</label>
 <input type="text" name="school" id="school" />
 <label>*req</label>
 <br />
 <input type="image" src="Submit.jpg" width="50" name="SubmitBtn" alt="submit" />
 </fieldset>
</form>
</body>
</html>

Задача 4:

<!DOCTYPE html>
<html>
<head>
 <title>Calculator</title>
</head>
<body>
<form>
 <table border="1">
  <tr>
   <td colspan="5" dir="rtl"><input type="text" value="0" /></td>
  </tr>
  <tr>
   <td><input type="image" src="images/mc.jpg" alt="MC" /></td>
   <td><input type="image" src="images/mr.jpg" alt="MR" /></td>
   <td><input type="image" src="images/ms.jpg" alt="MS" /></td>
   <td><input type="image" src="images/mplus.jpg" alt="M+" /></td>
   <td><input type="image" src="images/mminus.jpg" alt="M-" /></td>
  </tr>
  <tr>
   <td><input type="image" src="images/back.jpg" alt="Back" /></td>
   <td><input type="image" src="images/ce.jpg" alt="CE" /></td>
   <td><input type="image" src="images/c.jpg" alt="C" /></td>
   <td><input type="image" src="images/invert.jpg" alt="+/-" /></td>
   <td><input type="image" src="images/sqrt.jpg" alt="Sqrt" /></td>
  </tr>
  <tr>
   <td><input type="image" src="images/seven.jpg" alt="7" /></td>
   <td><input type="image" src="images/eight.jpg" alt="8" /></td>
   <td><input type="image" src="images/nine.jpg" alt="9" /></td>
   <td><input type="image" src="images/divide.jpg" alt="/" /></td>
   <td><input type="image" src="images/percent.jpg" alt="%" /></td>
  </tr>
  <tr>
   <td><input type="image" src="images/four.jpg" alt="4" /></td>
   <td><input type="image" src="images/five.jpg" alt="5" /></td>
   <td><input type="image" src="images/six.jpg" alt="6" /></td>
   <td><input type="image" src="images/multiple.jpg" alt="*" /></td>
   <td><input type="image" src="images/onex.jpg" alt="1/x" /></td>
  </tr>
  <tr>
   <td><input type="image" src="images/one.jpg" alt="1" /></td>
   <td><input type="image" src="images/two.jpg" alt="2" /></td>
   <td><input type="image" src="images/three.jpg" alt="3" /></td>
   <td><input type="image" src="images/minus.jpg" alt="-" /></td>
   <td rowspan="2"><input type="image" src="images/equal.jpg" alt="=" /></td>
  </tr>
  <tr>
   <td colspan="2"><input type="image" src="images/zero.jpg" alt="0" /></td>
   <td><input type="image" src="images/comma.jpg" alt="," /></td>
   <td><input type="image" src="images/plus.jpg" alt="+" /></td>
  </tr>
 </table>
</form>
</body>
</html>


В домашното има много картинки, които няма да се визуализират ако се използва този код. Хубаво е да се спомене, че навсякъде където има input трябва да се използва таг <form>.

неделя, 4 ноември 2012 г.

Introduction HTML

Това са решенията на задачите от първото домашно по HTML.

Задача 1. Write an HTML page like the following:


<!DOCTYPE html>
<html>
<head>
 <title>Runners Home</title>
</head>
<body>
<header>
<p>Hello, Stranger!</p>
<h1>Welcome to Runners Home™</h1>
</header>
<div>Runners Home™ is dedicate to providing you with:</div>
<div>-the most up-to-date information on running races</div>
<div>-the best recources for runners</div>
<hr/>
<footer>©2007 Runners Home. All Rights Reserved.</footer>
</body>
</html>

Задача 2. Write an HTML page like the following:


<!DOCTYPE html>
<html>
<head>
 <title>Preceding Text</title>
</head>
<body>
<p>Preceding Text</p>
<ol type="I">
 <li>List Item 1</li>
  <ol type="a">
   <li>Nested Item 1.1</li>
   <li>Nested Item 1.2</li>
  </ol>
 <li>List Item 2</li>
  <ol>
   <li>Nested Item 2.1</li>
   <li>Nested Item 2.2</li>
    <ul type="circle">
     <li>Nested Item 2.2.1.</li>
     <li>Nested Item 2.2.2.</li>
      <ul type="square">
       <li>Nested Item 2.2.2.1</li>
       <li>Nested Item 2.2.2.2</li>
      </ul>
     <li>Nested Item 2.2.3.</li>
    </ul>
   <li>Nested Item 2.3</li>
  </ol>
 <li>List Item 3</li>
  <ul type="disc">
   <li>Nested item 3.1</li>
   <li>Nested item 3.2</li>
   <li>Nested item 3.3</li>
  </ul>
</ol>
</body>
</html>

Задача 3. Create an user profile Web page Profile.html, friends page named Friends.html and info page named Info.html. Link them to one another using <a> tag.



<!DOCTYPE html>
<html>
<head>
 <link type="text/css" rel="stylesheet" href="styles/semantic-tags.css" /> 
 <title>Profile</title>
</head>
<body>

 <div id="navigation">
  <ul>
   <li>
    <a href="Profile.html">
     Profile
    </a>
   </li>
   <li>
    <a href="Friends.html">
     Friends
    </a>
   </li>
   <li>
    <a href="AdditionalInformation.html">
     Additional information
    </a>
   </li>   
  </ul>
 </div>
<hr/>
<h1>Profile of Kaloyan</h1>
<hr/>
<img src="images/Kaloyan.jpg" width="50" alt="logo" />
<p>Name:Kaloyan Savov</P>
<p>Birthday: 28 July 1985</p>
<p>Occupation: Student</P>
<p>Area of Occupation: IT</p>
</body>
</html>


<!DOCTYPE html>
<html>
<head>
 <link type="text/css" rel="stylesheet" href="styles/semantic-tags.css" /> 
 <title>Friends</title>
</head>
<body>
 <div id="navigation">
  <ul>
   <li>
    <a href="Profile.html">
     Profile
    </a>
   </li>
   <li>
    <a href="Friends.html">
     Friends
    </a>
   </li>
   <li>
    <a href="AdditionalInformation.html">
     Additional information
    </a>
   </li>   
  </ul>
 </div>
<hr/>
<h1>Friends of Kaloyan</h1>
<hr/>
<dl>
 <dt>1.Valentin Bozhinov</dt>
 <dd>Software Developer</dd>
 <dt>2.Ventislav Petkov</dt>
 <dd>Telecommunication Engineer</dd>
 <dt>3.Martin Savov</dt>
 <dd>Student</dd>
</dl>
</body>
</html>


<!DOCTYPE html>
<html>
<head>
 <link type="text/css" rel="stylesheet" href="styles/semantic-tags.css" />
 <title>Additional information</title>
</head>
<body>
 <div id="navigation">
  <ul>
   <li>
    <a href="Profile.html">
     Profile
    </a>
   </li>
   <li>
    <a href="Friends.html">
     Friends
    </a>
   </li>
   <li>
    <a href="AdditionalInformation.html">
     Additional information
    </a>
   </li>   
  </ul>
 </div>
<hr/>
<h1>Additional information about Kaloyan</h1>
<hr/>
<p>Student at Telerik Academy</P>
<p>Born in Sofia</p>
<p>Living in Sofia</p>
<p>Working at Altech LTD.</P>
</body>
</html>

C#: Introduction to Programming

Това са задачите от първото домашно по C#. Задачите са доста елементарни и не се нуждаят от  обяснения.

2. Create, compile and run a “Hello C#” console application.

using System;

class HelloCSharp
{
    static void Main()
    {
        Console.WriteLine("Hello C#");
    }
}

3. Modify the application to print your name.

using System;

class PrintMyName
{
    static void Main()

    {
        Console.WriteLine("Kaloyan");
    }
}


4. Write a program to print the numbers 1, 101 and 1001.


using System;

class PrintNumbers
{
    static void Main()
    {
        Console.WriteLine(1);
        Console.WriteLine(101);
        Console.WriteLine(1001);
    }
}
6. Create console application that prints your first and last name.


using System;

class PrintMyNameAndSurname
{
    static void Main()
    {
        Console.WriteLine("Kaloyan Savov");
    }
}

7. Create a console application that prints the current date and time.

using System;


class PrintCurrentDateAndTime
{
    static void Main()
    {
        DateTime now = DateTime.Now;
        Console.WriteLine(now)
    }
}

8. Create a console application that calculates and prints the square of the number 12345.

using System;

class CalculateSquare
{
    static void Main()
    {
        Console.WriteLine(12345*12345);
    }
}

9. Write a program that prints the first 10 members of the sequence: 2, -3, 4, -5, 6, -7, ...


using System;

class PrintFirstTenNumbers
{
    static void Main()
    {
        int plus = 2;
        int minus = -3;
        Console.Write(plus + ", " + minus);
        for (int i = 0; i < 4; i++)
        {
            plus += 2;
            minus -= 2;
            Console.Write(", " + plus + ", " + minus);
        }
        Console.WriteLine();
    }
}

12.* Write a program to read your age from the console and print how old you will be after 10 years.


using System;

class PrintMyAgeAfterTenYears
{
    static void Main()
    {
        Console.WriteLine("Please enter your age (1 to 130 Years)");
        int age = int.Parse(Console.ReadLine());
        int result = age + 10;
        if (age > 130)
        {
            Console.WriteLine("You are too old. Try again. ;)");
        }
        if (age < 1)
        {
            Console.WriteLine("Wrong age. Try again.");
        }
        else
        {
            Console.WriteLine("Your age after 10 years will be: " + result + " years");
        }
    }
}

Здравейте!

Казвам се Калоян Савов и се обучавам в софтуерната академия на Телерик. Софтуерната академия дава една прекрасна възможност за обучение в сферата на софтуерното инженерство. Обучението е напълно безплатно и се изисква единствено мотивация и желание за развитие в тази област. Повече информация може да намерите на страницата на академията, която е на адрес academy.telerik.com . Информация относно компанията Телерик и продуктите които разработват може да намерите на  www.telerik.com .
В този блог ще публикувам всички домашни, които съм написал в процеса на обучение. Ще се опитам да давам и кратки обяснения към задачите. Тъй като съм начинаещ ще се радвам ако намерите някаква грешка или имате съвет за по-добра реализация на дадена задача да ми пишете.