[ art / civ / cult / cyb / diy / drg / feels / layer / lit / λ / q / r / sci / sec / tech / w / zzz ] archive provided by lainchan.jp

lainchan archive - Catalog (/λ/)

R: 0

The Sticky: /λ/ 2.0

This is new /λ/, also addressable as /lambda/, the programming board. The intent is that this board will be used to share and discuss programs that have been made, for techniques and tools to be written of, and so other programming topics can be debated.

This is not the board to recruit programmers for projects. If you have a project you want to discuss, have a good bit finished beforehand.

Relevancy is considered very important in this board. It is expected that every image and file will be strictly relevant to programming.

Use tags for submitting programs inline with your post. To use code tags, use the [tag]...[/tag] syntax, where tag is code.

Hack deftly; document creatively; crack happily. Debug carefully; backup often.
R: 9

All things Rust.

Rust general, share resources, PDFs and experiences with the language.
R: 84

Feedback to CatChan

I released CatChan script which equipped a virtual board function.
Try and enjoy it. You can download it from BETA.
Any feedback is welcome.

Easiest way to use:
1. Click 'settings'.
2. Click 'load default', 'Click(I want to ... now)' and 'Click(...for lainchan)'.
3. Reload.
4. After 5 secs delay, it starts to scan entire site, generates virtual boards and show them. This takes 5-20 secs.
5. Click #XXX to on/off virtual boards. They are toggle buttons, so you can select multiple boards.
6. After 10 mins delay, auto updater will run and color tags if they have new posts. Favicon is also changed, and popup shows counts of unread replies to you, unread replies, threads which have unread replies, threads in the virtual board, boards to which these threads belong respectively.

How it works:
You can add tags to a thread when you post #XXXX in your comment. CatChan scans all posts in all thread in all boards, aggregate, and shows it in catalog. Tags are bumped and discarded in usual manner. Details are configurable.

Virtue of virtual board:
You can choose which thread belong to which board. And also threads can belong to multiple boards. You can make virtual boards at any time. This gives extreme flexibility to threads. Threads can move between boards at any time virtually.
Virtual boards function is a super-set of 'physical boards', which is used now. If you limit max num of tags to 1; threads can only inherit a tag which has the same name of physical board. In this limitation, virtual board system is equivalent to physical board system. Virtual board system is a search engine by user tags simply.

Other information are available in below, but they are obsolete.

Now the script needs to be debugged still, but basically it works.
Bug reports are also welcome.
Threads are sorted by 'Last reply' now even if you set it 'Bump order', because catalog doesn't give bumped time, so I had to scan to get them and I haven't implemented yet.

It works well in lainchan and 4chan.
It works but too slow in 8chan.
I haven't debugged in Krautchan.

Tags for example:
#CatChan, #virtualBoard
R: 99

What habits should each coder have to make his programing as clean, effective, good as possible?
I'm just starting to learn programming, Python on 2.7, and want to develop good habits from the beginning instead of adopting them later and possibly having to get rid of bad habits.
any ideas?
R: 55

Calculators for programmers

HP-16C is the only HP calculator for programmers. However, some calculators, such as the HP-42S, has incorporated its functions.

The company SwissMicros (aka RPN-Calc) has released clones of the HP Voyager series.

My questions are:

Have any Lainon been hepled in their programming by using a HP-16C or any other HP calculator?

Has any other companies released calculators for programmers?
R: 300

Text Editors

Let's talk about the text editors we use.

Do you use a common editor or something more exotic?

Are you using an exotic form of a common editor?

What are you looking forward to in future editor development, currently?
R: 91

A Call for collaboration on a Lisp Type-2 Hypervisor Environment

Most of us have heard how amazing the Lisp machines of the 80s were, an operating system dedicated entirely to human-computer interaction and abstraction.

What I've noticed that myself and other lisp hackers end up doing is living out of an CL+Emacs ecosystem, bringing environment variables into the runtime from async shell calls, SBCL native handles etc, into S-expressions or M-x commands which turns these hooks and system objects into objects in our lisp environments.

I do this with my browsers as well, bringing DOM objects in from javascript compiled to from ParenScript Lisp (Common Lisp -> Javascript)

This is all fine and well until you want to run your system on another machine or your computer crashes and you find yourself setting up your desktop from scratch.

I propose we collaborate on abstracting Linux system hooks, various windowing environment utilities, and any command line programs we use into the SBCL runtime, creating a portable Lisp virtual machine with the possibility of bootstrapping an even more powerful version of Emacs from the result.

Macros can then be created at a system level, we can even bind statistical data on command usage and create command topologies to speed up personal automation or even collaborate on distributed machine learning/AI systems.
R: 111

Hello, Navi

Given Cortana and Siri (and others) becoming smarter and smarter, what's keeping anyone from creating a linux OS with voice recognition integration?

I'm proposing a Navi-styled linux OS, which has voice commands for everything you can do normally with a keyboard

Obviously, voice recognition software is very finicky and often not as good as a real interface, but it seems that the technology is approaching the point where it's actually usable.

So our questions are:
>What are the open source/free options for voice recognition software?

>What are the problems of these, and how can we improve upon them?

>And how can this software be integrated into the operating system, in a stable, usable, and efficient way?

The most mandatory things are turning it on by saying hello and playing a track
Oh, and naming it "navi"
R: 53

Python 3 Thread

Python 3 general.

Share resources, PDFs and books. Also discuss and share projects you have been working on.

Beginner Questions are also welcome.
R: 161

IPFS thread, help for newbies and hashes to interesting files

Anyone familiar with the InterPlanetaryFileSystem?

Its a neat protocoll, based on torrents, blockchains and git that aims to replace the internet.

In practice its a nice tool to distribute all kinds of files, websites included.
The difference is that there is no single point of failure. And it is protected against sybill attacks (for those that care).

It is based not on resource location but on resource content. I.e. if I go to www.google.de/InterestingImage.png my browser will always give me whatever is at that location, be it the google logo or necro horseporn.
IPFS uses SHA-256 hashes instead. So the resource links that take the form of easy to remember strings like QmWsmdwbd2NLgyyB7FHLCCd3Qu8F7kXk19eZAdKGyFTdqv will always point me to the file whose hash corresponds to that value. Changing even one bit will yield a completely different hash.

The closest equivalent would be I2P or GnuNet, both extremely slow (as in pre 5,6kb/s slow)

Now the interesting part, how to get started.

First go to:


download the binary for your platform, unpack and move to that directory. (I will assume you use Linux or a Linux-like OS during the following steps)

Inside that directory, make sure that you have set the execution rights for the .sh file, run it as sudo or su to install.

thats it, you have now installed IPFS on your computer.
Except its pretty useless as it is right now.
We need a few more steps.
First: add a repository, that will be where all the files and chunks of files will be saved.

you can do this using the following line in the Bash:

 export IPFS_PATH=/home/YOURNAME/ipfsTestDir/ 

this will create an IPFS repository inside this directory (the directory should exist and you should adapt your name of course).

Then you might want to add a bootstrap, a known address from where your IPFS installation can access the whole IPFS swarm, i.e. everyone else who has IPFS.
Like so:
 ipfs bootstrap add /ip4/ 

this is the access point of ipfspics: https://ipfs.pics/

Now initalize your IPFS:
 ipfs init 

(you can skip the export PATH and bootstrap part, in which case IPFS will use the default /.ipfs directory in your home directory as repository)

Now, to enable others to access the files you have added to IPFS (no we have not yet added anything, be patient pls) start the IPFS daemon in a terminal windows which you do not need:
 ipfs daemon 

(you can see that IPFS is legit rocket science here)

Now you can add files to your repo, for simplicity sake we will add a whole directory instead of file by file:

ipfs add -r /home/YOURNAME/TESTDIR/ > ipfsHashes.txt

As above, replace with your username and whatever nonempty directory you want to add to IPFS.
the ">" is of course a redirect, so that all hashes are neatly saved to a textfile, making the much easier to remember.

Congratulations, you just shared some files over IPFS.

