The poor phpBB folk

Maintenance

We are sorry to report that we have been attacked through a 0-day-exploit in our PHPList installation (responsible for the mailing list about new releases). phpBB.com will remain unavailable while we work to recover. No vulnerabilities have been found in the phpBB software itself.

You can download phpBB here: http://www.ohloh.net/p/phpbb

You can get support at the temporary support forums or on IRC:
chat.freenode.net #phpbb

A more detailed explanation about the incident.

Press Contact: If you need to get in contact with the management, please email phpbb_press (at) marshalrusty (dot) com.

– the phpBB team

Somehow, this makes me glad that I don’t have to use PHPList… hehe.

Fun with vi, nvi, and vim

Some time ago, I installed the old version of vi ported as part of the heirloom project, noted as Traditional Vi. I tucked it into ~/code/C/src/old-vi and put a symlink named ‘ovi’ in my $PATH. During initial testing, I quickly concluded that the nvi builds on modern BSD (the systems vi) are considerably more extended then what the traditional vi offers. Things that I noticed most missing, were that ‘~/’ in file names was not expanded to the value of ${HOME}/ like in the shell (nvi / vim expand ~/), and the (crappy) split window support and a proper implementation of . and ^R (nvi makes ^R behave like .). A little playful testing also showed several settings missing (mostly expected), and no :exusage or :viusage commands. (Useful in nvi/nex on occasion, to see just what is available without consulting a reference or vim :help.) Two things I’ve learned tonight, old vi and nvi both support abbreviations, and control+^ is down right handy for switching buffers (vi, nvi, vim; probably every vi clone ever made). I thought abbrivations would have been an Elvis invention that made its way into vim, but I guess it was there since the 1980s, hehe. I also noted that ovi/nvi react differently to showmode (I prefer ovi’s).

Out of curosity, I fed into vi my nvi configuration file, since it appeared to be ignoring my ~/.exrc. Only had to remove the matchtime / ruler settings, and two of my mappings: gg and ZQ. gg being a vim’isms for 1G (go to first line in file) and ZQ being a very logical vim’ism for :q!^M much like vi used ZZ for 😡 .After that, vi accepted it without problem. The errors about the mappings interestingly said, “To dangerous to map that”, but nvi doesn’t give a darn. Fair enough for gg, but I’ve yet to figure the ZQ one yet.

Traditonal Vi

~
~
~
~
~
~
~
:set all
noautoindent nomodelines noshowmode
autoprint nonumber noslowopen
noautowrite open nosourceany
nobeautify nooptimize tabstop=8
directory=/var/tmp paragraphs=IPLPPPQPP LIpplpipbp taglength=0
noedcompatible prompt tags=tags /usr/lib/tags
noerrorbells noreadonly term=screen
noexrc redraw noterse
flash remap timeout
hardtabs=8 report=5 ttytype=screen
noignorecase scroll=11 warn
nolisp sections=NHSHH HUnhsh window=23
nolist shell=/usr/local/bin/zsh wrapscan
magic shiftwidth=8 wrapmargin=0
mesg noshowmatch nowriteany
[Hit return to continue]

FreeBSDs build of nvi, when invoked as vi or nvi:


+=+=+=+=+=+=+=+
noaltwerase noextended matchtime=3 report=5 term="screen"
noautoindent filec="" mesg ruler noterse
autoprint flash nomodeline scroll=11 notildeop
noautowrite nogtagsmode noprint="" nosearchincr timeout
backup="" hardtabs=0 nonumber nosecure nottywerase
nobeautify noiclower nooctal shiftwidth=8 noverbose
cdpath=":" ignorecase open showmatch warn
cedit="" keytime=6 optimize showmode window=23
columns=80 noleftright path="" sidescroll=16 nowindowname
nocomment lines=24 print="" noslowopen wraplen=0
noedcompatible nolisp prompt nosourceany wrapmargin=0
escapetime=6 nolist noreadonly tabstop=8 wrapscan
noerrorbells lock noredraw taglength=0 nowriteany
noexrc magic remap tags="tags"
directory="/tmp/"
msgcat="/usr/share/vi/catalog/"
paragraphs="IPLPPPQPP LIpplpipbp"
recdir="/var/tmp/vi.recover"
sections="NHSHH HUnhsh"
shell="/usr/local/bin/zsh"
shellmeta="~{[*?$`'""
Press any key to continue [: to enter more ex commands]:

