Categories
бсу

CS534 = Web Design

Дисциплината CS534 Web design е част от магистърска програма по “Бизнес информационни технологии” изучавана в Бургаски свободен университет. Студентите имат за задача да използват системи за управление на съдържанието (Content Management Systems – CMS) за да разработят своите уеб проекти. Имам удоволствието на представя на вашето внимание успешно реализираните проекти. Фирма ЗОНАБГ.НЕТ предостави безплатно хостинг и домейн услугата по време на изпълнението на студентските разработки. Използвана бе платформа drupal7 и база данни mysql.

За допълнително информация вижте сайта CS534 в интернет на адрес: http://cs534.minchev.eu/

Categories
уеб

Успешно стартираха 2 нови проекта на ZONABG.NET

Успешно стартираха два нови уеб проекта на фирма ZONABG.NET.

  • Динамичен сайт на учебно развлекателен център “СВЕТЛИНА”, самостоятелна разработка базирана на PHP,JavaScript, jQuery, FancyBox (за галерията), база данни под управлението на MySQL. За повече информация можете да посетите сайта в интернет на адрес: http://www.ucsvetlina.org
  • Сайт за Айтоски новини базиран на платформата WordPress, който може да бъде разгледан в интернет на адрес: http://www.aitosnovini.com

 

Categories
софтуер

Ubuntu 10.10 to Ubuntu 11.04

Отново сме в очакване на новата версия на популярната дистрибуция Ubuntu 11.04. Вече можете да извършите актуализация от 10.10 до първата 11.04 Beta 1 и да видите новите неща в предстоящата дистрибуция. Стартирайте процеса на актуализация, натиснете ALT+F2, напишете update-manage –d и натиснете RUN. Ще видите лента в която е налично за надграждане до версия 11.04. Толкова е лесно 🙂

Categories
уеб

tros-mar.com

Стартира обновения сайт на компанията за сапани и корабни въжета Tros-Mar. Актуализациите включват подобрен дизайн и добра интеграция с търсещи машини като Google.com. За успеха на новия старт показва и анализа от първия месец за посещаемостта на сайта.

Разгледай едномесечния отчет на посещаемостта

Categories
уеб

Шестнадесечно образуване на цветове за уеб

Напоследък получих доста запитвания относно шестнадесетичното образуване на цветовете за уеб. Вместо да пиша електронни писма в отговор на тези въпроси реших да публикувам, основна информация по темата. Всъщност формирането на цвета е изключително просто. Формира се от 3 двойки шестнадесетични цифри. Шестнадесетичния номер съдържа числата от 0 до 9 (10 числа) и още 6 числа, от първите 4 букви на английската азбука (A,B,C,D,E,F). Първата двойка формира компонентата на червения цвят (red), втората двойка e зеления цвят (green), а третата двойка e компонентата на синия цвят (blue). Най-малката стойност е 00, а най-голямата FF. Например: #000000 е черен цвят, а #FFFFFF бял.

Categories
.NET Microsoft бсу програмиране софтуер

Полезни ресурси за програмиране на C/C++/C#

За любителите на програмирането на езика C/C++/C# са налични множество от полезни страници в интернет. Представям на вашето внимание интересни избрани линкове с ресурси по темата:

Categories
програмиране

Метод за пресмятане на произведението на 2 трицифрени числа

Тук ще представя много интересна реализация на метод за пресмятане на 2 трицифрени числа. Използвайки 5 стъпковата схема, за умножение представена на фигурата, можете да пресметнете само на един ред произведението, като на всяка от петте стъпки трицифрените числа са представени на 2 реда. В конкретния пример са използвани: 123 х 201.

Реализация в C++

#include
using namespace std;

// Функция за умножение на две трицифрени цели числа
long SuperMultiplier(int A, int B)
{
// A
int a1 = (A/100)%10;
int a2 = (A/10)%10;
int a3 = A%10;
// B
int b1 = (B/100)%10;
int b2 = (B/10)%10;
int b3 = B%10;

// C
long C = a3*b3 + (a3*b2 + a2*b3)*10 + (a1*b3 + a2*b2 + a3*b1)*100 + (a1*b2 + a2*b1)*1000 + (a1*b1)*10000;

return C;
}

// Главна функция
int main()
{
int A,B;
cout << “A B\n”;
cin >> A >> B;
cout << SuperMultiplier(A,B) << endl;
return 0;
}

