Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #31990 > unrolled thread

Niezmienniki pętli

Started byMaciej Sobczak <see.my.homepage@gmail.com>
First post2018-11-16 00:27 -0800
Last post2018-11-29 00:08 -0800
Articles 20 on this page of 91 — 10 participants

Back to article view | Back to pl.comp.programming


Contents

  Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-16 00:27 -0800
    Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-16 15:22 +0000
      Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-16 17:18 +0100
    Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-16 07:48 -0800
      Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-16 07:50 -0800
      Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-16 19:14 +0000
        Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-16 11:40 -0800
          Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-16 20:05 +0000
            Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-17 07:59 -0800
              Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-18 00:02 +0000
      Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-16 14:51 -0800
        Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-19 09:37 +0000
      Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-18 01:10 -0800
        Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-18 01:28 -0800
    Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-16 11:51 -0800
      Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-16 14:55 -0800
        Re: Niezmienniki pętli Sebastian Biały <heby@poczta.onet.pl> - 2018-11-17 14:58 +0100
          Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-17 15:10 -0800
            Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-18 09:58 +0100
            Re: Niezmienniki pętli Sebastian Biały <heby@poczta.onet.pl> - 2018-11-18 17:35 +0100
              Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-18 23:14 -0800
                Re: Niezmienniki pętli Roman Tyczka <noemail@because.no> - 2018-11-19 09:22 +0100
                Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-19 08:15 -0800
                  Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-19 10:45 -0800
                  Re: Niezmienniki pętli Sebastian Biały <heby@poczta.onet.pl> - 2018-11-22 18:50 +0100
                Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-19 10:49 -0800
                  Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-19 12:18 -0800
                    Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-19 20:44 +0000
                      Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-19 13:10 -0800
                        Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-19 13:16 -0800
                          Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-20 09:43 +0000
                            Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-20 01:58 -0800
                              Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-20 14:27 -0800
                                Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-21 10:12 +0000
                                  Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-21 11:35 -0800
                                    Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-21 21:10 +0000
                                Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-21 02:36 -0800
                    Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-19 14:12 -0800
                      Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-20 00:20 +0100
                        Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-20 09:35 +0000
                          Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-20 12:00 +0100
                      Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-19 20:37 -0800
                        Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-20 13:46 -0800
                      Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-20 01:46 -0800
                        Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-20 12:52 -0800
                          Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-20 13:16 -0800
                      Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-20 06:07 -0800
                        Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-20 17:54 +0100
                          Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-20 23:16 -0800
                            Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-21 15:54 +0100
                            Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-21 16:07 +0100
                              Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-21 13:48 -0800
                                Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-22 16:08 +0100
                    Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-20 00:00 +0100
                      Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-22 13:53 -0800
                        Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-22 23:25 +0100
                        Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 00:41 +0100
                          Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 00:43 +0100
                            Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-22 22:33 -0800
                              Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 10:34 +0100
                                Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-23 05:46 -0800
                                  Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 15:39 +0100
                                  Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 15:42 +0100
                                  Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 15:47 +0100
                                    Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-23 10:54 -0800
                                      Re: Niezmienniki pętli Borneq <borneq@antyspam.hidden.pl> - 2018-12-01 15:15 +0100
                                        Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-12-01 11:50 -0800
                                          Re: Niezmienniki pętli Borneq <borneq@antyspam.hidden.pl> - 2018-12-02 13:52 +0100
                                    Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-24 12:20 -0800
                                  Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 15:53 +0100
                                    Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-24 12:05 -0800
                                      Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-26 02:01 -0800
                                Re: Niezmienniki pętli szykcech@gmail.com - 2018-11-23 08:42 -0800
                                  Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 19:42 +0100
                                  Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 19:43 +0100
                            Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-22 23:00 -0800
                              Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 10:38 +0100
                                Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-23 04:08 -0800
                                Re: Niezmienniki pętli Wojciech Muła <wojtek.mula@gmail.com> - 2018-11-23 04:10 -0800
                                  Re: Niezmienniki pętli AK <nobody@nowhere.net> - 2018-11-23 15:33 +0100
                  Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-20 05:38 -0800
                    Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-21 11:32 -0800
                      Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-21 13:28 -0800
                        Re: Niezmienniki pętli godek.maciek@gmail.com - 2018-11-21 14:04 -0800
                          Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-22 02:31 -0800
                            Re: Niezmienniki pętli fir <profesor.fir@gmail.com> - 2018-11-22 06:22 -0800
                Re: Niezmienniki pętli Sebastian Biały <heby@poczta.onet.pl> - 2018-11-22 18:53 +0100
              Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-19 09:45 +0000
                Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-20 05:29 -0800
                  Re: Niezmienniki pętli queequeg@trust.no1 (Queequeg) - 2018-11-20 22:26 +0000
    Re: Niezmienniki pętli Maciej Sobczak <see.my.homepage@gmail.com> - 2018-11-29 00:08 -0800

Page 2 of 5 — ← Prev page 1 [2] 3 4 5  Next page →


#32017

FromMaciej Sobczak <see.my.homepage@gmail.com>
Date2018-11-18 23:14 -0800
Message-ID<35eabe3c-2a77-4a51-9f1c-ea2538d4ade2@googlegroups.com>
In reply to#32013
> > Tak, to ważna obserwacja. Może da się te rzeczy rozdzielić?
> 
> To następna obserwacja: jeśl wpływa to na runtime release należy to 
> odrzucić.

więc odrzućmy. Niech sobie będą statyczne asercje oraz dynamiczne, ale sterowane opcjami kompilatora.

> Jest, ale w przypadku nadmiaru checkerów nie da się pisać czytelnie. 
[...]
> Jednak dalej brakuje mi czegoś takiego jak int a<4-200>

