/tech/ - Tech

Technology.

catalog
Mode: Reply
Name
E-mail
Subject
Message

Max message length: 8192

Files

Max file size: 80.00 MB

Max files: 5

Password

(used to delete files and postings)

Misc

Remember to follow the rules


(104.85 KB 837x803 1501117252661.png)
cybersocialist planning poll Comrade 08/11/2019 (Sun) 06:27:35 No. 3240
https://forms.gle/3sBQnaFXdv5jhBAa7

answer some questions about how you would like the hypothetical open source software to be written.
(830.38 KB 320x180 rust.gif)
cRUSTaceans are winning the poll so far
I would prefer .net over Java because in .net we have amazing, smooth, easy interop between F#, C#, which allows us to write in functional what is usefull to write functional and procedural what is procedural.
Also because type erasure is retarded and trying to package manage java is like masturbating with sandpaper.

>>379
Creating a monolith for software that potentially has to calculate entire economies is just putting shards of glass in your own shoes.
Microservices are much easier to distribute, scale and also decentralize.

>>409
No you dont. You dont need to learn the entire greek math shit of catagory theory to understand how to use monads or functors, in the end its just writing clever abstractions and having functions that accept and return other functions.

>>413
Noooo rust is so autistically verbose and unusable. That retaded language lets its good features suffer so much from trying to hard to be a systems language. I dont want to deal with lifetime autism again just to use the conceptually very simple borrowing system.
>>403
>be able to write statically typed, immutable, functional code
>Also have great two way interop with procedural language
>Also able to break functionalness and use mutability if needed
F# gang.
>>405
no.
but I have this bookmarked, which is 10% of the work. https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours
>>406
not as hot as HOTT 🔥🔥🔥 (homosexual-topy type theory) https://homotopytypetheory.org/
>>408
performance is usually par with any other GC language. Can be hand optimized to be close to C. We have fast enough computers,
correctness >>>> speed, especially when dealing with national level shit. No room for errors. Even better when dependent types arrive. We'll be building luxury space castles of abstraction.
>>409
wrong.
haskell is the language of the people.
it's for brainlets that can't program for shit. The compiler grabs them (us) by the hand and helps them write correct programs that are easy to re-factor by more experienced engineers if needed. The compiler does a lot of work for you, just write type holes and the compiler tells you: "hey little shit, did you mean to write this [thing you need to write]?". Or if you're doing something stupid, it will tell you "fuckface, you can't add an integer with a function. try again." to which you must answer, "thank you glorious Glasgow Haskell Compiler", unless you want to be sent to dependency hell.
It's also for wizards that write libraries for us mere mortals like Saint Kemett.
>>410
>PHD in Qabbalistic templates and constructors
lmao
>>415
>Also able to break functionalness and use mutability if needed
<Also be able to stick a chopstick through your urethra
haskell has pure mutability as well. F# is Object Oriented Cope.
OP HERE I WILL BE CLOSING THE POLL TOMORROW SO EVERYBODY GET YOUR RESPONSES IN
>>417
>correctness >>>> speed
yeah but when you are dealing with calculating a sparse matrix of 500 million commodities speed does end up mattering.

Albibaba (Chinese amazon) has like 2 billion individual goods and services), its likely that we will have to drop to a lower language like C/C++/Rust in order to make that computation fast enough
>>414
>Microservices are much easier to distribute, scale and also decentralize.
they're also harder to write, debug, maintain, and test. Not to mention harder on the OPS side as well (replicating dozens of dev environments on localhost)
>>417
more serious, I only use imperative languages at work, and I'm learning haskell as a hobby.
When I used C# for work, it was a really nice language, LINQ is great. F# is probably even better. Very frustrating that it's MSFT shit and not extremely portable. I wish I could use F# natively on unity.
I haven't tried rust, but I hear it's a good C++, that's nice.
>>419
lazyness can be a godsend with shit like that.
also haskell can be hand tuned to be almost just as fast, afaik. haven't done it myself.
I haven't read dickblastt, I've seen his awful code on github though. Is there a specific algorithm you're referring to?
>>421
>Very frustrating that it's MSFT shit and not extremely portable.
ASP.net CORE is FLOSS now actually
MS says they plan to unify asp.net and asp.net core to make the whole .net platform floss in .net 5
>I haven't tried rust, but I hear it's a good C++, that's nice.
like C++ if the smart pointers were the default
>I haven't read dickblastt, I've seen his awful code on github though. Is there a specific algorithm you're referring to?
just general sparse matrix calculation methods

if you havent read dickblast and want a more technical introduction to him try reading 'Calculation in-Natura, from Neurath to
Kantorovich' and 'Application of Artificial Intelligence Techniques to
Economic Planning'

links