Categories
бсу уеб

Месец на центъра по информатика и технически науки

Стартира сайта на месеца на Центъра по информатика и технически науки към Бургаски Свободен Университет, който ще се проведе в периода от 15 Февруари 2011 до 15 Март 2011 г. За отбелязване на 20 годишнината на висшето училище са планирани са следните мероприятия:

Допълнително информация ще намерите в интернет на адрес:
http://www.bfu.bg/centres/citn/days2011/

Categories
бсу уеб

Асоциацията на завършилите Бургаски свободен университет

Стартира сайта на асоциацията на завършилите Бургаски свободен университет, на адрес в интернет: http://students.bfu.bg/alumni

Разработката предлага на завършилите БСУ, възможност да поддържат контакт със своите колеги. Сайта е реализиран на PHP, като е използвана AJAX технология, чрез JavaScript посредством jQuery. Информацията се съхранява в MySql база данни.

Categories
софтуер

Mozilla Sunbird, Thunderbird & Google Calendar

Google, както винаги ме иненадват приятно със техните on-line услуги, така днес реших все пак да прехвърля календара си (Google Calendar) на работна станция в офиса. За тази цел може да се използва както настолното приложение Mozilla Sunbird така и популярния e-mail клиент Mozilla Thunderbird с инсталирано разширение за поддръжка на календар Lightning.

  1. Изтеглете и инсталирайте разширението Provider for Google Calendar. Независимо дали ползвате Sunbird или Thunderbird ще е необходим рестарт на програмата.
  2. Сега е необходимо да добавите вашия Google Calendar. В зависимост от програмата: Sunbird (File > New Calendar), Thunderbird (File > New > Calendar).
  3. Използвайте помощник “Create new calendar wizard”. При създаването на календара изберете опция “On the Network”. За тип на календара изберете “Google Calendar”. Полето “Location” изисква XML източник на личния адрес на вашия Google Calendar.

    Копирайте линка и го поставете в Sunbird и/или Thunderbird.

  4. Накрая е необходимо да въведете вашето потребителско име и парола за Google.

Поздравления, вече имате версия на вашия Google Calendar на настолната машина и/или лаптоп, която можете да ползвате offline.

Categories
софтуер уеб

Moodle 2.0

Дългоочакваната версия на платформата за електронно обучение Moodle е вече факт. Както всеки запален по иновациите технологичен фен, реших да се запозная с новите възможности. С нескрито разочарование трябва да споделя, че все още е невъзможно възстановяване на курсове архивирани от 1.9 в 2.0. Тъй като задачата е сложна, дори когато тази функционалност е налична пак се очакват проблеми с нея. Препоръката на разработчиците е upgrade от 1.9 на 2.0 за да се запазят курсовете. След това може да се направи архив, да се преинсталира moodle 2.0 и тогава да се ипортират данните.

Пилотна версия на новата платформа за електронно обучение Moodle 2.0 съм инсталирал на временен Ubuntu 10.10 сърър на адрес:
http://moodle.bfu.bg/

Categories
Microsoft

Windows 7 Service Pack 1 Release Candidate

Първия сервизен пакет на Microsoft за Windows 7 е в последния стадий на тестове.

Официален сайт на пакета: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=61924cea-83fe-46e9-96d8-027ae59ddc11&displaylang=en

Информация в TechNet: http://technet.microsoft.com/en-us/library/ff817622(WS.10).aspx

Categories
програмиране софтуер

SHA-1

Безплатна реализация на SHA-1 алгоритъм на C++.

За изтегляне на програмения фрагмент, посетете този адрес:
http://svn.openimageio.org/oiio/trunk/src/include/SHA1.h


