LINUX.ORG.RU

Сообщения playX

 

Выпустил первую версию своего вроде как ЯП: Neo

Форум — Development

Уже месяц с лишним пилю и пилю язык программирования, до этого был интерпретатор, потом стэковая vm и вот наконец вышло что то готовое!

И так в чем суть? Neo - язык программирования, синтаксис схож на синтаксис java и c#

Что в нем есть?

  • Трейты
  • Сруктуры
  • Генерики
  • Треды(Threads, не очень понимаю как правильно перевести)
  • JIT компилятор
  • Сборщик мусора
  • Классы

    Чего нету, но будет позже:


  • Взаимодействие с ФС(Открытие файлов, запись и чтение)
  • FFI с Растом и Си( Есть функция loadFunction что может загрузить функцию из Си, но это костыль)

    Исходники можно найти здесь
    скриншо..примеры можно посмотреть здесь, но пока что там не все возможности языка показаны

    Что о производительности?
    объектный тест фибоначи выполняется за 5.98s (в PyPy3 5.90s).

    Neo точно работает на двух платформах: macOS/ OS X и Linux другие не проверялись

    В общем жду адекватной критики и советов что добавить, а что изменить

 ,

playX
()

Почему люди не любят Gnome?

Форум — Talks

Сабж, вроде удобное окружение и простое, но некоторые его хейтят до посинения, за что же так?

 

playX
()

Открыт исходный код компилятора C++ Zapcc

Новости — Разработка
Группа Разработка

Zapcc — компилятор языка C++, основанный на наработках LLVM/Clang, данный компилятор отличается высокой скоростью компиляции из-за применения активного кеширования в различных этапах сборки программы. Данный компилятор может выступать в качестве замены gcc и clang, также он поддерживает интеграцию с любыми системами сборок. Исходный код был открыт под лицензией LLVM и располагается на GitHub.

Данный компилятор заметно ускоряет компиляцию C++, но для C это не настолько заметно, к примеру сборка Boost.Math производится в 10 раз быстрее чем у clang, сборка Webkit происходит в 2-4 раза быстрее, сборка Clang при помощи Zapcc выполняется в два раза быстрее, чем самим Clang.

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

Сборка Boost.Math

Сборка WebKit

Официальный сайт проекта

Репозиторий на GitHub

>>> Подробности

 , , ,

playX
()

Помогите написать функцию в elisp

Форум — General

В общем хочу автоматом создавать нужный проект, написал такую штуковину:

(setq rust-lang "rust")
(setq java-lang "java")
(setq cargo-command "cargo new")

