Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

A real BBS

Name: Anonymous 2015-01-05 6:17

Hello, /blog/. A thought just popped into my head and you all need to read about it.

What if someone (not me; I have better shit to do), set up a traditional BBS that required users to dial in, but had it used VoIP via google voice or some other free, mostly-anonymous service. Wouldn't that be neato. Further, full dialup internet access could be provided over the link. That would throw the NSA off for a bit maybe.

Well, off to bed.

Name: Anonymous 2015-01-05 12:01

http://rustbyexample.com/raii.html

Because Rust enforces the RAII discipline, whenever an object goes out of scope, its destructor is called and the resources owned by it are freed. This behavior shields against resource leak bugs.

You'll never have to manually free memory again or worry about memory leaks!

I don't get it - isn't that the same as Sepples? But in Sepples you have to worry about freeing memory and leaks a lot. Are they bullshitting me?

Name: Anonymous 2015-01-05 12:27

>>11
No.

Name: Anonymous 2015-01-05 12:34

>>11
Yes.

Name: Anonymous 2015-01-05 12:53

>>12,13
Thanks, /prog/, that was really helpful.

Name: Anonymous 2015-01-05 16:46

>>11
isn't that the same as Sepples?
Sepples doesn't have RAII consideration built into the whole type system. Rust has a dedicated pass for ownership checking. It's much more thorough and reliable than what can be done with C++ templates, and it gives you better error messages as well.

Of course, that's not the whole story about Rust. There are basic niceties that make your code more easily portable, and give the optimizer more information to work with while not being a confusing pain in the ass to learn and maintain by hand like with const and restrict. Once Rust hits 1.5 or so, it's gonna be regularly beating C and C++ for speed. The developers are very serious about improving their tools, and they know their shit.

Name: Anonymous 2015-01-05 17:50

>>15
You don't have to use const or restrict in C ether. The rest is just bullshitting.

Name: Anonymous 2015-01-05 18:42

>>16
I'm not sure why you would bother, it's not like they work.

Name: Anonymous 2015-01-05 19:15

>>16
Of course you don't have to use it. And you don't have to use the safety features of Rust, either: You can put all your code in a giant unsafe block, and laugh it off when your computer explodes.

Also, I think it's entirely possible that a Rust-style borrow checker could be integrated into a C or C++ compiler. The real advantage of Rust is that it implements this feature today in a few thousand lines of code, instead of ten years from now in a few million lines. The language semantics are friendlier to this kind of tooling than the semantics of C or C++.

Name: Anonymous 2015-01-06 11:39

>>15
I thought that Sepples destructors enforce RAII too.

Name: Anonymous 2015-01-06 13:14

Name: Anonymous 2015-01-06 14:07

>>19
They do. >>15 doesn't know what the fuck he's talking about. Rust brings nothing to the table that isn't already in Sepples.

The only reason people are using Rust is they don't like the names of things in C++.

Name: Anonymous 2015-01-06 15:36

>>20
You lack a ACTUAL license.

Name: Anonymous 2015-01-06 19:39

>>22

You have ACTUAL dubs.

Name: Anonymous 2015-01-07 0:40

>>21
In C++ it's still possible to obtain a raw pointer to a managed object and allow it to escape without producing any warnings. The whole point of Rust is to have these things enforced by the compiler.

Name: Anonymous 2015-01-07 2:33

>>24
The compiler "enforces" them by telling you "NO DON'T GO THERE IT MIGHT NOT BE SAFE!!!!!!!!!!!!" and not compiling your program. That's the opposite of helpful.

Name: Anonymous 2015-01-07 2:54

>>25
Every person who has ever introduced a memory related bug thought they knew better, too. I would like to hang up that cluebat before I'm retired, thanks very much.

Name: Anonymous 2015-01-07 6:02

>>25,26
It depends on the ratio of false warnings to valuable warnings.

Name: Anonymous 2015-01-07 6:34

>>27
"false" warnings?

Name: Anonymous 2015-01-07 8:20

>>27-28
I just don't get this dismissive attitude toward static analysis that so many programmers have. So fucking what if you know about some invariants that the analyzer can't prove. If the machine can't figure it out, the next guy who touches your code probably won't either. The best, most maintainable code is that which is trivially correct.

Name: Anonymous 2015-01-07 8:34

I doubt it would work due to the compression that Skype uses.

Name: Anonymous 2015-01-07 9:01

>>28
Like gcc -Wextra I guess.

Name: Anonymous 2015-01-07 9:56

>>21
Sepples doesn't have pattern matching and heterogenous types.

Name: Anonymous 2015-01-07 15:51

>>31
-Wextra doesn't flag anything that a human reader might also find problematic.

Name: Anonymous 2015-01-07 15:56

