[ overboard / sfw / alt / cytube] [ leftypol / b / hobby / tech / edu / games / anime / music ] [ meta ] [ GET / ref]

/tech/ - Technology

"Technology reveals the active relation of man to nature"
Password (For file deletion.)

File: 1617986347648.jpg (406.96 KB, 1280x720, sicp-shota.jpg)


Hello there, /tech/ comrades.

I am passing by to let you know that a Matrix chat for /tech/ talk has been created! The chat has been added to the official leftypol community. This chat is meant to serve as a place to talk tech and programming in general.

Come join us! The link is: https://matrix.to/#/#leftylambda:matrix.org?via=matrix.org

This chat will also be hosting an SICP /read/ing group. That is, we will be studying the book "Structure and Interpretation of Computer Programs" and helping each other solve the exercises. For those unaware, SICP used to be the introductory textbook for Computer Science classes at MIT back in the day, and remains a cult classic to this day. It can be used as a general introduction to programming, but will also be rewarding for those more experienced.


File: 1617988982697-0.pdf (8.92 MB, 67x118, SICP.pdf)

File: 1617988982697-1.pdf (7.07 MB, 226x300, SICP-unnoficcial-texinfo-f….pdf)

Here are the ebooks for SICP. The first is the original and the second is the unofficial texinfo format, which is a bit more readable but contains all the original text.

If you are an Emacs user, you can also install the "sicp" package available on MELPA, which will let you read SICP from the Emacs frontend to info. This is probably the best way to read SICP, since you're reading straight from your editor.


I liked the SICP meme when it was just posted on Patchouli pictures in dead textboards from 2009, now it's just retards trying to seem like le epic oldfag that most probably never read it either.


Also, I'm just ranting, I'll check out the server later. Cheers.


Why don't you do it in this thread instead of some external chat? Unless you want to kill the board, of course. Back when I read it, I just posted about it in the /dpt/.


would people maybe be interested in reading books that are lore about cybernetics like systems theory and Cockshott? apparently a lot of systems theory people influenced accelerationism.


this is one I was thinking of that’s a little unconventional for leftist book clubs, but I heard this is what influenced Deleuze, who influenced Nick Land.


don’t worry. if we’re feeling generous, we’ll coordinate a raid on our channel and liven the board up.


You can do both. Are you new to the internet or something?


I have been around for long enough to know that people won't do both.


Oh please, you only visit one platform?

Different mediums have different tradeoffs. If I'm gonna help somebody understand a text this dense and literal, having consistent pseudonyms is gonna help with that a lot (this might not be obvious, but different people learn differently, and have different areas of weakness, and building a mental model of somebody is, if not necessary, at least a serious quality of life improvement). There might be reasons to break discussions into different rooms – doing this in different leftypol threads clutters the board. Wanna go back to one of those breakout discussions to copy a code snippet? Oh no, it was on a chan that eventually deletes messages.

There can be more than one online community. It's gonna be okay.


File: 1618166821262.jpg (53.43 KB, 400x400, sicp-wizard.jpg)

OP back here. The chat has been going for a few days, and we've received a good measure of interest in the reading group. I have a few thoughts on how we should organize this group. I'm putting this out here so it doesn't get lost in chat logs:

>we hold weekly meetings discussing sections of the book according to schedule

>in these meetings we discuss the ideas and insights the book provides, and present our solutions to exercises
>meetings should be held asynchronously as it is difficult to get everyone on the same timeframe
>this means we just sort of show up any time we can on the scheduled days and drop our thoughts, ideas, respond to others, etc, but with no set time
>between each meeting, we keep discussion of the book to the /tech/ thread. It's preferable to ask questions and help each other solve stuff using the thread (to keep it and the board active)

I think this should allow us a good measure of interaction between this thread and the chat, and should fit most time frames. This leaves scheduling as simply a matter of choosing the right day.

Please give me your thoughts on this way of organizing reading group.


File: 1618167820545.png (792.1 KB, 1353x736, reimacs.png)

On another note, we had a lot of discussions on text editors and many showed interest in learning a "proper editor" like Emacs or Vim.

Considering we'll be doing a lot of Lisp with SICP, I figured I'd crank out a simple configuration for Emacs that sets up a nice environment for working with Scheme, using the Geiser package, loved by Schemers. It also comes with the SICP package so you can read the book from Emacs itself.

This configuration is made to be simple and easily modifiable (unlike Spacemacs or Doom) and can provide a starting base for anyone interested in getting into Emacs. It is based on Witchmacs, and I decided to keep the weeb theme (you can easily remove that if you wish) but have replaced the C/C++ and Java extensions with Scheme extensions, and also modernized some options, since Witchmacs hasn't been updated in two years. Evil-mode (Vim keybindings) are disabled by default, but can be enabled by uncommenting its package declaration.

You can find it at: https://git.sr.ht/~aabm/reimacs

See the README or ask away if you have any questions.


File: 1618169176572.png (128.8 KB, 723x666, b714d81ff94281afea9e97d612….png)

That plan works for me. May I suggest Saturday?
An alternative to this though would be we just do the whole thing on this thread, if we're doing it in such a 'non direct message' manner?
Took this pic right after downloading, basado to say the least.


I am not sure I understand the split between the chat and the board. What discussion exactly is supposed to be here, and what in chat? I generally prefer chat for discussion but the thread would be a much better temporary reference for stuff.


Well with the suggestion of non-instant discussion I would say the board could be used. Things that don't pertain directly to the reading and organizational stuff could go in the Matrix chat?

