Friday, May 25, 2018

Kubuntu on Dell XPS 15 9550

I want to share my 3-week experience with Linux. Previous time I used Linux 8-12 years ago in the university. Then I became a designer, started working with Photoshop, 3D Studio Max, Rhinoceros. So, I switched to Windows.

But now I am a developer and Unix systems became much more interesting for me. So, the choose is Mac or Linux.
I love Mac, but why not Mac?
  1. Bad integrated graphics. Integrated Intel graphics is too slow for me. And I want to work with latest OpenGL, CL, Gpu-compute stuff. Discrete graphics is much better. I am NVidia fan, but maybe later I`ll try AMD gaming GPU on my desktop.
  2. I find it too expensive for laptop with bad graphics, how do you think?
  3. Mac is limited in desktop/laptop/mobile systems. I want more.
I tried different Linux distros.
First of all, when you are trying Linux, you must understand, that Linux is not a product, it is community. There are no reason to claim, when something does not work. You should look for the way to improve something in Linux forums, ask question, if you can't find an answer (be polite!), or don't torture yourself with Linux.

Linux installs you.

So. Why Kubuntu?
I tried some distros:
  1. First I installed Mint I like stability and nothing-excess-approach. But some of packages are too old, for example xorg. Without new xorg, VSync will not work. You will see tearing. Installing newer version, visual artifacts made my eyes bleeding. Sometimes system booted without Wi-Fi connection. And no driver for webcam. Anyway, I think, Mint is good enough, I use it on my desktop machine.
  2. Arch started without desktop enviroment is it ok?
  3. Manjaro something went wrong during booting from USB. Kernel panic. It's not meant to be.
  4. Ubuntu and Kubuntu just work. Wi-Fi, webcam, NVidia driver, wow! 💗 
 I like KDE, so I chose Kubuntu.
 What to do after install?
  1. No VSync on proprietary NVidia driver. To fix it:- create a new file in /etc/modprobe.d/nvidia-drm-nomodeset.conf
    - insert a line options nvidia-drm modeset=1
    - sudo update-initramfs -u
    - reboot (I got this info here).
  2. Enabling synaptics driver, if your touchpad settings are grey: 
    sudo apt install xserver-xorg-input-synaptics
  3. Do you want Mac-style touchpad gestures? You are welcome here. Don't forget install git before.
And now it is awesome! I'm afraid to do something else :D
 

Thank you for watching ;)

Feel free to improve my mistakes, English is not my native language.
Or giving an advice in Linux, I'm not a pro yet.

Sunday, May 6, 2018

Creating a QT C++ OpenGL project in Linux

I respect guys, who can configure Vim/Emacs or Sublime to complete IDE, using a ton of plugins, but I just want to download and work. I had enough virtual sex, configuring proprietary Nvidia drivers and Touchpad gestures in Linux (it is worthy of separate post).

I chose QtCreator.
sudo apt install qtcreator

New Project -> Non-Qt Project -> Plain C++ Application
Choose project location, and name it (for example opengl-qt)

Define build system - I chose CMake, I want to make platform-independent project, also I don`t know pros and cons of qmake.

Kit Selection I was surprised, that there are no kits in my laptop, and I don't even imagine, why we can't continue without this .....ing kit. But we can heal it:

sudo apt-get install qt5-default
(Thanks to the link)

Holy cow! It creates a project, moreover it can easily compile and run by pressing Ctrl + R !

Let's do the same OpenGL program, we created by native g++ compiler and text editor: https://s-march.blogspot.com/2018/05/creating-opengl-application-in-linux.html
  1. Copy and paste our code to main.cpp
  2. CMake. I used it before, to make project from sources, for example CMake made GLFW and GLM projects for theirs further compiling in Visual Studio in Windows.
    Now I started manually configure CMake file by myself. I had hated it for an hour until I understood, how to link libraries. Ask me how?
    Easy!

CMakeLists.txt

project(opengl-qt) #change to your project name
cmake_minimum_required(VERSION 2.8)
set(CMAKE_CXX_STANDARD 14)
#for -std=c++14 
aux_source_directory(. SRC_LIST)
add_executable(${PROJECT_NAME} ${SRC_LIST})
target_link_libraries(${PROJECT_NAME} GLEW GL glfw)


Look at the last line! That`s the way to link libraries.

AAAAA!! Happiness!


Now we can create classes and make our weird stuff more weird. I will create my program, based on learnopengl.com using classes and other C++ stuff.

1. If you have done the same stuff, but it does not work - ask me, maybe I`ll be able to help.
2. Feel free to improve my mistakes and explain something if my dumbness make you cry.