>>29
The thing about static analysis is you don't need to make drastic changes in what language you're using just to implement it properly. That's why Rust and Haskell and so on are basically snake oil. They're trying to sell you the bathwater along with the baby.

Name: Anonymous 2015-01-07 16:19

>>34
If by "properly" you mean 48 lines of proofs for every line of actual code, then I'd rather take Rust and Haskell.

Besides, Haskell is a purely functional language and shouldn't be compared to Sepples.

Name: Anonymous 2015-01-07 16:20

>>34
The thing about static analysis is it looks like CompCert when you do it right and it looks like grep when you do it wrong. But going to CompCert is more drastic than Rust or Haskell because C can't express the the necessary relations. The fact is C, C++ and the like just aren't good at expressing correct code because they were never meant to be sound in the first place.

The weird thing is you'd rather write awkward C or whatever, fight with the static analyzer over false-positives, and have the optimizer fail to identify the invariants that a real type system would than write in a language that could be faster and safer without so much extra work.

Name: Anonymous 2015-01-07 22:49

fuck state-owned buggable phone cables, what about 3.14MHz AM broadcast packet radio?

Name: Anonymous 2015-01-07 23:44

>>37
Hardware (engineering) is harder than software (programming).

Name: Anonymous 2015-01-08 1:58

>>28
A warning about something that is actually perfectly safe.

>>29
If you are suggesting to only do what the machine can figure out, you are needlessly restricting yourself. If you want a human to understand it, document it. And just because a computer can verify doesn't mean a human can understand it.

>>35
What kinds of proofs? Human written or machine generated?

>>36
C is a practical language. What you describe is impractical, experimental, hypothetical grasps into empty air.

>>37
legal issues

>>38
Irrelevant

Name: Anonymous 2015-01-08 2:14

>>39
You must be one of those nutty retards that think a computer can become sentient.

And just because a computer can verify doesn't mean a human can understand it.
There is literally nothing preventing a human mind from understanding it.

Name: Anonymous 2015-01-08 2:28

>>38
Depends on what you mean by "hardware". RTL design and low level software design mean solving many of the same problems. FPGAs mean hardware is nearly as malleable as software now.

>>39
If you are suggesting to only do what the machine can figure out, you are needlessly restricting yourself.

Every programming language prevents you from doing things the machine doesn't understand.

Name: Anonymous 2015-01-08 2:36

>>41
But they let you do things the machine doesn't try to understand.

Name: Anonymous 2015-01-08 2:46

>>42
Restrictions can be a useful thing. If they weren't, we'd still be writing all our software in unstructured FORTRAN.

Name: Anonymous 2015-01-08 3:54

>>39
C is a practical language. What you describe is impractical, experimental, hypothetical grasps into empty air.

No, what I describe exists and is deployed in industry. You're just too ignorant to think anything you don't already know could possibly be true.

Name: Anonymous 2015-01-08 4:45

Lisp too alien for you mortals?

Name: Anonymous 2015-01-08 5:21

Name: Anonymous 2015-01-08 6:39

can't wait for all the imgurians to get a load of this one

https://imgur.com/SeGwpHR

Name: Anonymous 2015-01-08 10:53

>>39
A language without generics cannot be practical. C is useless.

Name: Anonymous 2015-01-08 10:55

>>46
Nice touch releasing 1.0 on Christmas day.

Name: Cudder !MhMRSATORI 2015-01-08 16:53

>>46
502MB
WTF is in there?

Name: Anonymous 2015-01-08 18:57

>>50
My local install is about 160MB with libraries.

They probably have to ship LLVM and so on for Windows.

Name: Anonymous 2015-01-08 19:05

>>46
And I though haskal was big.

Name: Anonymous 2015-01-08 19:12

>>52
Haskell platform is big only because it includes 4 versions of every library.

- statically linked no profiling version
- statically linked profiling version
- shared no profiling version
- shared profiling version

Every fucking library.

Name: Anonymous 2015-01-08 19:13

OK, I screwed up a bit. The 4 versions are:

static
dynamic
profiled
GHCi

The GHCi version is just the static version linked together in a single .o file. The other three versions all have their own set of interface files (.hi files) too. The profiled versions seem to be about twice the size of the unprofiled versions (which is a bit suspicious, I should look into why that is).

Remember that GHC itself is a library, so you're getting 4 copies of GHC. Not only that, but the GHC binary itself is statically linked, so that's 5 copies of GHC.

Name: Anonymous 2015-01-08 19:16

Check my repeating digits, friends.

Name: Anonymous 2015-01-08 19:17

>>53
Haskell platform is still big if you divide it's size by 4.

Name: Anonymous 2015-01-08 19:52

It's half docs:
du -sh /usr/local/share/doc/rust/
254M /usr/local/share/doc/rust/