Since we aim to post in this thread anyways I'm saying it's possible given an asynchronous meeting to just discuss here. Although originally it was meant to be held in matrix altogether.


I don't mind too much either way, I prefer matrix with any form of indepth discussion personally, but there seems to be interest in keeping information on this board as well.


I am biased towards matrix, but I think >>7795 is a good idea.

Straight book discussions here, but less 'formal' or slightly off topic stuff in the matrix chat.


>>7799 cont.
It would allow a somewhat less cluttered space for reference and browsing.


Seems like it wasn't written here. We are reading up to chapter 1.2 for the 24th of April, and then we spend the week discussing.


File: 1619132705082.webm (2.12 MB, 320x240, sicp-eval-apply.webm)

For clarity, we're reading up to, but not including 1.2.

The entire book is also available as a series of video lectures, which can be found here: https://www.youtube.com/watch?v=-J_xL4IGhJA&list=PLE18841CABEA24090 . These aren't a substitute for the book, more complimentary. There are a few interesting gags in there, actually, webm related.


Can I still join even if I'm late? I did read up to 1.4 a few weeks back




Aight, I've read 1.2 now. We reading 1.3 to <2021-05-14>?

I love me some tail recursion.


Aight, I've read 1.3 now.

I think we should read 2.1 until 2021-05-21

Didn't know about the average damping method before, but it's pretty much just a low-pass filter, yeah? So it dampens sudden spikes, and lets slower changes through.


We've read 2.2. We'll read 2.3 until next friday.

This chapter (2.2) picked up some steam imo. It really goes into procedures as data, and gives some pretty involved examples of how that can look in practice.


File: 1622215867581.jpg (539.45 KB, 949x1415, zdAmf1V.jpg)

>Due to being the default homeserver, Matrix.org is overcrowded and slow. It is also known for banning rooms and user accounts without prior notice for minor things such as expressing certain viewpoints. Luckily, changing matrix homeservers is as easy as switching email providers.
>As a result, they directed their jannying beam at the large collection of chanrooms that existed on matrix. OE's /tech/ and /a/nime rooms were shutdown, as well as the 200acres /rdp/.
>If you currently have a Matrix account on any server, not just matrix.org, we strongly encourage you to consider if you need to make a complaint with the English GDPR Authority, ICO regarding Matrix.org processing of your data until now.

In short, using Matrix is even worse than Discord unless you use a trusted homeserver along with E2EE in every room. Just a warning from a long-time user.


I like this anime girl.


File: 1622285559364.jpg (120.8 KB, 1056x1319, w null_fn9yqd2kmfu61.jpg)

Greetings fren. I'm mikoto-chan. Previously active on anon.cafe, lainchan, nanochan and picochan but now here as well. This place is pretty comfy.


File: 1622493045736.png (919.72 KB, 737x1313, 1621927508722.png)

SICP get


File: 1622505356968.png (116.42 KB, 400x400, 1618648277251.png)

It's over python, you lost!



I've read 2.4, interesting how you can implement dynamic dispatch through primitive language mechanism. Will be interesting to see how one can implement put and get down the line!

We're reading 2.5 til 2021-06-18


This way of using tags to do dynamic dispatch seems like it can become horribly inefficient.
I like how we get to actually play with the type system directly though.
Are there lisps out there with "compile-time" evaluation of expressions?
Or are lispers bound to only developing non-performance critical applications (delegating performance-critical sections to compiled langs)?


File: 1623953919041.pdf (94.15 KB, 67x118, automata-via-macros.pdf)

Macros are evaluated at compile time. Lisps are known for their awesome macros. You don't get to write any for SICP, but see pic. related for an example.

However, dynamic dispatch is dynamic, you can't do that at compile time. If you knew what kind of data you will have to handle at compile time, you wouldn't need the dynamic dispatch. Fortunately symbols are identical (every time you evaluate 'sicp, you get back the exact same value), therefore they can be trivially and more importantly very quickly and cheaply compared. With a "sufficiently smart compiler" it should be possible to generate very efficient dynamic dispatch. But it will depend on both the Scheme implementation and the code you write. I'm not sure if any actually does it.


Thanks for the pdf, I'll check it out.

What I was thinking of was the fact (with the impl. in the book) that the cost of dynamic dispatch for towers scaled for every operation as the height of the tower grew, which is much worse than the single indirection OOP languages usually have for virtual member functions.

While reading this book, I also thought about the fact that everything is a linked list. Isn't this horribly inefficient compared to classes with contiguous memory, where you can access any member in constant time? Are the lisp's out there smart enough to cope with this?

Don't get me wrong, so far it looks extremely versatile, but the lack of static typing, contiguous data and so on spook me.


Lisp has vectors (which are contiguous). The book's primary goal is not to make you an efficient lisp programmer, rather it is to teach general programming principles via lisp.
I wouldn't judge lisp based on the pedagogical implementations given in sicp.


Good to hear, it's just something my C++ autism has been nagging me about throughout


Btw, we're now done with chap. 2!

Until 2021-06-25:

* 3: Modularity, Objects, and State
** 1: Assignment and Local State
*** 1: Local State Variables
*** 2: The Benefits of Introducing Assignment
*** 3: The Costs of Introducing Assignment

Unique IPs: 17

[Return][Go to top] [Catalog] | [Home][Post a Reply]
Delete Post [ ]
[ overboard / sfw / alt / cytube] [ leftypol / b / hobby / tech / edu / games / anime / music ] [ meta ] [ GET / ref]