(defun create-project(lang project-name)
  (interactive "Enter project language:")
  (cond ((eq lang 'rust-lang)
	 (interactive "Enter project name:")
	 (shell-command (concat cargo-command project-name)))
	(t "Unknown language"))
Но оно не хочет работать, ЧЯДНТ?

P.S прошу не бить тряпками, впервые пытаюсь что то написать для Emacs'a

 

playX
()

Не работает управление в Minecraft при использовании Gnome Shell

Форум — Games

Сабж, накатывал Mate, все работал, но шикарный гном все же привычнее, как можно это все исправить?

 , ,

playX
()

Объясните насчет ffi,Rust и C#

Форум — Development

Вот хочу я написать «ядро» программы на расте, а GUI на C#, добавил как зависимость discord-rs в Cargo toml и написал такое в lib.rs:

extern crate libc;
extern crate  discord;

use std::os::raw::c_char;
use std::ffi::CString;
use std::ffi::CStr;
use libc::c_char as cchar;

use discord::{Discord, ChannelRef, State};
use discord::model::{Event, ChannelType};
use discord::GetMessages;
use discord::model::ServerId;
#[no_mangle]
pub fn login(email: cchar, password: cchar) {
    let client = Discord::new(email, pass);
}

И в Program.cs
using System;
using System.Runtime.InteropServices;


namespace cs_rust
{



    class Program
    {
        [DllImport("libour_rust.so")]
        public static extern void login(IntPtr email, IntPtr password);
        static void Main(string[] args)
        {
            
            login(Marshal.StringToHGlobalAnsi("email"), Marshal.StringToHGlobalAnsi("pass"));
        }
    }
}

Но после добавления стороннего крейта при выполнении `dotnet run` мне выдает данную ошибочку:

Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'libour_rust.so': The specified module or one of its dependencies could not be found.
 (Exception from HRESULT: 0x8007007E)
   at cs_rust.Program.login(IntPtr email, IntPtr password)
   at cs_rust.Program.Main(String[] args) in /home/aprokurov/Projects/Rust/cs_rust/Program.cs:line 21

С чем это может быть связано и как такое решается? Без крейта discord все работало

 , ,

playX
()

Не работает mcs от mono в Fedora

Форум — General

Сабж, хотел потыкать палочкой в C#, накатил mono-devel,MonoDevelop и внутри ИДЕ нажал кнопочку запуска, оно написало данное: «Couldn't connect to debugger», и я как порядочный линуксоид полез в терминал и набрал там `mcs` и получил такой выхлоп:

Unhandled Exception:
System.TypeInitializationException: The type initializer for 'System.Console' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.ConsoleDriver' threw an exception. ---> System.Exception: Magic number is wrong: 542
  at System.TermInfoReader.ReadHeader (System.Byte[] buffer, System.Int32& position) [0x0002b] in <373b6e083d6e45e498c9082a8eebd27f>:0 
  at System.TermInfoReader..ctor (System.String term, System.String filename) [0x00065] in <373b6e083d6e45e498c9082a8eebd27f>:0 
  at System.TermInfoDriver..ctor (System.String term) [0x00058] in <373b6e083d6e45e498c9082a8eebd27f>:0 
  at System.ConsoleDriver.CreateTermInfoDriver (System.String term) [0x00000] in <373b6e083d6e45e498c9082a8eebd27f>:0 
  at System.ConsoleDriver..cctor () [0x00062] in <373b6e083d6e45e498c9082a8eebd27f>:0 
   --- End of inner exception stack trace ---
  at System.Console.SetupStreams (System.Text.Encoding inputEncoding, System.Text.Encoding outputEncoding) [0x0000a] in <373b6e083d6e45e498c9082a8eebd27f>:0 
  at System.Console..cctor () [0x000a8] in <373b6e083d6e45e498c9082a8eebd27f>:0 
   --- End of inner exception stack trace ---
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00019] in <6c6b2f38a076460eacf227054ff6f99a>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'System.Console' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.ConsoleDriver' threw an exception. ---> System.Exception: Magic number is wrong: 542
  at System.TermInfoReader.ReadHeader (System.Byte[] buffer, System.Int32& position) [0x0002b] in <373b6e083d6e45e498c9082a8eebd27f>:0 
  at System.TermInfoReader..ctor (System.String term, System.String filename) [0x00065] in <373b6e083d6e45e498c9082a8eebd27f>:0 
  at System.TermInfoDriver..ctor (System.String term) [0x00058] in <373b6e083d6e45e498c9082a8eebd27f>:0 
  at System.ConsoleDriver.CreateTermInfoDriver (System.String term) [0x00000] in <373b6e083d6e45e498c9082a8eebd27f>:0 
  at System.ConsoleDriver..cctor () [0x00062] in <373b6e083d6e45e498c9082a8eebd27f>:0 
   --- End of inner exception stack trace ---
  at System.Console.SetupStreams (System.Text.Encoding inputEncoding, System.Text.Encoding outputEncoding) [0x0000a] in <373b6e083d6e45e498c9082a8eebd27f>:0 
  at System.Console..cctor () [0x000a8] in <373b6e083d6e45e498c9082a8eebd27f>:0 
   --- End of inner exception stack trace ---
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00019] in <6c6b2f38a076460eacf227054ff6f99a>:0 

Что это такое? Как это исправить?

 ,

playX
()

Sailfish 2.2.0 Mouhijoki

Новости — PDA
Группа PDA

Состоялся релиз мобильной операционной системы SailfishOS 2.2, разрабатываемой компанией Jolla - бывшими сотрудниками Nokia, объединившимися с целью продолжения развития мобильной платформы MeeGo.