Czyli ogólnie: type invariants (niezmienniki typów). Wtedy warunek poprawności dla danego typu opisuje sie w jego definicji i nie trzeba już zaciemniać kodu pisząc co chwilę asercje, czy obiekt ma dobry stan. Tzn. zminimalizujmy zaciemnienie zbierając je do jednego miejsca, z dala od algorytmu.
Ciekawe, że wtedy można odróżnić niezmienniki typów (takie jak zakres zmiennej) od niezmienników obliczeń (np. pętli) i wraz z tym rozróżnieniem dać im osobne miejsce w kodzie. Przecież nie wszytko musi być klasycznym assertem.

> Contraints by się 
> przydało i już powoduje to zniknięcie kilku lini DbC.

Chyba mamy to samo na myśli.

> Obserwuje że ludzie nie chcą języków bezpiecznych.

Zgadza się.

> Na początek chciabym w C++ takie coś:
> 
> debug {
> 	// O(N^2) checker
> }

Wystarczy rozszerzyć składnię asserta. W tej chwili assert musi dostać jedno wyrażenie, ale można by go rozszerzyć tak, żeby akceptował dowolne fragmenty kodu. W niektórych językach to się robi o tyle łatwiejsze, że wszystko jest albo może być wyrażeniem, również pętla While czy cokolwiek innego - wtedy do takiego asserta można wsadzić dowolny fragment kodu, nawet z własnymi definicjami zmiennych wykorzystanych w środku. Ale w C++ chyba niewiele trzeba, żeby to osiągnąć, np. z taką składnią:

assert(dowolnyfragmentkodu, wynik_bool);

I użyć tego tak:

assert(
    int i; // albo inne definicje
    int j = x; // x jest na zewnątrz, ale widać go tutaj

    while (orzemy_jak_możemy)
    {
        // obliczenia, wywołania funkcji, itd.
        ...
    },

    x > 0 && i < 10 // jakiś ostateczny warunek
);

I wtedy assert, tylko w trybie debug, wykonuje ten kod a na końcu sprawdza warunek logiczny z drugiego swojego argumentu. W trybie release nic nie robi.

Kto zaproponuje definicję makra assert o takich zdolnościach?

-- 
Maciej Sobczak * http://www.inspirel.com

[toc] | [prev] | [next] | [standalone]


#32018

FromRoman Tyczka <noemail@because.no>
Date2018-11-19 09:22 +0100
Message-ID<1t0i612ilgawi.dlg@tyczka.com>
In reply to#32017
On Sun, 18 Nov 2018 23:14:44 -0800 (PST), Maciej Sobczak wrote:

> Wystarczy rozszerzyć składnię asserta. W tej chwili assert musi dostać jedno wyrażenie, ale można by go rozszerzyć tak, żeby akceptował dowolne fragmenty kodu. W niektórych językach to się robi o tyle łatwiejsze, że wszystko jest albo może być wyrażeniem, również pętla While czy cokolwiek innego - wtedy do takiego asserta można wsadzić dowolny fragment kodu, nawet z własnymi definicjami zmiennych wykorzystanych w środku. Ale w C++ chyba niewiele trzeba, żeby to osiągnąć, np. z taką składnią:
> 
> assert(dowolnyfragmentkodu, wynik_bool);
> 
> I użyć tego tak:
> 
> assert(
>     int i; // albo inne definicje
>     int j = x; // x jest na zewnątrz, ale widać go tutaj
> 
>     while (orzemy_jak_możemy)
>     {
>         // obliczenia, wywołania funkcji, itd.
>         ...
>     },
> 
>     x > 0 && i < 10 // jakiś ostateczny warunek
> );
> 
> I wtedy assert, tylko w trybie debug, wykonuje ten kod a na końcu sprawdza warunek logiczny z drugiego swojego argumentu. W trybie release nic nie robi.
> 
> Kto zaproponuje definicję makra assert o takich zdolnościach?

Makra nie zaproponuję, ale wrzucę ciekawostkę.
W języku Solidity, używanym do smart kontraktów w sieci Ethereum
(kryptowaluty) stosuje się coś co się nazywa modifier, przykładowo dopisuje
się w klasie modifier isOwner, który sprawdza czy kontrakt wywołał jego
właściciel i tenże modifier dopisuje się do pozostałych metod, które mają
go sprawdzać przed wywołaniem, w przykładzie robi to metoda getData():

[...]
modifier isOwner {
  require(msg.sender == owner);
}

function getData() public isOwner {
  return data
}
[...]


ps. require to odpowiednik asserta

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#32021

Fromgodek.maciek@gmail.com
Date2018-11-19 08:15 -0800
Message-ID<1a8ea577-97b0-4e1d-8b56-4f8992e07806@googlegroups.com>
In reply to#32017
W gcc masz feature o nazwie 'statement expressions' (dla C), totez nastepujaca definicja powinna dzialac:

#include <assert.h>

#define Assert(p) assert(({p}))

[toc] | [prev] | [next] | [standalone]


#32022

Fromgodek.maciek@gmail.com
Date2018-11-19 10:45 -0800
Message-ID<72ea4347-cec4-4fd6-bcfe-ded6751afcaf@googlegroups.com>
In reply to#32021
W dniu poniedziałek, 19 listopada 2018 17:15:55 UTC+1 użytkownik godek....@gmail.com napisał:
> W gcc masz feature o nazwie 'statement expressions' (dla C), totez nastepujaca definicja powinna dzialac:
> 
> #include <assert.h>
> 
> #define Assert(p) assert(({p}))

