Profile

Cover photo
Nick Alcock
Worked at Oracle Corporation
148 followers|19,510 views
AboutPostsPhotosVideos

Stream

 
The latest Yatse update has entirely broken function on Android 4.0 tablets -- or at least it has on mine. (I'd report this on yatse.leetzone.org, but registration doesn't seem to work and there is no visible way to email the author: hence this last-ditch attempt to report it. I hate the modern Internet.)

Touching the yatse widget drops straight back out to the desktop and flips state to 'XBMC Not Available" after sending a couple of RPC requests to xbmc.

The logcat shows that dalvik is segfaulting. Very partial Java backtrace because I'm typing this in by hand:
org.leetzone.android.yatsewidget.MenuManager.<init>(MenuManager.java:-1)
org.leetzone.android.yatsewidget.ui.BaseFragmentActivity.onCreate(BaseFragmentActivity.java:287)

This did not happen in the last release, which worked perfectly well for me.
1
Nick Alcock's profile photoTolriq Yatse's profile photo
4 comments
 
Dug a crash and tombstone off: email sent. Sorry about this. (I wonder what's special about my configuration... probably the no-name vendor broke Android in some horrible obscure fashion. Of course there are no updates to its OS, there have never been any updates, throw the hardware over the wall and be done with it, they say...)
Add a comment...

Nick Alcock

Shared publicly  - 
 
So +Xah Lee asked us for shots of our Emacsen in use in anger so he could see what colour scheme we used. Here's mine (displaying parts of <https://oss.oracle.com/git/?p=linux-uek3-3.8.git;a=blob;f=scripts/dwarf2ctf/dwarf2ctf.c;hb=HEAD>: this bit happens to be unmodified so you can't see the git-gutter-fringe, but it's there nonetheless). I've used pretty much this colour scheme for roughly eighteen years now, and if you go back to the Borland IDEs it's vaguely inspired by, for more like a quarter of a century.

As you can see I like window splits. If anything the thing is split into fewer windows than usual (that big blank section in the middle cries out MOAR WINDOWS to me: I have a command that tries to fit the vertical split to the displayed code, but I forgot to use it before taking this screenshot). There's a second monitor containing another Emacs frame full of more code, not shown here, and a whole second Emacs in a different virtual desktop, running as a different user with my Gnus and things like that in it.
13
3
Rob Shinn's profile photoErgoEmacs's profile photoNick Alcock's profile photoEvan Carew's profile photo
19 comments
 
+Michael Lockhart f.lux works on Mac and Linux too. You can get away for free by using llama to automate lux on android. (Although f.lux is being ported to android as we speak) 
Add a comment...

Nick Alcock

Shared publicly  - 
 
WTF of the day. YouTube is "a place for meaningful human interaction"? Has Philipp Pfeiffenberger seen YouTube comment threads? They're a sewer.

The reason for this post is, of course, that they're fighting YouTube clickspam because it directly harms their advertisers. Nobody else actually cares to any great extent about the count of views a video gets.
3
Nick Alcock's profile photoKieran Barry's profile photo
4 comments
 
Seen any sign of it? ... no, me neither.

Once a toxic culture is locked in like that, it takes shutting the whole site down and restarting it under a new name to fix it. (See also: USENET.)
Add a comment...

Nick Alcock

Shared publicly  - 
 
Spending £15 million on a grotesque mausoleum for one Prime Minister while defunding and closing many other museums seems an appalling use of public funds.
 
Petition: No taxpayer funding for 'Margaret Thatcher Memorial Museum & Library'. Please sign and spread.
6
1
Peter van der Linden's profile photoQítiān Dàshèng Sūn Wùkōng's profile photoBrian Goulet's profile photoNick Alcock's profile photo
5 comments
 
A €15M graffiti target.
Add a comment...

Nick Alcock

Articles  - 
 
What's the point of Project Grok?

In yesterday's Emacs Conf, +Steve Yegge gave a talk about Project Grok. (Everything I say here is based on the content of that talk, rather than on the hour-long video on the same subject, because I was less than inspired by what I heard and when I'm less than inspired by something I am not terribly interested in spending an entire hour listening to a video on the subject which may well just cover most of the same ground again. Though, uh, looking at the clock now I've written all of this it appears I am sufficiently inspired to spend an hour ranting on G+ about it. Oh well.)

I'm afraid I can't see any point in it at all. Grok was described as a server-side, sorry, 'in the cloud' system which does semantic analysis and compiler-driven data acquisition on uploaded source code, and delivers the result back to consumers (in particular, Emacs). But... while I am as much in favour of compiler-driven data acquisition and richer metadata on source code as the next compiler-geek developer, this seems absolutely pointless to me. Indeed, with the exception of divergent language coverage there was only one thing Steve did with this million-plus lines of Project Grok code during the talk that I couldn't do with Eric Ludlam's wonderful CEDET already (more on the one exception below). (I suspect, or at least hope, that the compilers explain the stated million-line code footprint of Grok, a horrifying figure when compared to the eighty thousand lines or so required for all of CEDET, including the project-finding code which Grok does not attempt to replace.)

The advantage of semantic analysis and the like to text editors is clearly that you can get realtime feedback on syntactic elements while you're coding. Semantic shows us the advantages of this, both in terms of things like definition completion in the minibuffer and in terms of providing feedback both from and to other machinery like GNU GLOBAL and tagging engines, so that e.g. GLOBAL tags are used to carry out searches initiated by Semantic (which eliminates most need for Semantic to integrate with actual compilers: all it needs is a parser). Often, this happens when you're still writing the code: you have no sooner introduced some variable than you need to use it, maybe a screen or two down in the same function: but even though you may have forgotten its precise type, Semantic has not, and can tell you. But... if you move the analysis phase onto remote servers, you lose that. You can only analyse code you've uploaded. Worse yet, if you work by integrating with a compiler, you can only analyse code that is syntactically correct! Most of us tend to go into writing frenzies perhaps for weeks and then stamp the compilation errors out afterwards: that's unavoidable inasmuch as until that writing frenzy is over there may be missing functions and the like so the code won't compile anyway. With a compiler-integrated thing like Grok, that cannot work, and you can only get semantic markup on things that you've finished working on!

So, that's a major strike against the whole idea. Are there any others? Yes, and I mentioned these to Steve though he elegantly dodged them. Firstly, services in the cloud can go away forever without warning. Steve interpreted this as a question about SLAs, which is a masterpiece of dodging given that I'd just mentioned Google Reader and Google Code Search for comparison. The problem is not that the thing may go down for maintenance at any time -- after all, even if it had a mythical 100% SLA your network connection can still go down at any time! No, the problem is that unless you're paying for it it can go away completely and forever whenever Google so desires -- just as Google Code Search did, and other projects: Google has a track record of doing just this. Not noticing this requires such fast dancing that I can only assume it was intentional on Steve's part, not least because judging by his talk Google Code Search and Project Grok were at one point related, so he can't have failed to note that it's gone away for good. Worse yet, from corporations' point of view, even if they're paying for it, it can still go away completely and forever, unless you have contract terms saying that Google may not withdraw it (good luck with that) -- or, alternatively, unless the server source code is available and is not so tied to magical Google stuff that it'll work on normal systems (something else I asked about, got no response to, and very much expect the answer is 'no'). I don't want my development environment to be broken when Google loses interest.

Secondly, uploading things to the cloud means that Google can see them. This isn't so problematic for free software -- after all, Google can see that anyway -- but not all software is free, and personally I don't want to have to jump through mental hoops whenever I write something thinking 'is this free? No? I'd better turn off Grok and use some other semantic analyzer', which will, of course, almost certainly have a different interface, meaning that the UI of my editor now changes depending on whether I want to let Google see my code. (The name of my present employer just makes the question all the more pointed to me: is Oracle likely to want Google to see all its source code, ever? Uh, no. So Steve's vision of all the world using a cloud-based build system is hopeless.)