В новой версии:

  • Audio:
    • PulseAudio был обновлен до версии 11.1
    • Для Sony Xperia X добавлена поддержка USB Audio
    • Улучшена работа звуковых уведомлений

  • Net:
    • Поддержка VPN была стабилизирована и вышла из бета-тестирования
    • В диалоге настройки беспроводного соединения добавлена возможность ручной настройки параметров сети

  • Security:
    • Был представлен Sailfish Secrets open-source фреймворк служащий для организации хранения данных в зашифрованном виде и предоставления доступа к Crypto API. Код открыт под лицензией BSD
    • Добавлена возможность разблокировки используя аутентификацию по отпечаткам пальцев

  • Applications:
    • В галерее добавлена возможность просмотра TIFF изображений, появился новый одиночный режим просмотра изображений вместо разделения экрана. Переработан просмоторщик MMS
    • Появилась новая раскладка позволяющая набирать emoji
    • Обновлен почтовый клиент,добавлен индикатор прогресса выполнения операции,добавлена возможность для восстановления случайно отменённого письма
    • В калькуляторе появилось контекстное меню для сохранения результата в буфере обмена
  • System:
    • Для Jolla C и Xperia X был обновлен Aliendalvik,позволящий запускать Android приложения на SailfishOS
    • Добавлена поддержка моделей Xperia X F5122 с двумя SIM-картами. Обновлена инструкция по установке Sailfish X на Sony Xperia X

Обновление пока доступно только для участников программы раннего доступа к обновлениям, обычным пользователям оно будет доступно через неделю

>>> Подробности

 ,

playX
()

Квадратики в терминале и взаместо некоторых символов в Арче

Форум — Desktop

Накатил арч, потыкать Jade Desktop, но не тут то было! Уже в гноме вместо некоторых символов из терминала или тех же звездочек лора квадратики, с чем это может быть связано?
Вот скриншот где у моего никнейма квадратик, как такое лечится? Смайлики в ВК месенджере тоже не показывает

 , ,

playX
()

C++ и OpenGL

Форум — Development

Хочу попробовать что то на OpenGL написать, делаю такое в meson.build:

project('learing cpp', 'cpp')
src = ['source/includes/vec2.cpp','source/main.cpp']

incdir = include_directories('source/includes')

glu_dep = dependency('glm')
gl_dep = dependency('GL')
executable('main',src,include_directories:incdir,dependencies: [gl_dep,glu_dep])

И вот сам код на C++
#include <iostream>
#include <vec2.h>
#include <GL/glew.h>
#include <GL/glut.h>
#include <GL/glu.h>

using namespace std;


int main(int argc, char  **argv)
{
    glutInit(&argc, argv);
    return 0;
}

И это не хочет компилироваться ссылаясь на это:
c++  -o main 'main@exe/source_includes_vec2.cpp.o' 'main@exe/source_main.cpp.o' -Wl,--no-undefined -Wl,--as-needed -Wl,--start-group -lGL -Wl,--end-group  
main@exe/source_main.cpp.o: In function `main':
/home/adelprokurov/.cache/gnome-builder/projects/Cpplearning/builds/default-host-без версии/../../../../../../Projects/Cpplearning/source/main.cpp:21: undefined reference to `glutInit'
collect2: ошибка: выполнение ld завершилось с кодом возврата 1

В общем, гуру подскажите что делать то? Как это заставить работать?

 , ,

playX
()

C++ и Meson

Форум — Development

Решил попробовать осилить C++, ну и Cargo как в расте там нету, так что просто использовал Makefile, но затем захотелось заиспользовать модный Meson, но не понятно как мне header файлы там прикреплять, может кто подскажет?

Makefile:

all: main

main: vec source/main.cpp
	g++ -o main vec2.o source/main.cpp -I source/

vec: source/vec2.cpp
	g++ -c -o vec2.o source/vec2.cpp -I source/


И вот как я пытался написать meson.build
project('learing cpp', 'cpp')
src = ['source/vec2.cpp','source/main.cpp']
#executable('main', sources: src, cpp_pch: ['includes/vec2.h','includes/vec2.cpp'])
gen_src = custom_target('gen',
                        input:['source/includes/vec2.cpp'],
                        output: ['vec2.o'],
                        command:['']
)
executable('main','source/main.cpp',gen_src,cpp_pch: 'source/includes/vec2.h')[/cmake]

 , ,

playX
()

Обновить Wayland в SailfishOS, возможно ли?

Форум — General

Сабж, дело в том что версия Wayland в SailfishOS не поддерживается winit, следовательно glutin, gfx-rs и прочее никак не заработает

 ,

playX
()

Какие есть хорошие учебники по LWJGL?

Форум — Talks

Сабж, есть конечно на ютубе видео туториал, но по видео ничему нормально не учусь

 ,

playX
()

Есть что то похожее на Dark Souls, только под онтопик?

Форум — Games