http://www.dcs.gla.ac.uk/~wpc/reports/standalonearticle.pdf
http://www.dcs.gla.ac.uk/~wpc/reports/plan_with_AIT.pdf
>>413
Nice!

>>414
>Noooo rust is so autistically verbose and unusable.
Don't exaggerate, anon. It has lots of nice type inference, syntax sugar, and abstractions that can result in very clean, simplified code. In terms of verbosity and complexity, it is somewhere between C and C++.

>I dont want to deal with lifetime autism again just to use the conceptually very simple borrowing system.
You learn to really appreciate the lifetime stuff if you understand that it goes hand-in-hand with good performance design. Read this:
http://www.dataorienteddesign.com/dodbook/

>Creating a monolith for software that potentially has to calculate entire economies is just putting shards of glass in your own shoes.
The actual calculations are really fast. For instance, my benchmarks showed that the labor time calculation takes .7 seconds on 1 million products. And that's single-threaded. Cockshott's stuff is fast too. Our initial data sets will likely have less than a thousand items. And again, these parts of the program are not coupled, so splitting them off into separate services would be easy down the road.

>I would prefer .net over Java because in .net we have amazing, smooth, easy interop between F#, C#, which allows us to write in functional what is usefull to write functional and procedural what is procedural.
I've heard good things about both of these, but IDK how many people here have any experience with .net stuff, and often it's not as well-supported on Linux (EG, it's not in Arch's main repos).

>>417
>We have fast enough computers, correctness >>>> speed
It's possible to have both correctness and speed though, and the meme of "just throw more CPUs at it" is not acceptable for ecological and cybernetic communism IMO. This attitude is why modern computers are so fucking laggy at basic tasks even though they are basically supercomputers.

>>419
Case in point. We would at very least want the big calculations to be in Rust. Though I will point out, many of the "2 billion individual goods" are actually redundant. There are 100,000 results for "coffee mug" on Amazon, but most of them are the same damn porcelain cup! Realistically speaking, I think the number of genuinely unique goods is definitely below a billion, probably in the low to mid millions.

>>421
>lazyness can be a godsend with shit like that.
Not really, I don't think the harmony planning or labor calculations really lend themselves to it.

>>422
>like C++ if the smart pointers were the default
Rust has a separate smart pointer type, Box. Most of the code you write in Rust follows a paradigm of "Everything is a move or a reference." Not completely comparable to smart pointers.
>>424
>Not really, I don't think the harmony planning or labor calculations really lend themselves to it.
this, functional programming comes from the programming language theory tradition wheras numerical computing is a totally different discipline. mutable data is needed for space efficient brute force matrix/linear algebra computations that underlies cybercom and basically all of machine learning.

attempts to combine it lead to something like julia, which ends up being some unholu hybrid of python and fortran

even in langs like rust the functional versions are way less efficient than the imperative versions
>>429
where i do think FP is helpful is in Web dev where the server side is essentially just doing transformations on data while passing them to and from a database (mostly pure stateless functions) and this is why serverles/function as a service has taken off in recent years as most realize this is essentially the only thing most web dev does anyway
>>429
>numerical computing is a totally different discipline. mutable data is needed for space efficient brute force matrix/linear algebra computations that underlies cybercom and basically all of machine learning.
yeah if you look at the iteration function here:
https://pastebin.com/3zATBFHR
It's just indexing into an array a bunch (barely even using Rust features, could break logical consistency if it was implemented wrong). I can't even think of a way to use Rust's fancy map functions or iterators for it. But it's about as fast as it can get, barring SIMD maybe.

>even in langs like rust the functional versions are way less efficient than the imperative versions
Rust's iterators and map/filter stuff are actually extremely optimized, they can be faster than plain loops in most cases. However, they're only useful for a subset of operations.

>>430
True.
>>432
maybe all this autistic arguing about choice of programming language is moot anyway since in a microservices architecture technically every service is a separate prorgram (meaning can be written in a different language and use a different internal data store) the only thing they need is some common communication like tcp or http. other than that you could write like 12 different microservices in 12 different languages (although that it probably not the best thing to do since it would require your programmers to learn 12 different languages)
>>380
>google for git hosting in x country. Pick the one that seems nicest.
looked it up, bitbucket, gitea, and beanstalk. I have no clue where are the merits for it.
>>435
what countries are those in?

and if we're using bit bucket why not use MERCURIAL to btfo linus
>>434
>maybe all this autistic arguing about choice of programming language is moot anyway since in a microservices architecture technically every service is a separate prorgram (meaning can be written in a different language and use a different internal data store) the only thing they need is some common communication like tcp or http.
You are right, I've already said I will probably keep going with my program, it would work fine as a service just for calculations.