And doing :set all in Vi Improved (VIM) is so huge, it requires a pager! Hahaha.

Generally I will use vim whenever it is made available, in fact I usually compile my own binaries for it via shell script. But I have spent enough time using nvi, that dipping into ed, ex, vi / nvi don’t bother me. When I invoke vi, I expect a fairly traditional vi; when I invoke vim, I expect vim with vi compatiblity mode turned off (e.g. as if invoked as vim -U NONE -u NONE -N), or vim to behave ‘as expected’ when my own vimrc file is around.

My ~/.vimrc is over 1000 lines, but if you strip blanks and comments it is closer to 600. The only customizations that I actually depend on however, is mapping ‘;’ to ‘:’. Although certain vi users find that to be ludicrous, I use :ex commands much more frequently then I need to repeat the f, F, t, and T commands in the same direction. So being able to say ; when : is needed, is a massive life safer on my fingers, because it removes the need to hold shift. In fact, unless I want to go to a specific letter in a word, I usually employ :/ and 😕 to search for the word, rather then a linewise [count]f[character] motion, so the loss of a standard ‘;’ is fairly low for me.

I find vim much more comfortable then other vi’s, because I spend an imense amount of time in a text editor. I often [ab]use vims :sp[lit] command to have multiple edit-windows open, or to edit the 2 different parts of the same file without using marks or tags to jump about. The gq operator in vim is also a thing I love, because I can quickly reformat text without having to invoke an external program like fmt(1) all the time. Vi Improved also has better tag based commands. The ability to auto complete :ex commands and file/directory names helps me greatly; nvi’s cedit extension for editing :ex comand history sucks in comparason. The ability to :e . and use vim to peruse the current files in a directory is also nice when dealing with some peoples projects, although :!ls | less would work too, I’m not fond of the hit enter prompt at the end (nvi also ditches the colours in my ls output, while ovi retains them). The ability to use code folding and quickly configure settings based on file type is also quite nifty, since I often use zM to fold everything in large files, take a look and zO things that /look/ like it is what I am looking for. I almost never use ^O to make a single normal mode command from insert mode (vi/nvi don’t seem to support it), but it is nice when combined with other control+ commands in vims insert mode.

I’m also partial to vim’s undo style that repeatidly pressing ‘u’ in normal mode, repeatidly undo’s things while ^R redos what was undone. Traditional vi, nvi, and vim with u in the vi compatiblity options all have semi-incompatible usage paterns. The Vi Improved way uses u as noted above, when set to use a more Vi compatible way, vim uses u to undo and ^R to redo. Because vim has unlimited undo/redos, this means we would press u to undo the last change, then ^R to ‘redo’ the previous commands, and a following u will undo will undo the last redo (undo redo redo undo; rather then undo undo undo redo). Nvi allows using the ‘.’ as a synonym for ^R which is convenient since ‘.’ means repeat last change command. While traditional vi seems to lack multiple levels of undo/redo period and end of quote.

vim style multi undo:

dddddd      -- delete the next 3 lines as 3 separate changes (3dj would be a single change)
uuu -- undo last 3 changes (i.e. undeletes those 3 lines)
^R^R^R -- redo last 3 undos (i.e. re-delete those 3 lines)

nvi style multi undo:

dddddd      -- delete the next 3 lines as 3 separate changes (3dj would be a single change)
u -- undo last change (undelete last line)
^R^R -- redo last 2 undos (i.e. undelete the previous 2 lines)

vi style undo:

dddddd      -- delete the next 3 lines as 3 separate changes (3dj would be a single change)
u -- undo last change (undelete last line)
u -- redo last undo (redelete last line)

(i.e. vi style undo just toggles between undoing the last change and undoing the last undo, and ^R is subverted to allow multiple undos/redos in vim/nvi)