A more minor point is that a crucial attribute of anything integrated into a text editor is responsiveness -- witness the enormous efforts that have gone into making the Emacs redisplay engine fast. Now unless the Emacs-side Grok code downloads everything related to a given source file whenever you load the source file, it's going to have a latency problem. Not a very big one -- Google's latencies are admirably low, for a network service -- but still, making Emacs not block makes the network code for querying Grok into a maze of sentinels and filters which can get fiendishly complicated -- and if you're going to have fiendishly complicated code in there, why not put in a parser and drop all this server-side complexity?

As for that cloud-based build system... words fails me. Build systems vary radically, so radically that there's not really any hope of a cloud-based thing ever understanding how to build all of them, and even if cloud-based things weren't notoriously unconfigurable and didn't often have appalling user interfaces. Software is complex. The thing I'm working on now links with both 32- and 64-bit x86 code. I hope the build system has both available at once, oh and a cross-compiler too, and I hope it has every crazy language imaginable avaiable because people write code generators using during builds in all sorts of barmy things. Last month my build failed because of a compiler bug. How would I fix that? My testsuite needs a custom kernel to run, frequently panics the machine when there's a bug... the cloud-based build system clearly can't actually test everything it builds. I doubt it can even test GNU coreutils (requires root for full testing, often requires a loopback filesystem with somewhat unusual properties). And even if this cloud-based semantic-analysis and build system utopia were provided... what benefits would it bring? None, that I can see, other than that people could write code from tablets and mobile phones without the horsepower to run compilations. Shame they don't have the keyboards to write code on either. So this would be useful for the single case of a person with a docking station but without access to either local storage or a VPN who nonetheless wanted to do software development. That seems to be not so much a small as a nonexistent niche.

