Dan Ariely Tries to Fix Email (2017) - <AUTHOR> https://www.theatlantic.com/business/archive/2017/03/economist-email-less-painful/518934/?single_page=true <comment><USER2> (I'm the PM on Gmail for intelligence and filtering)

Based on Dan's research we built a new gmail feature: high priority notifications. It only sends you a push notification for really important messages, cuts out over 90% of Gmail notifications for most users. [https://www.google.com/amp/s/mashable.com/2018/06/15/gmail-a...](https://www.google.com/amp/s/mashable.com/2018/06/15/gmail- ai-filter-email.amp)

Importance is defined by a model trained on reply rate and a few other engagement metrics.

Edit: High priority notifications is now available for both Android and iOS, contrary to what the link I included says

<comment><USER3> Hi prlambert! Could I run a few Gmail bugs/feature improvements by you so you could run them by someone if appropriate? I've struggled to find a way to contact the Gmail team.

\- Say you have a thread with 1 important+read email from weeks ago, and 1 unimportant+unread email received just now. There is a bug in Gmail conversation view in that it will neither appear in the "unread" section nor in the "important" section. The entire _conversation_ is deemed important, so it's categorized into the "important" section rather than the "unread" section, but the conversation doesn't appear at the top of the section because the new email isn't important; the conversation date is grabbed from the earlier message, which is pushed way off the page since that message was from a long time ago. The end result is the user sees a baffling "Inbox (1)" without seeing any unread emails on the inbox page. Which is at least noticeable if you're the kind of person who regularly has "Inbox (1)", but if you're the kind who has "Inbox (5198)" then there's no way you're ever going to notice that email.

\- Sometimes I deem an email important, but I don't want it cluttering up the Important section after I've handled it. But marking it as not-important would send the wrong feedback. I feel like this might not be an uncommon use case. Do you guys have any plans to address it?

\- There's no way to keep an email marked as "spam" while still moving it out so as to save a copy. It will automatically get marked as "not spam". Could you guys please have a way to look into this?

\- Related to spam but unrelated to importance: There is a bug where, if you have a filter to "never mark as spam", it will also apply the Inbox label. This breaks other filters that "archive" that same email.

\- Unrelated to importance & spam, but in the new version of classic Gmail (I'm NOT referring to the new Gmail here) changing conversation view reloads all of Gmail. This wasn't the case before. Any chance they could fix this? It would be awesome if they could also provide a way to change email importance per-message rather than per-conversation.

\- Also unrelated, but while I'm here: any chance you guys could add a "send- now" button for Undo Send? It makes life easier for the few occasions when you really want to send a response immediately rather than in 30 seconds.

Thank you!

<comment><USER2> Thanks for all the feedback! I can address of few of these.

1\. Threads should be sorted by date of most recent email, regardless of importance. This sounds like a real bug and I'll dig into it.

2\. Yes, great feedback. You could archive it, does that work?

3\. What's the use case? Why do you want to keep spam? You could forward it to yourself and it should work (a bit hacky, i admit)

The last 3 are all not going to happen for a number of hard reasons, unfortunately.

<comment><USER3> Thanks for the reply!

1\. Thanks! Let me know if you need additional info or can't repro, the last time this happened to me was a while ago (doesn't happen often since it requires subsequent emails to be far apart in time and categorized with different importance). EDIT: I just repro'd it again. The conversation ordering under the Important section is definitely based on the date of the last Important message rather than the date of the last message, so the conversation will fall out of the screen if the last important message in that conversation was a long time ago.

2\. I use archiving for emails that I want records of, but that I don't want cluttering my inbox or appearing on my screen at all, unfortunately (like notifications about some activity on other sites). It's not the same thing as, say, a personal email or something from a mailing list that was unimportant but that should still get a little bit of eyeball time at some point.

3\. There are a few use cases... sometimes I want to investigate why I got some spam after the 1-month period when it's deleted, meaning I want the message headers etc. to be there. Other times I want a filter that automatically keeps everything matching it because I might not be able to guarantee that I'll look into the spam folder every month, and I cannot risk losing some emails that way. (How do I respond when someone asks if I got their email and I don't have a copy to check?) I honestly think there's no compelling reason why whether or not an email is spam _has_ to be tied to its lifetime.

For undoing, any chance you could address why "View Message" couldn't just send the email right then? It's impossible to undo afterward, so delaying after it's clicked seems entirely counterproductive, right?

</comment></comment></comment></comment><comment><USER4> I think there is a different problem: people do not know how to use email. 1) people do not know how to properly quote messages 2) people do not understand that mail are quick "mail", not chats 3) people do not know that mail are not file sharing solution

Personally I have inbox zero via notmuch-emacs, and I use mails for nearly anything feeds included (RSS2Email) mails are automatically filtered on remote via IMAPFilter and I can refile locally if needed but I try to avoid doing so to have more "automatic" solution.

A proper taxonomy + a proper full-text and tag search are the solution, all messages locally under our control. Unfortunately for most there are ZERO modern MUA, only webmails are developed so most people are stuck with '90-era client and so leave their mailboxes in a messy state or leave their message on someone else server without any real personal backup.

I think this is wanted by many "big" that prefer proprietary platforms with various lock-in like webmails or even more "new things" with much more lock-in from Discourse to Slack, Disqus, Whatsapp etc. ALL of them are a limited proprietary solutions trying pushing people out of emails.

<comment><USER5> The automatic quoting that email applications perform gives me a headache. 90% of the emails I receive require no quote, yet contain like 20 levels of indented quotes from the chain of messages that add nothing but noise. Modern mail readers already chain the messages together, but are not perfect when it comes to filtering out the quotes.

In my opinion, people should be more involved with the quoting of the previous message. Perhaps the customer could highlight the part of the previous message they want and have that become the quote. Or maybe a button when we write an email that will pull in the messages we're responding to as a quote.

<comment><USER6> > In my opinion, people should be more involved with the quoting of the > previous message. Perhaps the customer could highlight the part of the > previous message they want and have that become the quote. Or maybe a button > when we write an email that will pull in the messages we're responding to as > a quote.

Thunderbird supports that. Highlight the part of the original message that you want to become the quote, and hit 'Reply'.

<comment><USER5> I wish it was compulsory. The default in most mailers (specifically GMail) to quote the entire body in the reply is, in my opinion, terrible.

</comment></comment></comment></comment><comment><USER7> Is email even broken? Seems fine to me. I'd love to use it more, actually, over the abomination that is Slack and constant notifications and distractions.

Also, it will never be focused on your needs if it's free. Just pay the damn five bucks a month for fastmail or protonmail, etc. Or roll your own server. You'll get a nice clean interface and nobody shoving crap like AMP for email (aka embrace, extend, extinguish) down your throat. In my experience the spam filtering on fastmail has been just as good as gmail.

And notifications are the devil. Does anyone else get a little angry when they see ANY icon with some dumb pip with a 99+ next to it? Or any number? I'll check it when I'm good and ready. Maybe I should get a physical mailbox that starts screaming at me every time the mail comes too.

I have a telephone for notifications and they're activated by people calling me (or text/signal/whatsapp, but I can mute those as I desire). They know to do it if it's important. Anything else can be async. Life is frenetic enough.

I realize I may be a curmudgeon.

<comment><USER8> One way that email is hugely broken for the industry I am in is the inability to send attachments exceeding 25mb without using a file sharing service. If that could be fixed I'd be happy as a clam.

<comment><USER9> No one should be using e-mail as a file transfer protocol. There are better solutions for that.

I'm glad I could help fix that for you!

</comment></comment></comment><comment><USER10> > In this data, Ariely saw an inefficiency to target. Even though every email, > by default, triggers a notification, it's unlikely that any given email > deserves one. So, with the help of some software developers he'd worked with > in the past, he tried to come up with a way to tweak the default settings > that are baked into email. The result of that work is Filtr, an app that > lets users make simple rules, based on the sender, about when an email will > show up in their inbox. For example, users can set it up so that emails from > family members show up immediately, but non-time-sensitive newsletters show > up all at once, at the end of the day.

Again... Google is already trying to do this for me. No, thank you - I can easily set up there rules for myself.

<comment><USER11> Just wait for that time when your (free) email provider will temporarily insert the newsletter in your "alert me immediately" rule. Anything that can be offered for money will be offered for money.

I hope I'm being too cynical and pragmatic.

<comment><USER12> > _I hope I 'm being too cynical and pragmatic._