I’ve been using the vim style multi-undo for years, but have been wanting to adjust myself to the nvi style for ages. The only problem is, if I have to undo then do redo’s, I prefer using ‘.’ instead of ^R, haha! It seems to me, that technically nether vim using ^R for redo, nor nvi extending . for redo is purely vi compatible; but I personally feel extending . for the purpose, rather then clobbering ^R is a more logical solution. Although I can’t really think of a reason to use classic vi’s ^R instead of ^L on a modern terminal (read CRT or emualtor based terminal). The nvi style of multi-undo/redo also makes more sense to me, although most software users have been heavily conditioned by most programs to expect ^Z to undo the previous change up until the programs built in limit on undos.

Vim provides extensive mapping, syntax highlighting, build system integrations, and buffer options compared to traditional vi’s, but I don’t actually depend on it. Although most programmers I know, will cut your head clean off if you don’t give them syntax highlighting (lol), I don’t use Syntax highlighting…. I used to like using the astronaut and elflord colour schemes in vim; because I found them good for visually dumping syntax into my head. I.e. you can quickly tell what is what kind of syntactical element. But ever since I had to spend hours hashing out new PHP and SQL in a colourless remote terminal, I started to find the syntax highlighting to be distracting :. The only times I actually use colours in vim anymore, are for directory listings, with other peoples HTML, and in my .vimrc file; when coding, I use no syntax highlighting what so ever.

If you can look at the horse-shit filled tangles of (broken) HTML, (idiotic) SQL, (kindergartener like) PHP, and occasional JS that are so horribly intermixed and mutilated, that some past [SAS] webmasters dared to call it code, and come to reading it without syntax highlighting…. you can live without syntax highlighting anywhere!!!

Microsoft, innovative? Nah, really!

A new version of Windows Mobile, is supposed to have a Honeycomb like start menu.

But hey wait a minute, I remember a X window manger that has something like that. After a bit of a hunt, I found it: Unix Desktop Environment (UDE) born back in 2004 [Wiki] [home] [screen].

It’s been on my todo list for a couple years now, to try out UDE; but then again, writing my own window manager for fun, and splelunking blackbox have also been on my todo list for a few years lol. I’m sure no one working on Windows Mobile 6.5 has ever heard of UDE, but it is nice to see someone at Microsoft is willing to try something DIFFERENT, if not totally new….

So far, the most innovative thing I’ve seen come out of Microsoft is some of the new window operations/shortcuts I’ve heard about in Windows 7; my response to it being: Have you jackasses really taken over a decade to figure out how to do that, or did you finally realize that window mangement has evolved since 1987 ???

Quote of the Day

This is a consequence rather than a goal. I abhor a system designed for the “user”, if that word is a coded pejorative meaning “stupid and unsophisticated”.

— Ken Thompson

Hmm, some how this makes me laugh when I think of ed and notepad (ed is like the most basic editor I’ve ever met, but it’s still 1000 times better then notepad)

Annoyance with half assed work

I will never understand why so many people seem to do so much insecure $h|+ with temporary files…. for the love of petes sister, if the system provides secure alterntiives — use them for cryoing out !)%(!%)!(%Y)!ing loud. Is it really that hard? It’s not like you have to implement the damn wheel everwhere…. And if osme one is going to reimplement the damn wheel — make it a better one, not even worse one shaped like a triangle!!!

Some times… people really, really, really annoy me with what they do….

Day dreams

Recently, I’ve been drueling a bit at the T-Mobile G1, if I had the money to spare, it would really be worth it, in it’s own way lol. Especially the fun of bending it to the functionality I require from such a gizmo, although honestly; I don’t care much for such mobile devices. In America, we’re stuck in a country where it pays more to rehash last years crap then be innovative; just look at Microsofts last 30 years of products.

I doubt, if I’ll ever meet a gizomo smaller then a laptop but bigger then a pen, that I won’t consider unneccessarily “downgraded”, short of importing an old Zaurus PDA or building something myself. Heh, if I had the kind of cash Mark Shuttleworth has, I would really have some fun :-). Enough cash to cover the educational-in-betweens, and the cash to see just what is possible with modern technology…

And then sale it and go broke in the process of competing with same ol’craps that tries to set the users expectations, not go for the gold.

Days thoughts, thus far