Casting about wildly for possible advantages of Project Grok (discounting its disjoint language coverage over Semantic, which just means that someone needs to write Bovine grammars for more languages), the only one I can see is that a cloud-based thing can see source code that you can't, and so can provide links to arbitrarily much code that you don't have locally. However, unless there is also a TRAMP module in Project Grok that connects to some Googly network filesystem, I don't see how that's going to do you any good, because you can't see that code in your editor!

(Oh, the one feature I saw that Grok had and CEDET did not? It could underline syntactic constituents that you could navigate to. To do that efficiently with gtags we'd need to get gtags to generate a Bloom filter or something to allow CEDET to rapidly mark such tags up. I'm not going to implement it because I thought the feature looked horrendously visually distracting. If you don't know what identifiers are and the syntax highlighting doesn't help enough, I don't see how underlining them would improve matters.)
11
1
Vadim Nasardinov's profile photoSimon Carter's profile photoNick Alcock's profile photoVivek Das Mohapatra's profile photo
16 comments
 
+Jason McBrayer, ooh, my global is out of date. The plugin factory and its exuberant ctags example plugin looks very nice indeed! Thanks, I'll have to look at that :)

+Dmitry Gutov, sorry for the delay, need to read that when not exhausted!
Add a comment...

Nick Alcock

Shared publicly  - 
 
Things I need to learn: rebuilding glibc with a bunch of forward-ported patches which might or might not work is not supposed to be an exciting and fun thing to do. Not least because you need a microscope to differentiate between this and the stuff I do for my day job, but I'm blowing a sizeable chunk of a weekend on it.

Get that, idiot subconscious: this is not exciting stuff. (Unless it goes wrong and I don't notice and my autobuilder fails to run 'make check' before installing, in which case I ruin my entire system and it is much too exciting. But that's not supposed to happen, right?)
1
Xah Lee's profile photoNick Alcock's profile photo
2 comments
 
It doesn't happen often. :)
Add a comment...
Have him in circles
148 people
Jed Davis's profile photo
Mark van Walraven's profile photo
Seth Breidbart's profile photo

Nick Alcock

Shared publicly  - 
 
Seen on my most recent dental appointment card:

"Under NHS Regulations your dentist has the discretion to refuse to offer NHS treatment if".

So I'd better make sure I don't do that then.

(Note: this is probably meant to talk about missing appointments or something. It just... doesn't. Perhaps it really says "if you are not telepathic".)
4
Paul Martin's profile photoNick Alcock's profile photoDi Cleverly's profile photo
5 comments
 
I don't really see how it could be good. It's gone now anyway, the miracle of modern antibiotics :)
Add a comment...

Nick Alcock

Shared publicly  - 
 
Today, kingjamesprogramming brings us one of the hidden sacred rites of the Church of the Lambda Calculus.
4
Dan Lentz's profile photoGod Emperor Lionel Lauer's profile photog barry's profile photoNick Alcock's profile photo
9 comments
 
Until thy stack overfloweth, Amen
Add a comment...

Nick Alcock

Shared publicly  - 
 
I have never used Blackboard. I'm not even entirely sure what it is -- some sort of testing software, I think -- but anything that can trigger a rant like this must be worth avoiding.
3
David Ratnasabapathy's profile photoRob Shinn's profile photoNick Alcock's profile photoDi Cleverly's profile photo
7 comments
 
+Rob Shinn, yep! Or perhaps anti-Godwinned. :)
Add a comment...