Take a look at the comments in the thread about Huawei cheating on benchmarks: [https://news.ycombinator.com/item?id=17931549](https://news.ycombinator.com/item?id=17931549). TL;DR: yes, they're doing it, yes everyone else is doing it too, has been doing it since forever, and it's not just phones, it's PC GPUs as well.

You're not being too cynical. The world is just fucked up.

<comment><USER13> The world isn't fucked up. The world operates the way it operates. It's your expectations that are fucked up.

Human beings love resources (money), power and control. Anything that gives them that can and will be exploited. Approach the world with that in mind and you can anticipate the vast majority of these issues. Game designers do this all the time without worrying about being "cynical".

</comment></comment></comment></comment><comment><USER14> This is cool, but feels a bit frustrating because the design of email means this was always easy to do. People just use poorly-designed interfaces/mail handlers. I wish it was titled "...tries to fix the way we interact with email."

I guess I wish the focus was on how email, as a basic underlying protocol, allows you to overlay whatever interface you want to match your productivity, and an example of how we can take advantage of this. Generally the UIs we use are designed by large companies to help themselves, only tangentially to help us...but if we stick to open and simple protocols, then we always have options available.

</comment><comment><USER15> The major problem with email is that computers scale wildly different than people do. If one were to print out all one's new emails and put them in an old style physical inbox it would immediately be apparent how ludicrous the situation is.

I wouldn't be surprised if the relatively higher cost of paper office memos actually increased organizational efficiency by limiting junk and noise.

</comment><comment><USER16> Wish we could see something like this in gmail.

I spent some time at a sales position and working with email has always been hard

<comment><USER2> Could you be more specific? Which features would you like to see?

<comment><USER17> For what its worth, I am currently looking at ProtonMail again because I find "suggested replies" too creepy. It is actually stressful, at the "increased heart-rate" level, to see those and be constantly reminded I have no privacy at Google. Gmail is the best email client IMHO but suggested replies may finally drive me away.

<comment><USER18> I might be a minority, but I actually like this feature, as it has saved my ass a few times already in terms of replying to emails from my boss / boss's boss, so I'd vote to have it be optional rather than have Gmail remove it.

(Edit: it looks like you CAN turn it off in the settings.)

<comment><USER17> I actually would assume the usage stats would be very good on the feature. I am not sure if you can turn it off on the web, I will look again. Unfortunately it is a bit of a Pandora's box situation; just knowing it is happening is the problem. That said, out of sight, out of mind. As much as I like to think I'm driven by principle, I haven't stopped using Gmail yet.

<comment><USER2> You can disable Smart Reply from the mobile apps, the setting isn't there on Web yet. Honestly we just haven't prioritized it yet.

Here's some info on how it works if it helps address your concern: We've transformed the language generation problem into a labelling problem. From a systems point of view it's not any different from spam filtering, or tabbed inbox, and we use the exact same features. Smart Reply uses a whitelist of around 30k independently generated & sanitized phrases. You could think of each whitelist entry as a label. So when an email comes in on the delivery pipeline we just label things, like we've always done. We label (spam/not- spam) for spam filtering, we label (promo/social/update/forum) for tabbed inbox, and we label (Thanks!/Sounds good!/etc/etc) for smart reply.

<comment><USER17> Thanks very much for the reply, that is very interesting. It is really a very smart feature, and I cannot explain rationally why that is the one thing that pushes me over the line into "this is too creepy."

Do you record what responses people choose? If so is that data used to personalize the responses or just stored in aggregate?</comment></comment></comment></comment></comment></comment></comment>


Forget Passwords.Use JAR - <AUTHOR> https://www.kickstarter.com/projects/itisonyou/forget-passwords-use-jar

<comment><USER2> > We sign the request from service providers like Kickstarter by > authenticating trustworthy partners with unique certificates, to make sure > that not the fraudulent website "Kikkstarter" requests John's data

> If the signature of Kickstarter's request is valid

So how exactly does the JAR learn Kickstarters public key? Is this based on PKI or pinning/caching? Where's the trust anchor here?

Also it's not clear without a protocol specification whether this provides complete mutual authentication of ephemeral sessions (otherwise active MITM/spoofing is still going to be possible). Several round-trips to the server will typically be required to guarantee this.

> If you lose your JAR, you can call us or go online to deactivate it.

So the company behind JAR can deactivate my device. And if they go bankrupt? What if they get hacked? How do I authenticate myself on their website to deactivate my JAR. I can't use my JAR because, well, I've lost my JAR. So do I use a password?

What makes this better than Clef[0], which is a free app and based on a similar rudimentary RSA-signed challenge-response protocol?

> If you purchase a JAR, we store your personal information on our server

Why?

> The customer target price is €99.

You really think people are going to pay this much when many new devices are already shipping with fingerprint readers built-in? Where's your business model if every laptop and every phone is shipping with a fingerprint reader in 5 years time? And are you aware the next series of Intel CPUs contain built-in OTP (one-time password) code generation specifically for two factor authentication? These won't even need browser plugins or peripherals because the technology will be accessible to software directly.

[0] [https://getclef.com/](https://getclef.com/)

</comment><comment><USER3> This is great!</comment>


Tell HN: I'm a peacock, you've got to let me fly - <AUTHOR>

I've always read other people's proclamation here on HN.  Today, I am doing mine:
I'm 28 years old and my wife thinks we should have kids in a few years.  I've been working for a few startups and started a few trivial things; but today, I've told my current employer (who is one of the best places to work for!) that I am going to pursue my own startup dream.
The feeling is NOT mixed.  I am not worried nor I am scared.  I strongly believe that my idea will work for the market I would like to be in.  I have 3 months to do it and I WILL make it happen.
Destiny, bring it on! <comment><USER2> I'm just curious, why do you believe your idea will work for the market? I'm always interested in how people approach market research.

<comment><AUTHOR> I honestly don't know perhaps instinct. I see a need and I feel that if I set out to solve that need, people would want it. Who knows, but I need to believe that what I am doing is going to work. I will validate it soon with an MVP and we will revisit this question again when that time comes. I hope you and I can have that discussion again then.

Thank you for your support.

<comment><USER2> Best of luck then. Give me a shout if you want some feedback in the future.

</comment></comment></comment><comment><USER3> Congratulations! Any hints about the startup?

<comment><AUTHOR> Soon enough, my friend. I'll be back in another month. I'm going commando (the Vietcong style, not the nude style of course) for the next month hopefully. When that time comes, I would love to get your support.

Once again, thank you for your kind words and encouragements.</comment></comment>


What makes programming so hard? Can non-programmers invent algorithms? - <AUTHOR> http://www.amazon.com/gp/blog/post/PLNK2DYCU7ANMP5E6

<comment><USER2> And organic chemistry isn't hard?

Programming is a _profession_. Professions are hard. That's what makes them professions.

If it was easy, then people would just do it as part of other activities, and there would be no specialization worth of the title profession. We don't think of typing in URLs as a profession, or spell checking documents, but we do think of graphic design or architecture as professions.

Programmers are operating close to the limit of human capability, just as other professionals are. Only a few people can do it well because it's a talent which is unequally distributed, just like being able to draw.

As for why this particular activity pushes that limit? The hardest part of programming is building mental models of non-existent objects which have no natural analogs. It's dealing with the "virtual."

<comment><USER3> Teachers are operating "close to the limit of human capability"? Farmers? Policemen?

Some professions are just more natural for people - programming on the other hand is fairly unnatural.

</comment></comment><comment><USER4> Its all about motivation. 20% of his students genuinely _wanted_ to know how computers work. They were naturally _curious_. Curiosity is what drives an educational process. Good teachers try to get children curious, fascinated by something, and then very effectively explain how the phenomena works.

I hated physics in middle school, but in high school I got lucky and met the most amazing physics teacher the world had seen. That changed not only my grades, but my perspective on technology, world and life.

</comment><comment><USER5> Part of the problem is that we usually teach in procedural style -- but this requires learning the MOST abstractions to do anything useful. Procedural style is based on variables, loops, conditionals, and side effects. Functional style is just based on function calls and conditionals; this makes it far easier to explain.

A larger part of the problem, I suspect, is that people are just _not interested_ in the process of programming -- it's the product they want. The first thing you'll notice when you try to teach someone to program (in the normal case) is that they are focused to a fault on making the program work. This is the same problem that keeps people stuck to a single language: "well, it works." You need a genuine interest in the journey, not just the destination, to really be able to wrap your mind around the skill of programming. That's what gives someone the ability to intuitively understand how computers "work."

You wouldn't try to drive cross-continent if you're only interested in what's on the other side -- you'd just fly there, or take a train or bus or something. Likewise, if you're not interested in _how_ a program does what it does, you should just pay someone who does care to do it.

<comment><USER6> Who needs conditionals? ;) <http://en.wikipedia.org/wiki/Church_boolean#Church_booleans>

But really - I agree. Functional programming is easier to explain without resorting to all sorts of helpful lies. At the university I am helping freshmen learn C.

</comment></comment><comment><USER3> Learning to program means mastering lots of new abstractions, becoming comfortable with them, and being able to use them. And I know that if I encounter too many new abstractions at a time, my mind simply shuts down. This happens each time I try to learn Haskell for instance. I'm following a tutorial, and suddenly I encounter this:

        parseNumber = liftM (Number . read) $ many1 digit

And then I've hit a road block. This can be solved by better teaching materials. Most education in general is simply bad and terribly inefficient compared to what it could be (but I'm working on it...)

Another thing is attitude. Everyone programmer encounters really hard or confusing problems all the time - the trick is being really stubborn, and never give up. That doesn't come naturally to most people.

Finally, most things we learn, we learn by imitating others. Our brains are hardwired to learn that way, but it's not very helpful for learning to program.

<comment><USER7> "Finally, most things we learn, we learn by imitating others. Our brains are hardwired to learn that way, but it's not very helpful for learning to program."

I would like to disagree (respectfully). Although in most CS programs, algorithms and PL classes tend to be heavily proof-based and end up being exercises in tedium. As a TA for a intro. programming class, I would like to present the latest problem-set to students as some kind of narrative, sketch out what makes the problem interesting and the natural flow of the program structure that follows the problem, that comes spontaneously to the mind. So in a way, people are learning by imitating/doing, and not grinding out the hard theory first.

Honestly, I don't think everyone here learned for the first time about loop's, as according to proving that loop variants hold on during the iterations; or convinced themselves the way that various data structures work, by way of category theory. You learned it by doing, and you know that it just intuitively works. While functional PL is harder than Java, I think it works the same way; you change the way you think and in turns, the way you program, by doing.

<comment><USER8> Maybe that is one thing that makes CS more difficult than other areas... that you _must_ learn by doing. We really are hard-wired to learn by imitation (as the original commenter said). That is how we learn language, social norms, etc. CS, however, is definitely something that you need to learn by doing.

Interestingly, that may also explain the idea of "computer geeks". If CS selects for people who learn by doing instead of by imitation, you are more likely to see those types of individuals. If social norms and social interaction is learned by imitation, those are abilities that are harder to learn for someone who is more inclined to learn in another way.

</comment></comment></comment><comment><USER9> Some people are good at constructing mental models from a symbolic or linguistic description. Most need help constructing the mental model. That's why Montessori math education includes so many hands-on materials.

DrScheme has a stepper that helps visualize expression evaluation. I think that can go a long way toward helping "non-programmers" learn.

<comment><USER10> I like the mental model description. I think programming (like other skilled arts) requires constant evolution of programming mental models or memes.