/*
100% free public domain implementation of the SHA-1 algorithm
by Dominik Reichl
Web: http://www.dominik-reichl.de/

Version 1.8 – 2008-03-16
– Converted project files to Visual Studio 2008 format.
– Added Unicode support for HashFile utility method.
– Added support for hashing files using the HashFile method that are
larger than 2 GB.
– HashFile now returns an error code instead of copying an error
message into the output buffer.
– GetHash now returns an error code and validates the input parameter.
– Added ReportHashStl STL utility method.
– Added REPORT_HEX_SHORT reporting mode.
– Improved Linux compatibility of test program.

Version 1.7 – 2006-12-21
– Fixed buffer underrun warning that appeared when compiling with
Borland C Builder (thanks to Rex Bloom and Tim Gallagher for the
patch).
– Breaking change: ReportHash writes the final hash to the start
of the buffer, i.e. it’s not appending it to the string anymore.
– Made some function parameters const.
– Added Visual Studio 2005 project files to demo project.

Version 1.6 – 2005-02-07 (thanks to Howard Kapustein for patches)
– You can set the endianness in your files, no need to modify the
header file of the CSHA1 class anymore.
– Aligned data support.
– Made support/compilation of the utility functions (ReportHash and
HashFile) optional (useful when bytes count, for example in embedded
environments).

Version 1.5 – 2005-01-01
– 64-bit compiler compatibility added.
– Made variable wiping optional (define SHA1_WIPE_VARIABLES).
– Removed unnecessary variable initializations.
– ROL32 improvement for the Microsoft compiler (using _rotl).

Version 1.4 – 2004-07-22
– CSHA1 now compiles fine with GCC 3.3 under MacOS X (thanks to Larry
Hastings).

Version 1.3 – 2003-08-17
– Fixed a small memory bug and made a buffer array a class member to
ensure correct working when using multiple CSHA1 class instances at
one time.

Version 1.2 – 2002-11-16
– Borlands C++ compiler seems to have problems with string addition
using sprintf. Fixed the bug which caused the digest report function
not to work properly. CSHA1 is now Borland compatible.

Version 1.1 – 2002-10-11
– Removed two unnecessary header file includes and changed BOOL to
bool. Fixed some minor bugs in the web page contents.

Version 1.0 – 2002-06-20
– First official release.

======== Test Vectors (from FIPS PUB 180-1) ========

SHA1(“abc”) =
A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D

SHA1(“abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq”) =
84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1

SHA1(A million repetitions of “a”) =
34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F
*/

#ifndef ___SHA1_HDR___
#define ___SHA1_HDR___

#include “export.h”

#if !defined(SHA1_UTILITY_FUNCTIONS) && !defined(SHA1_NO_UTILITY_FUNCTIONS)
#define SHA1_UTILITY_FUNCTIONS
#endif

#if !defined(SHA1_STL_FUNCTIONS) && !defined(SHA1_NO_STL_FUNCTIONS)
#define SHA1_STL_FUNCTIONS
#if !defined(SHA1_UTILITY_FUNCTIONS)
#error STL functions require SHA1_UTILITY_FUNCTIONS.
#endif
#endif

#include

#ifdef SHA1_UTILITY_FUNCTIONS
#include
#include
#endif

#ifdef SHA1_STL_FUNCTIONS
#include
#endif

#ifdef _MSC_VER
#include
#endif

// You can define the endian mode in your files without modifying the SHA-1
// source files. Just #define SHA1_LITTLE_ENDIAN or #define SHA1_BIG_ENDIAN
// in your files, before including the SHA1.h header file. If you don’t
// define anything, the class defaults to little endian.
#if !defined(SHA1_LITTLE_ENDIAN) && !defined(SHA1_BIG_ENDIAN)
#define SHA1_LITTLE_ENDIAN
#endif

// If you want variable wiping, #define SHA1_WIPE_VARIABLES, if not,
// #define SHA1_NO_WIPE_VARIABLES. If you don’t define anything, it
// defaults to wiping.
#if !defined(SHA1_WIPE_VARIABLES) && !defined(SHA1_NO_WIPE_VARIABLES)
#define SHA1_WIPE_VARIABLES
#endif

#if defined(SHA1_HAS_TCHAR)
#include
#else
#ifdef _MSC_VER
#include
#else
#ifndef TCHAR
#define TCHAR char
#endif
#ifndef _T
#define _T(__x) (__x)
#define _tmain main
#define _tprintf printf
#define _getts gets
#define _tcslen strlen
#define _tfopen fopen
#define _tcscpy strcpy
#define _tcscat strcat
#define _sntprintf snprintf
#endif
#endif
#endif

// Fallback, if no 64-bit support
#ifndef _fseeki64
#define _fseeki64 fseek
#endif
#ifndef _ftelli64
#define _ftelli64 ftell
#endif

///////////////////////////////////////////////////////////////////////////
// Define variable types