A few neat tools to make your life easier:
The chrome/firefox addon "IPFS Gateway redirect", great for accessing IPFS stuff over your browser, works if the IPFS daemon is running in the background.

The link http://localhost:5001/webui
A more noobfriendly userinterface in your browser.
And of course the website of the project: www.ipfs.io with tons of resources to familiarize yourself further.
(the mailing list is especially nice, everyone is friendly and Juan Bennet, the inventor of IPFS is often active there)

Of note is that IPFS is still in alpha-stage, 0.3 to be precise, so expect bugs.

See next post(s) for a few files I am sharing, mostly books.
R: 157

Improving at programming

So, how you do to be a great programmer?
In my opinion most of you guys know much more about the average programmer that I know. Even i get really suprised with some things that you guys do. I always had this feeling that Im far way behind from you guys. So I just took the scip book and im willing to learn as much as possible before the uni classes get back.

I really wanted to hear some stories and tips about how you guys got good at programming.
R: 10

Dead Software

Someone in the Lisp thread was talking about how CLIM is thought to be dead, but just received a patch. Also, CLIM's examples have worked flawlessly for me. This is weird.

I created a list of things that I would expect to be true about a dead project. None of them seem to capture the actual meaning though.

Nobody is developing the code.
Nobody is using the code.
Online resources are no longer available.
There is no active online community.
The code will not build.
The code will not run.

What does 'dead' mean? Why and when is the word used?
R: 35

What's up with filesystems?

I mean, I get that block storage is good for speed, and for drives with high random read latency. But do they still make sense now that ssd's and shit-tons of ram exist?

Binary formats make it so much harder to deal with file formats. Hell, even ascii formats like STL are shit.

I'd like to see something that works like a giant object.

Do selections like

for line in filesystem['home']['anon']['.bashrc']:

Alright, bad example, since bashrc is just a nice pipe-able ascii file.

You could implement something like python's duck-typing. Store an image compressed, but have a daemon take care of presenting it as if it were a pixel array. Do some clever things with shared memory (capnproto?) and you could be editing the same image in different programs, at the same time.

I suppose we could all just save to JSON, but saving to a block is slooow, along with all that serializing.

I'd much rather someone implement a good kbd-tree server. Because then we can let more then one program access the data structure at once, and implement things like callbacks if the data changes.

Binary formats and GUI programs sort of broke the unix way. But we can move back towards letting one program "do one thing well" by letting more then one program access a datastructue at once. Something that block files don't allow.

Throw in some network transparency and you've got a pretty great distributed computing platform.
R: 237

Programming books (share some pdfs)

Last thread about programming books died so here's this one.

To start, anyone have books related to C and/or Unix programming?
R: 33


Any lainons here using Scala?

Reasons to use:

1. Combines functional and object oriented programming styles into one language.
2. Runs on the JVM which means you can call any Java library you want very easily.
3. Static typing catches so many errors at compile time and makes larger programs cleaner.
4. Clean and concise syntax.
5. Cluster computing. Apache Spark, which is the premier large scale data processing framework is written in Scala. Hadoop is in Java and so easy to use (see 2.).
R: 80

/λ/ jobs thread

I figured it would be useful to have a job posting thread. Many lainchanners are keyboard cowboys and many lainchanners are working at megacorps or runing startups. It makes sense to bring those two groups together.
R: 120

A Manga Guide to Lisp

Hi /lainons/


I saw this posted around here, I figured you guys might like a translation (and I need to practice my moonrunes).

It looks from the table of contents like it's a pretty basic tutorial, so you probably won't get much out of it if you're already writing crazy lisp macros. But maybe it'll be useful if you're a complete beginner just looking to be exposed to the language, and are into weeb shit ~