Сабж, недавно решил заново зарубиться в Souls игры, Demon's Souls успешно поиграл на PS3, но хочется и на ПК что то поиграть из Souls игр, ну не ставить же ради Dark Souls винду

 

playX
()

Использует ли кто Haxe?

Форум — Talks

Сабж, спрашиваю ради интереса :) Сам использую для игрушек на HTML5/Android которые пишу для себя ну и проект школьный пилю по физике где на Haxe написал некоторую «игру» с использованием Nape.

 ,

playX
()

Посоветуйте IDE/Редактор кода для Haxe

Форум — Talks

Сабж, надо что бы автокомплит присутствовал, ибо VSCode в него нормально не может(по крайней мере я не понял как заставить работать), разве что импорты может нормально завершать.

Линукс тут при том что пишу на Haxe в Debian 10(Testing) под Linux транслируя в C++, а затем компилирую с помощью GCC

 ,

playX
()

На что съехать с Федоры?

Форум — Talks

Последнее время в Fedora Rawhide начинает падать Wayland-сессия гнома, и даже NVIDIA дрова не хотят заводится(до запуска GDM и X не доходит), в связи с этим вопрос: на что более менее стабильное съехать с федоры? Желательно не deb-based.

Что нужно от дистрибутива?

  • GNOME 3.26/KDE 5.12/Mate 1.20,
  • Не роллинг дистрибутив
  • С циклами релизов дабы иметь хоть какую то стабильность


Что уже пробовал:

  • Calculate: KDE часто просто напросто падает
  • Manjaro: Rolling-release
  • Fedora 27: Не многим отличается от Rawhide, пакеты старее на одну максимум две версии

 ,

playX
()

Программирование в Gnome Builder

Галерея — Скриншоты

На скрине Gnome Builder, Gnome 3 на Wayland и самописный браузер на Webkit2Gtk и Rust (пока что без Client Side Decorations ибо не хочет заводиться нормально).

Попробовать Gnome Builder решился относительно недавно и оказался приятно удивлён, все работает практически из коробки:

  • Автокомплит Python — работает из коробки
  • Rust тоже работает из коробки, но требует RLS, а если нужен Racer, то нужно поставить bracer
  • Много чего сделано для удобства, например автоматический переход в ночной режим где тема Builder'a меняется на тёмную
  • Есть Quick документация, достаточно «нажать» по функции и откроется соответствующая страница документации (с Vala точно работает,на других ЯП не пробовал)

Если интересует сам браузер, то можно просмотреть сырцы здесь, но сразу предупреждаю что с Нуво и Вейлендом ютуб не хочет работать нормально, а на иксах вообще бывает что виснет.

>>> Просмотр (1920x1080, 266 Kb)

 , , ,

playX
()

Gnome Builder, есть кто использует его?

Форум — Talks

Сабж, стоит ли его использовать? Как его правильно настроить? В общем интересует ваше мнение о нем.

 ,

playX
()

HTML, Jinja и изображения с БД

Форум — Web-development

В обшем есть данная тема использующая Bootstrap, в ней есть данная часть кода:

              <div class="carousel-item"><img class="img-fluid" src="/static/images/4.jpg" alt="Second slide"/>
                <div class="carousel-caption d-none d-md-block"> </div>
              </div>
              <div class="carousel-item"><img class="img-fluid" src="/static/images/5.jpg" alt="Third slide"/>
                <div class="carousel-caption d-none d-md-block"> </div>
              </div>

И если это все смотреть уже в браузере то там есть слайды, я решил сделать так:
            <div class="carousel-inner" role="listbox">
                {% if latest_tovar_list %}
              <ul>
                  {% for tovar in latest_tovar_list %}
                    <div class="carousel-item active"><img class="img-fluid" src="{{tovar.image.url}}" alt="First slide"/>
                  {% endfor %}
                  <div class="carousel-caption d-none d-md-block"> </div>
              </div>
              </ul>
              {% else %}
              <p>Ничего нету :(</p>
              {% endif %}

Но это не работает как надо, если в БД есть всего 1 «tovar», то отображается все как надо, а вот если больше 1, то эти слайды не работают, изображения располгаются друг под другом.
Сам код на питоне:
def index(request):
    latest_tovar_list = Product.objects.order_by('-name')[:5]
    context = {'latest_tovar_list': latest_tovar_list}
    return render(request, 'mainPage/index.html', context)

Объясните мне, как заставить это все работать?

 , , ,

playX
()

RSS подписка на новые темы