#ifndef UINT_8
#ifdef _MSC_VER // Compiling with Microsoft compiler
#define UINT_8 unsigned __int8
#else // !_MSC_VER
#define UINT_8 unsigned char
#endif // _MSC_VER
#endif

#ifndef UINT_32
#ifdef _MSC_VER // Compiling with Microsoft compiler
#define UINT_32 unsigned __int32
#else // !_MSC_VER
#if (ULONG_MAX == 0xFFFFFFFF)
#define UINT_32 unsigned long
#else
#define UINT_32 unsigned int
#endif
#endif // _MSC_VER
#endif // UINT_32

#ifndef INT_64
#ifdef _MSC_VER // Compiling with Microsoft compiler
#define INT_64 __int64
#else // !_MSC_VER
#define INT_64 long long
#endif // _MSC_VER
#endif // INT_64

#ifndef UINT_64
#ifdef _MSC_VER // Compiling with Microsoft compiler
#define UINT_64 unsigned __int64
#else // !_MSC_VER
#define UINT_64 unsigned long long
#endif // _MSC_VER
#endif // UINT_64

///////////////////////////////////////////////////////////////////////////
// Declare SHA-1 workspace

typedef union
{
UINT_8 c[64];
UINT_32 l[16];
} SHA1_WORKSPACE_BLOCK;

class DLLPUBLIC CSHA1
{
public:
#ifdef SHA1_UTILITY_FUNCTIONS
// Different formats for ReportHash
enum REPORT_TYPE
{
REPORT_HEX = 0,
REPORT_DIGIT = 1,
REPORT_HEX_SHORT = 2
};
#endif

// Constructor and destructor
CSHA1();
~CSHA1();

UINT_32 m_state[5];
UINT_32 m_count[2];
UINT_32 m_reserved0[1]; // Memory alignment padding
UINT_8 m_buffer[64];
UINT_8 m_digest[20];
UINT_32 m_reserved1[3]; // Memory alignment padding

void Reset();

// Update the hash value
void Update(const UINT_8* pbData, UINT_32 uLen);

#ifdef SHA1_UTILITY_FUNCTIONS
// Hash in file contents
bool HashFile(const TCHAR* tszFileName);
#endif

// Finalize hash, call before using ReportHash(Stl)
void Final();

#ifdef SHA1_UTILITY_FUNCTIONS
bool ReportHash(TCHAR* tszReport, REPORT_TYPE rtReportType = REPORT_HEX) const;
#endif

#ifdef SHA1_STL_FUNCTIONS
bool ReportHashStl(std::basic_string& strOut, REPORT_TYPE rtReportType =
REPORT_HEX) const;
#endif

bool GetHash(UINT_8* pbDest) const;

private:
// Private SHA-1 transformation
void Transform(UINT_32* pState, const UINT_8* pBuffer);

// Member variables
UINT_8 m_workspace[64];
SHA1_WORKSPACE_BLOCK* m_block; // SHA1 pointer to the byte array above
};


#endif // ___SHA1_HDR___

Categories
програмиране софтуер

Linux Socket Programming – Echo client/server

Демонстрация на програмиране на сокети под Linux. В конкретния случай са реализирани програмните фрагменти на клиент и сървър:

server.c

#include<stdio.h>
#include<stdlib.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<error.h>
#include<strings.h>
#include<unistd.h>
#include<arpa/inet.h>
#define MAX_CLIENTS 20
#define BUFFER 1024
main(int argc, char **argv)
{
struct sockaddr_in server, client;
int sock, connection, data_len, struct_len = sizeof(struct sockaddr_in);
char data[BUFFER];
if((sock = socket(AF_INET, SOCK_STREAM,0)) == -1)
{
perror("Socket error.");
exit(-1);
}
server.sin_family = AF_INET;
server.sin_port = htons(atoi(argv[1]));
server.sin_addr.s_addr = INADDR_ANY;
bzero(&server.sin_zero,8);
if((bind(sock,(struct sockaddr *)&server,struct_len)) == -1)
{
perror("Bind error.");
exit(-1);
}
if((listen(sock,MAX_CLIENTS)) == -1)
{
perror("Listen error.");
exit(-1);
}
while(1)
{
pid_t pid = fork();
if((connection = accept(sock,(struct sockaddr *)&client,&struct_len)) == -1)
{
perror("Accept error.");
exit(-1);
}
data_len = 1;
while(data_len)
{
data_len = recv(connection, data, BUFFER, 0);
if(data_len)
{
send(connection, data, data_len, 0);
data[data_len] = '\0';
printf("%s",data);
}
}
close(connection);
}
close(sock);
}

