<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://lambda-the-ultimate.org">
<channel>
 <title>Lambda the Ultimate - Admin</title>
 <link>http://lambda-the-ultimate.org/taxonomy/term/3/0</link>
 <description>Administrative Announcement</description>
 <language>en</language>
<item>
 <title>LtU is now running in a new, more stable environment</title>
 <link>http://lambda-the-ultimate.org/node/5654</link>
 <description>&lt;p &gt;LtU has experienced a long period of downtime recently. Its software infrastructure was outdated enough that it became difficult to maintain when problems arose. It has now been migrated to a brand new environment. It should be much more stable from now on.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Wed, 31 Aug 2022 06:37:45 +0000</pubDate>
</item>
<item>
 <title>Captcha </title>
 <link>http://lambda-the-ultimate.org/node/5535</link>
 <description>&lt;p &gt;Note to those who tried to sign up but couldn&#039;t get passed the broken captcha: we removed it, so please try again. Email me directly to activate the account, once you&#039;ve created it and got the automatic email.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Sun, 08 Jul 2018 06:36:55 +0000</pubDate>
</item>
<item>
 <title>Copattern matching and first-class observations in OCaml, with a macro</title>
 <link>http://lambda-the-ultimate.org/node/5477</link>
 <description>&lt;p &gt;&lt;a href=&quot;https://www.researchgate.net/publication/319416704_Copattern_matching_and_first-class_observations_in_OCaml_with_a_macro&quot;&gt;Copattern matching and first-class observations in OCaml, with a macro&lt;/a&gt;, by Paul Laforgue and Yann Regis-Gianas:&lt;/p&gt;
&lt;blockquote &gt;&lt;p &gt;Infinite data structures are elegantly defined by means of copattern matching, a dual construction to pattern matching that expresses the outcomes of the observations of an infinite structure. We extend the OCaml programming language with copatterns, exploiting the duality between pattern matching and copattern matching. Provided that a functional programming language has GADTs, every copattern matching can be transformed into a pattern matching via a purely local syntactic transformation, a macro. The development of this extension leads us to a generalization of previous calculus of copatterns: the introduction of first-class observation queries. We study this extension both from a formal and practical point of view.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p &gt;Codata isn&#039;t well supported enough in languages IMO, and supporting it via a simple macro translation will hopefully make it easier to adopt, at least for any language with GADTs.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Tue, 26 Sep 2017 15:13:32 +0000</pubDate>
</item>
<item>
 <title>Happy Birthday, dear Lambda: 17 is good edition</title>
 <link>http://lambda-the-ultimate.org/node/5458</link>
 <description>&lt;p &gt;Seventeen years ago to the day, LtU was &lt;a href=&quot;http://lambda-the-ultimate.org/classic/message1.html&quot;&gt;born&lt;/a&gt;. I guess it&#039;s about time I stop opening these birthday messages by saying how remarkable this longevity is (this being the fate of Hollywood actresses over 25). Still, I cannot resist mentioning that 17 is &quot;good&quot;  (טוב) in &lt;a href=&quot;https://en.wikipedia.org/wiki/Gematria&quot;&gt;gematria&lt;/a&gt;, which after all is one of the oldest codes there are. It&#039;s is very cool that the last couple of weeks had a flurry of activity. This old site still got game.&lt;/p&gt;