Developing new languages is a great exercise in creating new tools to solve specific problems. Rails really kicked the status quo and made programming so much easier for a bunch of us. But is it possible to ever create a language that will make all the different kind of programming problems equally easy? It always seems like there is a tradeoff, programming abstractions vs performance. As another case, all of us know english, but how many of us are great writers? (not I! haha)

Great link though. Look forward to the day when game programming is as easy as brainstorming out loud to our computers.

</comment></comment><comment><USER11> Personally I think there might be something genetic. The same people that get computer science are good at a lot of other things that folks that don't understand programming don't seem to be great at. Look at Calculus or Physics. 20% of the students just get it, most of the class needs to memorize formulas and 20% of the people just don't get it at all.

<comment><USER12> I think it's not about Calculus or Physics, it's about Logic.

<comment><USER13> Exactly. Algorithms are simply ways of approaching and solving a problem, and the ability to devise clever ones is portable between disciplines. At my college, several professors in the CS department hadn't programmed anything since the '70s.

The balkanization of science and liberarl arts is probably the worst thing about university education today. The unwillingness of either to import valuable concepts from the other ends up hurting both.

</comment></comment></comment><comment><USER14> The best programmers are generally those who have learned it at a young age. Maybe that's the best time for the brain to pick it up.</comment>


Emacs Lisp JIT Compiler - <AUTHOR> https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00393.html <comment><USER3> I hate to be "that guy," but what happened to the Guile-Emacs project? Guile performs way better than Elisp too, but (perhaps more importantly) raises the possibility of writing configuration and extensions in Lua and Scheme.

<comment><USER4> IMHO switching to Guile from C is moving in the wrong direction: rather than going from a poor-but-performant systems programming language like C to a pedagogic language like Scheme, it'd be a better idea to move to an rich-and- performant language meant for industrial systems programming like Common Lisp. Scheme's a pretty little language, but it's not meant for building large applications. Indeed, elisp's weaknesses are IMHO mainly where it's most akin to Scheme (e.g. its flat namespace).

I also think it'd be a bad idea to make it too easy to write emacs extensions in anything but a Lisp, because that would fragment the ecosystem. If we're going to replace elisp, it should be with a better Lisp, not with a lesser language (e.g. Lua, Python, Ruby … whatever).

The great thing about a JIT is that we get a speedup without changing the actual implementation language or fragmenting the ecosystem.

<comment><USER3> The idea was to replace Emacs's embedded Elisp interpreter with Guile's, not to rewrite Emacs in Guile Scheme.

<comment><USER5> Why not just replace Emacs's embedded elisp interpreter with one written in Common Lisp? CLOCC has a basic elisp interpreter already: [https://sourceforge.net/p/clocc/hg/ci/default/tree/src/cllib...](https://sourceforge.net/p/clocc/hg/ci/default/tree/src/cllib/elisp.lisp)

Take that, put a little work into it and one could presumably replace the C core of Emacs with Common Lisp.

<comment><USER6> Stallman hates Common Lisp.