Aha, oczywiście nie ma drugiego argumentu postaci "wynik_bool",
bo i nie ma takiej potrzeby.

Tutaj mamy przykładowe użycie. Pilk sa.c:


#include <assert.h>


#define Assert(p) assert((p))

int main(void) {

  int n = 5;
  Assert({
      int sum = 0;
      for (int i = 0; i < n; ++i) {
	sum += i;
      }

      sum == (n*(n-1))/2;
    });

  return 0; 
}


$ gcc -std=gnu99 sa.c
$ ./a.out

Jak zmienimy ostatnie wyrażenie w bloku np. na
      sum == (n*(n-1))/3;

to dostajemy:

a.out: sa.c:17: main: Assertion `({ int sum = 0; for (int i = 0; i < n; ++i) { sum += i; } sum == (n*(n-1))/3; })' failed.

[toc] | [prev] | [next] | [standalone]


#32061

FromSebastian Biały <heby@poczta.onet.pl>
Date2018-11-22 18:50 +0100
Message-ID<pt6q93$qq3$3@node2.news.atman.pl>
In reply to#32021
On 19/11/2018 17:15, godek.maciek@gmail.com wrote:
> W gcc masz feature o nazwie 'statement expressions'

Piszę multiplatformowo.

[toc] | [prev] | [next] | [standalone]


#32023

Fromgodek.maciek@gmail.com
Date2018-11-19 10:49 -0800
Message-ID<8e63bf44-75a2-4d68-8c80-8c4cf502aadb@googlegroups.com>
In reply to#32017
W dniu poniedziałek, 19 listopada 2018 08:14:45 UTC+1 użytkownik Maciej Sobczak napisał:
> > > Tak, to ważna obserwacja. Może da się te rzeczy rozdzielić?
> > 
> > To następna obserwacja: jeśl wpływa to na runtime release należy to 
> > odrzucić.
> 
> więc odrzućmy. Niech sobie będą statyczne asercje oraz dynamiczne, ale sterowane opcjami kompilatora.
> 
> > Jest, ale w przypadku nadmiaru checkerów nie da się pisać czytelnie. 
> [...]
> > Jednak dalej brakuje mi czegoś takiego jak int a<4-200>
> 
> Czyli ogólnie: type invariants (niezmienniki typów). Wtedy warunek poprawności dla danego typu opisuje sie w jego definicji i nie trzeba już zaciemniać kodu pisząc co chwilę asercje, czy obiekt ma dobry stan. Tzn. zminimalizujmy zaciemnienie zbierając je do jednego miejsca, z dala od algorytmu.
> Ciekawe, że wtedy można odróżnić niezmienniki typów (takie jak zakres zmiennej) od niezmienników obliczeń (np. pętli) i wraz z tym rozróżnieniem dać im osobne miejsce w kodzie. Przecież nie wszytko musi być klasycznym assertem.

Warto przyjrzeć się językowi Idris i typom zależnym. Twórca Idris, Edwin Brady,
opowiada tutaj o nim z humorem:
https://www.youtube.com/watch?v=zSsCLnLS1hg

[toc] | [prev] | [next] | [standalone]


#32024

Fromszykcech@gmail.com
Date2018-11-19 12:18 -0800
Message-ID<abfad34a-83e9-47cb-935a-021a25c4cc56@googlegroups.com>
In reply to#32023
> Warto przyjrzeć się językowi Idris i typom zależnym. Twórca Idris, Edwin Brady,
> opowiada tutaj o nim z humorem:
> https://www.youtube.com/watch?v=zSsCLnLS1hg

Po po pierwsze, primo:
1. C++ jest zupełnie wystarczający do wszystkiego. A to co nie produkcyjne może być w Bash lub Pythonie. Robiąc w Www musimy jeszcze znać Html i JavaScript. A jak chcemy zrobić bazkę to dodatkowo Sql. Jest tego dość by mieć czego się uczyć przez 5 lat!

Po drugie, primo:
2. W języku programowania jest najważniejsze by był kompilowany do kodu maszynowego (niżej nie zejdziemy - chyba że jeżyki opisu sprzętu Vhdl/Verilog są nam niestraszne).

Po trzecie, primo:
3. Nie język programowania z Ciebie robi programistę, ale algorytmy jakich używasz.

Więc może sobie oszczędź tych wyjazdów z "odlotowymi" językami programowania, bo to wrabianie w stratę czasu na bzdury! Lepiej już zaprojektować jakiś program (poćwiczyć projektowanie) z jakimiś ciekawymi algorytmami (poćwiczyć projektowanie algorytmów i ew. złożoność obliczeniową), a potem zastanowić się co w naszym dotychczasowym stylu kodowania było nie tak i to zakodować to wg najnowszych pomysłów i spostrzeżeń (poćwiczyć  kodowanie). To jest racjonalne a nie strata czasu na kolejny (zbędny) język programowania. Jak nie rozumiesz tego: to jest tak jak byś pożyczał od kogoś innego instrukcję obsługi samochodu i się jarał jakie wymienione są tam ficzery - to paranoja masz swój wózek i masz gdzieś ficzery wymienione w instrukcji kumpla - co najwyżej można na temat tych ficzerów pogadać 5 min a nie czytać o tym tydzień!!!

Do trzeciego primo mam takie spostrzeżenie: zastanawiasz się czasem co programujesz na co dzień?!? Czy nie jest tak, że przez prawie czas po prostu kopiujesz zmienne z jednego miejsca w drugie?!? walcząc przy tym z jakimś obcym Api?!?

Ja np w ciągu pół roku zakodowałem tylko jeden algorytm z prawdziwego zdarzenia (problem producenta i konsumenta), co mi zajęło parę dni (walka z Api gniazdek i funkcją select Linux-a). Natomiast przez pozostały czas tylko kopiuję z jednego w drugie (wyświetlanie danych, zapisy do bazy i edycja parametrów urządzeń). Ale i tak jestem zadowolony, że mam tą robotę. Dobre jest to, że ten spadkowy projekt opanowałem i prowadzę ku końcowi. A teraz przygotowujemy się do stworzenia nowego ciekawego systemu z kilkoma algorytmami (ale i tak kopiowania danych będzie pewnie 95% kodu systemu).

[toc] | [prev] | [next] | [standalone]


#32025

Fromqueequeg@trust.no1 (Queequeg)
Date2018-11-19 20:44 +0000
Message-ID<7ce8abc1-c481-42b7-883c-05ba09bd54d5@trust.no1>
In reply to#32024
szykcech@gmail.com wrote:

> Ja np w ciągu pół roku zakodowałem tylko jeden algorytm z prawdziwego 
> zdarzenia (problem producenta i konsumenta), co mi zajęło parę dni 
> (walka z Api gniazdek i funkcją select Linux-a). Natomiast przez 
> pozostały czas tylko kopiuję z jednego w drugie (wyświetlanie danych, 
> zapisy do bazy i edycja parametrów urządzeń). Ale i tak jestem 
> zadowolony, że mam tą robotę. Dobre jest to, że ten spadkowy projekt 
> opanowałem i prowadzę ku końcowi. A teraz przygotowujemy się do 
> stworzenia nowego ciekawego systemu z kilkoma algorytmami (ale i tak 
> kopiowania danych będzie pewnie 95% kodu systemu).

Pomijając wszystko inne, to zastanawiam się (serio), jak wyglądają Twoje 
relacje z współpracownikami...

-- 
https://www.youtube.com/watch?v=9lSzL1DqQn0

[toc] | [prev] | [next] | [standalone]


#32026

Fromfir <profesor.fir@gmail.com>
Date2018-11-19 13:10 -0800
Message-ID<0f21c6da-3d1c-41cf-9e85-58b4cb34461f@googlegroups.com>
In reply to#32025
W dniu poniedziałek, 19 listopada 2018 21:44:40 UTC+1 użytkownik Queequeg napisał:
> szykcech@gmail.com wrote:
> 
> > Ja np w ciągu pół roku zakodowałem tylko jeden algorytm z prawdziwego 
> > zdarzenia (problem producenta i konsumenta), co mi zajęło parę dni 
> > (walka z Api gniazdek i funkcją select Linux-a). Natomiast przez 
> > pozostały czas tylko kopiuję z jednego w drugie (wyświetlanie danych, 
> > zapisy do bazy i edycja parametrów urządzeń). Ale i tak jestem 
> > zadowolony, że mam tą robotę. Dobre jest to, że ten spadkowy projekt 
> > opanowałem i prowadzę ku końcowi. A teraz przygotowujemy się do 
> > stworzenia nowego ciekawego systemu z kilkoma algorytmami (ale i tak 
> > kopiowania danych będzie pewnie 95% kodu systemu).
> 
> Pomijając wszystko inne, to zastanawiam się (serio), jak wyglądają Twoje 
> relacje z współpracownikami...
> 
pomijajac wszystko inne raczej typowe mysli dla ekstremalnego chama i skonczonego buraka ...

[toc] | [prev] | [next] | [standalone]


#32027

Fromfir <profesor.fir@gmail.com>
Date2018-11-19 13:16 -0800
Message-ID<aab54ccc-b1ec-4656-896d-5626825d5b1e@googlegroups.com>
In reply to#32026
W dniu poniedziałek, 19 listopada 2018 22:10:56 UTC+1 użytkownik fir napisał:
> W dniu poniedziałek, 19 listopada 2018 21:44:40 UTC+1 użytkownik Queequeg napisał:
> > szykcech@gmail.com wrote:
> > 
> > > Ja np w ciągu pół roku zakodowałem tylko jeden algorytm z prawdziwego 
> > > zdarzenia (problem producenta i konsumenta), co mi zajęło parę dni 
> > > (walka z Api gniazdek i funkcją select Linux-a). Natomiast przez 
> > > pozostały czas tylko kopiuję z jednego w drugie (wyświetlanie danych, 
> > > zapisy do bazy i edycja parametrów urządzeń). Ale i tak jestem 
> > > zadowolony, że mam tą robotę. Dobre jest to, że ten spadkowy projekt 
> > > opanowałem i prowadzę ku końcowi. A teraz przygotowujemy się do 
> > > stworzenia nowego ciekawego systemu z kilkoma algorytmami (ale i tak 
> > > kopiowania danych będzie pewnie 95% kodu systemu).
> > 
> > Pomijając wszystko inne, to zastanawiam się (serio), jak wyglądają Twoje 
> > relacje z współpracownikami...
> > 
> pomijajac wszystko inne raczej typowe mysli dla ekstremalnego chama i skonczonego buraka ...

nie wiem ilu jeszcze userow grupy to zauwazylo ale zdeje sie ze na pewno godek to zauwazyl ze proby 1) wmiawianie komus
ze jest chory na chorobe psychiczna (niezaleznie czy jest czy nie) poloczone z probami naigrywania sie z tego kogos
polaczone z (obsesyjnymi zreszta gownienymi probami zdeyskredytowanie tago kogos itd MUSZA byc charakterystyczne dla
jedynie ekstremalnego ludzkiego jelopa,

nie mozna byc normalnym robica takie rzeczy - teraz pytanie skad takie ludzkie
gowno sie znalazlo na czacie zamiast siedziec z innymi downami w celi gdzie charakterystycznie bardziej by pasowalo?

sam nie mam wyrozumialosci dla tego typu
skonchonego buractwa, slowo skonczone ludzki gowno wydaje mi sie mw w sam raz adekwatne na taki poziom zdalnonego cwoctwa

[toc] | [prev] | [next] | [standalone]


#32033

Fromqueequeg@trust.no1 (Queequeg)
Date2018-11-20 09:43 +0000
Message-ID<4b07b06a-e824-4b1c-b1b0-eb18d276a828@trust.no1>
In reply to#32027
fir <profesor.fir@gmail.com> wrote:

> nie mozna byc normalnym robica takie rzeczy - teraz pytanie skad takie 
> ludzkie gowno sie znalazlo na czacie zamiast siedziec z innymi downami w 
> celi gdzie charakterystycznie bardziej by pasowalo?

Tomku drogi,

Coś ci się bardzo pomyliło. Nie siedzimy na czacie tylko na grupie 
dyskusyjnej. Może dobrze byłoby, gdybyś odstawił czat na Onecie, gdzie 
spędzasz czas rozmawiając na arcyciekawe tematy z mocno nieletnimi 
dziewczynkami, bo zaczyna ci to szkodzić.

-- 
https://www.youtube.com/watch?v=9lSzL1DqQn0

[toc] | [prev] | [next] | [standalone]


#32035

Fromfir <profesor.fir@gmail.com>
Date2018-11-20 01:58 -0800
Message-ID<c6b8aadf-0696-4339-bde1-1477e3fd7a86@googlegroups.com>
In reply to#32033
W dniu wtorek, 20 listopada 2018 10:43:47 UTC+1 użytkownik Queequeg napisał:
> fir <profesor.fir@gmail.com> wrote:
> 
> > nie mozna byc normalnym robica takie rzeczy - teraz pytanie skad takie 
> > ludzkie gowno sie znalazlo na czacie zamiast siedziec z innymi downami w 
> > celi gdzie charakterystycznie bardziej by pasowalo?
> 
> Tomku drogi,
> 
> Coś ci się bardzo pomyliło. Nie siedzimy na czacie tylko na grupie 
> dyskusyjnej. Może dobrze byłoby, gdybyś odstawił czat na Onecie, gdzie 
> spędzasz czas rozmawiając na arcyciekawe tematy z mocno nieletnimi 
> dziewczynkami, bo zaczyna ci to szkodzić.
> 
no tak, pokazowa odpowiedz w stylu malpiej knajackiej gnidy, ktora nie wstydzi sie tym stylem epatowac

cos sie znowu wyraznie pomylilo swinskiemu mariuszkowi czy tam adasiowi jakkolwiek ten  burak sie nazywa, 

fakt ze tego typu gnidy stanowia dolny odsetek 10% usenetu jest faktem i probowani uczenia ich normalnosci (czego probuje godek) ma takie szanse powoedzenie jak wpuszczanie czerwonopyskiego plujacego na podloge dresa (lub dresow) na wyklad z filozofii

ja proponuje separacje a w wypadkach skrajnych mile odsiadki w wiezieniach w ktorych wlasnie czesta goszcza tego poziomu buraki

[toc] | [prev] | [next] | [standalone]


#32045

Fromgodek.maciek@gmail.com
Date2018-11-20 14:27 -0800
Message-ID<da4fca23-d5ab-4d82-b439-176d9f5cc41a@googlegroups.com>
In reply to#32035
W dniu wtorek, 20 listopada 2018 10:58:08 UTC+1 użytkownik fir napisał:

> fakt ze tego typu gnidy stanowia dolny odsetek 10% usenetu jest faktem i probowani uczenia ich normalnosci (czego probuje godek) ma takie szanse powoedzenie jak wpuszczanie czerwonopyskiego plujacego na podloge dresa (lub dresow) na wyklad z filozofii

Jakiś czas temu głośno było o rosyjskich trollach, którzy
poruszali na forach temat szczepionek, po to tylko, żeby skłócać
ze sobą ludzi.
Czasem sobie myślę, że osoby, które tutaj wyjeżdżają z obraźliwymi
tekstami, robią to celowo, żeby sprowadzić dyskusje do poziomu
rynsztoku - żeby owocne dyskusje nie dochodziły do skutku.

Nie jest to co prawda zbyt prawdopodobne, ale daje odmienną perspektywę,
i uświadamia, że najlepsze, co możemy robić, to ignorować zaczepki
takich osób.

Z drugiej strony, oczernianie (w rodzaju snucia insynuacji 
o "spędzaniu czasu z nieletnimi dziewczynkami"), choć niewątpliwie
świadczy o debilizmie oczerniającego, może mieć poważne konsekwencje
dla osoby oczernianej (przychodzą na myśl samosądy, które miały
miejsce w Indiach albo Ameryce Południowej na skutek propagacji
fake newsów), i może nawet byłoby wskazane zgłaszanie takich
incydentów do sądu.

[toc] | [prev] | [next] | [standalone]


#32047

Fromqueequeg@trust.no1 (Queequeg)
Date2018-11-21 10:12 +0000
Message-ID<22511123-40d4-4a02-b2ce-342c8e3052bc@trust.no1>
In reply to#32045
godek.maciek@gmail.com wrote:

> Czasem sobie myślę, że osoby, które tutaj wyjeżdżają z obraźliwymi
> tekstami, robią to celowo, żeby sprowadzić dyskusje do poziomu
> rynsztoku - żeby owocne dyskusje nie dochodziły do skutku.

Tak, też myślę, że fir robi to celowo.

Jeśli nie widzisz, w jaki sposób ten osobnik obraża innych ludzi, jaka 
agresja wylewa się z jego postów wobec wszystkich, którzy się z nim nie 
zgadzają, czy wreszcie -- jaki poziom intelektualny ten osobnik sobą 
reprezentuje (przecież on nawet pisać nie potrafi bez sadzenia wszędzie 
miliona literówek -- a skoro programuje, to potrafić musi, więc widocznie 
tutaj ma tych, którzy czytają jego posty, głęboko gdzieś) -- to widocznie 
nie chcesz tego zobaczyć.

> Z drugiej strony, oczernianie (w rodzaju snucia insynuacji 
> o "spędzaniu czasu z nieletnimi dziewczynkami"),

Naprawdę myślisz że wyssałbym tego typu rzeczy z palca? Polecam zajrzeć do 
pokoju grungerap na Onecie.

-- 
https://www.youtube.com/watch?v=9lSzL1DqQn0

[toc] | [prev] | [next] | [standalone]


#32053

Fromgodek.maciek@gmail.com
Date2018-11-21 11:35 -0800
Message-ID<9ed8216d-8355-4eb5-a00e-d4329c7fc80e@googlegroups.com>
In reply to#32047
W dniu środa, 21 listopada 2018 11:12:50 UTC+1 użytkownik Queequeg napisał:

> > Z drugiej strony, oczernianie (w rodzaju snucia insynuacji 
> > o "spędzaniu czasu z nieletnimi dziewczynkami"),
> 
> Naprawdę myślisz że wyssałbym tego typu rzeczy z palca? Polecam zajrzeć do 
> pokoju grungerap na Onecie.

Jeżeli "nie wysysasz tego typu rzeczy z palca", to znaczy, że albo
sam łazisz po takich pokojach, albo stalkujesz innych użytkowników.

[toc] | [prev] | [next] | [standalone]


#32054

Fromqueequeg@trust.no1 (Queequeg)
Date2018-11-21 21:10 +0000
Message-ID<d21be788-4d2f-47a6-942c-a48eba082183@trust.no1>
In reply to#32053
godek.maciek@gmail.com wrote:

>> > Z drugiej strony, oczernianie (w rodzaju snucia insynuacji 
>> > o "spędzaniu czasu z nieletnimi dziewczynkami"),
>> 
>> Naprawdę myślisz że wyssałbym tego typu rzeczy z palca? Polecam zajrzeć do 
>> pokoju grungerap na Onecie.
> 
> Jeżeli "nie wysysasz tego typu rzeczy z palca", to znaczy, że albo
> sam łazisz po takich pokojach, albo stalkujesz innych użytkowników.

Ani jedno ani drugie. Wszystko, co wiem na temat fira, jest ogólnie 
dostępne w Internecie (nie tylko na tej grupie). Wystarczy poczytać.

Stalking to bardzo mocne słowo, wyszukanie kogoś w Google pod to nie 
podpada. Ciebie też wyszukałem po "panicz godek", gdy wrzuciłeś linka do 
swojej Quory, przejrzałem twojego githuba i przeczytałem parę twoich 
odpowiedzi na Quorze. Czujesz się stalkowany?

-- 
https://www.youtube.com/watch?v=9lSzL1DqQn0

[toc] | [prev] | [next] | [standalone]


#32048

Fromfir <profesor.fir@gmail.com>
Date2018-11-21 02:36 -0800
Message-ID<90dd55f0-4c4d-49a1-9c37-9e2861330616@googlegroups.com>
In reply to#32045
W dniu wtorek, 20 listopada 2018 23:27:51 UTC+1 użytkownik godek....@gmail.com napisał:
> W dniu wtorek, 20 listopada 2018 10:58:08 UTC+1 użytkownik fir napisał:
> 
> > fakt ze tego typu gnidy stanowia dolny odsetek 10% usenetu jest faktem i probowani uczenia ich normalnosci (czego probuje godek) ma takie szanse powoedzenie jak wpuszczanie czerwonopyskiego plujacego na podloge dresa (lub dresow) na wyklad z filozofii
> 
> Jakiś czas temu głośno było o rosyjskich trollach, którzy
> poruszali na forach temat szczepionek, po to tylko, żeby skłócać
> ze sobą ludzi.
> Czasem sobie myślę, że osoby, które tutaj wyjeżdżają z obraźliwymi
> tekstami, robią to celowo, żeby sprowadzić dyskusje do poziomu
> rynsztoku - żeby owocne dyskusje nie dochodziły do skutku.
> 
> Nie jest to co prawda zbyt prawdopodobne, ale daje odmienną perspektywę,
> i uświadamia, że najlepsze, co możemy robić, to ignorować zaczepki
> takich osób.
> 
> Z drugiej strony, oczernianie (w rodzaju snucia insynuacji 
> o "spędzaniu czasu z nieletnimi dziewczynkami"), choć niewątpliwie
> świadczy o debilizmie oczerniającego, może mieć poważne konsekwencje
> dla osoby oczernianej (przychodzą na myśl samosądy, które miały
> miejsce w Indiach albo Ameryce Południowej na skutek propagacji
> fake newsów), i może nawet byłoby wskazane zgłaszanie takich
> incydentów do sądu.

nie chodzi o obrazanie, dla mnie obrazanie to chleb powszedni bo musze ogarniac sie od baranow - wprost powiedzenie ze traca moj czas jest koniecznoscia

chodzi o tos zupelnie innego, np o tzw knajackie zachowania lub "odgrywanie ciezkiej gnidy" ktora 'wyszukuje' choruch psychicznie i probuje sie z ich 'naigrywac' w necie, proboje stalkowac i
inne tego typu chore zachowania - jego wlasny 'syndrom downa' nie pozwala mu zauwazyc ze dla normalnych ludzi to nie jest normalne i takie cos to moze sie nadaje bardziej na szpanowanie w wiezieniu w celi, do ktorych wlasnie downy z tego typu myslneiem na ogol trafiaja, )

obrazanie to zupelnie cos innego, absolutnie nie o obrazanie tu chodzi -

[toc] | [prev] | [next] | [standalone]


#32028

Fromgodek.maciek@gmail.com
Date2018-11-19 14:12 -0800
Message-ID<a0a6adb2-dba5-45ac-9e93-5b9172c66f44@googlegroups.com>
In reply to#32024
W dniu poniedziałek, 19 listopada 2018 21:18:16 UTC+1 użytkownik szyk...@gmail.com napisał:
> > Warto przyjrzeć się językowi Idris i typom zależnym. Twórca Idris, Edwin Brady,
> > opowiada tutaj o nim z humorem:
> > https://www.youtube.com/watch?v=zSsCLnLS1hg
> 
> Po po pierwsze, primo:
> 1. C++ jest zupełnie wystarczający do wszystkiego.

Im ciaśniejsze mamy umysły, tym węższe jest nasze
wyobrażenie "wszystkiego", i tym łatwiej nam znaleźć
"jendą rzecz, która nadaje się do wszystkiego".

Dla mnie Scheme jest ostatecznym językiem programowania.
Ale mimo tego rozglądam się dookoła, bo w różnych miejscach
można znaleźć różne ciekawe pomysły.

> A to co nie produkcyjne może być w Bash lub Pythonie.

A dlaczego nie w C++?

> A jak chcemy zrobić bazkę to dodatkowo Sql.

A dlaczego nie C++?

I czy oprócz C++, basha, pythona, htmla, javascriptu i sql znasz
jeszcze jakieś języki?

> Jest tego dość by mieć czego się uczyć przez 5 lat!

Najwidoczniej siedzę w tych tematach dłużej niż 5 lat.

> Po drugie, primo:
> 2. W języku programowania jest najważniejsze by był kompilowany do kodu maszynowego (niżej nie zejdziemy - chyba że jeżyki opisu sprzętu Vhdl/Verilog są nam niestraszne).

Dlaczego to jest najważniejsze?

> Po trzecie, primo:
> 3. Nie język programowania z Ciebie robi programistę, ale algorytmy jakich używasz.

Nie rozumiem.
Myślałem, że to programowanie robi ze mnie programistę.

> Więc może sobie oszczędź tych wyjazdów z "odlotowymi" językami programowania, bo to wrabianie w stratę czasu na bzdury!

Jeżeli nie chcesz, to się tego nie ucz.
Jeżeli kogoś to zainteresuje, to sobie obejrzy.
Akurat ma związek z tematem, który został poruszony
(oraz wartość rozrywkową)

> Lepiej już zaprojektować jakiś program (poćwiczyć projektowanie) z jakimiś ciekawymi algorytmami (poćwiczyć projektowanie algorytmów i ew. złożoność obliczeniową), a potem zastanowić się co w naszym dotychczasowym stylu kodowania było nie tak i to zakodować to wg najnowszych pomysłów i spostrzeżeń (poćwiczyć  kodowanie).

No, jak się uczy podstaw, to warto ćwiczyć podstawy.

Przy okazji, "asercja" to po prostu inne słowo na "stwierdzenie"
albo "uznawanie".
Mówiąc technicznie, jest to kategoria wyrażenia należąca do
tak zwanych "postaw propozycjonalnych", czyli aktów mentalnych,
których możemy dokonywać względem sądów logicznych (czyli
odniesień wyrażeń językowych, które mają wartość logiczną, tj.
mogą być prawdziwe albo fałszywe).

Inne przykłady postaw propozycjonalnych to np. założenie
(hipoteza), wątpienie albo odrzucenie.

Gottlob Frege jest autorem nowożytnej analizy pojęcia asercji.
Polecam lekturę (to będzie albo Begriffschrift, albo Grundlagen
den Arithmetik).

> To jest racjonalne a nie strata czasu na kolejny (zbędny) język programowania.

Skąd wiesz, że to "kolejny (zbędny) język programowania"?
Na jakiej podstawie formułujesz taki sąd?

> Jak nie rozumiesz tego: to jest tak jak byś pożyczał od kogoś innego instrukcję obsługi samochodu i się jarał jakie wymienione są tam ficzery - to paranoja masz swój wózek i masz gdzieś ficzery wymienione w instrukcji kumpla - co najwyżej można na temat tych ficzerów pogadać 5 min a nie czytać o tym tydzień!!!

Nie rozumiem porównania.
Serio.
C++ to najgorszy język, z jakim miałem styczność.
Już dawno oddałem go na złom.
C++ sprawia, że pierdołowate programiki, które w innych
językach zajęłyby kilka linijek, urastają do rangi
wielkiego osiągnięcia.

> Do trzeciego primo mam takie spostrzeżenie: zastanawiasz się czasem co programujesz na co dzień?!? Czy nie jest tak, że przez prawie czas po prostu kopiujesz zmienne z jednego miejsca w drugie?!? walcząc przy tym z jakimś obcym Api?!?

Nie mam tak. Choć przyznam, że pracując przez ostatni rok
w korporacji robiłem w ramach pracy dosłownie dokładnie to.
Tzn. pisałem kod, który generował instrukcje asemblera,
które wykorzystywały jakieś egzotyczne rozszerzenia procesorów
do tego, żeby o kilka promili szybciej (na niektórych benczmarkach)
implementować biblioteczną funkcję memmove.
Ale zrezygnowałem z pracy w korporacji.

Programując, staram się minimalizować dystans pomiędzy moimi
myślami a programami. Język programowania jest dla mnie
precyzyjną formą wyrazu myśli.

> Ja np w ciągu pół roku zakodowałem tylko jeden algorytm z prawdziwego zdarzenia (problem producenta i konsumenta), co mi zajęło parę dni (walka z Api gniazdek i funkcją select Linux-a). Natomiast przez pozostały czas tylko kopiuję z jednego w drugie (wyświetlanie danych, zapisy do bazy i edycja parametrów urządzeń). Ale i tak jestem zadowolony, że mam tą robotę. Dobre jest to, że ten spadkowy projekt opanowałem i prowadzę ku końcowi. A teraz przygotowujemy się do stworzenia nowego ciekawego systemu z kilkoma algorytmami (ale i tak kopiowania danych będzie pewnie 95% kodu systemu).

Trzymam kciuki.
Jak będziecie używać mojej funkcji memmove, to może nawet zadziała
o ćwierć promila szybciej na niektórych procesorach.

[toc] | [prev] | [next] | [standalone]


#32030

FromAK <nobody@nowhere.net>
Date2018-11-20 00:20 +0100
Message-ID<psvggc$31e$1@gioia.aioe.org>
In reply to#32028
On 2018-11-19 23:12, godek.maciek@gmail.com wrote:

> Dla mnie Scheme jest ostatecznym językiem programowania.

Nastepny odlot ?

>> Po trzecie, primo:
>> 3. Nie język programowania z Ciebie robi programistę, ale algorytmy jakich używasz.
> 
> Nie rozumiem.
> Myślałem, że to programowanie robi ze mnie programistę.

Akurat tu IMHO przedpicsca ma racje.
Nie mlotek "robi" rzemieslnika, ale wlasnie "warsztat".

>> Więc może sobie oszczędź tych wyjazdów z "odlotowymi" językami programowania,
>> bo to wrabianie w stratę czasu na bzdury!
> 
> Jeżeli nie chcesz, to się tego nie ucz.
> Jeżeli kogoś to zainteresuje, to sobie obejrzy.
> Akurat ma związek z tematem, który został poruszony
> (oraz wartość rozrywkową)

Schizofrenika chcesz przekonac, ze rzeczywistosc to rzeczywistosc?
Pozyj jeszcze kilka latek, to przekonasz sie ze "kultura" dla chama
jest dla niego tylko pozywka, a "reality" da schizofrenika jest taka
sama abstrakcja jak dla nas zycie na Sloncu. Zwyczajnie odpusc.
Chama i glupca (fir) nalezy bezwzglednie tepic, a schizofrenika
zostawic i jedynie wspolczuc (schizofrenia tak naprawde jest
nieuleczalna. Owszem... jest zaleczalna - jak alkoholizm - ale pod
warunkiem, ze dotkniety ta paskudna choroba sam tego chce).

> Serio.
> C++ to najgorszy język, z jakim miałem styczność.
> Już dawno oddałem go na złom.
> C++ sprawia, że pierdołowate programiki, które w innych
> językach zajęłyby kilka linijek, urastają do rangi
> wielkiego osiągnięcia.

O tak. Duzo w tym racji.

AK

[toc] | [prev] | [next] | [standalone]


#32032

Fromqueequeg@trust.no1 (Queequeg)
Date2018-11-20 09:35 +0000
Message-ID<84340089-b823-48de-ad8d-1783fa48d101@trust.no1>
In reply to#32030
AK <nobody@nowhere.net> wrote:

> (schizofrenia tak naprawde jest nieuleczalna. Owszem... jest zaleczalna 
> - jak alkoholizm - ale pod warunkiem, ze dotkniety ta paskudna choroba 
> sam tego chce).

Tu jest właśnie problem.

Są leki, które zmniejszają objawy (np. kwetiapina), ale schizofrenik sam 
musi dostrzec problem, podczas gdy taka jest niestety natura tej choroby, 
że go nie dostrzega, a wszelkie próby (szczerej) pomocy traktuje jak atak 
na swoją tożsamość.

Co do C++ vs inne języki -- IMO narzędzia należy dobierać do celu, który 
chce się osiągnąć, a nie odwrotnie. Dobry programista to taki, który ma 
szerokie horyzonty, *zna* różne języki na tyle, że zna ich dobre i słabe 
strony i wie, w jakim zastosowaniu który język sprawdzi się najlepiej. 
Jeśli pracę z jednymi językami lubi bardziej niż z innymi, to jest to 
poparte czymś więcej niż "nie chciało mi się tego uczyć, to sobie to 
znienawidzę i uznam, że nie jest potrzebne".

-- 
https://www.youtube.com/watch?v=9lSzL1DqQn0

[toc] | [prev] | [next] | [standalone]


Page 2 of 5 — ← Prev page 1 [2] 3 4 5  Next page →

Back to top | Article view | pl.comp.programming


csiph-web