(Feel free to tell me my translation's shit and offer corrections)
R: 23

Please help me make a regimen

Alright, so, I was recently accepted into a master's degree program in the computer science field. Specifically, it focuses on cyber security. This field is quite different than what I earned my bachelor's in and it was a steep hill to climb getting to this point. I did all the pre-requisite stuff and now I'm just waiting for September 2016 to arrive. To be frank, I was a bit surprised I was accepted into this program given my lack of an engineering/science degree, and I want to be as prepared as I possibly can be. What I need is a studying regimen.

I want to learn as much C++, Python, and networking essentials as I possibly can by September 1, 2016. I don't have to be a wizard by then. Just strong enough to follow a lecture without getting totally lost. I need some advice from you guys on what's the best schedule I can create for myself.

I currently work about 40 hours a week, five days a week between 4PM and about 1AM. This gives me two days a week off, plus afternoons to myself. The way I see it, I have
>4 hours every Sunday, Monday, Wednesday, Friday
>2 hours every Saturday
>All-day Tuesday and Thursday

What's the best way to use this time if I want to learn as much as possible in 4-5 months?
R: 0

The Sticky

This is /λ/, also addressable as /lam/, the programming board.

The intended purpose of this board is technical discussions concerning programming. Discussion of activities, techniques, tools, and whatnot related to programming are also relevant.

This is not the board to recruit programmers for grand ideas.

All files posted here should have relevance to the topic at hand, such as a current project in action or to provide other information as necessary. If a program to be discussed will not fit in a post, upload it as a tarball instead.

Use code tagging to nicely render programs as such: [code]⍴⍴⍴x[∕code]

Peruse the board before making a new thread. If a thread is deemed repetitive, it may be closed with a redirection to the appropriate thread.
R: 21


Do you guys suffer from perfectionism?

Is it a bad or good thing in the programming world?

Of course, a perfectionist programmer will learn much more about programming than an average, not-so-much motivated programmer. But, sometimes I think I spend too much time doing something that could be done in 1 or 2 hours. In the last university project, we had to make a simple Web application with API use. It would not take more than 2 hours to get everything done - you only had to get the json, and format it in css/html. I end up messing around with javascript, angularjs, and did look around about some design patterns for web applications. I spent my whole day on it. As I feel good spending hours in projects(since i hardly start them), I also get fucked up in the other classes that I should study.

Do you guys relate to it too?

related reading and discussions:

R: 102

Bash General

I'm sure you lainon have got some bash sugar to share.
Post your
> scripts
> aliases
> .bashrc, .zshrc
even if they're small or simple.
R: 23

Games about Programming etc

there was a thread once, it had games where you program AI, an electrical engineering one, and a few others, I don't remember them all or maybe any, so I would like to start a new thread.

you program AI to fight
R: 39

Machine Learning & Neutral Networks

We definitely ought to have this thread, since AI is about as future as it gets. If you're not coding artificial intelligence, your replacement will be.

Hacker's Guide to Neutral Networks: http://karpathy.github.io/neuralnets/
R: 46

How the hell is nobody talking about this great language here on >>>/λ/ ?

R: 10

Brain: An esoteric modern computer language based on Brainfuck

Brain wants to improve the performance of the Brainfuck programming language and extend it as well, as Brainfuck itself has a lack of data types and does not perform great control over variables, as well as when you want to make libraries and/or functions and when you want to use different models other than characters and small integers.

One of the main ideas of Brain is saving some operations in machine language, creating an instruction optmizer due to the excess of instructions that Brainfuck would generate. Brain aims to implement it by using current technology (LLVM).

In spite of implementing new commands and features, Brain tries to be completely compatible with Brainfuck.

R: 52

Reverse Engineering

Lainons, how do I get into Reverse Engineering? Best book suggestion?
What kind of CS background do I need?
I know some assembly and C. The drive behind this all is that I want to get more into Assembly, figuring out what does what is fun.
R: 33

Hey λainons, anyone else taking the Programming Languages by Dan Grossman MOOC? It's a second or third year course, so it's more meaty than most programming moocs and you'll probably learn something from it if you're self taught.

I've heard a lot of good things when it was offered some years ago, but sadly it didn't stay open like most moocs do. Anyways, it's a 3 part course that seems like the "survey of X civilization" in college, if you've taken one of those. It uses SML(static functional), Racket(dynamic functional), and Ruby(dynanamic OO), but It's more about the ideas of the paradigms rather than the languages themselves.

Either way, it's free, so if you're unsure just check out the intro video to see if it's something you'd like.
R: 125


Hey fellow lainons, let us a talk a bit about Racket in particular.

I am pretty surprised that this tasty Scheme flavor isn't more popular:

- Actively maintained by skilled people
- Goes well with SICP & the 'Schemer' series (has #lang's for both)
- Because of that it is a nice Lisp to satisfy our scientific lambda urges
- Nice DSL properties, even used by Naughty Dog because of that
- Nice Documentation
- Pretty useful (in a practical sense) standard library

It seems to me like this language is unable to shake off its "Teaching Language"

What do you think about Racket?
R: 300

The Beginner's General

This is the Beginner's General for beginner's questions.

If you have a simple question and a suitable thread doesn't already exist, just post it here and someone will probably try to answer it for you.

Remember to do some research before asking your question. No one wants to answer a question that a simple search can already resolve.
R: 91

Python 3 thread. What are you working on ?
R: 10

Special vs General Purpose Software

When writing software, there is always a trade-off to be made between a solution that does just what you want now, and a more general solution that might be useful in the future. This is typically resolved by invoking YAGNI: You Aren't Gonna Need It. Although sometimes You ARE Gonna Need It and picking the special-case solution will come back to bite you. One of the hallmarks of a great programmer is being able to recognised when the increased up-front complexity of the general solution will pay off in the long run.

We take a different attitude when introducing external dependencies. It seems that we're much more tolerant of pulling in an external dependency which does a lot more than we need. This is usual justified by pointing out the advantage of not needing to develop, test, and maintain some code in house. The typical invocation here is Don't Reinvent The Wheel.

But where is the line? At what point does the more general external solution become so complex that apparently duplicating the necessary functionality internally is a better idea?

I have been thinking about this recently, due to some difficulties we have been having with a couple of libraries at work. Each implements some behaviour we need, and each has its own performance failings. This weekend I decided to experiment by implementing JUST what we needed and nothing more, and by restricting myself like that I could take advantage of the specific use-case and produce a library which is much more performant.
R: 5

Anyone going to DEFCON? I wouldn't mind running into to some Lainons if you don't mind giving up some of that Lainonymyninyninynity.

I assume most of you will be participating in the core war tourney.

Hope to see some Lains at the con.
R: 21

Coding poetry.

I was thinking about that: can one write a poem/short-story using the syntax of it's favorite programming language? Have you tried ?
R: 11


Who Erlang/OTP here?
R: 42


Does anyone here use praxis?


Do you like live coding? If so, do you prefer to make your own environment, or use an existing one? If you make your own, do you prefer to use an off the shelf embeddable language like Lua or s7 scheme, or do you implement your own language?

This seems like a good board. Thank you for your time.
R: 8

Learning Coq?

I'm trying to learn Coq without much success. I've attempted reading Software Foundations and some tutorials, but I always end up stuck on theorems. The problem is, I have absolutely no idea why am I stuck, what could I do about it, and how did I end up there. To be honest I just throw tactics around without any plan hoping I will solve it by accident.

It seems very alien to programming. How should I go about learning it?
R: 164

math thread

I know we've got a couple matheads up in here.

This thread is for discussing math, theoretical CS, crypto, and other mathemagical fun stuff.

Post books, papers, and blogs.

I've been working through this textbook, the first chapter is a really good intro to graph theory and how to reason about them IMO.
R: 208

Lainchan's board software

Hey lainons
I hopped onto the mumble server last night and jawed for a while with kalyx and some of the other admins, he seems like a pretty cool guy who doesn't afraid of anything

With all these changes to the board vichan is kinda fucking him over when it comes to moving the threads, some of them just aren't moving, which illuminates an important issue

This site's backend is absolute garbage

Which doesn't make a whole lot of sense when you think about it, we've got a programming board populated by a lot of really smart people, so knock off the soykaf and pitch in, you can do this.

I've cloned the lainchan repos already and I'm trying to learn php, I'm a really inexperienced programmer and I know nothing about web development, but this place is probably the best on the internet right now and I'll be damned if I won't support it somehow (because lord knows I don't have the money)

Stay awesome lambda, and I hope we see some more pull requests rolling in

>pic related is my reaction to the board software, it's bad, like really bad
R: 17

÷!1 ⍝ The First APL Thread

This is the APL thread. The intent is that APL programs, literature, techniques, and general musings may be shared here.
Here is a link to the APL standard document; it is actually a gzipped PDF: https://www.math.uwaterloo.ca/~ljdickey/apl-rep/docs/is13751.pdf

Here are questions to encourage discussion:
Which implementation do you prefer?
Do you prefer standard APL or a different dialect?
What first drew you to APL?
What do you consider to be the strengths and weaknesses of APL?
What is your APL environment?
What programs written in APL do you use?
Is APL your main language?
R: 31

Online courses arranged for a comp sci degree?

i've been looking for some updated, recent, reliable resources that would offer an organized courseload for someone who was pursuing an online degree.

i don't know if any lains who are great programmers wouldn't mind trying to make a lain-list for computer science, in particular for a lain university.


i found this comp-sci degree list where they organized all of the courses and resources in a fashion that seemed logical and helpful. any lains that wouldn't mind suggesting any actual courses that are relevant to it, perhaps i can try to make a master list for the wiki?
R: 15

Working from home

Do any of you work remotely? Either from freelancing, providing a service or actually being hired by a company remotely.

Tell us a little about your experience, how did you get to where you are now and on what area you work on (security, front end, back end etc).
R: 300

Lisp General: Sometimes Somewhat Declarative

This is the Lisp General, ask any and all Lisp questions here. Below is a link to the general's texts which contain many links to various books, documentation, websites, and other interesting information.

>Check the texts first:


>Read the FAQ:


>To foster discussion:

Which dialect do you prefer?
Do you use Emacs or a different lisp-based editor?
What was your first experience with lisp?
What have you made in lisp?
What is your favorite Lisp program?
What do you like about Lisp?
How do you think Lisp is (one of) the superior programming language(s)?
How long have you been programming in Lisp?
What are your favorite Lisp resources? Please share, preferably links!
Is Lisp your main programming language or not? Regardless, what do you primarily use it for?
What would you like to see in the Lisp general?
What was your favorite aspect of the Lisp machines?
Do you think we'll ever get something similar to the LispMs again?
What is your preferred method of documenting your code?
In the dialects that allow it, do you make many reader macros or not?
Do you use more than one dialect? What are they and which do you prefer?
What do you consider the criteria for what constitutes a Lisp to be?
What is your favorite function in your chosen dialect(s)?

Write some utility functions or other enhancements that would be useful in other programs.
R: 37

Game dev

A friend wants to start making games but I really don't know what I should say. Like which language and framework to use ? He is ready to learn and I can help him with the language but I haven't got into game dev yet.
R: 26

Would anyone be willing to update the gentooman's library? It's a great resource but a lot of the books are outdated by 3 or 4 editions. Even 5 sometimes.

I have a fuarrrkton of books but it's not realistic to do a project like that alone. If there is interest we could start a new version of it.
R: 30


I don't know much about Java so I'd like to know a bit more about it.
Is it a memory-efficient language?
Does it have analogs? Widespread analogs?
Is it used in embedded solutions?
R: 10

College thread

I'm in college right now. Nothing fancy, I'm not rich nor smart so I didn't get into any good schools. In fact I'm in community college right now, working on an associates degree (2 years, then transfer to another college and be in the junior grade immediately). I'm satisfied since 1. this helps keeps costs very low since I can be at home & 2. I do horribly in new living environments.
Another college is building a four year school here in my town. From what I've heard, the director of the CS department is very passionate and excited to be able to lead the program, since he thinks most college CS programs are outdated. They offer a mobile applications (applied program that earns you 12 or so credits on top of your regular CS degree) course.

>"With the applied computer science option, web and mobile software development, you will develop the multi-disciplinary skillset required to solve these and many other problems as you take courses in algorithm development, machine learning and data analysis, database design, web and mobile application development, UX design, and entrepreneurship. This program will provide you with a solid foundation in computer science and prepare you to join one of the fastest moving and exciting areas of technology."

At first I thought it was kind of gimmicky, but now I'm thinking differently. Mobile development isn't going to stop. As much as I find smartphones distasteful from a privacy standpoint, it's going to be the biggest personal computing market soon. Getting some experience with it is going to definitely not hurt my chances of having my resume not thrown in the trash.

Does your college have a good, relevant, modern CS program? I won't ask where you go 'cause OPSEC, but knowing if you go to an Ivy League or similar private schools would be good as well. Anyone doing it all/mostly online?
R: 12

Do any of you lains have RSI?

I know this doesn't belong here, but it doesn't belong anywhere. I had no idea where the fuarrrk to post it, but I figured it's kind of a "programmer's problem" so what the hell.

Do any of you lains have RSI? What do you do for it? Does anything besides Oxycontin® help?
R: 13

Learning resources

What are the best learning resources you have ever consumed, lain? Courses, college classes, projects, books, exercises, anything goes.

For me it's:
It's an insanely good introduction to compsci, helped me understand how things work and have a little more confidence in my ability as a programmer.

>SICP (MIT course and book)

As important as CS50, but focused on programming and complexity by itself, i imagine most of you have read it already. Both the course and the book are equally high quality and give you a depth in your knowledge as big as CS50 does. Also without the course i probably would have dropped SICP for thinking it's too hard for me.

As i'm a beginner my list is pretty small, though. I can't think of anything that has helped me in a unique, significant way besides those two.
R: 22

Freestanding Programs

How does one create freestanding programs?

Given the complexity of today's software, I think it is refreshing to go back to basics. Using only a given processor instruction set and OS system call interface combination, how far would it be able to go? If a program does not link to any library, not even the C standard library, how would it work?
R: 36

Anyone proficient with Prolog?
What can it be used for?
What is the best source to learn it?
R: 95

What personal projects have you done lately, /lam/?
R: 34

Imageboard engine design general

Anyone else working on an imageboard or textboard engine? I remember that we had a thread like this in the past. What are you working on, what languages are you using, what are your goals?

I'm currently updating futallaby as a fun little project. So far I've made it html5 compliant, added cap codes, image replies and bans, made styles switchable, and I probably did some more that I've forgotten. It's been pretty fun so far.
R: 17

How to become a networking wizard

I have a pretty good experience with programming in C and have put significant work into a few non-trivial projects, but my knowledge of networking leaves much to be desired. I've taken a networking course and done simple toy programs like a port scanner and a simple client-server messenger, but I'm not really sure how to progress to an intermediate and eventually expert level. I want to become a networking wizard.

Any tips, or suggestions on what I could build to gain some real practical experience with the full TCP-IP stack and maybe learn how and why to use raw sockets etc.?
R: 17

Character Encodings

This is the thread to discuss the various manner of encoding characters, character information systems, and other means that we generally use to represent text and related information.

This is the thread to debate the positives and the negatives of each such system and their various platforms of use.
R: 19

Foundational knowledge

Hello, /lam/. I have previous programming experience, i worked 1 year as a junior dev and did 3 years of college, however both were soykaf and my foundational knowledge is like kicking dead whales down the beach. I have until April (roughly 6 months) until money runs out and i have to find another job, my intention to fill the gaps in my knowledge before that. Keep in mind the market is irrelevant, i can easily get a (soykaf) job already if i need the money, so studying something like node.js just to get a gig would be a waste of (precious) time.

Last month i did "CS50" (an online course), read "C primer plus", "how to build your own lisp", "learn C the hard way" (don't), and "21st century C". Right now i'm doing MIT'S "Structure and interpretation of computer programs" course, i tried reading SICP alongside the course but it felt rushed, the books is complex enough by itself, so i left it alone until i finish the course, right after finishng the course i will focus on finishing the book and all exercises.

What would you recommend me next? Also, i know practical projects are important, but remember that i already have a few years of practical experience, i want to use these 6 months to get raw knowledge, after that i will definitely spend my time doing projects, but if i do that now i'll end up having to work again, that means no time to study.

Right now i'm loosely following the OSS curriculum (https://github.com/open-source-society/computer-science), however some courses suck and i swap them for something better, for example i swapped "program design" for MIT'S SICP. Besides that i'm reading some books, after SICP i have these in my queue:
"Code complete", "Introduction to algorithms(gang of 4)", and "Clean code". What other books, courses and general resources would you recommend me, considering my intentions mentioned above?

TL;DR: I have 6 months before Lucifer takes over my body, my only chance of survival lies in filling the gaps in my computer science knowledge, recommend me stuff.
R: 5

Why isn't GPGPU bigger? Is it just a lack of a good API / Native language support? I'd love to see a fully featured c-like language that isn't an API or requires hundreds of lines of boilerplate.
R: 40


Apparently if you master COBOL you can get very high paying government jobs super easily. Many of the older systems they can't afford to update are built on it, and everyone who knew COBOL is starting to reach retirement age.

Has anyone tried learning this? How awful is it really?
R: 48


Anyone here interested in or learning Rust? This language looks like it will finally be the one language to put C++ away for good. It gives very low level control over memory, more so than C++ even while using very high level Ocaml-like abstractions. So far no big project has been made with Rust so there is still speculation as to what its capable of. Ive read a couple of books (there are only a couple out) and gone through the official tutorial and while much of it is easy to understand I still lack an overall grasp of this language. Have you guys tried this language yet?
R: 1

lightweight hypervisor for os x

Been awhile since apple introduced hypervisor.framework and we have several solutions for virtualization on os x :

1. vmware

do they use hypervisor.framework? Ugh I'll never know

2. virtual box

open source...but bit too many kernel extensions imo

3. veertu


GPL licensed, tailored for running windows and linux VMs

4. xhyve


ported from bhyve of freebsd. BSD licensed and supports linux and freebsd VMs atm.

What do lainons think of virtualization for OS X?

Any of you have small side project using the framework?

For me, as most of my gears run openbsd beside this MacBook and I want to run one inside it, I tried adding openbsd support for xhyve but xhyve's design decision for booting is way too ad-hoc for other OS.

So I began fiddling with openbsd's vmm, porting it to OS X just for booting openbsd VM. Most of hard works of reimplementing openbsd vmm apis using hypervisor.framework's apis are almost done and I'll try to release working build within month.
R: 8

Hi lains,
I have a strange idea that I'd really like to pursue but I need some helping fleshing it out.

The story begins with the README for some AI-centered programming language, developed by a professor at a prestigious research university, apparently cut short for some unexplained reason. However, a very straightforward tutorial is included alongside a working compiler.
The reader is strongly urged to try the tutorial, closely following the code examples. However, when you run the code yourself, it's ouput doesn't exactly match that of the tutorial...
At one point, you try the code
for i in 1..5
print "i = " i
But instead of getting
i = 1
i = 2
you get
i = 1
i = 2
i = 3
i = 4 n you
i = 5 hear me?
Something in the compiler itself is trying to talk to you... and as you progress the tutorial, you learn a way to talk back
R: 1

Lisp Popularity

Why is lisp and related languages so popular on this chan? I am currently learning C++ and wonder why I barely see any languages such as that on here. Is there something that is missing out in modern languages that lisp has? Is Lisp a must know language?
R: 76

The Beginner's General

This is the Beginner's General for beginner's questions.

If you have a simple question and a suitable thread doesn't already exist, just post it here and someone will probably try to answer it for you.

Remember to do some research before asking your question. No one wants to answer a question that a simple search can already resolve.
R: 36

how is unix implemented?

Hey lainons, long time lurker here.

While I truly enjoyed discussing random crazy ideas in most of /tech and /lam, it came to my attention that some lainons don't really understand how unix work both abstraction wise and implementation wise.

Which is nothing wrong, considering most newer devs are more experienced in web development framework or high level languages providing strong abstractions, hiding most machine specific stuffs and unix wizardy.

And even some oldfarts might be lisp hacker who does not give much soyfak about io side effects and let the system programmers do the dirty works (and do it correctly).

And yet, most of us works on unix variant os and it never hurts to take a look at tools at your disposal, as it leads to insights about things you can build with it, inherent limitation and whatnot.

Even if you are not toolsmith kind of person, how hardwares work and how unix abstracts those devices are never ending source of inspiration (believe me, some people worked on one project longer than some young lainons' lifetime and they refuse to get tired of hacking one)

So without further ado, I introduce this (meta?)thread, dealing with inner workings of unix operating system.

Instead of calling someone newfag b4 they finish design and implementation of freebsd operating system and POSIX specification, I propose the magic trick that works for me all the time : read and write (code or documentation about) actual program.

Now creating one's own unix variant is lifeconsumingly interesting project, but as a programmers we are obliged to optimize our learning process whenever it makes sense to & serve the purpose.

Instead, I'm thinking of posting general abstraction layer's design and provide pointers to real operating system's implementations (source code) with explanation of why is it written that ways (what FILTHY hardware design imposed on the implementation and those kind of reason)

I can explain how openbsd(i386, amd64, arm, sh4) and linux (limited part of it...) is implemented in details as I was part of developers (still contributes random bug fixes, but with much less frequency), so my implementation example would be mainly from those two projects. Other lainon can help me out if they can provide counterparts for other os.

If this thread gets traction, maybe we can start lain magazine series too.

any suggestions and ideas?
what should we start? I was thinking about file system in general (from file to vnode and how hard drive controller works).

ever-evolving state of art design and implementation of operating system (3rd edition)'s unix subset without spoon feeding.

more like general os internal wiki, but it's hard to teach|learn something soley from wiki if you cannot explain what you don't know.
R: 9

Real Time Group Programming

Hey lain, recently a group friends and I decided that we would try to make some shitty program, but we found it difficult always having to copy and share the source code amongst each other. Is there any real time, group text editor that would allow all of us to be working on the samething, remotely, at the same time, preferably some type of web application?
R: 4

corewar thread

Core War is a game played between two or more programs written in Redcode, a low-level language similar to assembly. Players write a program to eliminate all opponents in the memory of the MARS virtual computer. Core War can also be used as a platform to experiment with genetic programming.

*warriors of lainon

*mars implementations by lainon


*experience, memories, nostalgia

general info:


mars implementation examples :



def con 24 hosts corewar event :


R: 1

end of software copyrights

Christoph Hellwig's case against VMware dismissed


Oracle v. Google


Hopefully both cases will be appealed soon and there's no guarantee that these two cases will be enough rulings to be applicable in all the future cases but it just got me thinking :

If APIs are not copyrightable, or if it they are copyrightable but we acknowledge the "fair use" instances,

what prevents for profit organization from writing proprietary software that provides API/ABI compatibility with GNU/Linux like wine and ReactOS?

what's going to happen when hardware companies refuse to provide any more information to linux dev (not even bothering with NDA contract option) and only support said proprietary os?

this thread might belong to /tech or /lamb, but potential implication is more about expanding the concept of copyright as understood by juristic system so I'm posting it here.
R: 32

Learning group

Hi all!

I found that learning all alone might be unfunny sometimes. I want to find some people who might be interested in a learning group. The goal is to learn programming languages, electronics and everything members want. Also I'd love to work on collaborative projects.

We can think on which program we will use to talk.
R: 2

Hello guys. I hope I'm posting this in the correct board.
You people have introduced me to a lot of different alternative services for my every day needs, so I need to ask:
Do any of you guys know a free and private Subversion hosting service? I've been using different file hosting services to store my source code but i think i can get more out of a svn server. Or is it a best option to set up a server for myself?

Pic unrelated, obviously.
R: 13

Computer Science comics, mangas and literature

So I stumbled upon a manga called SE and was surprised by how far they went with their knowledge of software engineering, particularly since its an ecchi manga.

Do you guys know any other non-textbook works that treat computer science related works?
Aside from the "The manga guide to..." series of course.

Source for SE:

R: 19

Z80 or 6502?

And no copping out by saying you prefer the 6809. Everyone prefers the 6809.
R: 1

linux network protocols .h lib

is there a default network protocol lib in linux with templates
cant find in the man pages except cat /etc/protocols.
R: 9

How to teach programming?

The firm I work at has decided that I am to teach a course. Mainly I am supposed to teach some guys how to access a database using SQL and R. (I know, I know, SQL is not programming, but I hope you get my point).

I am a self taught programmer. So I tried to replicate my learning experience: This is, once you get a problem to work solve, read the documentation until I figure out a way. Since its a course, I thought I would give them little pices of information about SQL, and then give them a problem they can solve with that pice of information. Then start building up their knowledge by increasing the problems they need to solve, until I finally introduce them into the real work their are going to have to execute.

First thing I did was show them some regular expressions, and made the participants match 8 digits using \d (just type \d 8 times). They just could not do it, I did not even see them try. Obviosly, I gave up in my aproach about let them work out the stuff, and just spoonfed them all the info I wanted them to get out for the session.

How do you guys teach programming to other people? Mainly, how do you engage them to make them think about the problem? Do you approach the transfer of information in a different way?

Maybe I am to caught up in the socratic method of teaching: I wanted them to discuss the problems, while I led this discussion towards a solution. Maybe there is a better way to do it. Any opinions on this?
R: 51

What brace style do you prefer?

Use whatever brace style you prefer.

But not this.

Don't do this.

Seek help instead of this.
R: 25

Reading code?

Do people actually read code? Do you?

I frequently see people recommending others to read programs, especially well written programs, but I never hear anyone say that they've just read this great piece of software, come check it out.

So I guess the question is, do people read others' code? If yes, is it actually useful? What are some good code to read? If no, why do they recommend doing it? Why are they not doing it? Is it useless, is it too hard?
R: 12


Just tried Elm out. I have to say I'm really impressed and it changed my view on how useful functional programming actually is for GUI programming.

It basically made me realize that Haskell is bad at GUI's because of a lack of good libraries, not because of the paradigm used. Elm is also statically typed functional, but it is really good for GUI's because the language, the standard library, and the basic tutorials were all built specifically for that task from the beginning.

Having made a few basic browser apps, I'm leaning towards the opinion that pure functional might actually be the very best paradigm for GUI's, better than anything procedural or OOP, as long as you follow a good structured approach similar to the MVC pattern. But then again I'm still in "new toy" mode so my opinion might change over time.
R: 18

Advent of Code

It's back, it's better than ever, and you can join the fun at http://adventofcode.com/. Are you in?

Feel free to share your answers here (or on the subreddit, like everyone else on the internet).

For the uninitiated, the Advent of Code is an annual programming challenge designed and Eric Wastl, the man behind The Synacor Challenge (among other things). It's fun, and if you suck (like me) and don't know your algorithms, you'll likely learn a lot.
R: 11

Intermediate programming

Hey λ
I'm kinda stuck, I just turned twenty and I decided to take a look back at the progress I've made over the last year as a programmer
The answer unfortunately is not that much, I understand a ton of languages at a basic level but I never get much further than that, I don't really get into the details of a language because once the novelty wears off I can't stick with it.

I was diagnosed with ADD as a kid, I don't medicate for it, and as a result of that I can't sit down and concentrate for a lengthy period of time unless I'm really interested in or passionate about something. It makes slogging through the more difficult portions of a programming textbook incredibly frustrating, because try as I might once I lose interest I don't retain any information from what I'm reading.

I know attention issues are common among the enthusiast community so I'd like to know how you guys deal with it.

I can "program" the same way a kid can build a house out of legos, but I struggle to become competent with a language before I lose focus

I've had flings with almost a dozen languages, but I still don't feel comfortable calling myself a programmer, because I really couldn't do anything useful in any of them.

I mean finding a really interesting text or tutorial would help, but what I really need is a more effective strategy for cultivating and maintaining my attention, often enough to become a decent programmer, I just feel so stuck
R: 1

Anybody here ever use the verification tool ProVerif, and can explain the difference between a destructor and an equation to me?
R: 0

Anyone here using Julia in place of R or Matlab? A lot of data mining people use Python instead of R as R is very confined to just doing matrices (tables), Python offers more ease of use for general purpose tasks.. But now we have Julia which is blazing fast, has matrix and math operations built into the core. Has great low level support so you dont have to switch to C. And most of all it has very psuedocode-like syntax similar to Python/Ruby. The fact that its non-OO will also free it up from having code blocked inside class/object namespaces. I think this language has a lot of potential for backend web programming for something like the way js is used in node.
R: 15

Perl 6 is here

I was thinking about picking up a scripting language, and after trying out Python and Ruby, realized that I never considered Pearl as an alternative.

What is lainchans opinion on Perl 6? It seems to receive a lot of hate, I can't say much about it myself, except that Perl code looks foreign to me upon first look.
R: 51

Code Critique

I've been programming c for a couple years very slowly and lately have gotten into it much more.
As a challenge i wrote a program to convert Decimal into Binary Equivalent as something like that wasn't in any libraries i could find.
What do you guys think of my code? And general critique thread.
#include <stdio.h>
#include <math.h>

int findGreater(int input){

int power = 0;

while(input >= pow(2,power)){



return power;


int main(){

int dec, greatest = 0;

printf("Value to convert: ");
scanf("%d", &dec);

if(dec < 0){

printf("Incorrect Value Type.\n");
return 1;


greatest = findGreater(dec) + 2;
char binary[greatest];

int size = sizeof(binary)/sizeof(char);

for(int index = 0; index <= greatest; index++){

binary[index] = '0';


binary[greatest - 1] = '\0';

while(dec != 0){

greatest = findGreater(dec);
binary[size - (greatest + 2)] = '1';
dec -= pow(2,greatest);


printf("Binary: %s\n", binary);

R: 30

Hi /λ/.

I've been programming for about one year now but never managed to master a language. Two months ago, I set the goal to master Python.
After making Codeademy course, reading Learn Python The Hard Way and other books and making some exercises I got to the point where I know the language, but I do not master it.
If I needed to make a simple script, I would make it in minutes but if needed, I couldn't make a big project.
What can I do to master it?

TL;DR: need some tips mastering a programming language
R: 21


any λ lainon here programs music with SuperCollider or any other programming language such as alda or ChucK?

how you doin? was it to hard at first? i'm looking forward to finishing the vimtutor so i can use it on SuperCollider Mode, it's the first time i'm inclined to use vim for anything

general music programming discussion is also allowed i guess, i'm trying to learn as much as possible
R: 24

Cleaning the web from JavaScript

Here we talk about reducing the dependency of JS on our websites.

For example, by replacing JS animationd with CSS animations.
R: 39

There's a visible text editor thread - it's at reply limit, or this would be there. Still, So, here seems like a decent place to ask:

I detest out-the-box Emacs, for visceral alt-key-related reasons. I adore vi for probably pretty standard vi-user reasons. That pretty obviously means I use Vim for practically all my text editing (including typing out this post, as it happens). Recently though, I've started noticing Vim's shortcomings more and more - mostly the soykafty syntax highlighting and the all-around nightmare that is VimScript. Switching to Emacs+Evil seems a possible solution, but:

- Can I realistically remap or disable all the escape-meta-alt-shift sequences to save myself a rage stroke?
- It's pretty widely understood that Emacs users leave the editor open for hours at a time. I'm far happier with the vi style of opening the editor only long enough to make the changes I immediately have in mind, then exiting back the the shell. Is that something I'd have to relearn to make Emacs worthwhile?
R: 116

Text Editors

Let's talk about the text editors we use.

Do you use a common editor or something more exotic?

Are you using an exotic form of a common editor?

What are you looking forward to in future editor development, currently?

Can your editor be customized? If so, how have you customized yours?

What all do you use your editor for?

Do you use more than one editor regularly? If so, why?
R: 224

The Beginner's General

This is the Beginner's General for beginner's questions.

If you have a simple question and a suitable thread doesn't already exist, just post it here and someone will probably try to answer it for you.

Remember to do some research before asking your question. No one wants to answer a question that a simple search can already resolve.
R: 53

So many people like Forth in this site, yet there is no Forth general.
Let's talk about Forth!
Share code, ask questions, talk about Forth

What do you like about Forth?
What dialect are you using?
What implementation do you use?
What have to made in Forth?
R: 18

GA and Games

Hey Lainons,
I was wondering which games you would consider to be suitable for applying the classic genetic algorithm w/o falling into the mainstream choices (i.e., avoiding Flappy Bird and Asteroids).

I was also thinking about instead of using JS , I could take advantage of the fact that Golang supports pointers, allowing to work directly on the addresses of memory used by the game.

What would you suggest?
R: 173

Lisp General: Longer than ()

This is the Lisp General, ask any and all Lisp questions here. Below is a link to the general's texts which contain many links to various books, documentation, websites, and other interesting information.

>Check the texts first:


>Read the FAQ:


>To foster discussion:

Which dialect do you prefer?
Do you use Emacs or a different lisp-based editor?
What was your first experience with lisp?
What have you made in lisp?
What is your favorite Lisp program?
What do you like about Lisp?
How do you think Lisp is (one of) the superior programming language(s)?
How long have you been programming in Lisp?
What are your favorite Lisp resources? Please share, preferably links!
Is Lisp your main programming language or not? Regardless, what do you primarily use it for?
What would you like to see in the Lisp general?
What was your favorite aspect of the Lisp machines?
Do you think we'll ever get something similar to the LispMs again?
What is your preferred method of documenting your code?
In the dialects that allow it, do you make many reader macros or not?
Do you use more than one dialect? What are they and which do you prefer?
What do you consider the criteria for what constitutes a Lisp to be?
What is your favorite function in your chosen dialect(s)?

As with the last thread, write some utility functions or other enhancements that would be useful in other programs.
R: 12

ORM Hate thread

> Have a proper data model of your system in [insert your programming language here]
> Have a properly normalized relational database schema
> Implement ORM
> Kiss your beautiful data model goodbye
R: 32

The creator and lead developer of https://morph.is/v0.8/ was killed 2 days before christmas in an odd exchange with canadian police. http://www.lfpress.com/2016/12/23/london-police-one-man-dead-in-old-south-shooting-on-duchess-ave-near-edward-siu-investigating

He had stated on irc he was extremely close to finishing DDS (Distributed Discussion System) which was the irc\slack deprecation for morphis which is a distributed data storage like IPFS.

You can grab the code before it disappears by doing

git clone gitpub@

then changing to the latest dds branch with

cd morphis/

git checkout f-dds

you'll need pycrypto and sqlalchemy to run it so

sudo pip3 install pycrypto

sudo pip3 install sqlalchemy

then while in /morphis/ do


and you'll launch a node

access the web ui by going to http://localhost:4251/

you can checkout Dmail (distributed and e2e email) here http://localhost:4251/.dmail/ and you can make a dmail address with the + icon in the top right corner which will let you send dmails and post in a DDS channel at http://localhost:4251/.dds/

im posting this in λ hoping some lainons will be interested in keeping the project alive as it is open source and under a GNU GPL v2 license

we'll be in #morphis on freenode
R: 6

Books on Web Development

Greetings fellow lainans. My apologies to the mods if this is the wrong board to ask this question or the wrong place to hold this discussion.

I am searching for reputable books on teaching the subject of Web Development. Can anybody recommend/share any books that go into depth on web development and maintaining websites?

Thank you all in advance.
R: 22

Hi lainanons!
I am trying to run vsyscal on 64 bit linux.
I managed to get it working on x32_86:
[bits 32]
xor eax, eax
push eax
push 0x736c2f6e
push 0x69622f2f
mov ebx, esp
push eax
mov edx, esp
push ebx
mov ecx, esp
mov al, 11
compilation: $ nasm -f bin filename -o shellcode32.o
You will also need a C "loader" for this shellcode:

#include <stdio.h>
#include <sys/mman.h>
int main(void) {
read(0, m, 4096);

compilation: $ gcc filename -o loader -m32
run it all:
$ ./loader < shellcode32.o

and it executes 'ls'
btw one can use call DWORD PTR gs:0x10 instead of sysenter when using glibc on x86

Now, if I try similiar thing for x64:
[bits 64]
mov rax, 60
mov rdi, 42
sysenter ;if i change this to syscall it works
compilation: $ nasm -f bin filename -o shellcode64.o
and $gcc loader.c -o loader64 -m32 (need recompile from 32 to 64)
After running
$ ./loader64 < shellcode64.o; echo $?
(; echo $? outputs return code, should be 42 [if I use syscall instead of sysenter then it is 42])
it returns with SIGSEGV
when i run it via gdb, i find that sysenter fails with "Cannot access memory at address 0xffffe090"

Is there some 1337 hacker who can help me with running sysenter on x64 system?
R: 18

Is there a place for BASIC in XXI century?
It seems there's not, since this niche is already filled with Python, but some things like indentation for everything in Python harass me.

What can you say, Lain?
Do people really not need BASIC?
R: 1

Hello lains

Does anyone here use the blogging engine Coleslaw? I'm having some issues with it but there's so little information available online. The IRC channel is empty, and from what I gather the maintainer has abandoned it, so I do not really want to email him, although I will do if it comes to it.

The first problem is that my posts are being tagged by the entire datetime string, rather than just the year and month. The second is a little more involved so I'll leave that until someone responds. Here's hoping.

R: 5

Meaningful output

Are there any guides or recommended readings that break down standards or outline guidelines for creating meaningful output from programs?

Striking a balance between output that can easily digested by other programs in a workflow ( piping output to another program for processing ) but keeping the output readable and meaningful to a human is a constant challenge.

There seems to be a lack of documentation on methods or ideas that pertain to finding this balance. Avoiding log files to store human readable output is ideal since that becomes a headache in itself when it comes to long running daemons.

Anyone else deal with these problems or have good documents to read?
R: 33


Are they worth using on Linux, Or is command line the way to go?
What do other lains use/recommend?
R: 65

So, after 2 hours of lurking through the internet, i somehow ended up in 2002 and i found a interesting thing.

Apparently the early internet decided to make a LainOS using (lol) FreeBSD.
The attempt was to eventually recreate Lain's Navi Interface and make a functioning operating system.

It sparked my intrigue to see how retro-futuristic or cheesy this stuff was.
After browsing through their site, it interested me how people thought of certain things way back in the past.
If you go on the "about" page, you will find a whole essay on why they created it.

Sadly the project has been lost to the sands and abandoned, although one can still download it and its source code.
R: 0

Anyone experimenting in VR yet?

About to pick up a vive and would love to hear what people are working on.
R: 1

Old Wild Net Bounties

What are your opinions of the programming bounty?

I believe they provide a good and decentralized means to vouch for features in Free Software projects. It's a directed form of donation that doesn't rely on reputation or other distractions to function, as many would be wary of simply giving money to a random individual, simply because only the end functionality of the request matters.

I see this reason as largely enough on its own to support the general idea, but wonder what any of you have to add to it. It brings a new meaning to the phrase Console Cowboy.

Have you ever participated in a bounty program?
If so, was it worth your time and effort? Would you do it again?
Have you ever started a bounty request yourself?
What's your opinion on the structured platforms for bug bounties?
R: 6

Y combinator

For some days I've been trying to wrap my head around the Y combinator. I've tried to follow through the amazing article explaining the Y combinator in javascript, but got lost pretty quickly.
Would you like to share some articles or papers that helped you to understand the Y combinator?
R: 35

Genetic algorithms

I'm learing GAs in school.
This thread is meant as a way for anyone interested in learning or sharing about GAs to do so.

I will post my progress here, hopefully this doesn't bother anyone or any rule.
If it does, then please tell me and I will stop.
R: 7

DSP Programming

Any coders here that have experience with DSP? Specifically DSP that handles and processes audio. I'm really wanting to make some VST/AU plugins for musicians but having trouble getting started since the field seems very math oriented. My strengths with coding lies more in the visual and game logic domain.

The JUCE toolkit (https://www.juce.com/) seems to be promising and what most developers are using.

Just wondering if any anons have experience and advice/thoughts/desire to collaborate.
R: 8

Esoteric Programming languages

Some love for Esolangs?
I personally like Fractran, Jot and BCL.
You did someone?
If you don't know what these are: http://esolangs.org/wiki/Main_Page

Pic is Piet
R: 17

Project Euler and Recreational Programming

I've recently gotten really into ProjectEuler and wanted to dedicate a thread to it and similar recreational programming websites. What have your experiences with them been?

At least for me,after progressing to Level 2, I feel like I've sort hit a wall... I try to program the answers for the problems, but most of the times I go about things the wrong way and my solutions take forever to run (and they're not even right most of the times)

I really enjoy doing these problems, but I feel like I'm not thinking about things the right way.

Any thoughts?
R: 8

Study Methods

Hey guys

I'm going through SICP after a break from an intro programming course using C++.

Basically, the book is over my head and so are the lectures, unless I go slow as fuarrrk. I know I'm dumb, but man this really puts the last nail in that coffin.

I find it helps if I keep my text editor open to take diligent notes in LaTex, pause and/or rewind and sometimes even tangentially diverge to Wikipedia or a seperate YouTube video to explain a concept.

Is this normal or am I just dumb? Also, study method general. I generally use scratch paper or create a rough .txt when watching a vid, revise later when reviewing, and keep everything as concise as I can (the concision standard forces me to understand and digest things to be able to repeat it simply).

>pic related
R: 2

Lisp Machines / OS

Will Lisp Machines ever come back? Will we ever see a move away from the dominant C & von Nueman orientation of computation?
R: 2

Portfolio Showcase

Hello, Lain.
If you had all the time in the world, which projects would you choose for a fullstack portfolio?

Keep in mind it's a theoretical question, ignore time or skill constraints, just focus on what would best showcase front and back end skills.
R: 4

Python interesting libraries?

premise: I'm an absolute newbie at programming
I followed a python course in my school, we learned basic methods, objects, lists strings dictionaries etc. and a bit of pyqt4. Now the course is finished and i don't know what to study more about this language: can you reccomend me a few interesting and not too difficult python libraries?
R: 17


traditional Linux admin here with openstack experience. Why should I care about containers? this seems like a developer thing that after 4 years of LXC and prayer cults has turned into something I now have to support at the system level. as a Linux sysadmin i cant find a reason id use this instead of KVM.

-Panic a container, you've panicked the hypervisor

-give access to the docker hypervisor? thats root access on the system

-hypervisor host has to maintain a rube-goldberg machine of iptables to route and load balance port traffic.

-rarely do traditional developers even begin to understand docker or microservices, theyre just going to pack everything into the container and turn it into a mini-VM.
R: 4


Hello, /int/eresting people! You dont know me, but i need help. The fact is that I created my Anonym's imageboard. I need friends. Forgive me for the unexpected invasion. Now my board very small. The Internet is the only thing that makes me happy in this life. Life in my country is sad. Very sad. Angry people, dirty streets, high price and taxes - it's in the nature of things
. I just need friendship to make life better. I ask the admin not to delete it. If you agree to friendship, we can get links our sites in header/frameset/banners. I'll put the name under the spoiler so as not to disturb others. Sorry for my anglish. Maybe f-friends?
R: 8

Test Justification Algorithms

I started working on a text justification algorithm last night, as a fun exercise to see how they work. I've intentionally not looked at the Knuth-Plass algorithm.

I'm doing this in Haskell. I won't give all the code, but enough to follow what I'm doing, hopefully. Here are some basic types:

  -- | A line of text is a non-empty list of words interspersed with spaces of varying size.
data Line = Line String [(Int, String)]

-- | A text justifier takes a line width, list of word (and word fragment) sizes, a minimum space width, a list of words, and produces a list of lines
type Justifier = Int -> [(String, Int)] -> Int -> [String] -> [Line]

out-1.png was just a test, to make sure I could actually render things to an image.

  justify1 :: Justifier
justify1 _ _ iota (w:ws) = [Line w [(iota, w') | w' <- ws]]
justify1 _ _ _ [] = []

out-2.png is a simple greedy ragged-right: put words on a line until they don't fit any more.

  justify2 :: Justifier
justify2 width sizes iota = go ([], 0) where
go (sofar, len) (w:ws) =
let newlen = len + iota + fromMaybe 0 (lookup w sizes)
in if newlen > width
then case reverse sofar of
(word:rest) -> toLine word rest : go ([], 0) (w:ws)
[] -> Line w [] : go ([], 0) ws
else go (w:sofar, newlen) ws
go (sofar, _) [] = case reverse sofar of
(word:rest) -> [toLine word rest]
[] -> []

toLine word rest = Line word [(iota, s) | s <- rest]

out-3.png is what I have decided to call "web browser text justification", it's the awful algorithm which makes justification such a no-no on webpages. First, allocate words to lines with ragged-right, then evenly spread spaces to use up the extra space. It can be implemented as a simple modification of the ragged right function.

  justify3 :: Justifier
justify3 = padWords justify2

padWords :: Justifier -> Justifier
padWords justifier width sizes iota = padWords' width sizes . justifier width sizes iota

padWords' :: Int -> [(String, Int)] -> [Line] -> [Line]
padWords' width sizes = go where
go [] = []
go [lastLine] = [lastLine]
go (l@(Line w rest):ls) =
let slack = width - lineLen sizes l
gaps = lineWords l - 1
wordSlack = slack `div` gaps
extraSlack = slack - wordSlack * gaps
extraSlackPos = 42 `mod` (gaps - 1)
in Line w (go' wordSlack extraSlack extraSlackPos rest) : go ls

go' wordSlack extraSlack extraSlackPos ((gap,w):ws)
| extraSlackPos == 0 = (gap + wordSlack + extraSlack, w) : go' wordSlack 0 0 ws
| otherwise = (gap + wordSlack, w) : go' wordSlack extraSlack extraSlackPos ws
go' _ _ _ [] = []
R: 2

ANN problems from someone who isn't mathematician

I am really dumb
Can someone suggest me where Artificial Neural Networks are explained in great detail?
R: 5


What kinds of markup do you think are nice?

I'm a fan of Markdown (over bbcode), but I'm currently working on a lisp-like markup language that will output to HTML.

It resembles:
- https://github.com/tawesoft/bach
- http://cairnarvon.rotahall.org/misc/sexpcode.html
- https://arclanguage.github.io/ref/html.html
R: 10


Working on a new markup language

shouldnt it be the Lainchan imageboard markup language
R: 11

FSharp versus OCaml?

Which do you prefer?

Mostly interested in the different feelings people have about writing the two, without mentioning their runtimes as much.
R: 6

Parallel Programming

This is a thread to discuss various systems for writing parallel programs, at any level of abstraction, from the bare machine to a high-level language. It seems reasonable to say that it's easiest for most of us to think sequentially, when programming. It's somewhat difficult to consider machines in which every instruction operates ``at once'', at least for complex tasks. Even cells have some manner of sequential behavior.

It's certainly easiest for me to consider parallel operation as sequences of sequential instructions happening in not necessarily meaningful orders; how do you consider parallel operation most easily?

Which method(s) do you prefer to write a parallel program?

Do you prefer dataflow, where you build pipelines of sorts?
Is it instead the event-driven method, in which one provides an interface and actions and largely leave it at that?
Is simple multi-threading, needing no introduction, your favorite?
Do you prefer to ignore these details and let the system parallelize your programs for you?
Do you prefer a system or method I've not mentioned; if so, do explain it.

An example I like of a program in which every instruction executes ``at once'' is a program that calculates an approximation of a sum by each instruction calculating each individual value and adding them to the same location. This ignores populating memory with these instructions.
R: 121

Descending Into the Lower Levels

I've been meaning to make this thread for quite a while now.

Let's discuss the programming languages that are further down the abstraction ladder than the heavily abstracted languages popular today.

Most importantly, let's discuss languages and programs written in them that don't require an operating system to function or even computation expressed as in my image.

So what do you like about them, Lain? The assembler languages, Forth, among other languages and all that, are all interesting and welcome discussion points.

What I prize most about all of this is how you gain a real understanding of what modern computation is from it all. So many people program who don't know how these things actually work. You can't be good at anything without an understanding of what that thing actually is. So many people also don't have any variety in what they mess around with.
R: 190


What do you think about golang? I've started learnig it and it looks good to me so far.
R: 99

Operating Systems / Kernel Development

So, I've been working on developing my own i686 kernel, and I thought I would see if anyone else has had a go at operating system development. If not, who is insane enough to want to try?

My main issue at the moment is getting interrupts, well, working. Fun stuff! I would like to see what the rest of /λ/ thinks.
R: 40

Programming Folklore

What are your favorite programming folklore stories? Stuff like the 300 mile email, the MIT magic/more magic switch, the first computer bug, etc. Here's a fresh one straight from my job:

We were working on a kernel-level video codec driver for Windows. Our demo method was to stand in front of a camera and move around, holding up different objects to see how it looked on our sample application. It worked great when it was just us, but whenever our boss's boss came over and stood in the frame, the PC would bluescreen. He would give us some time to work on stability and come back, and inevitably, the driver would crash as soon as he came in to demo.

After several occurrences of this, we finally figured it out. Our bosses boss, you see, typically wore bright striped shirts. Our codec was variable bitrate and performed best with simple colors and few patterns. Somebody brought in a shirt with bright stripes and put it in front of the camera. Instant crash.

We budgeted a buffer of 100 or so milliseconds of video with little wiggle room. When bright colors and patterns were encoded, the bitrate increased dramatically and the buffer overflowed, crashing the driver and bringing Windows with it. We increased the buffer size and the problem went away.

I'd love to hear if my fellow /lam/das have any similar experiences.
R: 143

E-book thread!

Last thread was KIA so here's a new one.

Post books about programming here, and request more if you don't have'em.
R: 128

Greetings to the User

Here's a challenge I find more interesting than the fizzbuzz seen so often: Greetings to the User

You are to write a program that does the following:
Print "What is your name? "
Read input from the user.
Print "Greetings, %s." where %s is the aforementioned input.

Try to make it as small as possible for more fun. Let's see who can write the shortest solutions in the different languages.

Forth (65 chars):
." What is your name? "pad dup 9 accept ." Greetings, "type ." ."

Common Lisp (65 chars):
(princ"What is your name? ")(format t"Greetings, ~a."(read-line))

Emacs Lisp (58 chars):
(format"Greetings, %s."(read-buffer"What is your name? "))

I consider this to be a better metric for judging languages than the simple hello world. It certainly shows more characteristics of the language.
I wonder what variety we'll see here.
R: 121

Language Design and Implementation

I failed to see a topic on this already, so I thought I would start one on programming language design and implementation. It seems the Compiler discussion atrophied so I thought I would add implementation into the mix.

== Resources ==

> LLVM Language Implementation Tutorial


> Implementing Programming Languages


> CPython internals: A ten-hour codewalk through the Python interpreter source code


> Compilers: Principles, Techniques, and Tools (2nd ed)


> Essentials of Programming Languages (3rd ed)


> Modern Compiler Implementation in C


> Compiler Optimization and Code Generation


> Garbage Collection Algorithms


More to come
R: 34

How do you find out what you are trying to do actually is...

Certain things are easy to program, because the problem is well understood beforehand, or it's easy to split it up into parts that have little or nothing to do with each other, or maybe it's programming for fun and the final result is not that important.

But some times, ...there is a sense of need to completely design the system beforehand, to cover the edge cases without needing to redo half the program halfway in, because it needs to be able to do that thing as well, which changes everything. To get it right from the very start. Even if Murphy ensures the futility of that goal.

I tend to draw/write sketches that I never read, which is just as well, because they are never documented enough that they make sense, should I actually forget what I was thinking at the time.
A lot of the time it seems like I redraw the same sketches with few or no changes each time I think of the problem.

How do you do it?