
Suckless conference 2015 - vezzy-fnord
http://suckless.org/conference/
======
SixSigma
Hope you guys had a good time. I still miss Uriel. I hope someone stood in for
him and ripped your ideas apart, particularly the C++.

------
jstimpfle
I love the ideal of keeping things simple. I did my first steps in C studying
dwm code and making my own window manager.

That said, simplicity can obviously be taken too far. These tools do not
enough to be usable in practice.

Why would I want a binary which does nothing besides warping the X11 pointer?
At least do a little more, like xwit. (not that I've used either)

dwm also turned out to be impractical for me. Didn't work well for some
applications like Gimp. Tiling terminals I also find impractical because I
like them to be a certain size (80 columns) and that's not supported by
tiling. The most important wm action for me is switching and rotating between
2-3 windows (simultaneously visible _as much as possible_). Stacked windows
and Alt-Tab turn out to be better at that kind of thing.

Just tried that "sent" tool which I find nice and kind-of-usable. But so many
lines of C. And a hand-rolled UTF-8 parser which discards text silently after
decoding errors. Couldn't that be hacked in Python as a much shorter throw
away script? Extreme portability is bogus if the software can be replaced in a
few hours work. Plus, if you neglect to use higher-level libraries and tie
yourself to low-level POSIX and X11, portability actually suffers.

~~~
userbinator
_because I like them to be a certain size_

This was the biggest annoyance when I (briefly) tried a tiling WM - they are
definitely not for those who like resizing windows independently and
overlapping them so as to show only the relevant bits without having to
resize.

~~~
jadyoyster
In case you ever want to try one again; dwm most definitely supports resizing
windows independently and floating them. See
[http://dwm.suckless.org/dynamic_window_management](http://dwm.suckless.org/dynamic_window_management).

~~~
jstimpfle
It was tedious last time I tried because you had to remember what windows are
tiled and what floated and explicitly switch between the layers. And only
rotating was supported, not Alt-Tab style LRU switching. Alt-Tab works the
best for the most common case of 2 "hot" windows because you don't have to
remember the order of the windows regarding rotation.

------
__s
Suckless inspired my naming of sxi:
[https://github.com/serprex/sxi](https://github.com/serprex/sxi) & dwm served
as the base from which I learnt to create nobox:
[https://github.com/serprex/nobox](https://github.com/serprex/nobox)

Good stuff. Though seeing dwm have a null-check-before-free made me squirm.
Have been using st for awhile now, it's nice, bit of a hassle to get backspace
working & I sometimes miss being able to scroll back over console output

The only-one-file philosophy seemed to be a bit of a hassle where st had to
turn down a wayland patch. One would think that it could be split into st-
common.c, st-x11.c, & st-wl.c where the rendering backend is abstracted

stalin is neat but I personally feel using git to distribute binaries
suboptimal. I'd prefer if there was a /build directory where one could git
clone submodules & run a /build/install.sh to update the system. But that'd be
something else by then I suppose & I haven't looked into it _that_ much to
really critique

surf seems like a cop out using webkit

~~~
rsync
"Suckless inspired my naming of sxi:
[https://github.com/serprex/sxi](https://github.com/serprex/sxi) & dwm served
as the base from which I learnt to create nobox:
[https://github.com/serprex/nobox"](https://github.com/serprex/nobox")

Any screenshots of nobox that I could see ?

~~~
__s
Not really. It's chromeless, doesn't render anything. So you boot into a black
screen & Alt+Q opens st in the upper left corner (this could change by
modifying nobox's st invocation with geometry options)

I have st invoked in my xinitrc so that st is open as soon as I start nobox. I
don't use a file manager so everything I do happens through st besides opening
firefox with Alt+A or showing time with Alt+C (I use to have more shortcuts
but over time have reduced my usage. I use to have Alt+S to open SciTE but
have since transitioned to vim)

Anyways since you asked here's a screenshot I took just now after having
opened GIMP: [http://imgur.com/pjSe3pN](http://imgur.com/pjSe3pN)

Since nobox isn't a tiling window manager it doesn't have any issues running
GIMP in multi-window mode, besides my preference for unique mode:
[http://imgur.com/Qf2PvhO](http://imgur.com/Qf2PvhO)

~~~
rsync
thanks - appreciated!

------
auvrw
suckless is awesome! xmonad would totally suck without dmenu, i found zathura
because of their "rocks" page, and st[+] has unicode support now, apparently?!
might be time to switch from urxvt...

i'm not saying "suckless all the things!" these people have made my daily life
easier, though.

[+] [http://st.suckless.org/](http://st.suckless.org/)

~~~
cm3
xmonad has a built-in (xmonad-contrib) program launcher prompt that doesn't
require an extra program and is more comfortable to use. There are other
prompts included as well and you can build more prompts in Haskell. st used
more memory and was slower than xterm last time I tried. I try using urxvt or
st and only xterm works without problems or slowdowns. We may be using it in
different ways and exercise different features of the terminal emulators :).

~~~
esjeon
> st used more memory and was slower than xterm

Since st has no scroll buffer, theoretically it's impossible for st to consume
more memory than xterm. If st does eat up more, it should be because of its
screen buffer, whose size is decided by the size of its window.

Also, yes, the rendering portion of st is not the fastest. I know it pretty
well because I implemented it like an year ago. It has been improved, but it's
still kinda hacky due to lack of proper Unicode layout engine (or
normalization). And what makes things worse is that existing layout
engines(ICU, harfbuzz, etc) are just "sucks" for suckles community, while
making a new one is not feasible AFAIK.

~~~
cm3
I don't understand what you're saying about the three different buffers and if
you mean that there's a hidden buffer I don't see in xterm but which is used
somewhere else in the stack.

I exclusively use bitmap fonts in terminals and editors for crisp and clear
text and cannot get bitmap fonts to work in st config.h anymore.

------
yeukhon
Looks like being a minimalist FOSS community, they would only write in C and
C++? No Python, Java?

~~~
draven
I think they'll avoid C++ as well:
[http://suckless.org/sucks/](http://suckless.org/sucks/)

~~~
carlosrg
>The suckless way is to have a short usage and a descriptive manpage. The
complete details are in the source.

Can't agree with that. Also this reminds me to the chapter about documentation
in the "UNIX Haters Guide"[1]. (I recommend everyone read it for an
alternative viewpoint about UNIX, although most of it is obsolete)

The GNU info system is actually a pretty good attempt to fix the mess that is
classical UNIX documentation. No, the source shouldn't be a documentation
source. It's for programmers only, and it can be a reference, like man pages.
A good info page can provide a full manual from which someone that is not
familiar with the program/programming interface can learn how to proceed from
scratch. Also, unlike man pages, info pages are hyperlinked. I agree that the
info program itself is not very user friendly tho, maybe that's the reason
it's not as popular as man pages or HTML documentation in the project website.

[1]: [http://richard.esplins.org/static/downloads/unix-haters-
hand...](http://richard.esplins.org/static/downloads/unix-haters-handbook.pdf)

~~~
diqu
_> Can't agree with that._

You don't have to. When I first found out about the suckless project, it
seemed completely inaccessible, due to the lack of in-depth documentation.
After reading around a bit, it seems intentional. My impression was that
suckless doesn't aim for quantity, but for quality, even among its userbase,
hence the lack of documentation is an entry barrier, a minimum of technical
literacy required to get in. Look at the source and you don't need a wiki. My
gut reaction says, that's quite elitist - which itself is negatively connoted
when everyone aims for widespread adoption and usability. In the end, I agree
with this idea. Software is supposed to serve a purpose. It doesn't have to
suit everyone. It can be for a selected few, and still be a great project.
What changed my mind was that dwm doesn't use configuration files. I came from
openbox and more than once broke the menu because of a syntax error in the
xml-based config. In dwm, you change the source config and recompile. This
way, any and all errors are returned to you, you can fix it and try again,
without ever risking any configuration issues or breakages. They do the same
with st, their terminal. I'm absolutely convinced by this approach.

------
lifeisstillgood
I like the underlying idea of suckless- and would put them in the same
category as an academic attempt to build an OS, language et al in 20,000 lines
of code.

There ought to be a set of principles we can extract - KISS probably. Ignore
project plans ?

~~~
imglorp
That plus some attitude?

> Because dwm is customized through editing its source code, it’s pointless to
> make binary packages of it. This keeps its userbase small and elitist. No
> novices asking stupid questions.

~~~
lifeisstillgood
"Elitist" != capable of modifying and compiling code.

That's _literacy_ vs _illiteracy_. I approve

------
blackkettle
They mention that both GCC and Clang 'suck', but I don't see alternative in
the 'rocks' category.

~~~
__s
scc, suckless C compiler, is in progress:
[http://git.suckless.org/scc](http://git.suckless.org/scc)

~~~
userbinator
The source reminds me of the BSD one... I'm a little surprised that the parser
is a plain recursive-descent one instead of operator-precedence/precedence-
climbing[1][2] since the latter definitely feels like something the Suckless
philosophy would highly agree with: extremely concise and elegant.

[1]
[https://www.engr.mun.ca/~theo/Misc/exp_parsing.htm](https://www.engr.mun.ca/~theo/Misc/exp_parsing.htm)

[2]
[https://news.ycombinator.com/item?id=8558822](https://news.ycombinator.com/item?id=8558822)

------
emmelaich
I think defining yourself by a negative is not a good place to start.

But good luck to them.

~~~
Sir_Cmpwn
This comment is worthless. This obsession HN has with picking apart simple
details like this to achieve some sense of superiority based on your
preference to name things differently is ridiculous. Judge them based on the
merits of the software they write, not based on the name they use for it.
After all, Linux's creator must have been an egomaniac to name it after
himself - it'll never take off.

~~~
tux1968
The "Suckless" moniker gives a hint that they're about software quality, and
is cute and playful enough that I actually like it.

But having spent a few moments clicking around their site, I have literally no
idea what the basic idea is, who they are, what they've accomplished, or why
it might be interesting to learn more about them.

~~~
preid24
Seriously? The first 2 paragraphs of the home page:

Home of dwm, dmenu and other quality software with a focus on simplicity,
clarity, and frugality.

Read more about our philosophy and join us on the mailing list.

~~~
tux1968
Sorry, but what the heck is dwm, dmenu? Where is your philosophy statement
that can be read? I'm sure everything you're doing is great, but people aren't
going to join a mailing list before they at least have a real interest in what
you're doing. The current web page does very little to inform someone starting
from zero. At least someone as thick as me. Cheers.

~~~
denniskane
Hi, I love you. You are a normal person on HN trying to honestly make sense of
the world of technology, and not taking any crap from all of the "Haha, U
srsly don't know about xvzz and zxcz, LOL" types of people around here. I just
love that!

~~~
tux1968
Thanks. Someone seems to think i'm filled with "ire", when all I was
expressing was my genuine experience of not feeling engaged or intrigued by a
website. The responses so far seem very defensive.