Nick Alcock

Shared publicly  - 
 
I need hardly say that Eben Moglen is always worth listening to.

But the series that starts here is just amazing, and disturbing, and makes several points that I have heard nobody make about the whole Snowden affair before now. (Among other things, the problem with the mass spying is not that the NSA was breaking the law by spying inside the US as well. What it was doing would be just as corrosive even if it was 'only' spying on everyone else in the world. Even non-Americans have the right not to be under the thumb of a totalitarian state, and certainly the right not to have the US help put them there. Isn't that what the West spent much of the last century fighting for?)

It should be very widely publicized, but clearly that's not happening: the only place I've heard of it is in a comp.risks posting, which will only be read by the sort of people who don't need telling what Moglen has to say.
6
6
Lenz Grimmer's profile photoGreg A. Woods's profile photoPhilipp Thomas's profile photoNick Alcock's profile photo
3 comments
 
An underappreciated man. :)
Add a comment...

Nick Alcock

Shared publicly  - 
 
So... inside "Communities" you can't turn off multicolumn view.

Sigh. So much for Communities, I can't use them any more until this is fixed :(
2
Phil Tubb's profile photoQítiān Dàshèng Sūn Wùkōng's profile photoAnis Zarraa's profile photoNick Alcock's profile photo
13 comments
 
+Phil Tubb, you can also turn it off by telling the settings pane that you're using a screen reader (!)
Add a comment...

Nick Alcock

Shared publicly  - 
 
The power of vi.

I don't often do editor flaming, but in honour of tomorrow's Emacs Conf in London, and because being facetious is its own reward, I feel I must share this git commit message, immortalizing the power of vi. I don't know that Albert Astals Cid uses some vi variant, but it seems quite likely from this failure mode, in the commit releasing Poppler 0.20.4:

commit 5fd691dc58aac817bca81c87c4820afcf53989d1
Author: Albert Astals Cid <aacid@kde.org>
Date:   Mon Sep 10 19:29:01 2012 +0200

    0.20.40.20.40.20.40.20.4

<http://cgit.freedesktop.org/poppler/poppler/commit/?id=5fd691dc58aac817bca81c87c4820afcf53989d1>
1
Paul Tomblin's profile photoBrian Fitzgerald's profile photoQítiān Dàshèng Sūn Wùkōng's profile photoNick Alcock's profile photo
14 comments
 
Does all this imply that both vi and emacs should be kept in the gun safe rather than in the nightstand drawer when you're admin for a business-critical resource?
Add a comment...
People
Have him in circles
148 people
Jed Davis's profile photo
Mark van Walraven's profile photo
Seth Breidbart's profile photo
Basic Information
Gender
Male
Other names
Nix
Work
Employment
  • Oracle Corporation
    Software Developer
Links