client.c

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<strings.h>
#include<arpa/inet.h>
#define ERROR -1
#define BUFFER 1024
main(int argc, char **argv)
{
struct sockaddr_in server;
int sock, len;
char input[BUFFER], output[BUFFER],data[BUFFER];
char *whoami=getlogin();
if((sock = socket(AF_INET, SOCK_STREAM, 0)) == ERROR)
{
perror("Socket error.");
exit(-1);
}
server.sin_family = AF_INET;
server.sin_port = htons(atoi(argv[2]));
server.sin_addr.s_addr = inet_addr(argv[1]);
bzero(&server.sin_zero, 8);
if((connect(sock,(struct sockaddr *)&server,
sizeof(struct sockaddr_in))) == ERROR)
{
perror("Connect error.");
exit(-1);
}
while(1)
{
fgets(input, BUFFER, stdin);
strcpy(data, whoami);
strcat(data, ": ");
strcat(data, input);
send(sock, data, strlen(data), 0);
len = recv(sock, output, BUFFER, 0);
output[len] = '\0';
printf("Echo: %s",output);
}
close(sock);
}

Categories
програмиране софтуер

Да се намерят пресечните точки на две окръжности

Нека са зададени две окръжности (A и B) в двумерно пространство (2D) с техните координати на центровете (Ax,Ay) и (Bx,By), също са зададени радиуси (R1 и R2) да се напише програма на C++, която намира кооридинатите на пресечните точки на двете окръжности, в случая в който те се пресеичат.

За помощ:
http://mathworld.wolfram.com/Circle-CircleIntersection.html

Програмен фрагмент на C++ реализиращ двете окръжности:

class circle
{
private:
int x,y,r;
public:
circle(int a, int b, int c);
void print();
}
circle::circle
{
x = a; y = b; r = c;
print();
}
void circle::print()
{
cout << "(" << x << "," << y << "), r=" << r << endl; } int main() { circle A(0,0,2), B(3,3,2); return 0; }

Categories
софтуер

Ubuntu 10.10

Ubuntu 10.10 излиза на 10.10.10.

ubuntu-10-10

Categories
Microsoft софтуер

Test drive day (SKYPE5 & IE9)

Днес е ден за тестване на последните версии на SKYPE 5 и IE 9. Изключително полезна нова функция за конферентни разговори, макар и бета тест с 14 дневен период. Много е интересно какво се случва, като свършат 14-те дни. За internet explorer мога да коментирам само, подобренията направени по производителността. Това наистина е най-бързият браузър на Microsoft. За съжаление обаче видях няколко проблема с рендирането на HTML. От Microsoft има какво да подобрят.

За допълнително информация:

IE9
SKYPE5
Categories
уеб

superhosting.bg bug

Доплащайки 20 допълнителни домейна към reseller пакет на стойност 100 лв. Superhosting.bg  ми начислиха комисионна от 9999%. С това сметката набъбна на 20К и ДДС от 3,3К. Тази ценова информация не ми понесе добре и след като изпих 5 бири, за да понеса новината се обадих на поддръжката. След дълги обеснения на ситуацията те се съгласиха да премахнат комисионната с извинението “Техническа грешка”. Този техен ход върна сърцето ми на местото му 🙂

Categories
уеб

Стартираха 2 нови web проекта

Два нови web проекта, бяха пуснати през изминалия месец.

  • Сайта на лабораторията за космически изследвания на Бургаски свободен университет към Европейската агенция за космически изследвания;
  • Сайта на хостела на Бургаски свободен университет.

За повече информация посетете сайтовете на адрес:

  • http://esa.bfu.bg
  • http://hostel.bfu.bg
Categories
бсу уеб

БСУ с нов сайт

Бургаския свободен университет има нов сайт! За да бъдем по-конкретни променени са навигацията и визията. Използвана е CMS платформа за управление на съдържанието Drupal 6. Възможно е първите няколко дни от старта на сайта да има проблеми с някои страници, но те щв бъдат отстранени максимално бързо. Поздравления за новия сайт на БСУ и наслука.