Windows 8.1. Проблемы после установки

Ну да, траблы… Как-то я не совсем с начала начал. Итак, ура-ура, Windows 8.1 вчера появилось в релизе для лицензионных пользователей и доступна через магазин приложений Windows. Штука по мне так хорошая (я сейчас о 8.1), так что задумал я обновиться. Вчера сделать этого не получилось по простой причине — нет времени, ну совсем нет времени. Сегодня вот добрался. Решил обновить всё.

Процесс обновления занимает достаточно приличное время, не засекал, но чай выпить успел и не один раз :)

На одной машине все прошло хорошо — установилось, работает. На второй же как-то криво все встало. Ругается на какой-то драйвер Logitech, который внезапно пропал, а в системе ничего от Logitech то и не было — разберусь потом. KIS 2014 решил попадать немножко,  а дампы почему-то отправить не в состоянии сам. Ну и самое интересное… Я заметил, что включилась встроенная графика Intel… Не понял! Залез в диспетчер устройств… Что я вижу? Intel Graphics работает, а AMD что-то там отключено. Причина мол не совпал драйвер. Пытаюсь решить проблему из диспетчера устройств просто попыткой обновить драйвер, а бесполезно, говорит все и так у вас хорошо, а то что устройство не работает никого не волнует.

Лезу на сайт AMD. Там есть такая прекрасная вещь как AutoDetect Drivers. Вроде как это маленькая программа нужна что бы определить какие нужны драйвера в систему. Поставил — не работает она совсем (везде где не ставил кстати не работает!) Ок, пошел… скачал другой инструмент — определятор именно для мобильной графики. Определить определила, файл предложила сохранить и вылетела с ошибкой! Ну что за глюченая программа то? Взял последний Beta-драйвер, но проблему это не решило. Буду воевать дальше.

Bash: Среднее арифметическое.

Нужно посчитать среднее арифметическое, написав скрипт на Bash.

Для передачи чисел для вычислений использую аргументы скрипта.

#! /bin/sh
i=0
sum=0
for an_arg in "$@" ; do
  sum=$(($sum + ${an_arg}))
  i=$(($i+1))
done
expr $sum / $i

Пример тестового запуска:

sh avg.sh 1 2 3 4 5

ASP: Печать на форму и чтение параметров

Совсем уже простая задача: Сделать страничку, с использованием ASP и VBScript, на которой будет форма (тестовое поле и кнопка). По Клику на кнопку на страницу вывести то, что было написано в тестовом поле.

Код:

<HTML>
<HEAD><TITLE>TEST</TITLE>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
</head>
<body>
<form action="" method="get">
<input name="Text1" type="text">
<input type="submit" value="Отправить">
</form>
<SCRIPT LANGUAGE="vbscript" RUNAT="SERVER" type="text/vbscript">
Response.Write(Request.QueryString("Text1"))
</SCRIPT>
</body>

Идея простая. Берем форму, а дальше к ней пишем скриптик на языке VBScript (Да, знаю, штука гадкая, но заставили). Внимание следует обратить на тег RUNAT=»SERVER» — это значит, что этот скрипт должен исполняться на сервере.

Внутри его: есть объект Response (ответ) и у него метод Write, который умеет писать на страницу.  Request.QueryString позволяет получить значение переданного параметра. в качестве параметра принимает строку, в которой содержится имя элемента формы — в нашем случае это Text1. Совместив 2 функции можно выполнить задание.

Для работы примера потребуется IIS со включенной поддержкой ASP.

T-SQL: Таблицы Inserted/Deleted

Полезная такая шпаргалка:

Изменения во временных таблицах при срабатывании триггеров в T-SQL:

Operation Table Inserted Table Deleted
Min Rows Max Rows Min Rows Max Rows
Insert 1 0 0
Update 1 N 1 N
Delete 0 0 1 N

Где N — количество строк в таблице, к которой привязан триггер

Java: Доступ к членам класса

Есть весьма полезная таблица, в которой описываются различные уровни доступа к членам класса в языке JAVA.

 Описание класса Private Без модификатора Protected Public
 Один и тот же класс  Да  Да  Да  Да
 Подкласс класса этого же пакета  Нет  Да  Да  Да
 Класс этого же пакета не являющийся подклассом  Нет  Да  Да  Да
 Подкласс класса другого пакета  Нет  Нет  Да  Да
 Класс другого пакета, не являющийся подклассом класса данного пакета  Нет  Нет  Нет  Да

 

BASH: Простой калькулятор

Простой калькулятор на Bash. Вводится 2 числа с клавиатуры, действие и производится вычисление при помощи функции expr().

Есть проверка на недопустимость деления на 0.

echo "enter first value:"
read x
echo "enter second value"
read y
echo "enter action symbol"
read act

case $act in
"+") echo " $x + $y ="  $(expr $y + $x);;
"-") echo "$x - $y ="   $(expr $x - $y);;
"/") if [ $y -eq 0 ]; then
       echo "error: delimiter by zero";
     else
       echo " $x / $y =" $(expr  $x / $y);
     fi;;
"*") echo " $x * $y =" $(expr  $x \* $y);;
*) echo "command is unknown!"
esac

C, Unix, OPEN(),CLOSE(),READ(), WRITE(): Копирование файлов

Начался новый предмет, новые лабы.

Задачка примерно такая: Есть *nix-операционная система. В ней написать приложение на C, которое умеет копировать файлы при помощи системных вызовов Open(), Close(), Read(), Write();

В моем случае в качестве операционной системы использую Ubuntu 12.04

Continue reading

JAVA: Треугольник паскаля

Давненько не было школьных\вузовских задачек из классики.

Треугольник паскаля на JAVA:

import java.util.Scanner;


public class PascalTriangle {

    public static void main(String[] args) {
        
        int LINES = 0;
        System.out.println("Enter number of lines for Pascal Triangle:");
        // Reading
        Scanner reader = new Scanner(System.in);
        LINES = reader.nextInt();
        reader.close();
        // Calculation and print
        int [][] p = new int [LINES][];
        p[0] = new int [1];
        p[1] = new int [2];
        p[1][0] = p[1][1] = 1;
        System.out.println(p[0][0] = 1);
        System.out.println(p[1][0] + " " + p[1][1]);
        for (int i = 2; i < LINES; i++)
        {
            p[i] = new int [i+1];
            System.out.print((p[i][0] = 1) + " ");
            for (int j = 1; j < i; j++)
            {
                System.out.print((p[i][j] = p[i-1][j-1] + p[i-1][j]) + " ");
            }
            System.out.println(p[i][i]=1);
        }
    }

}
Вывод

Вывод программы