Managed to get to bed early last night, was only up to around 0330R haha. Dreams were a mixture, of pleasant and unpleasant; the former parts still being on my mind. I also woke up to some good news: an unexpected day off work! Which is good, because tomorrow will likely be a living hell…. as usual.

I’m tired, and it’s only 1736R. Really, I think the dog is the smart one lol, Willows been sleeping all day >_<. Last night, I posted on Daemon Forums asking for suggestions on a lightweight web browser to replace Firefox3. I've used Firefox for a really, really, really long time; but 1.5.x was the best hehe. I found Fx2 disappointing in terms of usability, and Fx3 has been totally useless for me on Windows, and a major pain in the ass under FreeBSD. I also went through Links 2.2, and tested it thoroughly; I could live without CSS support, if only it supported tabbed browsing in the GUI. Links is really a very nice browser on the user side, it also boats great speed and highly legible display. Today, I did some heavy testing on the FreeBSD and Linux builds of Opera 9.63. For a long time, I used Opera, first in the 8.5x and later into the early 9.x before switching defaults. Dillo2, Arora, and Midori are next on my hit list; but it would be awesome to adapt Opera as my standard browser again. I'm a person that very much likes to use his own personal environment, rather then someone else’s can of spam.

I also enjoy software that are both portable, easy to manage, and don’t make you unlearn things just for changing Operating Systems. One of my big beefs with Firefox for example, Unix edit->preferences Vs Windows tools->preferences. It adapts to what the user would expect, which is honourable for such a program I guess, but pisses me off ^_^.

Opera is one of the better proprietary products I’ve encountered, and one of my favorite web browsers. Unlike Internet Explorer and Mozilla Firefox, there is no need to extend it in order to get the most bang for ya buck either 😉

I really hate to tell people how to do their job

I really hate to tell people how to do their job, especially when they are the ones who should be getting paid to do it; but sometimes I can’t help but wonder, if some people have ever heard of the words race condition or predictability, being used in the same sentence as exploit or security vulnerability?

Getting playful

I’ve been experimenting with extracting PC-BSD PBI on FreeBSD; mainly because I would like to do a little postmortem analysis on a couple of PBI’s, to see if the “Officially sanctioned” PBI Developers are still following the rules.

The process is actually a lot simpler then I thought it would be, the only problem is doing it in a chroot lol. Already more then 200MB in files in /tmp/chroot, and I’ve found that PBI must “assume” the presence of a lot of shit, because it will segfault if even simple things like awk or whoami are missing, let along bigger things 8=), what ever happened to error checking? But anyway, it’s a fairly easy thing to sort out, even with having to take a fair number of libraries and programs into the chroot, in order to fool the thing into -extract’ing. So far, I’ve only hit one snag:

/home/0/.PBItmp/.pbistart: ./PBI: not found

which I have not figured out yet.

I think I’ve also found the origin of one of the more stupid elements of the PBC Sh API, and it seems to reflect the PBI sub systems source, judging by what I see in PC-BSDs Subversion >_>. It also reminds me, that some people seem to have never heard of a symbolic constant in their entire lives…. which also explains a few other things about the PBI Creation process and PC-BSD in general. Since PC-BSD, unlike a *real* BSD system, does not believe in documenting anything. I’ve had to go straight to the (also undocumented) source for answers, it also temps me to write a detailed review and commentary – but I’ll keep my mouth shut for now. The number of people they will probably buttfuck in the long run is their own concern, I’ve already left. I’m not really interested in shifting through several thousand lines of intermixed Bourne, Bourne Again, and C++ code just to audit a few PBI; let some other poor schlep, eh Good Samaritan deal with this schlockware.

If my post doesn’t make it obvious by now, the reasons why I was conducting the tests within a chroot environment, rather then sparing myself the trouble -> I wouldn’t let the PC-BSD developers, or most peoples PBI touch one of my systems with a ten-thousand foot cattle prod, and I don’t have time for setting up a jail. That is the kind of feelings I’ve got for the project, after using PC-BSD for years; now OpenBSD, FreeBSD, and NetBSD on the other hand, them I trust… and have seen the resulting work to warrant it lol.

– A strict son of a bitch.