&lt;p &gt;I will not try to &lt;a href=&quot;http://lambda-the-ultimate.org/node/2915&quot;&gt;summarize&lt;/a&gt; &lt;a href=&quot;http://lambda-the-ultimate.org/node/4025&quot;&gt;or&lt;/a&gt; &lt;a href=&quot;http://lambda-the-ultimate.org/node/4578&quot;&gt;pontificate&lt;/a&gt;. The community has grown too big and too unruly for that and I have been more an absent landlord recently than a true participant (transitioning from CS to being a professional philosopher of science and having kids took a bit more of my free time than I expected). &lt;/p&gt;
&lt;p &gt;One thing I always cherished about LtU was that we welcomed both professional, academic work, and everything and anything that was cool and fun in programming languages. It was never a theory only site. So here&#039;s a little birthday party game instead of a long summary.&lt;/p&gt;
&lt;p &gt;&lt;strong &gt;Which new (or old) languages inspire you to think that a good language can smoothly allow people to reach heretofore hard to reach semantic or abstraction levels?&lt;/strong&gt;&lt;/p&gt;
&lt;p &gt;I mean things that affect how the little guy thinks, not formal semantics, category theory, or what have you.  &lt;/p&gt;
&lt;p &gt;I&#039;ll start with two unconventional languages that I have had the pleasure (and exasperation) of using recently. Both are in some respects descendants of Logo, the language through which I was introduced to programming when I was a ten year old child in Brookline. They are &lt;a href=&quot;http://ccl.northwestern.edu/netlogo/&quot;&gt;NetLogo&lt;/a&gt; and &lt;a href=&quot;http://scratchjr.org/&quot;&gt;ScratchJr&lt;/a&gt;.&lt;/p&gt;
&lt;p &gt;NetLogo is a language for building agent based models (here&#039;s a &lt;a href=&quot;http://nifty.stanford.edu/2014/mccown-schelling-model-segregation/&quot;&gt;classic&lt;/a&gt; ABM for you to enjoy; if you install NetLogo there&#039;s an implementation in the model library). While some aspects of the language semantics (and syntax) are irritating, NetLogo is very good at what it does. I may say more in the comments, but the key is that a simulation consists of multiple agents, who can move and interact, and the language makes building such simulations straightforward. There is a central clock; you can address multiple agents using conditions (&quot;ask guys with [color = red] [die]&quot;); implicitly have code run by each agent etc. In fact, you hardly think about these issues. If you have no previous background in programming, it feels natural that keeping track of these and other details is not part of the task programming.&lt;/p&gt;
&lt;p &gt;ScratchJr is for young kids. It allows them to create little animated scenes, which may be responsive to touch and so on. You can record sounds and take pictures and use them as first class elements in your animations. But the nice thing for me was to notice how natural it is for kids to use the event-driven model (you can &quot;write&quot; several bits of code, and each will execute when the triggering event happens; no need to think about orchestrating this) as well as intuitively understand how this may involves things happening concurrently. These things just emerge from the way the animations are built, they are not concepts the programmer has to explicitly be aware of (which is a good thing, considering she is typically a five year old).&lt;/p&gt;
&lt;p &gt;When I see philosophy students writing netlogo and reasoning about the behavior of the agents and when I see kids playing with ScratchJr, I am reminded why I found this business of &quot;engineering abstractions&quot; so enticing when I first used structured programming to design vocabulary for the program I was writing and when I heard some language described as a language for &lt;a href=&quot;http://oai.dtic.mil/oai/oai?verb=getRecord&amp;amp;metadataPrefix=html&amp;amp;identifier=ADA185606&quot;&gt;stratified design&lt;/a&gt;.&lt;/p&gt;
&lt;p &gt;So which are your nominations for cool language based abstractions, for the little guy? Just to give us all some motivation and maybe get me worked up enough to finally delve  into algebraic effects?&lt;/p&gt;
&lt;p &gt;Happy birthday, LtU-ers. Keep fighting the good fight! &lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Fri, 28 Jul 2017 05:48:39 +0000</pubDate>
</item>
<item>
 <title>Do Be Do Be Do</title>
 <link>http://lambda-the-ultimate.org/node/5401</link>
 <description>&lt;p &gt;Monads and algebraic effects are general concepts that give
a definition of what a &quot;side-effect&quot; can be: an instance of monad, or
an instance of algebraic effect, is a specific realization of
a side-effect. While most programming languages provide a fixed family
of built-in side-effects, monads or algebraic effects give
a structured way to introduce a new notion of effect as a library.&lt;/p&gt;

&lt;p &gt;A recent avenue of programming language research is how to locally
define several realizations of the same effect
interface/signature. There may be several valid notions of &quot;state&quot; or
&quot;non-determinism&quot; or &quot;probabilistic choice&quot;, and different parts of
a program may not require the same realization of those -- a typical
use-case would be mocking an interaction with the outside world, for
example. Can we let users locally define a new interpretation of an
effect, or write code that is generic over the specific
interpretation? There are several existing approaches, such as monad
transformer stacks, free monads interpreters, monad reification and,
lately, effect handlers, as proposed in the programming language &lt;a href=&quot;http://www.eff-lang.org/&quot;&gt;Eff&lt;/a&gt;.&lt;/p&gt;

&lt;p &gt;Frank, presented in the publication below, is a new language with
user-defined effects that makes effect handling a natural part of
basic functional programming, instead of a separate, advanced
feature. It is a significant advance in language design, simplifying
effectful programming. Functions, called &lt;em &gt;operators&lt;/em&gt;, do not
just start computing a result from the value of their arguments, they
interact with the computation of those arguments by having the
opportunity to handle any side-effects arising during their
evaluation. It feels like a new programming style, a new calling
convention that blends call-by-value and effect handling -- Sam
Lindley suggested the name &lt;em &gt;call-by-handling&lt;/em&gt;.&lt;/p&gt;

&lt;p &gt;Frank also proposes a new type-and-effect system that corresponds
to this new programming style. Operators handle some of the effects
raised by their arguments, and silently forward the rest to the
computation context; their argument types indicate which effects they
handle. In other words, the static information carried by an argument
types is the delta/increment between the effects permitted by the
ambient computation and the effects of evaluating this argument. Frank
calls this an &lt;em &gt;adjustment&lt;/em&gt; over the ambient
&lt;em &gt;ability&lt;/em&gt;. This delta/increment style results in lightweight
types for operators that can be used in different contexts (a form of
effect polymorphism) without explicit quantification over effect
variables. This design takes part in a research conversation on how to make
type-and-effect systems usable, which is the major roadblock for their
wider adoption -- &lt;a href=&quot;https://www.microsoft.com/en-us/research/project/koka/&quot;&gt;Koka&lt;/a&gt;
and &lt;a href=&quot;http://links-lang.org/&quot;&gt;Links&lt;/a&gt; are also promising in
that regard, and had to explore elaborate conventions to elide their
polymorphic variables.&lt;/p&gt;

&lt;p &gt;Another important part of Frank&#039;s type-system design is the explicit separation between values that &lt;em &gt;are&lt;/em&gt; and computations that &lt;em &gt;do&lt;/em&gt;. Theoretical works have long made this distinction (for example with Call-By-Push-Value), but programmers are offered the dichotomy of either having only effectful expressions or expressing all computations as values (Haskell&#039;s indirect style). Frank puts that distinction in the hands of the user -- this is different from distinguishing pure from impure computations, as done in &lt;a href=&quot;http://fstar-lang.org/&quot;&gt;F*&lt;/a&gt; or &lt;a href=&quot;http://why3.lri.fr/&quot;&gt;WhyML&lt;/a&gt;.&lt;/p&gt;

&lt;p &gt;If you wish to play with the language, a &lt;a href=&quot;https://github.com/cmcl/frankjnr&quot;&gt;prototype
implementation&lt;/a&gt; is available.&lt;/p&gt;

&lt;p &gt;&lt;br &gt;&lt;/p&gt;

&lt;p &gt;
&lt;a href=&quot;https://arxiv.org/pdf/1611.09259&quot;&gt;Do Be Do Be Do&lt;/a&gt;
(&lt;a href=&quot;https://arxiv.org/abs/1611.09259&quot;&gt;arXiv&lt;/a&gt;)&lt;br &gt;
Sam Lindley, Conor McBride, Craig McLaughlin&lt;br &gt;
2017
&lt;/p&gt;

&lt;blockquote &gt;
&lt;p &gt;We explore the design and implementation of Frank, a strict
functional programming language with a bidirectional effect type
system designed from the ground up around a novel variant of Plotkin
and Pretnar’s effect handler abstraction.&lt;/p&gt;

&lt;p &gt;Effect handlers provide an abstraction for modular effectful
programming: a handler acts as an interpreter for a collection of
commands whose interfaces are statically tracked by the type system.
However, Frank eliminates the need for an additional effect handling
construct by generalising the basic mechanism of functional
abstraction itself. A function is simply the special case of a Frank
&lt;em &gt;operator&lt;/em&gt; that interprets no commands. Moreover, Frank’s
operators can be &lt;em &gt;multihandlers&lt;/em&gt; which simultaneously interpret
commands from several sources at once, without disturbing the direct
style of functional programming with values.&lt;/p&gt;

&lt;p &gt;Effect typing in Frank employs a novel form of effect polymorphism
which avoid mentioning effect variables in source code. This is
achieved by propagating an &lt;em &gt;ambient ability&lt;/em&gt; inwards, rather
than accumulating unions of potential effects outwards.&lt;/p&gt;

&lt;p &gt;We introduce Frank by example, and then give a formal account of
the Frank type system and its semantics. We introduce Core Frank by
elaborating Frank operators into functions, case expressions, and
unary handlers, and then give a sound small-step operational semantics
for Core Frank.&lt;/p&gt;

&lt;p &gt;Programming with effects and handlers is in its infancy. We
contribute an exploration of future possibilities, particularly in
combination with other forms of rich type system.&lt;/p&gt;
&lt;/blockquote&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Thu, 15 Dec 2016 21:20:54 +0000</pubDate>
</item>
<item>
 <title>Admin</title>
 <link>http://lambda-the-ultimate.org/node/5361</link>
 <description>&lt;p &gt;As many of you know, the email functionality of the website has not been working for a very, very long time. In addition, all new users are still being approved by me, to combat spam. All this means manual work by me, prompted by frustrated emails by new members. Alas, given other commitments, I find that the backlog is growing and I simply cannot find the time to handle these emails (i.e., approve the user, set an initial password, let them know and ask them to change it). If any member want to help me with this, I would be grateful. This will involve getting extra admin privileges on the site, after which I can forward the requests in the pipe line to you to approve.&lt;/p&gt;
&lt;p &gt;Thanks!&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Sun, 03 Jul 2016 05:16:11 +0000</pubDate>
</item>
<item>
 <title>Dynamic Witnesses for Static Type Errors (or, ill-typed programs usually go wrong)</title>
 <link>http://lambda-the-ultimate.org/node/5355</link>
 <description>&lt;p &gt;&lt;a href=&quot;http://eric.seidel.io/pub/nanomaly-icfp16.pdf&quot;&gt;Dynamic Witnesses for Static Type Errors (or, ill-typed programs usually go wrong)&lt;/a&gt; by Eric L. Seidel, Ranjit Jhala, Westley Weimer:&lt;/p&gt;
&lt;blockquote &gt;&lt;p &gt;Static type errors are a common stumbling block for newcomers to typed functional languages. We present a dynamic approach to explaining type errors by generating counterexample witness inputs that illustrate how an ill-typed program goes wrong. First, given an ill-typed function, we symbolically execute the body to dynamically synthesize witness values that can make the program go wrong. We prove that our procedure synthesizes general witnesses in that if a witness is found, then for all inhabited input types, there exist values that can make the function go wrong. Second, we show how to extend the above procedure to produce a reduction graph that can be used to interactively visualize and debug witness executions. Third, we evaluate our approach on two data sets comprising over 4,500 ill-typed student programs. Our technique is able to generate witnesses for 88% of the programs, and our reduction graph yields small counterexamples for 81% of the witnesses.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p &gt;Sounds like a great idea to make type systems more accessible, particularly for beginners. The current limitations are described the discussion, section 54:&lt;/p&gt;
&lt;blockquote &gt;&lt;p &gt;There are, of course, drawbacks to our approach. Four that stand out are: (1) coverage limits due to random generation, (2) the inability to handle certain instances of infinite types, (3) dealing with an explosion in the size of generated traces, and (4) handling ad-hoc polymorphism.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p &gt;It&#039;s also not clear whether this would produce proper witnesses for violations of higher kinded types or other more sophisticated uses of type systems. There are plenty of examples where invariants are encoded in types, eg. &lt;a href=&quot;http://lambda-the-ultimate.org/node/1635&quot;&gt;lightweight static capabilities&lt;/a&gt;.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Sat, 18 Jun 2016 12:51:35 +0000</pubDate>
</item>
<item>
 <title>How to Build Static Checking Systems Using Orders of Magnitude Less Code</title>
 <link>http://lambda-the-ultimate.org/node/5348</link>
 <description>&lt;p &gt;&lt;a href=&quot;http://web.stanford.edu/~mlfbrown/paper.pdf&quot;&gt;How to Build Static Checking Systems Using Orders of Magnitude Less Code&lt;/a&gt;, by Fraser Brown Andres Notzli Dawson Engler:&lt;/p&gt;
&lt;blockquote &gt;&lt;p &gt;Modern static bug finding tools are complex. They typically consist of hundreds of thousands of lines of code, and most of them are wedded to one language (or even one compiler). This complexity makes the systems hard to understand, hard to debug, and hard to retarget to new languages, thereby dramatically limiting their scope.&lt;/p&gt;
&lt;p &gt;This paper reduces the complexity of the checking system by addressing a fundamental assumption, the assumption that checkers must depend on a full-blown language specification and compiler front end. Instead, our program checkers are based on drastically incomplete language grammars (“micro-grammars”) that describe only portions of a language relevant to a checker. As a result, our implementation is tiny—roughly 2500 lines of code, about two orders of magnitude smaller than a typical system. We hope that this dramatic increase in simplicity will allow developers to use more checkers on more systems in more languages.&lt;/p&gt;
&lt;p &gt;We implement our approach in µchex, a language-agnostic framework for writing static bug checkers. We use it to build micro-grammar based checkers for six languages (C, the C preprocessor, C++, Java, JavaScript, and Dart) and find over 700 errors in real-world projects.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p &gt;Looks like an interesting approach with some compelling results, and will make a good tool for the toolbox. See also &lt;a href=&quot;https://www.reddit.com/r/programming/comments/4m523f/how_to_build_static_checking_systems_using_orders/&quot;&gt;the Reddit thread&lt;/a&gt; for further discussion.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Thu, 02 Jun 2016 13:44:58 +0000</pubDate>
</item>
<item>
 <title>GADTs Meet Their Match: Pattern-Matching Warnings That Account for GADTs, Guards, and Laziness</title>
 <link>http://lambda-the-ultimate.org/node/5261</link>
 <description>&lt;p &gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/pattern-matching/gadtpm-acm.pdf&quot;&gt;GADTs Meet Their Match: Pattern-Matching Warnings That Account for GADTs, Guards, and Laziness&lt;/a&gt; by Georgios Karachalias, Tom Schrijvers, Dimitrios Vytiniotis, Simon Peyton Jones:&lt;/p&gt;
&lt;blockquote &gt;&lt;p &gt;For ML and Haskell, accurate warnings when a function definition has redundant or missing patterns are mission critical. But today’s compilers generate bogus warnings when the programmer uses guards (even simple ones), GADTs, pattern guards, or view patterns. We give the first algorithm that handles all these cases in a single, uniform framework, together with an implementation in GHC, and evidence of its utility in practice.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p &gt;Another great paper on a very useful incremental improvement on GADTs as found in Haskell, OCaml and Idris. Exhaustiveness checking is critical for a type system&#039;s effectiveness, and the redundant matching warnings are a nice bonus.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Sat, 10 Oct 2015 02:37:45 +0000</pubDate>
</item>
<item>
 <title>Domain settings</title>
 <link>http://lambda-the-ultimate.org/node/5060</link>
 <description>&lt;p &gt;I am about to make some changes to the name server definitions. Since changes take time to propagate, you may have trouble reaching the site for awhile. If this happens, try using the .com domain instead of the preferred .org domain.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Sat, 04 Oct 2014 11:24:32 +0000</pubDate>
</item>
<item>
 <title>LtU&#039;s new server</title>
 <link>http://lambda-the-ultimate.org/node/5053</link>
 <description>Lambda the Ultimate is now running on a new, faster, more reliable server.  The old one is now, uh... pining for the fjords.

This should resolve the increasingly frequent outages we&#039;ve seen recently.

Because the old server had started failing, we didn&#039;t have time to do as much quality control on the migration as we would have liked.  If anyone notices any issues with the site, please comment in this thread.

Currently known issues:

&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;text-decoration:line-through&quot;&gt;Non-Latin UTF-8 characters apparently didn&#039;t survive the database migration correctly.  This is a particular issue if you have a username containing non-Latin characters - you may not be able to log in currently.&lt;/span&gt;
&lt;li&gt;&lt;span style=&quot;text-decoration:line-through&quot;&gt;It&#039;s possible that some comments posted later on Monday don&#039;t appear on the new site&lt;/span&gt;. (Resolved: there were no missing comments)
&lt;li&gt;New user signup emails are not yet working.
&lt;li&gt;&lt;span style=&quot;text-decoration:line-through&quot;&gt;Due to DNS propagation, not everyone will see the new site immediately.&lt;/span&gt; (Now resolved)
&lt;/ul&gt;

The struck out issues have been resolved.  The remaining issue, with user signup emails, should be resolved in the next few days.
</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Tue, 23 Sep 2014 07:26:16 +0000</pubDate>
</item>
<item>
 <title>LtU is migrating from Drupal </title>
 <link>http://lambda-the-ultimate.org/node/4709</link>
 <description>&lt;p &gt;As many of you know we have been suffering for a long time from the deficiencies of Drupal. We have not updated our infrastructure for a long time. Among the features members have been asking for are better integration with other sites and more social features. In particular, many said they want to be able to mark the posts that they find particularly helpful. I am happy to announce that we have big news!&lt;/p&gt;
&lt;p &gt;In the coming days we will be migrating LtU from Drupal to Facebook. All the awesome features of Facebook will be automatically available; in particular the &quot;Like&quot; mechanism. You will also be able to share photos with other PLT enthusiasts, re-share their shares etc. Best of all, you will be guaranteed the privacy standards of Facebook.&lt;/p&gt;
&lt;p &gt;Rest assured, we have not made this decision without considering the alternatives. We studied Google+ but given Google&#039;s unprovoked assault on RSS with the decision to discontinue Google Reader we found it unconscionable to go with Google. &lt;/p&gt;
&lt;p &gt;LtU&#039;s twitter feed will have to go, I am afraid, given the relationship between our new home and twitter. Hopefully this issue will be resolved once twitter gives up and is acquired by FB. &lt;/p&gt;
&lt;p &gt;The LtU feed will have ads, per usual on FB. I know this is somewhat of an inconvenience, but at least the ads you will be served will be personalized[1].&lt;/p&gt;
&lt;p &gt;Ehud and the LtU Team.&lt;/p&gt;
&lt;p &gt;[1] I am assured that ads for dynamically typed and scripting languages will never be served to you again after you mark them as &quot;offensive&quot; once. &lt;/p&gt;
&lt;p &gt;&lt;strong &gt;&lt;br &gt;
Update: No, we are not migrating to Facebook. This was an April Fools joke.&lt;/p&gt;
&lt;p &gt;&lt;/strong&gt;&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Sun, 31 Mar 2013 21:42:57 +0000</pubDate>
</item>
<item>
 <title>Who&#039;s online </title>
 <link>http://lambda-the-ultimate.org/node/4703</link>
 <description>&lt;p &gt;Earlier today I enabled a drupal feature that list the names of users currently online. It was on the bottom of the right-hand navigation bar, and looked something like this:
&lt;p &gt;&lt;b &gt;Who&#039;s online&lt;/b&gt;&lt;br &gt;
There are currently 7 users and 887 guests online.&lt;br &gt;
Online users:&lt;/p&gt;
&lt;p &gt;    Matt M&lt;br &gt;
    Ehud Lamm&lt;br &gt;
    Mattias EngdegÃ¥rd&lt;br &gt;
    naasking&lt;br &gt;
    Andreas Rossberg&lt;br &gt;
    ...&lt;/p&gt;
&lt;p &gt;Some might see this as a privacy violation or otherwise object. Since I heard complaints I disabled this feature. What do you think? &lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Wed, 27 Mar 2013 18:51:20 +0000</pubDate>
</item>
<item>
 <title>Setting up new accounts suspended</title>
 <link>http://lambda-the-ultimate.org/node/4591</link>
 <description>&lt;p &gt;Due to issues with spam accounts I have suspended the creation of new accounts. New members cannot sign up for an account at the moment. I apologize for the inconvenience. &lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Sun, 19 Aug 2012 18:56:53 +0000</pubDate>
</item>
<item>
 <title>Self.congratulate </title>
 <link>http://lambda-the-ultimate.org/node/4578</link>
 <description>&lt;p &gt;So, LtU is 12!! I don&#039;t think this should go unnoticed. But as I was mostly quiet around here this year I am not qualified to offer a state of the lambda retrospective. Feel free to do so in the comments and, as they say, have some &#039;(cake).&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/3">Admin</category>
 <pubDate>Tue, 31 Jul 2012 20:27:23 +0000</pubDate>
</item>
</channel>
</rss>