[https://www.gnu.org/gnu/rms-lisp.en.html](https://www.gnu.org/gnu/rms- lisp.en.html)

<comment><USER7> Thanks, that was a fun read. BTW, I don't think Richard totally dislikes Common Lisp: years ago I got an email from him about releasing my ancient Springer-Verlag Common Lisp book under the FSF documentation license. Unfortunately I couldn't do it because I didn't have the manuscript files.

<comment><USER8> If you own the copyright to the text couldn't you make it known that if someone were to OCR it, clean up the formatting, and publish it that the result could be freely distributed?

<comment><USER9> I guess in a fair and honest world, yes because it's legal?

But in our actual world, it's also legal but publishers may play dirty and somehow claim rights because you published something based on their edition?

Just thinking out loud.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> That's quite a blast from the past.

Good on Aleksey for picking it up and modernizing libjit to this point.

And for everyone who thinks of LLVM in this context, here's a thread with some "primary sources" [1].

[1] - [http://lists.gnu.org/archive/html/dotgnu- libjit/2004-05/msg0...](http://lists.gnu.org/archive/html/dotgnu- libjit/2004-05/msg00012.html)

<comment><USER11> AFAIK, llvm jit is incredibly slow, to the point that certain emulators that have used it have had to drop it for performance's sake.

<comment><USER12> IIRC LLVM relatively recently did a major overhaul of the JIT API, including better support for lazy compilation. That might improve compilation speed drastically

</comment></comment></comment><comment><USER13> Don't miss the later comments by Richard Stallman (creator of Emacs), and Tom's reply:

      Richard> I don't think a 3% speedup is worth those drawbacks.
      Richard> Or even a 10% speedup.
      Richard> A really big speedup would justify the costs.

      Tom> It is 3x, not 3%.

Mic drop.

<comment><USER14> More context:

 _In some simple benchmarks, it is about 3x faster than the bytecode interpreter._

I'm always skeptical of statements of these, because workloads vary so much.

JITs seem to do well for numerical benchmarks, e.g. summing a list of numbers or the mandelbrot fractal.

They seem to do worse with string-based workloads, because the bottleneck is in memory allocations, and I have yet to see a JIT that does anything about that (i.e. analyzing code to reduce allocations).

I imagine that ELisp is used mostly for string workloads and not numeric workloads. So I won't be surprised if the 3x number doesn't hold up. I'm interested in hearing more details and happy be to be corrected.

<comment><USER15> >I have yet to see a JIT that does anything about that (i.e. analyzing code to reduce allocations).

Most JITs do this. LuaJIT does allocation sinking of tables, strings, and even C-FFI structs. HotSpot does escape analysis of everything. IIRC Graal can even do partial escape analysis (allocate the object on the stack and then copy it to the heap if it escapes on one code path). I imagine the major JavaScript engines are similar. It's a well-known performance optimization.

<comment><USER16> Any source in how escape analysis is implemented? Is only usefull for JIT or also for "normal" bytecode interpreter?

<comment><USER17> Traditional escape analysis uses algorithms like _equi-escape sets_.

[https://www.usenix.org/legacy/events/vee05/full_papers/p111-...](https://www.usenix.org/legacy/events/vee05/full_papers/p111-kotzmann.pdf)

</comment></comment></comment></comment></comment><comment><USER18> The development of libjit almost halted a while back. But thanks to the last GSoC it is set to receive a major update soon: [https://github.com/ademakov/libjit/pull/14](https://github.com/ademakov/libjit/pull/14)

<comment><USER19> Is it about the new register allocator? How good is it?

<comment><USER18> Yes, initial benchmark results: [https://github.com/M4GNV5/GSoC2018](https://github.com/M4GNV5/GSoC2018)

</comment></comment></comment><comment><USER20> > From: Tom Tromey

Of course it is. That guy's an amazing wizard.

</comment><comment><USER21> The authors blog has some extra details (see also the comments)

[https://tromey.com/blog/?p=982](https://tromey.com/blog/?p=982)

</comment><comment><USER22> Tangentially related:

applying some commonly-recommended optimizations, you can shave Emacs init time to about 2 seconds, from whatever your previous init time was (7 in my case, but I also read about 60s -> 2s improvements).

Init time alone greatly affects how a given system is perceived.

<comment><USER3> What are these recommended optimizations?

<comment> dan-robertson The extreme version is to reproduce a step from building Emacs where you produce a binary with the libraries you want already loaded into memory. This is like making a lisp-image except the image also includes a big C text editor

<comment><USER22> This sounds pretty neat (and something a CI server could routinely do) - <USER2> it been done in practice?

<comment> dan-robertson Doing this requires various security features that operating systems have gained since the 1980s to be turned off so it's not super advisable if you can avoid it

</comment></comment></comment></comment></comment><comment><USER23> Cool! I just compiled it. How do I know whether the jit is enabled / I wonder how to convince myself what the speedup is for different usages.

      git clone email@example.com:emacs-mirror/emacs.git
      cd emacs
      git checkout feature/libjit

      # Instructions for macos from
      # https://stuff-things.net/2018/01/30/building-emacs-25-on-macos-high-sierra/
      brew install autoconf automake texinfo
      export PATH="/usr/local/opt/texinfo/bin:$PATH"

      make configure
      ./configure --with-ns
      make install

      open nextstep/Emacs.app

</comment><comment><USER24> Absolutely love the message from stallman and the response (paraphrased below, full quote [0]):

Richard> I don't think a 3% speedup is worth those drawbacks [ed: added complexity]. Or even a 10% speedup. A really big speedup would justify the costs.

Tom> It is 3x, not 3%.

[0] [https://lists.gnu.org/archive/html/emacs- devel/2018-08/msg00...](https://lists.gnu.org/archive/html/emacs- devel/2018-08/msg00439.html)

</comment><comment><USER25> The code is in branch feature/libjit of emacs' repo, if anyone wants to take a look. [http://git.savannah.gnu.org/cgit/emacs.git/tree/?h=feature/l...](http://git.savannah.gnu.org/cgit/emacs.git/tree/?h=feature/libjit)

</comment><comment><USER26> Wouldn't it be nice if ELisp were implemented in RPython? What sort of difficulties would this face over the JIT compiler in the link? It would have the advantage that such an ELisp implementation would still be an interpreter (annotated and auto-JITted). Presumably, that would keep it "simple".

</comment><comment><USER27> With JIT compilation, wouldn't byte compilation become redundant? If yes, a JIT could significantly reduce the complexity of Emacs (contrary to RMS's comment).

<comment><USER10> > wouldn't byte compilation become redundant?

Bitcode is still useful, even with a JIT (just like in Java) - the JIT needs to do the heavy parsing, semantic analysis etc everytime it starts.

However, the JIT means it can execute the bitcode faster than an interpreter can, because it can keep more intermediate steps in registers directly (like spill to an xmm register, instead of heap) & can do a tiny bit of cpu guided optimization (like is AES-NI available etc).

</comment></comment><comment><USER28> Make my emacs faster, yes please!

</comment><comment><USER29> The reason it's difficult to make elisp fast is because the language defaults to dynamic scoping rather than lexical scoping. That means any function that uses `let` is no longer making a tailcall. Meaning you have to restore the value of each variable after you call whatever function would have been the tailcall.

Stuff like that adds up. It's why Lua is so fast compared to JS, too.

<comment><USER30> This indicates that node (v8 js) is much faster than lua, contrary to what you just said:

[https://benchmarksgame- team.pages.debian.net/benchmarksgame/...](https://benchmarksgame- team.pages.debian.net/benchmarksgame/faster/lua-node.html)

<comment><USER31> As others have mentioned, luajit is a lot faster than lua:

[http://luajit.org/performance_x86.html](http://luajit.org/performance_x86.html)

As an aside, I see there a gitlab project for the benchmark game - but I was surprised there doesn't appear anyone has put together an automated, open, bring your own language/code/patches version? Maybe with some community voting (eg: prefer idiomatic vs max speed)?

[https://salsa.debian.org/benchmarksgame- team/benchmarksgame/...](https://salsa.debian.org/benchmarksgame- team/benchmarksgame/blob/master/CONTRIBUTING.md)

<comment><USER32> > …but I was surprised there doesn't appear anyone has put together…

Why haven't you? That's probably why no one else has :-)

Instead be surprised that someone has continued to push the benchmarks game along, and that people have continued to contribute programs _gratis_.

<comment><USER31> It's been on my todo-list over neat ideas for a while. I just assumed someone would've beaten me to it by now :)

I suspect it might have to do with resources - dedicating multiple cores to benchmarking isn't going to be easy to do for free. Might be feasible for low cost, though.

</comment></comment></comment></comment></comment><comment><USER33> Cool to see that libjit can actually help with elisp, I've not really seen many other uses of libjit.

</comment><comment><USER34> [https://lists.gnu.org/archive/html/emacs- devel/2018-08/msg00...](https://lists.gnu.org/archive/html/emacs- devel/2018-08/msg00437.html)

>To replace an interpreter by a JIT compiler means more oomplexity and > also more possible problems. (For example, if there are platforms > someday that libjit does not support.) Reading a Lisp interpreter is > very useful for learning.

> If the plan is to add a jit and keep the Lisp interpreter as well, > we > don't lose its advantages for study, and we can still support all > the > platforms -- but we add complexity even more.

> I don't think a 3% speedup is worth those drawbacks. Or even a 10% > > speedup. A really big speedup would justify the costs.

Why do they still let RMS allows to say something about technical today?

No wonder Emacs is losing the users.

<comment><USER35> A 3% increase in speed is a miniscule improvement. Emacs has a small dedicated group of maintainers, increasing the maintenance burden will stop other developements (such as the recent addition of async which is a much bigger performance issue). If emacs is losing users I would guess it is because to make it an IDE takes more configuration, and has more issues than competing products.

<comment><USER36> it's 3x, 3 times, not 3%</comment></comment></comment>


Fred Wilson's blog automatically becomes a podcast with the VoiceBunny API - <AUTHOR> http://www.avc.com/a_vc/2012/02/feature-friday-listen-to-this-blog.html

<comment><USER2> Permissionless innovation. Way to go.</comment>


Ask HN: Privacy Policy generator for mobile app? - <AUTHOR>

We're about to launch our app and need a privacy policy (without legal fees). A quick search reveals all sorts of different generators and templates, but before we use one of those, I'd like to ask you all about any particularly good sources for this type of thing. How have you gone about getting a privacy policy for your app/website/unfunded startup? Some background: we're a mobile game and have a bare website at the moment. <comment><USER2> Automattic (the company behind wordpress) has their privacy policy and ToS under a creative commons sharealike license, so they may be a good template for you to base yours on. I used it as a template for my startup, and it only took a couple hours of tweaking to adapt it to my purposes. In any event, it's a good resource: <http://automattic.com/privacy/></comment>


OpenStack 2013.2 ("Havana") is released - <AUTHOR> http://lists.openstack.org/pipermail/openstack-announce/2013-October/000151.html

<comment><USER2> Among the tons of new features, Havana has native support for Docker containers (as a Nova driver). This means at least three big things:

\- when testing OpenStack workloads, you can spin up containers instead of VMs, and boot environments in seconds (much faster than with VMs, especially if you don't have a badass machine and must spin up tiny VMs); \- if you're doing HPC, you can run on OpenStack without being afraid of losing any performance, since containers have much lower overhead than VMs (the overhead can be reduced to exactly zero with proper configuration).

Now I can't wait to see Docker containers as a resource in Heat :-)

<comment><USER3> Docker is eating the world! It seems you just mentioned two big things? :)</comment></comment>


Tail equivalent on Kafka? - <AUTHOR> I am working on a micro-service system and I plan to use Kafka as a log transport mechanism to centralize logs coming from every services. Does something already exists that would provide a "tail"-like functionality on Kafka (be able to monitor topics and their input) ? Trying to going fast, I am looking for something very basic. I am also looking for recommendation on solution that could be used in a second step to provide more elaborate log survey (filter / query / alert ...), any idea and feedback ? <comment><USER2> For Heroku's managed Kafka in the common runtime, you can just `heroku kafka:tail topic`. For other environments, you might look at something like [https://github.com/EnvisionX/kafcat](https://github.com/EnvisionX/kafcat) or [https://github.com/edenhill/kafkacat](https://github.com/edenhill/kafkacat).

</comment><comment><USER3> Should be trivial to write a small consumer in python or golang. I'd suggest asking on a place like stack overflow or somewhere else. You could literally do this in ~5-6 lines with pykafka.

</comment><comment><USER4> [https://github.com/edenhill/kafkacat](https://github.com/edenhill/kafkacat)</comment>


Show HN: Lite – A small, fast text editor - <AUTHOR> https://github.com/rxi/lite <comment><USER2> Looking at the screenshot in full size [1], it looks really cool but the text is visibly blurry (look at the = signs for example). Text rendering is hard, and especially for a text editor it's a good idea to just use the current platform's text rendering instead of rolling your own. Of course SDL "rolls its own" because it focuses on being exactly the same on every platform.

SDL seems to offer font hinting which would somewhat solve the immediate problem, but I'm not sure it's being used properly here. With that said, text rendering is optimized for the current device's DPI, so maybe I'm just reading too much into a screenshot taken at a different DPI.

[1] [https://user- images.githubusercontent.com/3920290/81471642-6...](https://user- images.githubusercontent.com/3920290/81471642-6c165880-91ea-11ea-8cd1-fae7ae8f0bc4.png)

<comment> c-smile Yes, the rendering implementation uses gray-scale antialiasing.

But system uses ClearType - compare rendering in window caption (rendered by Windows) and the text inside client area.

Gray-scale may work on high-DPI monitors, but on typical monitors it will be blurry.

But Apple and Microsoft still use ClearType even on high-dpi monitors.

For that matter, Sublime Text, that uses similar architecture (but Python instead of Lua), uses ClearType.

<comment><USER3> Apple removed all subpixel antialiasing on Mojave [1] and on Windows it isn't used for any 'modern' app using UWP onwards afaik

[1] [https://arstechnica.com/features/2018/09/macos-10-14-mojave-...](https://arstechnica.com/features/2018/09/macos-10-14-mojave- the-ars-technica-review/12/)

<comment><USER4> well, apple certainly de-emphasized subpixel antialiasing.

i am still using a non-retina monitor for all of my day-to-day work. when i first installed mojave, it made my display look so bad that it gave me headaches. so i wiped my mac entirely and re-installed the previous version of macos. later, i learned that subpixel anti-aliasing is still there, it just takes some fiddling to get it back.

[https://www.howtogeek.com/358596/how-to-fix-blurry-fonts- on-...](https://www.howtogeek.com/358596/how-to-fix-blurry-fonts-on-macos- mojave-with-subpixel-antialiasing/)

eventually, i will have to get with the program and buy a retina display. but i am thankful for this loophole that allowed me to put it off for awhile.

<comment><USER5> I just purchased an HP Z27 (4K 27") because I couldn't deal with the low-res monitors I had at home. The high quality monitors in my office had really spoiled me.

I'm so glad I did. Night and day difference.

<comment><USER6> It has become a challange to have a sane default for text rendering. Many users are still on really bad LCD monitors with low contrast. Macbooks also does 2x scaling. On a 4k monitor on PC i recommend fractional scaling eg 1.5 but as an app dev you cant control that. So do you increase text size to make up for the small pixels, or do you leave that up to the user.

</comment></comment></comment></comment></comment></comment><comment><USER7> If you are interested in small Lua-based text editors, I advise you to take a look at Textadept: [https://foicica.com/textadept/](https://foicica.com/textadept/) . Specifically as to minimalism: _" Relentlessly optimized for speed and minimalism over the years, the editor consists of less than 2000 lines of C code and less than 4000 lines of Lua code."_ I believe this is a limit that the editor's author self-imposed and keeps to it with an impressive strictness.

 _edit:_ though it uses Scintilla for the "engine" and I would assume its LOC count is not counted towards this limit.

<comment><USER8> You might also be interested in kilo: [https://github.com/antirez/kilo](https://github.com/antirez/kilo)

<comment><USER9> I forked that to add support for Lua-based scripting, multiple buffers, etc. Fun exercise:

[https://github.com/skx/kilua](https://github.com/skx/kilua)

<comment><USER10> Hunter x hunter reference?

<comment><USER9> No, it was just the obvious "kilo" to "ki-lua" transformation!

</comment></comment></comment></comment></comment><comment><USER11> It seems a lot faster than most.

But what it still doesn't replace is my favorite editor EmEditor [0] (Windows only). Like every alternative I've checked out, Lite blocks for a long time when opening a multi-gb file. They aren't FOSS and probably more expensive than any other text editor, but I'd love to know what they do to have such superior large file performance (the free version is fast, the paid version even supports streaming-loading of parts of the file).

[0]: [https://www.emeditor.com/](https://www.emeditor.com/)

<comment><USER12> That's only because it doesn't do what editors have to do. Try writing some right-to-left text in lite and see what happens.

</comment></comment><comment><USER13> Since there are a lot of text editors, I'd like to see more detail on the motivations for yet another one. How does this compare to the current top-five open source editors?

<comment><USER14> The resident memory was 10MB in my windows machine when I ran this. A strong reason for me to use this would be in a low powered device. I want to write markdown in a tiny editor like this. I want to run multiple projects side by side and this is good for that. If I'm a beginner trying do dev on a machine lower than 4G of RAM. So many more examples come to my mind. I'm pretty sure there are more

Also the immediate UI library from the same author is very good and the examples are amazing.

1\. [https://github.com/rxi/microui](https://github.com/rxi/microui)

2\. [https://floooh.github.io/sokol- html5/index.html](https://floooh.github.io/sokol-html5/index.html)

<comment><USER15> On my GNU / Debian testing 64-bit, with 10 tabs opened it consumed 31 MiB of RAM and my CPU pushed itself to reach 0.75% at its busiest processing during typing.

To me this is simply mind-blowing.

<comment><USER16> Not as mind-blowing as SublimeText leaking 3 solid GB of RAM after a few days on my Debian..

<comment><USER14> Its always the extensions. Not sublime itself. That has been my experience so far

</comment></comment></comment></comment></comment><comment><USER17> Typing latency as measured by typometer is quite high on kwin (no compositing). Both kate and Howl do much better. And pycharm. Great start, but it's not defeating vscode in the one aspect I care about: typing latency.

Kate is a surprisingly good/fast editor nowadays.

<comment><USER18> Long time Kate user, though I dropped KDE years back in favor of Fedora XFCE. If one isn't in KDE world, Kate's paint latency when alt-tabbing back to a Kate window is incredibly, painfully slow.

</comment></comment><comment><USER19> Was a bit skeptical, but this is surprisingly fast & lite & supports multi-tab + tree view + syntax highlighting in a 1mb download. I've not seen any of the reported issues with the font which looks clean & crisp (on Win 10).

I'm not expecting it to have any of the features I'm used to with VS Code or JetBrains products, but it's definitely going to replace notepad.exe for a fast look at any text file.

Supports `lite <path>` to open any file/folder, e.g. `lite .` opens up the current folder in a tree view with beautiful dark mode by default, single click on each file loads it instantly. Seeing beautiful, matte-style syntax highlighting for all popular formats I've tried: .html, .css, .js, .md.

Perfect minimal distraction-free editor for writing docs.

</comment><comment><USER20> Firstly, let me say that I'm in no way hating on Lite, these are just some fact-based observations.

Thought I'd give this a quick try on my Windows machines, where my liteweight editor of choice is Notepad3.

A fresh start of Lite uses 10MB of memory, vs 3MB for Notepad3.

After opening a 27.5MB text file in each, Lite used 156MB of memory, vs 68 for Notepad3.

The functionality available in Notepad3 is also vastly superior. Lite is pretty spartan - it doesn't even appear to have a file/directory selection dialog to open files/folders with. I really like the default colour scheme/theme Lite ships with though.

<comment><USER21> Lite has a slightly smaller binary, however; but as someone whose regular text editor on Windows is notepad (the stock one, which is <100KB), I still find the fact that a text editor's binary is >1MB rather disappointing.

I do realise that both Lite and Notepad3 are significantly more featureful, but I'm not sure if the increase in resource consumption is proportional.

(For comparison, regular notepad uses <1MB of memory when holding nothing, and I don't have a 27.5MB text file to test with, but a 6.5MB one takes 17MB when loaded. In other words, the expansion factor is close to Notepad3.)

<comment><USER22> Notepad is basically a wrapper around a text box provided by the Windows native UI libraries. The binary is so small because the heavy lifting (such as there is any to be done in Notepad) is handled by the platform.

<comment><USER23> Precisely. And for the same reason, Windows 95 could only edit 64kb of text in Notepad because that was the most text that could be put in an EDIT control.

</comment></comment></comment></comment><comment><USER24> Very impressive.

Font Rendering does not seem to be as crisp as needed for a text editor. (on Windows at least)

I know Sublime is using DirectWrite to render fonts on Win32, this might be something to explore. Also, TrueType with subpixel antialiasing should give good results but might need some tweaking.

I'll follow this project and I might use it as my main editor once it is more mature :)

<comment><USER25> When I run this editor on Windows 10 the text appears to me as crisp as in any other editor I have available.

<comment> seventh-chord Do you have a high dpi display? Lite does neither supixel-aa nor hinting, which is very noticeable on a 24" 1080p display. The lack of hintig is most noticeable at the top of letters where sharp edges look blury.

</comment></comment></comment><comment><USER26> Its looking pretty impressive, especially for such a new project. Since you said it was fast, it got my huge log file test (1GiB of binary with lots of utf-8 text). It performed better than most editors do. It did have a few stalls though. Still, pretty impressive.

</comment><comment><USER27> Looks nice.

But upon starting it up I lost all windows decorations (KDE), had to restart my session and lost the things I was working on in my terminals.

How can launching an app cripples the whole desktop ? (not that this have anything to do with the app to me, it's a plasma thing)

First thing I look for was support for vim keybinding, could neovim be used as the backend editor ?

<comment><USER28> KDE disables compositing when SDL apps are opened to improve performance. It should return once the app is closed. You can disable this behavior in System Settings > Display and Monitor > Compositor and unchecking Allow applications to block compositing.

<comment><USER27> Wow, thank you !

It's not the first time something like that happened to me but I would never have had the patience to investigate !

Can confirm unchecking that setting solved that problem.

<comment><USER29> This will have very bad effects when playing video games and might(?) potentially increase battery usage when watching full screen videos.

Compositing _should_ only provide the fancy effects like Wobbly Windows and window previews in the alt-tab switcher etc. Not sure why this is causing KWin to crash... You can use Alt-Shift-F12 by default to toggle compositing.

But if you're not doing anything more graphically intense than playing turn- based or slow-paced video games then I guess you can use that option to permanently leave on compositing.

</comment></comment></comment></comment><comment><USER30> Lite is written by rxi, who has made some excellent game jams with very impressive youtube videos showing him doing programming, artwork and sound effects, all at record time [1]. His other github repos are also excellent, for example fe, a minimal Lisp, is definitely worth checking out.

[1] [https://www.youtube.com/channel/UC1eJk1sWcUYvBwnn7v5RLaQ/vid...](https://www.youtube.com/channel/UC1eJk1sWcUYvBwnn7v5RLaQ/videos)

</comment><comment><USER31> Another one is Microemacs (I use it nearly exclusively):

C version:

[https://github.com/DigitalMars/me](https://github.com/DigitalMars/me)

D version:

[https://github.com/DigitalMars/med](https://github.com/DigitalMars/med)

The source is so simple, the "extension language" is just editing the code.

</comment><comment><USER32> Checking the Github repo, it says 92.3% C[1], 2.6% Lua[2], why does the author claim it's a "text editor written in Lua" instead?

[1]: [https://github.com/rxi/lite/search?l=c](https://github.com/rxi/lite/search?l=c)

[2]: [https://github.com/rxi/lite/search?l=lua](https://github.com/rxi/lite/search?l=lua)

<comment><USER33> It seems to include the entirety of Lua - [https://github.com/rxi/lite/tree/master/src/lib/lua52](https://github.com/rxi/lite/tree/master/src/lib/lua52)

Which is written in C.

<comment><USER34> Odd that they chose lua 5.2. The most popular luas nowadays are 5.1 (the version that luajit implements), and 5.3 (which was for a long time the 'latest and greatest', though it's been superseded by 5.4).

<comment><USER35> 5.4 hasn't officially released (it's in the RC stage) so 5.3 is still the latest stable/supported version.

</comment></comment></comment></comment><comment><USER36> Works on Haiku: [http://0x0.st/i_3I.png](http://0x0.st/i_3I.png)

<comment><USER36> In src/main.c at line 33 i had to add an ;.

</comment></comment><comment><USER37> Very nice; some basic user's documentation would be helpful.

</comment><comment><USER38> It feels snappier then sublime! Is there any limitation in the plugin system?

<comment><AUTHOR> As the editor is written mostly in Lua, with C taking care of the lower level parts, plugins can typically customise anything limited to what is exposed by Lua and the C API. Beyond adding custom commands, plugins can also do things like patch straight in the DocView's line-drawing function to draw additional content:

[https://user- images.githubusercontent.com/3920290/80743752-7...](https://user- images.githubusercontent.com/3920290/80743752-731bd780-8b15-11ea-97d3-847db927c5dc.png)

Or create their own custom "views":

[https://user- images.githubusercontent.com/3920290/81343656-4...](https://user- images.githubusercontent.com/3920290/81343656-49325a00-90ad-11ea-8647-ff39d8f1d730.gif)

The treeview at the left of the screen is implemented as a normal plugin, and like any other plugin can be removed from lite by simply deleteing the `treeview.lua` file.

<comment><USER38> Thank you for the response. I wanted to have a simple IDE for R because R studio is very slow. I think this is a nice base to built on top of.

<comment><USER39> I support this! Have been trying to use VS Codium[1], but R Studio keeps pulling me back in. An alternative with some nice R plugins would be fantastic.

[1] [https://vscodium.com/](https://vscodium.com/)

</comment></comment></comment></comment><comment><USER40> Looks interesting. Hope plugins make it more wonderful to make it useful for many languages like Python, Go etc. Right now I am stuck with VSCode and PyCharm.

</comment><comment><USER41> So there's no GUI toolkit? Everything is drawn with Simple DirectMedia Layer?

<comment><AUTHOR> Not even that: SDL just provides a pixel buffer, the application draws everything itself per-pixel. Lite uses a technique I refer to as "cached software rendering" which allows the application code to be written as if it's doing a fullscreen-redrawn when it wants to update, the renderer cache (rencache.c) then works out which regions actually need to be redrawn at the end of the frame and redraws only those. You can call `renderer.show_debug(true)` to show these redraw regions: [https://youtu.be/KtL9f6bksDQ?t=50](https://youtu.be/KtL9f6bksDQ?t=50)

I wrote a short article detailing the technique here: [https://rxi.github.io/200402.html](https://rxi.github.io/200402.html)

<comment><USER42> FWIW this is basically "dirty rectangles" which was a very common technique for avoiding full screen updates in games back when the hardware wasn't fast enough to do that.

<comment><AUTHOR> You're equating the final stage of this approach to the entire approach. The point of this technique is that you get the benefits you typically would from dirty rectangles without the burden of the bookkeeping you would traditionally have. Using this technique your application "redraws" everything as if it's drawing it fresh each frame and the renderer cache takes care of determining what's actually changed.

Typically with dirty rectangles you would have to manage this state in the application code, for example, determining that line X was edited then updating the region for that line, or determining that view Y moved and updating a dirty rectangle based upon it's previous and current positions.

<comment><USER42> From the description at least it does sound there is book-keeping for the tiles so i'm not sure why you think there isn't such a burden.

</comment></comment></comment></comment></comment><comment><USER43> Something similar is Revery, written in ReasonML (OCaml) [0].

I saw some comments here about a WASM renderer-based editor, I think there is something in Flutter that is similar, where Flutter uses Skia to render its components.

[0] [https://github.com/revery-ui/revery](https://github.com/revery-ui/revery)

</comment><comment><USER44> For those who are already proficient with Vim/Emacs, is there any reason to consider this editor?

<comment><USER45> Also does it come with.vim keybindings :D

</comment></comment><comment><USER46> One thing that has mystified me is all these people talking about text editor responsiveness, whether it feels "snappy" or not.

What are they _talking_ about!?

I mean that as someone who has grown up with 3D shooters and is obsessive about tuning networks to the lowest possible ping times to improve latency for competitive gaming. I always turn triple buffering off because I can definitely feel the difference over double buffering.

Practically every editor I use updates with the maximum 60Hz refresh of my monitor, and that literally can't be improved upon any further through software alone. The exception is Microsoft Word, which does about 30Hz and I hate this, but it's a shitty WYSIWYG editor, not a simple fixed-width text editor.

I mean, seriously: I'm playing Doom Eternal at 4K with a constant 60fps, no dips. That game is processing a decent chunk of a terabyte per second of data at that rate.

What is this mysterious _difficulty_ people have with editing ~100KB text files!?

Either this forum is full of people editing _insane_ multi-gigabyte files (By hand? Why!?) or they're doing it on their 486SX PCs for nostalgia reasons.

I seriously don't get it.

<comment><USER47> I dunno why you haven't encountered it, but it's a real thing.

I remember using one editor perhaps 8 years ago, and if I tried multi-cursor mode with more than ~40 insertion points (totally reasonable to edit 40 similar lines at a time), it took a couple of seconds to register each keypress.

Similarly, other editors wind up choking on syntax highlighting, or large files, or find & replace, or documentation lookup, or whatever.

The "mysterious difficulty" you mention is often literally several seconds of latency with, say, a 30,000-line file, whether it's with opening, scrolling, editing, or the other more advanced features already mentioned.

I'm honestly pretty baffled this isn't something you've encountered before. This isn't about hertz, it's literally about entire seconds or large fractions thereof.

<comment><USER46> I regularly use Notepad, Notepad++, TextPad, VS Code, Visual Studio, and the PowerShell ISE. I haven't had any issues with any of them, even when block- selecting or multi-cursor editing.

Notably, they're all Windows native apps written in C++, with the exception of VS Code, which is partially JavaScript.

I've noticed that some of them struggle with huge (1 GB) files, but _editing_ such as large file is a somewhat strange thing to do.

<comment><USER47> I mean, that's great for you. You're just lucky I guess.

But I hope what I described makes sense to you. It's not about 1 GB files at all, it's about regular files. My suspicion is that it's mostly "side features" that start to grind when they get beyond a certain point.

To be more specific with one example, I've used another code editor that a simple "find all" operation will populate a results box. If you mess up your regex to be accidentally super-generic and it finds 100,000 results in your 20K-line file, it takes half a minute to load the results into the results box and become responsive again, with no "cancel" button.

Similarly weird edge cases in a syntax highlighter interacting with a half- finished line of code of yours causes something to choke up. That kind of thing.

Do you understand now? Again, you seem to just be lucky that you haven't encountered this kind of thing.

</comment></comment></comment></comment><comment><USER48> Is there language server support/is it planned?

</comment><comment><USER49> I will definitely try it as vs code became so slow and has all not needed features for me.

</comment><comment><USER17> See also howl, written in lua/moonscript and damn fast. Both of these seem to have a bit more of a community than textadept (and no dependency on scite).

I used textadept for a while, bought the book to support the author. It didn't work out for me.

<comment> mega-tux I also think Howl is pretty nice unknown gem.

</comment></comment><comment><USER50> I have to mention, I do love how this looks! I'd be looking in using it as my daily driver for quick / short text edits and maybe small projects!

Since I really like the looks of it, in case you do need help with keeping it maintained, I would love to help! Feel free to contact me at email@example.com

Good luck and I hope it all goes well with this text editor!

</comment><comment><USER51> I just think about use VSCode as text editor, but I cannot change from Notepad++ yet... and VSCode as code editor only.

</comment><comment><USER52> Any instructions on how to run this on macos?

<comment><USER53> on catalina os x; I just went

      git clone https://github.com/rxi/lite.git
      cd lite
      ./build.sh
      ./lite

and an app did start up, but the text gets cut off in the editor window, and I can't quit the app from the menu

<comment><USER54> The compiler might complain that it needs SDL.

Fixed this with:

      sudo apt install libsdl2-dev

on Ubuntu.

Else it works as tingletech described also using Mint/Ubuntu.

<comment><USER55> How do I install this on Mac? apt is not available in mac.

Update: I can install this using brew install sdl2 [https://firstname.lastname@example.com/set-up-sdl2-on-your-mac- wit...](https://email@example.com/set-up-sdl2-on-your-mac-without- xcode-6b0c33b723f7)

<comment><USER56>
      brew install sdl2

</comment></comment></comment></comment></comment><comment><USER57> Very cool. It looks like it is written in Lua using sdl and some stb single file libraries.

</comment><comment><USER58> Looks like a nice start, kind of confusing interface though. Needs an open folder command.

<comment><USER59> Seriously. I'm all for lightweight text editors, but the ability to open a folder and a way to start a new text file is minimum viable product.

</comment></comment><comment><USER60> Very cool! I ran it on repl.it via x11 but not sure it does the perf justice because of the network lag: [https://repl.it/@amasad/lite](https://repl.it/@amasad/lite)

</comment><comment><USER61> Interesting that it uses SDL. It would be nice if Vim or Emacs had an SDL backend, so it could be used on more esoteric platforms. I remember there being a distinct desire for a good homebrew text editor for the Switch.

</comment><comment><USER62> I would really like something as simple as windows notepad which syncs to my devices, where the app is equally simple. A no frills fulltext search feature would be nice too.

I currently use Google Keep, which is incredibly slow

<comment><USER63> Have you tried Notion([https://www.notion.so/](https://www.notion.so/))?

<comment><USER62> \- No linux client

\- Too many frills

\- Too slow

</comment></comment></comment><comment><USER64> Could you share what data structure you use to keep the text in? I'm curious how text editors work, since you need fast inserts anywhere, is the text a linked list?

<comment><USER65> My Lua isn't strong, but I think this is what you're looking for:

Data structure initialization: [https://github.com/rxi/lite/blob/master/data/core/doc/init.l...](https://github.com/rxi/lite/blob/master/data/core/doc/init.lua#L48)

How insertion works here, which illuminates how the table is used: [https://github.com/rxi/lite/blob/143f8867a13a35f5688ad7c9771...](https://github.com/rxi/lite/blob/143f8867a13a35f5688ad7c97717dddf8bc58cd2/data/core/doc/init.lua#L230)

<comment><USER66> Looks like an array of lines, which is a completely reasonable structure to use.

There's a good post on the Visual Studio Code blog about why and when they moved on from an array of lines to a new structure based on a piece table.

[https://code.visualstudio.com/blogs/2018/03/23/text- buffer-r...](https://code.visualstudio.com/blogs/2018/03/23/text-buffer- reimplementation)

</comment></comment></comment><comment><USER67> That's a very nice piece of work. I'm very interest to get to know more how text editor/IDE works. How hard would be add something like a GUI designer?

</comment><comment><USER68> Really cool project! At what point in the development did you start to use lite as your editor to develop it? I'm sure that was a fun milestone to hit.

<comment><AUTHOR> I can't say exactly when, but I was writing it in itself before I made the initial commit on the public repo, so at least 6 months ago. Every change I made since then (in addition to the plugins I wrote) would have been written in lite itself.

</comment></comment><comment><USER69> Beautiful. Would love to see this front a headless nvim.

</comment><comment><USER70> A previous comment (I can't seem to find it) said that it didn't respect keyboard layout on Linux. Is this true?

</comment><comment><USER71> Very cool.

Any plans of getting this into the arch repo?

</comment><comment><USER72> Man, I love Webstorm. I'd love something like this with Intellisense for JS/Node.

</comment><comment><USER73> What is the most feature-full modern text editor for the console, with syntax highlighting?

<comment><USER74> GNU Emacs

(If by modern you mean actively developed)

</comment></comment><comment><USER75> This software seems pretty cool.

</comment><comment><USER76> He says its coded in lua but it seems to be completely coded in C ?

<comment> h-cobordism See this thread.

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

</comment></comment><comment><USER77> Does it support LSP?

</comment><comment><USER78> ooh - didn't know it was possible to set an SDL window icon like that in a linux build, my project... updated :)

</comment><comment><USER79> Fast and small is how they all start out. Feature complete and fast, now that is impressive.

<comment><USER80> There was a moment, years ago, when I used VS Code to edit text files because it was faster than Sublime and Notepad++. These days I open it begrudgingly.

<comment><USER14> Thats weird. I have never seen sublime slowdown unless there is a buggy extension

</comment></comment></comment><comment><USER81> Any chance on a windows arm64 build?

<comment><USER82> Yay! Someone else on a Windows ARM machine! I have a Samsung Galaxy Book S.

</comment></comment><comment><USER83> Nice one OP! looks great!

</comment><comment><USER84> Whats the advantage of Lite over Vi or Emacs?

<comment><USER85> I like Vim (and I've tried Emacs), but there's certainly still room for a small, hackable text editor that can be used with the same intuition that applies to the rest of a modern computer. Vim and Emacs keybindings require a time investment (that some people find worth it) to learn and get comfortable with.

</comment></comment><comment><USER86> This is a very nice piece of work, and I think very important: it shows that it's very much possible to make slick interfaces without using javascript/web technologies. It's also just as hackable as something like vscode or vim. I hope there's a shift back to native or semi-native applications as opposed to web-based stuff. It's certainly not perfect yet (it has some scaling/rendering issues and is slow to open large files), but is still a pretty great start. My two cents.

<comment><USER87> It's written in Lua and doesn't use the OS GUI APIs and widgets anywhere. I'm not sure I understand what makes this more "native" than Javascript.

<comment><USER88> There's way less abstraction going on in Lua app that has a hand-rolled GUI versus an app built on top of a web browser like Electron. Hand rolling you're own UI doesn't make it less native — is Ableton Live not-native?

Or are you drawing the line because Lua is a scripting language?

<comment><USER89> You seem to be the one drawing the line saying Electron isn't vs something like this is.

Is a WASM app that renders to WebGL native?

I guess the point is native should probably mean "using the toolkit the OS provides" and we should just use "performant" in most cases.

<comment><USER90> Can you make WASM apps using js toolkits that compiles to native desktop yet? Seems like that will be a huge step forward from electron apps.

<comment><USER91> Sure, as native as any language that runs in a VM. There is no reason a WASM app can or can't be any more or less native than something running on lua (like in this case), jvm or anything else.

People don't use Electron to get a js runtime, they use it to get a web-like runtime. Any javascript (including WASM) app can run without electron in either node or in the bundled runtimes that OSX/Windows/Gnome/Whatever has, but the point of electron isn't to write JS, it's to write web-like code. For that it requires a browser in a predictable version, which is what electron gives you (albeit at a high cost.)

<comment><USER92> So, obviously, "native" is a spectrum. On OS X, Cocoa > QT > Java > Wine > Docker + X11 forwarding.

But one thing I think is being missed here is that Lua, Python, and other scripting languages are just a lot more resource efficient than electron, in terms of runtime size, memory usage, cpu usage, etc. A very highly optimized Electron app like VS Code _might_ outperform a more run-of-the-mill Lua app, but that's an outlier.

<comment><USER93> Actually, for a while Java was just below Cocoa for "nativeness" the LAF for it was maintained by Apple itself.

<comment><USER92> I'd heard that before! I kind of debated whether to put Java or QT first—it came down to the fact that QT apps just feel closer to me on macOS. Although I don't know how ugly they are under the hood.

Edit: What does LAF stand for?

<comment><USER93> LAF stands for "look and feel", which is basically Java's name for "UI theme". Another fun fact: Cocoa had official Java bindings at some point!</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Laptops are Dying and Being Replaced with Location-Specific Devices - <AUTHOR> http://andersonjr.com/2012/01/27/why-an-ipad-is-better-than-a-laptop-9-months-later/

<comment><USER2> Did you just write an article about the things you posses?

But you're right, laptops will be removed from normal peoples lives and become a fringe thing for developers and more technical people.

<comment><AUTHOR> I guess I did, but I was trying to use it as an example of why laptops are going away. Didn't mean to make it focused my possessions exclusively.

Thanks for your thoughts!</comment></comment>


Lenovo shipping a BiOS rootkit? - <AUTHOR> http://arstechnica.com/civis/viewtopic.php?p=29497693#p29497693

<comment><USER2> greenyoda posted a link to discussion about this. On that thread there's also a few links to other decent discussions about it.

There's some discussion in the top comments of this link too. [https://news.ycombinator.com/item?id=10039306](https://news.ycombinator.com/item?id=10039306)

</comment><comment><USER3> Duplicate of [https://news.ycombinator.com/item?id=10040130](https://news.ycombinator.com/item?id=10040130)</comment>


Verizon Wireless Will End Unlimited Data Plans for IPhone - <AUTHOR> http://www.businessweek.com/news/2011-03-01/verizon-wireless-will-end-unlimited-data-plans-for-iphone.html <comment><USER2> Well that didn't last long</comment>


Vita's removable memory looks like it's an SD card, but it isn't - <AUTHOR> http://m.engadget.com/default/article.do?artUrl=http://www.engadget.com/2011/06/14/sony-playstation-vitas-removable-memory-looks-like-an-sd-card/&category=classic&postPage=1 <comment><USER2> I really don't understand why Sony still insists on this nonsense. For me this has been a major criteria against buying any of their cameras, despite them otherwise seeming quality products.

</comment><comment><USER3> This is a surprise? Sony is known for making weird formats:

<http://en.wikipedia.org/wiki/Sony_formats>

The do have some big winners in there, like CD and BluRay.

</comment><comment><USER4> I'm done buying Sony products.</comment>


Why I'm focusing only on some programming languages - <AUTHOR> https://xojoc.pw/blog/focus <comment><USER2> There's some interesting discussion on Lobsters: [https://lobste.rs/s/acqfdw/why_i_m_focusing_only_on_some_pro...](https://lobste.rs/s/acqfdw/why_i_m_focusing_only_on_some_programming)</comment>


ClanBase is no more – we are sorry - <AUTHOR> http://clanbase.org <comment> Stealth- Unfortunately, this is what happens to online communities. Particularly those run by teenagers. I've been a member of a number of communities that have suffered deaths in very similar ways -- choked by the people who own the rights at the expense of the volunteers and the community.

It's unfortunate, because I find that often volunteer teenagers are the ones that truly have a passion for doing what they are doing, but they get held up by corporations or by people who want to monetize. When that doesn't work, the people in charge ignore the community until it dies.

It's sad to see it happen to another community.

<comment><USER3> > * have a passion for doing what they are doing, but they get held up by > corporations or by people who want to monetize. *

Could those "passionate teenagers" have kept it running instead of selling the site in 2004 (why didn't they?), or would it have died much earlier if some "greedy" corporation hadn't picked it up and paid the bills all these years? It's great to have the passion to build something cool, but it's a little cooler if it's sustainable.

<comment><USER4> I don't know the history of this site, but it seems unlikely that most of the 'passionate teenagers' volunteers of the site throughout it's history didn't see any of the money that exchanged hands in 2004. It's usually got nothing to do with whether it was sustainable without a sale or not, it's just minority that owns 'the rights' deciding they can cash in, right?

<comment><USER5> Incorrect - the 3 founders that received money actually did spread the money around a bit to those who were working on the site for a while and/or had contributed in some major way. They had a lot of volunteers, so the percentage that got money I heard was small but it was that small group that did the large percentage of contributions.

</comment></comment></comment></comment><comment><USER6> "Since our sysadmin was not getting paid, he refused to perform this, essentially holding the site hostage for a while."

You don't pay the man and you expect him to do work for you, and then you blame him for holding the site hostage?

Sorry, what?

<comment><USER7> 3 parties in that statement.

1) the people writing this, who did all the hard work

2) the system admin, hired by party 3 -

3) the people that should do the paying.

1 Has the right to whine at the expense of 3 not paying 2. To me, in that statement, that's what they're doing. They aren't saying 2 is the guilty party, just saying that the method is not one they appreciate, since the people suffering from party 2's actions are party 1.

<comment><USER8> I agree with you, but the specific language used could have been better. "Essentially holding the site hostage" implies that the ex-employee had a responsibility to do some work, which he did not.

<comment><USER7> Oh, I guess we disagree on that part then. To me it's pretty clear that they mean there's no way for their beloved baby (the site) to be returned because the person holding the power to return it is unwilling to do so. A bit like a school with kids locked inside and the janitor won't open the doors because the school didn't pay him.

Hah. Analogies.

(Yeah, I stretched it there.)

<comment><USER9> Now even I understood it.

</comment></comment></comment></comment></comment><comment><USER10> Sad state of affairs in gaming. My memories of a number of high profile "pro- gaming" organisations is almost entirely tainted by broken promises of paying out prize money to the winners of their competitions (delays, partial payouts, not paying out at all). With the GGL buying ClanBase in 2004 it was - unfortunately - only a matter of time before something like this happened.

I've often wondered why so many big name organizers have gone bust - why they end up with such bad reputations - why it's so hard to build a sustainable business out it. Of course with so many naive kids participating it must be very tempting for even remotely crooked people to take the money and run.

Two organisations which have been running for a while and which I still have respect for are ESWC and WCG. Would be interesting to hear from someone in the know about the economics about these operations.

So many good memories, gone. RIP CB.

\-- Source: ex Quake3 player

<comment><USER11> I worked for a few of these organizations (CPL, WSVG) and have always been sad to see what's happened to esports/gaming.

As you mentioned, GGL was a particularly sketchy organization.

To be honest I'm happy to even see a fellow former Q3 player here :) Most of my gaming buddies and clan mates moved on to other fields. Who did you play for?

<comment><USER10> I'm sure there are many ex gamers lurking around on HN! I played clan games in the early days for a euro team called GZD.

What happened to the CPL was interesting to watch from a distance. Before I became good enough to compete at any level, I remember wanting to compete at CPL events. That, and legendary Doom tournaments, were a driving force for me to practice and get good.

What was your experience like working there? I can imagine it was awesome <sarcasm>until the discussion about money came up.</sarcasm>

<comment><USER12> There are definitely plenty of ex-gamers lurking on HN. I played under the nickname Daler in the United States. Mostly played Quake and Doom tournaments, but have competed on a variety of other games.

Unfortunately during the time I competed, there were many companies that would spring up and run tournaments with prizes that they ultimately could not pay out on. Or at best, the money would eventually get paid out months/years later. It was very hard for companies to make return on investment when running these gaming sites and tournaments. Overall, it was the work done by volunteers and "teenagers" that made the best events/sites/tournaments...

I always found it very unfortunate that the gaming scene was full of exploitation for these companies. What happened to the GGL (similarly the CPL), comes at no surprise.

</comment></comment></comment></comment><comment><USER13> I read this a "Coinbase is no more - we are sorry" and panicked for a second.

<comment><USER14> Just shows how risky putting your money into coinbase is; no safety net if they decide to pull the plug. Not until bitcoin is considered legal tender and coinbase gets a bank audit and becomes part of insurance policies to recompensate people if they did end up going bankrupt.

</comment></comment><comment><USER15> The end of an era, sad. I remember playing ClanBase tournaments back in my Counter-Strike days.

<comment><USER16> Same here! ClanBase was one of the first systems out there to be matched compete against other big clans. We used it for a while in the EU CS scene, still remember how much we got our ass kicked one day by the 4kings clan on de_nuke.

<comment><USER15> OMG de_nuke... Those maps (de_nuke, de_dust2, de_aztec, de_inferno, etc...) sometimes appear in my dreams. I feel like I know them better than my own house!

</comment></comment></comment><comment><USER17> Wow, sad. More than a decade ago Clanbase was all the rage. Their Eurocup tournaments were among the biggest and most prestigious in Quake3 and i loved to watch the big teams fighting for the crown each time. In 2002 i even went from Germany to the Quake Pub in Rotterdam to watch the Eurocup 3 Finals live. A few years later their best times were over though and the gaming community was different, they have been on a decline ever since.

Good times...sad to see them go :/

</comment><comment><USER18> That's sad indeed.

I'm not blaming staff, but I think there's something they could have done indeed. Esport[1] is doing quite well nowadays, especially around blizzard games.

Blizzard has a lot of money to invest in this, seeing a big return value in turning a game into a sport, but it may not be possible without sponsors. If you want to organize tournaments with prizes, you have to have sponsors. In big esl events, those are intel, acer, nvidia, etc. Esport events are extremely well targeted events for them, the only better option would be to add ads directly in games.

Crowdfunding prizes is also an option. This week-end, a bitcoin starcraft challenge[2] was organized, mainly funded (to the words of organizer during stream) by reddit users giving bitcoins, and a few other sponsor - <USER2> bitcoin trading websites. Don't try to hide this into some kind of premium account. People don't want that, they want to see events.

You can't just rely on a company you seem to have no contact with to just give away big money (even if they are indeed the ones to blame, if that's article is true, because they were no right to their word).

[1] [https://en.wikipedia.org/wiki/Electronic_sports](https://en.wikipedia.org/wiki/Electronic_sports)

[2] [http://wiki.teamliquid.net/starcraft2/Bitcoin_StarCraft_Chal...](http://wiki.teamliquid.net/starcraft2/Bitcoin_StarCraft_Challenge)

(edited links formatting)

</comment><comment><USER19> Used to play UT Classic there a ton.

<comment><USER20> UT99 is still alive and well! Check out www.globalunreal.com!

<comment><USER21> It's kind of amazing that game still runs without any issues on new OSes/with new drivers/new hardware. Except now at a gajillion frames per second.

<comment><USER22> This is mostly thanks to volunteers creating mods/renderers/etc, which in turn is only possible thanks to Epic's focus on user-generated content through the Unreal editor. 15 years later, and people are still adding to the game[1][2].

[1] [http://www.globalunreal.com/forums/viewtopic.php?f=64&t=1511](http://www.globalunreal.com/forums/viewtopic.php?f=64&t=1511) [2] [http://www.ut99.org/viewtopic.php?f=5&t=5347&p=58359#p58359](http://www.ut99.org/viewtopic.php?f=5&t=5347&p=58359#p58359)

</comment></comment></comment></comment><comment><USER23> played a lot of Urban Terror in clanbase, but clanbase was already pretty much dead as of a year or so ago.

<comment><USER24> Me too. I believe somewhere between 2003-2005. I have even browsed the archived match reports from cups on ClanBase a few months ago to see what I have been up to in the past :) Good times.

</comment></comment><comment><USER25> RIP [http://www.youtube.com/watch?v=TV5OiaPtxTA](http://www.youtube.com/watch?v=TV5OiaPtxTA)

<comment><USER26> It was a beautiful time.

</comment></comment><comment><USER27> I'm sad to see this. I can't say I've been using it even in the last 5-6 years, but I used to follow the NationsCup tournaments and we used to play on the ladder a lot back in the day.

It truly is like seeing the pub you and your friends used to go to close up shop and wondering why you ever stopped going there.

</comment><comment><USER5> Wow, what a thing to wake up and see on HN. I never thought I would see something from my past on this site.

I officially worked for the GGL from '04 to '09 as one of their initial developers, then as pretty much their only guy to take care of their web infrastructure (Architecture to Ops and everything in between) and I gotta say I'm not surprised this happened this way. So, I can probably add and address a few things here...

@Stealth- & lazyjones: The server setup that ClanBase was residing on was well past its prime and was pretty much overwhelmed every day between 2pm and 7pm ET. I can't really speak for the CB founders (Tal, Wob, and Godsmurf), but I'm pretty sure their was that the site would be well taken care for and pushed into better success by the GGL (we had the money after all). At the time the GGL bought CB, the GGL were seen as a rising star organization in the gaming communities and there were no black spots on their name at that time (and no belief their would be as a lot of big names were associated with it)

Re: "ClanBase Crew": The ClanBase crew were/are tops in my mind. I've been a gamer for a longtime now and have run or have helped run some highly visible tournaments and the CB Crew were the most organized group I ever saw. I'm still in awe with how they ran it. They had a full system from bringing in new people, training and growing them and ensuring they retain only the best talent. It was quite impressive and I still consider some of them as good friends. I hated resigning as I feared this could happen to their community. So to see a message from their side saying they are done is completely understandable and possibly overdue.

The GGL also had a few other "business incidents" (as I liked to call them) that occurred before RackSpace that I really didn't like seeing, as it affected good, gaming friendly companies and people (namely Speakeasy and Game-Hosting). From my point of view, the issues they had can all be traced back to their exec level and their lack of focus and understanding of what they were doing (especially with the competitive gaming community). This ultimately led to them giving themselves black eyes over and over and burning through VC money like crazy. (ie> GGL China and the olympics... did we really need to expand to China? ie2> Massive server infrastructure in US, but very little in Europe, really???)

I gained two big things from my experience at the GGL: 1\. Understanding of how _not_ to run a Gaming Startup or possibly any startup (so if I do it, I know how I will do it... and it will look nothing like this disorganized mess) 2\. A lot of great friends from the GGL employees, ClanBase crew, Speakeasy and Game-Hosting.

I can say the GGL was at least not like the CyberXGames was, but ultimately, I think the way the GGL went was just disappointing to everyone involved. So much potential just wasted. And worse, all that gaming history lost. (Although I do have most of the Quake related history archived away!)

-Joe aka Syn (from Darkside)

</comment><comment><USER28> Anyone wants to guess when the first spam runs start on the e-mail addresses from users? Don't know if the current owner is shady enough for it. But money is tight and the data is the only valuable thing they got out of it plus there are still debts to be paid.

<comment><USER29> I get the impression the debts will remain unpaid.

</comment></comment><comment><USER30> Seem a few startup here fail because of payment to amazon.It realy worth to host application on cloud platform or much better host server yourself method.

<comment><USER31> If you can afford it, AWS is nice, especially with the ability to spin up capacity only when you need it, which can make the economics work in your favour. If you're not sure if you can afford it, then stay off it. It's easy, but that convenience doesn't come cheap.

</comment></comment><comment><USER32> Tip of my hat to Godsmurf and Tal. Clanbase had a nice run and I had the privilege to attend several of their LAN events. Thanks for everything.

<comment><USER28> Don't forget Amsterdam Rob (Wob?), he was one of the original founders as well I believe.

</comment></comment><comment><USER33> Wow, it is over 12 years ago that I used that website with Unreal Tournament clans! Seems like it was yesterday! Good times...

</comment><comment><USER34> Never say sorry.

<comment><USER35> What?</comment></comment>


Network Neutrality Back In Congress For 3rd Time - <AUTHOR> http://news.slashdot.org/story/09/08/03/1842214/Network-Neutrality-Back-In-Congress-For-3rd-Time?from=rss <comment><USER2> Did Slashdot actually beat HN to a story for once?

My head just exploded.</comment>


Apparently caving to DDoS attacks, PayPal releases WikiLeaks' funds - <AUTHOR> http://thenextweb.com/media/2010/12/09/caving-to-pressure-from-supporters-paypal-releases-wikileaks-funds/

<comment><USER2> I can accept bias, especially in an online article. It's the nature of the game. That said, the author's response to commenters reveals an almost Gizmodo-like lack of professionalism. To whit:

"i think the article, which reports that which was posted previously when paypal froze the funds, and that which payapl revealed today, is in no way misleading.

moreover, the comments below reveal further evidence why paypal could do what they did, be it right or wrong. thanks for your overzealous, inaccurate, comment "Winslow." isn't it fun to laugh a little?" (Admirable ability to locate the shift key, especially for an author).

<comment><AUTHOR> I would have linked to the paypalblog but it seems to be down at the moment :)

[https://www.thepaypalblog.com/2010/12/updated-statement- abou...](https://www.thepaypalblog.com/2010/12/updated-statement-about- wikileaks-from-paypal-general-counsel-john-muller/) for when it is accessible again

perhaps this is a 'less biased' source -- [http://emoney.allthingsd.com/20101208/paypal-releases- funds-...](http://emoney.allthingsd.com/20101208/paypal-releases-funds-to- wikileaks-as-supporters-strike-back/)</comment></comment>