Thank you for watching!

Creating OpenGL application in Linux

I decided to start coding graphics for Linux
My system is Mint KDE 18.03 I just started using it.
I think, here is an easies way to start.

Packages, you need:

GLFW
Creates window, gets data from mouse and keyboard.

GLEW
Extension wrangler for OpenGL. GL commands are impossible to read and understand.

g++ - GNU C++ compiler


Let`s install them!

sudo apt install g++ libglew-dev libglfw3-dev

lets copy the triangle drawing code from learnopengl.com

Paste it in your file main.cpp, that you created in your project folder (for example Program/opengl-gcc).

COMPILE
g++ -std=c++14 main.cpp -lglfw -lGL -lGLEW
(C++ 11/14/17 features are turned off by default, so we must write -std=c++14, otherwise compiler will not understand, what nullptr is.)

RUN

./a.out

... ??
Profit!


Sunday, December 10, 2017

Немного полезностей С++ String

STRING
#include<string>

Список наиболее часто используемых функций класса string.
operator[] - доступ к конкретным символам в строке для чтения или записи.
c_str() - конвертация строки в const char* для использования в функциях, не умеющих работать со string.
append - добавление символов к концу строки.
operator= - присваивание строке других строк, символьных массивов и даже чисел.
insert - вставка символов или других строк в переменную типа string.
erase - удаление одного или более символов из заданной строки в заданной позиции.
replace - замещение одного или более символов в заданной позиции.
length(или size) - возвращение количества символов в строке.
empty - определение, есть ли в строке символы.
find - нахождение первого вхождения символа или подстроки в данной строке.
rfind - аналог find, но осуществляет поиск с конца строки назад.
find_first_of - нахождение первого вхождения символов из набора в строке.
substr - возвращение подстроки.
find_first_not_of - нахождение первого символа в строке, не входящего в заданный набор.
compare - сравнение строки (также поддерживаются операторы !=, <, >)

// for me
SMART POINTER
#include<memory>


auto_ptr<TEMP>ptr1(new TEMP), ptr2;


Tuesday, November 15, 2016

Музей промышленного дизайна

Ребята, есть такая концепция, которую я пытаюсь воплотить и донести до широких масс.
Я хочу создать музей современного промышленного дизайна.

1. Что такое промышленный дизайн?

Промышленный или индустриальный дизайн относится к той области дизайнерского искусства, которая занимается художественным проектированием элементов предметного наполнения среды обитания человека. Промышленные дизайнеры стараются определить облик окружающих нас предметов бытового назначения и одновременно пытаются сделать их максимально функциональными. От удобства пользования, функциональности и внешнего вида изделия в немалой степени зависит его успех на рынке, поэтому промышленный дизайн сегодня чрезвычайно востребован.






2. Насколько нужен промышленный дизайн Украине?
В Украине в ближайшие 5 лет будет активно развиваться промышленное производство, и на этой волне можно развить нашу компанию, и содействовать развитию промышленного дизайна в Украине. 

3. Одним музеем мы не ограничимся. Для постройки моделей нам нужна будет мастерская.


А значит, мы сможем сделать прототипы изделий для украинских и зарубежных компаний. 

5. Я знаю по меньшей мере 4 талантливых, на мой взгляд, промышленных дизайнеров Украины, вместе с которыми мы можем дать хороший старт в этом направлении.

Святослав Конаховский

Евгений Братчик


Владислав Петрикин

Станислав Марчевский


6. По мере развития музея мы можем обучать промышленном дизайну. Возможно у нас получится создать институт международного уровня, и приглашать студентов со всего мира.



7. Самая престижная отрасль промышленного дизайна - автомобильный дизайн. Как упорный оптимист, я уверен, у нас будет развиваться и автомобильная промышленность. И мы можем этому содействовать.



8. Подобный музей требует внушительный площадей, но можно начать с одного зала площадью 100 метров и макетами 1/5.


8. Все это будет способствовать туристическому облику нашего города, и положительно влиять на другие отрасли бизнеса в Одессе и Украине!

Спасибо за внимание!

Thursday, August 27, 2015

Mobile audio system

Some music for you and for your neighbours!





#audio #music #autodesign #carstyling #marchevsky #art #concept #cardesign #digitalart #project #product #productdesign #auto #automotive

Kubuntu on Dell XPS 15 9550

I want to share my 3-week experience with Linux. Previous time I used Linux 8-12 years ago in the university. Then I became a designer, star...