Re: [dev] [sbase] printf(1)
On Wed, Dec 18, 2013 at 11:36:12PM +0100, Maurice Quennet wrote: > Hello dev@, > > I was searching for a programming project so I looked into TODO and > picked printf. I hacked something up a few weeks ago, but I didn't > publish it until now, since I didn't have a man page yet and I was a > little busy (a patch follows at the end of the mail). > In the following I will tell a little bit about my implementation and > point out differences to OpenBSD's printf implementation (since I am a > OpenBSD user): > First for my `algorithm': There is nothing much to say. My > implementation simply skips through the format string until it finds a > '\' or a '%' and prints everything before that character. If a '\' was > found, the appropriate escape sequence is printed. If a '%' was found, > it skips forward until it finds a supported conversion specifier, and > passes everything starting from the '%' up until that point to printf(3) > (plus the approprietly converted command line argument). > And now for the differences: For a large part my implementation is > similar to OpenBSD's version. Both support the same escape sequences, > flags and conversion specifiers (which, as far as tested, behave the > same). The major difference is error handling. While OpenBSD's version > prints a warning to stderr and continues parsing its input, my version > exits immediately. Also, my implementation does not check the syntax of > the conversion specifier flags, but simply skips over them. > This is for the following two reasons: > 1.) printf(1) is mostly used for shell scripting, so I think it is ok to > expect the user to pass a well formed format string and to check his > arguments. Even if using a POSIX compliant printf(1), if you put in > garbage you will in return get garbage (or at least not what you > expected to get). > 2.) This way of error handling makes the code simpler/shorter. > For the man page: well, I really suck at writing man pages, especially > since my english is quite shaky. Also, while writing the man page, I > was wondering if it wasn't possible to simply use OpenBSD's man page > (with a few modifications) since both implementations seem to be largely > equivalent. > I have the feeling that I forgot to mention something, but, well, it > probably will come up again. Anyways I hope you like it. > > Best regards, > Maurice Quennet People on this list need to learn about 'git format-patch' and 'git send-email'... -- William Giokas | KaiSforza | http://kaictl.net/ GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgp7WKAm13S8G.pgp Description: PGP signature
Re: [dev] Some thoughts about XML
On Thu, Oct 24, 2013 at 02:20:29AM +0400, Alexander S. wrote: > 2013/10/24 William Giokas <1007...@gmail.com>: > > On Tue, Oct 22, 2013 at 10:35:03PM +, Thorsten Glaser wrote: > >> Mihail Zenkov dixit: > >> > >> >It not mention good xml alternative: TOML > >> > >> Thank gods the time of Windows 3.x *.ini files is long gone. > > > > I'm confused as to what is wrong with the .ini style configurations. > > They're not just used in Windows, they're used in many other places that > > require simple, easy to use configurations. Python uses it, there are C > > api's for it, etc. > > > > So what problem do you have with a .ini file? > They are okay for simple config files. They are the opposite of okay > for a markup language. This is true. Thanks, -- William Giokas | KaiSforza | http://kaictl.net/ GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpycutvYk6Pf.pgp Description: PGP signature
Re: [dev] Some thoughts about XML
On Tue, Oct 22, 2013 at 10:35:03PM +, Thorsten Glaser wrote: > Mihail Zenkov dixit: > > >It not mention good xml alternative: TOML > > Thank gods the time of Windows 3.x *.ini files is long gone. I'm confused as to what is wrong with the .ini style configurations. They're not just used in Windows, they're used in many other places that require simple, easy to use configurations. Python uses it, there are C api's for it, etc. So what problem do you have with a .ini file? Thanks, -- William Giokas | KaiSforza | http://kaictl.net/ GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpSTaNbezzFN.pgp Description: PGP signature
Re: [dev] [sbase] built with watcom
On Tue, Jun 18, 2013 at 07:38:45PM +, Thorsten Glaser wrote: > Jens Staal dixit: > > >> How does someone use that package on a working Linux distribution? > > > That depends on how you define "working". > > Did nobody fork Arch from before it became poettering’d and UsrMove’d > yet? May call it Hintern Linux ;-) I can understand why this crowd is afraid of systemd, but being afraid of the /usr move stuff just baffles me. Is there some reason not to do this? Thanks, -- William Giokas | KaiSforza | http://kaictl.net/ GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpCvL3yLlN54.pgp Description: PGP signature
Re: [dev] suckless dotfiles approach
On Sat, Jun 08, 2013 at 03:27:56PM +0200, Łukasz Gruner wrote: > On Sat, Jun 8, 2013, at 14:24, Markus Teich wrote: > > Please, enlighten me! > > > > --Markus > > > > > > Am 08.06.2013 13:18, schrieb Łukasz Gruner: > > > you might use a real version control instead of git. > > > > not having any particular one in mind, just one that behaves properly, > git is not yet ready to be used as a general version control, as it has > no proper user-facing api. I'm unsure where you are getting this from... > > Anyway, > my setup for this task (not saying it is suckless, just that it works > for me) involves: > - a set of dirs for different file types (ie. dot/ for files which > whilst linking will be prefixed with a dot, bin/ for compiled stuff) > - makefile which does the hardlinking, compiling etc Actually quite a good idea, I must say. > - a set of mercurial subrepos (ie, dwm is mercurial subrepo thanks to > hg-git extension, and my own patchqueue for dwm is a subrepo parallel to > dwm - makefile understands how to deal with them) > > All the editable files are getting hardlinked and dirs - ie. ~/.vim/ - > are created. Binary files are copied. There is no automagical adding of > dotfiles to the repo. -- William Giokas | KaiSforza | http://kaictl.net/ GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpVFtvcRgFc1.pgp Description: PGP signature
Re: [dev] Call for configurations
On Sun, May 05, 2013 at 06:09:11PM +0200, Anselm R Garbe wrote: > Hi there, > > today I decided to make > > http://git.suckless.org/dextra > > world-writable. > > I invite everybody to contribute your config files into the dextra > repository, eg. for dwm/dmenu/st/surf/etc. Idea: make master non-world-writable, and have users push named branches to the repo. Just a thought. -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpiuRHbmrjtc.pgp Description: PGP signature
Re: [dev] [dmenu] What is the status of the project?
On Wed, Apr 17, 2013 at 09:04:27PM +0200, Anselm R Garbe wrote: > On 15 April 2013 10:08, Alexander Sedov wrote: > > I went through the mailing list archives since the date of last commit > > and collected all patches that seem relevant/interesting to me. Sorry > > if you have already seen some of these. > > http://lists.suckless.org/dev/1108/9114.html > > This seems to be wmii related, so no apply. > > > http://lists.suckless.org/dev/1110/9742.html > > Ok, applied. > > > http://lists.suckless.org/dev/1303/14982.html > > Ok applied. > > > http://lists.suckless.org/dev/1304/15300.html > > Ok, applied, but in a slightly amended version. You forgot to add the config.def.h to git. -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpazbj5meRls.pgp Description: PGP signature
Re: [dev] ii IPv6 support
On Sat, Apr 13, 2013 at 02:55:08PM +0200, Nico Golde wrote: > Hi, > * William Giokas <1007...@gmail.com> [2013-04-12 03:35]: > > On Fri, Apr 12, 2013 at 09:25:25AM +0800, Patrick Haller wrote: > > > On 2013-04-11 21:17, Carlos Torres wrote: > > > > it was there just a little hidden > > > > http://git.suckless.org/sites/tree/tools.suckless.org/ii/patches/ii-ipv6.diff > > > > > > i mean in the ii repo -> http://git.suckless.org/ii > > > > I agree...I think they should be put into separate branches. It would > > make rebasing to a newer version ridiculously easy for end users, and > > managing patches easy as well. > > This is actually a great suggestion! I will do this as soon as I'm not > traveling anymore. > Maybe the respective people could also get access to remote branches so they > can maintain this directly and I don't have to update this all the time. You can actually do this kind of access controll with git hooks or gitolite (I prefer gitolite, it's simpler...but whatever suckless wants to do.) Thanks, -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgp3a0f4fOPKX.pgp Description: PGP signature
Re: [dev] ii IPv6 support
On Fri, Apr 12, 2013 at 09:25:25AM +0800, Patrick Haller wrote: > On 2013-04-11 21:17, Carlos Torres wrote: > > it was there just a little hidden > > http://git.suckless.org/sites/tree/tools.suckless.org/ii/patches/ii-ipv6.diff > > i mean in the ii repo -> http://git.suckless.org/ii I agree...I think they should be put into separate branches. It would make rebasing to a newer version ridiculously easy for end users, and managing patches easy as well. I currently do something similar with dwm, I have a branch 'pristine' that tracks origin/master, and a multitude of other branches for different patches with one that I selectively merge to called 'patched' that I use for building. There's no reason to keep patches as patch files in git. Thanks, -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpeO7led0H59.pgp Description: PGP signature
Re: [dev] Call for pkgsrc users
On Wed, Apr 10, 2013 at 07:44:34PM +0200, Christoph Lohmann wrote: > Greetings. > > On Wed, 10 Apr 2013 19:44:34 +0200 William Giokas <1007...@gmail.com> wrote: > > On Wed, Apr 10, 2013 at 06:59:18PM +0200, Christoph Lohmann wrote: > > > The »basic core« shouldn’t be using systemd or udev. You can boot Linux > > > into udevtmpfs and no init scripts without systemd and just a simple > > > busybox init. Then run and install whatever you like. Systemd is en‐ > > > forcing dbus and systemd. They are now enforcing systemd for the basic > > > network management [1]. > > > > And initscripts enforce initscripts. It's purely a matter of choice. If > > you want to build a system that does not have systemd but instead uses > > the now outdated and unmaintained inistcripts, then be my guest. You can > > still use pacman, makepkg, whatever, you'll just have to maintain your > > own scripts. Oh wait, that's what we had to do with systemd before it > > became standard. > > If that’s »core«, then Arch Linux is clearly missing the meaning of > »core«. How what I said there had anything to do with [core], then I don't know. Did you read the link? It's been like that long before systemd was even an idea. > You can’t easily build Archlinux your way and it’s not modular. You > are using the rhetoric of the systemd authors, which slowly changed from > »you can« to »you have to« when systemd was adopted too widely. No, > it’s not possible to follow your pace; just because you change your sys‐ > tem too fast because you are paid by some company to do so. You are > simply ruining Open Source. I'm not just following the authors rhetoric, you can actually disable almost every feature in systemd with configure flags. See the ./configure --help output if you don't believe me. I build systemd my way and it works fine. Granted, I keep most of the functionality in systemd because I use a lot of it, but if I wanted to, I could remove the hostname support and use another tool, or not build the bootchart tool if I don't use it. I could even disable kmod support if that's not something I want. http://ix.io/57x (note the mass of --disable-XX's there.) > If you want an Open Source version of Windows, well, do it, but don’t > ever write on a PHP web wiki page that your principles are »simplicity« > or that they are related to »Unix«. You want Redmond engineers creating > abstractions abstracting abstractions for you so you can call yourself > hip in the computer world. I don't see how systemd is not simple. You don't have to put everything into a single .c file for it to be simple, and writing things in bash is possibly the opposite of that. If you're going to start calling systemd complex, then be my guest and stop using the ridiculoulsy complex Linux kernel, and swith to the hurd. That should give you plenty to do. If you still have this systemd-phobia, then you need to learn more about what systemd is and why it is not portable to the BSD's or other Unixes. There are extremely strong technical arguments for using systemd as a simple, easy to use and easy to configure initialization system. There may be arguments against systemd, and if that is what you are going to believe, then be my guest to leave Arch and use something like Gentoo of *BSD. > If the only reason for you to use Arch is that it’s not installing 500 > packages for you because you don’t want them, please stop ruining Lin‐ > ux. We don’t need such users here. You obviously didn't get the point of that at all. Most distributions aim for a desktop audience of users that want a similar workstation. The point of Arch is that you get 0 packages by default and pick exactly which ones get installed. (It could be argued that 'base' is there by default, but even that doesn't /need/ to be installed. I don't even need the 'linux' package.) Thank you, -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgp4DGrq4d5Zi.pgp Description: PGP signature
Re: [dev] Call for pkgsrc users
On Wed, Apr 10, 2013 at 06:59:18PM +0200, Christoph Lohmann wrote: > Greetings. > > On Wed, 10 Apr 2013 18:59:18 +0200 William Giokas <1007...@gmail.com> wrote: > > On Wed, Apr 10, 2013 at 06:12:00PM +0200, Christoph Lohmann wrote: > > > Greetings comrades, > > > > > > I have been rediscovering pkgsrc due to the inability of the Arch devel‐ > > > opers to keep to their principles. I know pkgsrc has its merits because > > > of its portability, but it’s flexible. > > > > Might I ask what principle they're not keeping to? > > [0]. > > »Arch Linux retains the inherent complexities of a GNU/Linux system, > while keeping them well organized and transparent. Arch Linux developers > and users believe that trying to hide the complexities of a system actu‐ > ally results in an even more complex system, and is therefore to be > avoided.« > > »Simple design and implementation shall always trump simple user inter‐ > face.« > > Systemd anyone? It's a Windows configuration replacement for dummies. If you really want a simple system, then initscripts were anything but simple. Yes, if you were a shell scripting guru, maybe SysV was what you wanted. In that case, find an implementation of SysV that is being developed and you can use. You can simply replace systemd, so long as you're fine writing init scripts for everything you need that depends on systemd. > »The openness principle extends to its community members as well, as > Arch Linux users are very open with assistance and contribution.« > > Systemd and the removal of sysvinit was enforced without any openess or > any consent. The scripts were removed due to some developer having the > horizon of a blind kneeing ant in the dark with justs him and his cat as > participants of the census how many people want systemd. There was a lot of user participation. systemd is being actively developed and is entirely modular, if you are willing to configure and compile your own version. I would think that would allign with the suckless way of thinking. > »A freshly installed Arch Linux system contains only basic core compo‐ > nents with no automatic configuration performed. Users are able to con‐ > figure the system as they wish, from the shell. From the start of the > installation procedure, every component of the system is 100% transpar‐ > ent and accessible for instant access, removal, or replacement by alter‐ > native components.« > > I don’t need to say anything about that. Please do. From what I know, there is no automatic configuration performed, it contains the core of a Linux distribution with all the needed tools to do what you want in the base group, and allows you to build your own packages extremely easily with any changes you think to make. systemd is just as transparent as initscripts, and is simply much more standardized than SysV. > »A freshly installed Arch Linux system contains only basic core compo‐ > nents with no automatic configuration performed. Users are able to con‐ > figure the system as they wish, from the shell. From the start of the > installation procedure, every component of the system is 100% transpar‐ > ent and accessible for instant access, removal, or replacement by alter‐ > native components.« > > The »basic core« shouldn’t be using systemd or udev. You can boot Linux > into udevtmpfs and no init scripts without systemd and just a simple > busybox init. Then run and install whatever you like. Systemd is en‐ > forcing dbus and systemd. They are now enforcing systemd for the basic > network management [1]. And initscripts enforce initscripts. It's purely a matter of choice. If you want to build a system that does not have systemd but instead uses the now outdated and unmaintained inistcripts, then be my guest. You can still use pacman, makepkg, whatever, you'll just have to maintain your own scripts. Oh wait, that's what we had to do with systemd before it became standard. You are obviously missing what the [core] repository is: it is not the base group (which netctl is NOT in), it only serves to be a list of programs you can use that[2] * are needed to boot any kind of supported Arch system. * may be needed to connect to the Internet. * are essential for package building. * can manage and check/repair supported filesystems. * virtually anyone will want or need early in the system setup process (e.g. openssh). * are dependencies (but not necessarily makedepends) of the above Oh look, netctl fits one of those categories. As does dhcpcd, which you don't need. As does gcc, which you also don't need, as does less, which you also don't need...I could go on. You can boot Linux any way you want. That is what you go to distributions for, a starting
Re: [dev] Call for pkgsrc users
On Wed, Apr 10, 2013 at 06:12:00PM +0200, Christoph Lohmann wrote: > Greetings comrades, > > I have been rediscovering pkgsrc due to the inability of the Arch devel‐ > opers to keep to their principles. I know pkgsrc has its merits because > of its portability, but it’s flexible. Might I ask what principle they're not keeping to? > So a call to all Linux users of pkgsrc: > How are you using pkgsrc and how do you install a new system with just > pkgsrc? -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpV3WxpXGoyj.pgp Description: PGP signature
Re: [dev] Re: [slcon] Call for Papers 2013
On Tue, Mar 26, 2013 at 06:34:00AM +0100, Christoph Lohmann wrote: > Greetings. > > On Tue, 26 Mar 2013 06:34:00 +0100 William Giokas <1007...@gmail.com> wrote: > > On Mon, Mar 25, 2013 at 03:53:47PM -0500, Strake wrote: > > > On 23/03/2013, hiro <23h...@gmail.com> wrote: > > > >> initscripts are weak. > > > > > > > > what do you need them to do? what does weak really mean here? > > > > > > Sorry, my comment was indeed vague. > > > > > > I meant the Arch initscripts, tho this may well be true of many: > > > > > > * won't automatically re-start service that dies; network services in > > > particular, e.g. tunnels, may fail due to transient network phenomena > > > * can't automatically start services what another service needs > > > * can't easily start non-root user services > > > > > > > You missed the best part: > > > > * socket activation > > It will be a wonderful discussion at slcon 2013. All of you are welcome. I would like to, but I'll be across an ocean, I think. I may actually be there at the same time, though. Thanks, -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpDOp1AcdYX9.pgp Description: PGP signature
Re: [dev] Re: [slcon] Call for Papers 2013
On Mon, Mar 25, 2013 at 03:53:47PM -0500, Strake wrote: > On 23/03/2013, hiro <23h...@gmail.com> wrote: > >> initscripts are weak. > > > > what do you need them to do? what does weak really mean here? > > Sorry, my comment was indeed vague. > > I meant the Arch initscripts, tho this may well be true of many: > > * won't automatically re-start service that dies; network services in > particular, e.g. tunnels, may fail due to transient network phenomena > * can't automatically start services what another service needs > * can't easily start non-root user services > You missed the best part: * socket activation -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpRUOus4s_TH.pgp Description: PGP signature
Re: [dev] [surf] introduce .gitignore
On Thu, Mar 14, 2013 at 09:04:48PM +0100, Christoph Lohmann wrote: > Greetings. > > On Thu, 14 Mar 2013 21:04:48 +0100 Alexander Huemer > wrote: > > Hi, > > > > On Thu, Mar 14, 2013 at 05:51:14PM +0100, Christoph Lohmann wrote: > > > On Thu, 14 Mar 2013 17:51:14 +0100 Christian Hesse > > > wrote: > > > > this introduces file .gitignore and makes git ignore files generates > > > > on build process. > > > > > > Why is this needed? When suckless moves to the next hip vcs on the block > > > another file needs to be introduced. So: No, just don’t add these files > > > to be tracked and the changes will not be committed as change. > > > > > > > It's best practice to have a .gitignore file. > > I recommend it for all suckless subprojects. > > You want to explicitly tell the VCS which files are not of interest for > > it, it can not know by itself. > > The move to a different VCS occurs very seldomly, in this case the > > infrastructure has to be adopted. Porting the file ignore list is a very > > easy task. > > What are the downsides of having this besides the VCS move thing? > > The argumentation is different: What’s the advantage of having a .gitig‐ > nore file? If I put some spare files into that directory, like patch > files or some debug output, then git will tell me that these files are > untracked too. Forcing the user to think of what’s explictly ig‐ > nored is just adding complexity. In the current state all files are > shown which are not tracked, which is what git should do anyways. > > While adding complexity to the untracked file list it’s not adding any > advantage for anyone. That’s why .gitignore is not added. You do realize that there are .hgtags files in most, if not all, of your repositories? What are those doing there but adding extra complexity? Just thought I'd bring that up, while we're going on about the unneeded complexity of a +4 patch. Great argument. (Granted, it should be a +4-73 patch.) -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpKaX3KL3AC_.pgp Description: PGP signature
Re: [dev] surf man page
On Tue, Mar 12, 2013 at 08:12:23PM +0100, hiro wrote: > ~/surf-0.6$ diff surf.1.old surf.1 Nice human readability is fun. Use diff -u. > 64c64 > < Scrolls page upwards. > --- > > Scrolls up. > 67c67 > < Scrolls page downwards. > --- > > Scrolls down. > 70c70 > < Scroll up one whole page view. > --- > > Scrolls up one page. > 73c73 > < Scroll down one whole page view. > --- > > Scrolls down one page. > 76c76 > < Scroll horizontally to the right. > --- > > Scrolls to the right. > 79c79 > < Scroll horizontally to the left. > --- > > Scrolls to the left. > -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpiCYQfKrFcE.pgp Description: PGP signature
Re: [dev] [PATCH] st: Use ascent + descent for font height to avoid clipping underscores.
On Sun, Mar 10, 2013 at 04:28:37PM -0400, Bobby Powers wrote: > ha, sounds reasonable :) thanks Christoph! > > > On Sun, Mar 10, 2013 at 4:17 PM, Christoph Lohmann <2...@r-36.net> wrote: > > > Greetings. > > > > On Sun, 10 Mar 2013 21:17:38 +0100 Bobby Powers > > wrote: > > > Has an issue with st where the _'s were being overwritten when text on > > > the next line was drawn. This didn't happen in gnome-terminal, which > > > uses pango for its font rendering. Pango's Xft backend uses ascent + > > > descent rather than height. This appears to date back to at least > > > 2004 (pango commit 5bf0c1d0) so I'm not sure their exact reasoning, > > > but it fixes the Monospace font height issue I am seeing. > > > > I applied the patch without the big useless comment. If there would be a > > comment about all wrong behaviour of xft and how bad the fontconfig API > > is, st would double its raw source size. > > When you send a git patch, you can put a message under the `---` but above the diffstat and it'll not be included when you run `git am`. I usually throw descriptions and reasoning in there. Thanks, -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF pgpYg4XgqlQMl.pgp Description: PGP signature