Most of the libraries have both .so and these huge .rlibs:
1.6M libregex-4e7c5e5c.rlib
312K libregex-4e7c5e5c.so

Name: Anonymous 2015-01-08 19:57

>>57
254M docs? What the fuck? Do they use html or something?

Name: Anonymous 2015-01-08 20:27

>>58
yes :(

Name: Anonymous 2015-01-08 20:35

>>58-59
The docs are like this http://doc.rust-lang.org/std/

I wish there was a sensible way to put this into man pages but there isn't. The obvious alternative is infopages but that's about as user-friendly as a chainsaw buttplug.

Name: Anonymous 2015-01-09 19:15

>>44
And there is a teapot orbiting the sun.

>>48
A tank without a vacuum cleaner cannot be practical. Vacuumless tanks are useless.

>>53,54
So it's shit. Thanks for informing me.

>>55
checked

Name: Anonymous 2015-01-09 19:35

>>61
Whenever somebody points out that your language has no generics, just pretend that you don't need them. Now where have I seen that before? *cough* Go *cough*

Name: Anonymous 2015-01-09 19:44

>>62
Go where?

Name: Anonymous 2015-01-09 21:42

why not just not be autistic and use bbs software and telnet like everyone else?

gopher.su 1234 is high quality

Name: Anonymous 2015-01-09 21:46

>>61
There are very many teapots orbiting the sun.

Name: Anonymous 2015-01-10 1:02

>>65
It's true, there are approximately 66 teapots orbiting the sun, the same amount as these dubs.

Name: Anonymous 2015-01-10 1:40

>>66
There are many more. I daresay 100% of all teapots known to mankind are in orbit of the sun, and I have seen much more than 66 of them, though I confess I have not destroyed nearly that many.

Name: Anonymous 2015-01-10 2:28

>>62
Features have consequences. Look at seeples.

Name: Anonymous 2015-01-10 3:51

>>68
Look at Go. Compiles shit code with (enforced!) bad formatting real fast!

Implement generics or this could happen to you too.

Name: Anonymous 2015-01-10 4:39

>>69
I prefer to look at C and not deal with your nerd drama.

Name: Anonymous 2015-01-10 16:27

>>67
Is a teapot that has been destroyed and scattered with the dust still considered to be be a teapot in orbit?

Name: Anonymous 2015-01-10 17:12

Isn't there any sort of IRC-over-Tor kind of thing instead?
Freenet would be a fine BBS too.

Name: Anonymous 2015-01-10 18:33

>>71
I don't know, I am merely conceding you don't really know a teapot until you have destroyed it with your teeth.

Name: Anonymous 2015-01-10 18:58

>>73
You couldn't destroy me if you tried. lil bitch.

Name: Anonymous 2015-01-10 20:24

>>74
Interesting. Are you a teapot?

Name: Anonymous 2015-01-10 20:37

>>75
Just wait till ma water boils. I'm a gonna scald the shit outa ya delicate skin. Gonna git it all ova yo hooch so ya can't have kids no mo.

Name: Anonymous 2015-01-10 20:46

>>76
That sounds like a teapot, but it also sounds like a McDonalds franchise. I can't decide.

If you are a teapot you should be aware that I do not require the use of my hooch nor the assistance of children to chew your china, and other measures may be needed to prevent your destruction.

For what it is worth, I am not up to the task of destroying a McDonalds franchise with my teeth.

Name: Anonymous 2015-01-14 5:09

How would a service where you "fake dialing in" with a VoIP service be any differen than one where you just telnet in, and there are already too many of those, we need to unify as a community not create our own projects when identical projects exist elsewhere.

Name: Anonymous 2015-01-14 20:50

>>78
we need to unify as a community
Why?

Name: Anonymous 2015-01-15 3:09

Fry?

Name: Anonymous 2015-01-15 5:18

>>79
So we can create shit for demanding, ungrateful lusers who want to argue over the logo and make grandiose claims about helping the poor and changing the world and fighting racism and fixing javashit and all friend each other on Facebook and put our shithubs in our resumes to get great jobs at social justice startup companies that will eat through $50M in VC funding so fast it looks like a money laundering scheme and fails in six months!

Doesn't that sound exciting?!

Name: Anonymous 2015-01-15 5:39

>>81
It does, but I've always come to /prog/ to unwind, rather than do work.

Name: Anonymous 2015-01-15 11:29

>>82
Go unwind in /g/ or /lounge/ and leave us alone. It's serious business going on here in the programming forum.

Name: Anonymous 2015-01-16 3:17

>>83
/g/ is too stupid for me and /lounge/ is too smart. I can't unwind in either. So here I shall.

Name: Anonymous 2015-01-16 4:16

>>84
and /lounge/ is too smart.
Have you been to /lounge/?

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List