>>435
>bitbucket
Yank servers, it is an option for self-hosting, but I think we don't want self-hosting rn.

>Gitea
self hosting

>Beanstalk
Yank company

Here are a couple Chinese git hosts:
https://gitee.com/
https://coding.net/ (this seems not to have English)

I suspect there must be Russian competitors, but IDK what to search for.
>>437
Thank you. the search engine must be absolute shit.
>>437

maybe ask space nicely and he might be interested in hosting cvs/git/mercurial server along with bunkerchan? This place would be more /cyb/ than lain/arisu combined at that point.
>>439
Good point, if Space could let us host some repos that would solve the problem. But gitee looks ok too.
>>439
>>440
git.bunkerchan.xyz incoming
>>417
>haskell has pure mutability as well. F# is Object Oriented Cope.
You have pure mutability in fsharp as well.
>>417
> Even better when dependent types arrive.
Oooh when?
THE POLL IS CONCLUDED, HERE ARE THE RESULTS
(21.64 KB 604x289 apptype.png)
(17.84 KB 547x290 arch.png)
(46.83 KB 690x289 hosting.png)
(36.02 KB 690x289 cache.png)
(39.25 KB 690x289 datastore.png)
(38.81 KB 671x312 proglang.png)
(11.65 KB 285x238 proglang2.png)
>>444
Also does that mean that I can finally write an abstraction for an array with a certain size?
According to the poll, the software should be a web app - a bundle of microservices based on RUST, using POSTGRES as the data store, and enabling its built in caching.

The web stack will be OPENSTACK bespoke cloud.

second place for language is python, just 1 vote behind.
>>450
would have liked to have seen a tie, runoff vote
>>451
>not shilling for approval voting
lib
>>444
in a few years lmao
>>449
you can clumsily do that now, I believe. more "powerful stuff" and you'll be jumping through hoops or plain impossible.
>>446
>>447
So, like 12 of us voted?
>>463
I think most people don't bother to check /tech/.
>>464

or not fan of polling language of choice.
>>373
>- Would have to rewrite Cockshott's program (~500 loc)
sure hope this is monospaced

-------------------------------------------------------------------------------
Language.....................files..........blank........comment...........code
-------------------------------------------------------------------------------
TeX..............................4.............98..............0...........3032
Pascal...........................7............268............390...........2725
Java............................10............131............251...........1610
make.............................2.............21..............0.............42
Bourne.Shell.....................4.............22..............0.............36
C................................1..............7..............9.............31
-------------------------------------------------------------------------------
SUM:............................28............547............650...........7476
-------------------------------------------------------------------------------
>>468
the core harmony planning code is a relatively small part of the repo
>>470
what's the rest of the java code?
fucking bump
is there any repo I can contribute to? extra points if it isn't Java crap
This seems like a fairly odd process to arrive at a language for a communal project. Wouldn't it have been better to recruit dedicated competent programmers first, and then see what programming languages there were common competency in? I can't help but think that most individuals that participated in the poll have no intention of contributing.
>>555
common lisp?
>>555
Linear programming isn't feasible for large-scale planning, it has cubic worst-case time complexity. Cockshott's algorithm is different.
>>558
>Linear programming isn't feasible for large-scale planning, it has cubic worst-case time complexity. Cockshott's algorithm is different.
The actual program he has published for 5 year planning does use Linear programming, and doesn't scale. You need to use iterative successive approximation to work at scale the mentioned algorithms are the Jacobi method, and the Gauss-Seidel method.
>>559
No, there are two different systems. One of them uses a linear programming problem solving library, the other uses his custom harmonious planning algorithm. It runs in linearithmic time, which is a vast improvement.
>>560
>No, there are two different systems. One of them uses a linear programming problem solving library, the other uses his custom harmonious planning algorithm. It runs in linearithmic time, which is a vast improvement.
My bad, you are correct. Transitioning from polynomial time to anything less is indeed a exceptional improvement.
Labor time anon here, I am practicing the Rust Actix + Diesel + Yew stack with another project right now, plus schoolwork. It will be a while before I post more progress.
>>571
rustanon, whats wrong with the rocket framework? seems more intuitive than actix
(270.29 KB plan_with_AIT.pdf)
>>562
Cockshott's plan, also detailed here in this (PDF), is a bit confusing in the sense that hes using a neural net for something non typical. Neural nets under capitalism are typically used for machine learning tasks like classification, regression etc. Wheras he is using it for a very atypical purpose (tractable solution to an LP problem).
>>572
As far as I can tell, Rocket and Actix-web have mostly the same layout for projects. Rocket just has a few more nice macros. On the other hand, Actix is much faster at the moment due to having async capability. Rocket says they're implementing the capability right now, but it's not there yet.

Delete
Report

no cookies?