Why You Can't Think of the Word That's on the Tip of Your Tongue - <AUTHOR> https://www.nytimes.com/2017/10/22/smarter-living/word-on-the-tip-of-your-tongue.html <comment><USER2> Answer

> these moments are simply part of the way we communicate, and they're more or > less universal

Hard-hitting science right there. This is literally as far as the article goes.

<comment><USER3> The deeper answer was on the tip of their tongue, but they just couldn't come up with it for the article.

</comment></comment><comment><USER4> As to the question posed, there are two competing hypotheses. Blocking, where the correct answer is prematurely discounted as false, and partial activation. Introduction to this paper has an overview:

[https://link.springer.com/content/pdf/10.3758%2FBF03202721.p...](https://link.springer.com/content/pdf/10.3758%2FBF03202721.pdf)

</comment><comment><USER5> In reality this is a consequence of how much effort we make in remembering something.

It's well known that making lasting memories relies on multiple associations that all lead to that memory.

So when you learn someone's name for the first time, say it a few times, and think about something factually unique about the person, make those associations with things that come to mind. (ex: Benjamin, Ben, Big Ben, short Ben with a hat & side burns.)

The more you make, the better you'll be at remembering people's names and the easier it will get.

</comment><comment><USER6> "It will come back to me soon." Instead of "I can't remember."

Help with this scenario, I use this inner dialogue as a generative command, I say it gently and with trust in the innate wisdom of my consciousness and sure enough within a minute or two this command runs in the background and then what I'm looking for will become present in my mind. (I learnt this from The Silva Method). I'm curious about this kind of inner pattern, what other generative inner commands and questions work for you?

</comment><comment><USER7> This article doesn't answer the question on its title.

</comment><comment><USER8> I thought of the word(s) I was trying to think of: "presque vu" ;)</comment>


Show HN: Slackbot for founders to track their startup's finances - <AUTHOR> https://www.swayfinance.com/ <comment><USER2> The amount in the bank account is very, very different than the budget. A startup should not be tracking its money on such a simple basis. Without categories (or envelopes) the amount of cash is pretty meaningless without knowing if is clear to spend.

<comment><USER3> Makes sense. We're starting with accessible (and push-based) information to complement founders' existing systems and then planning to build upon it in the future. Thanks for the feedback!

</comment></comment><comment><USER4> This is potentially enormously sensitive data that'd be very valuable to competitors etc. I'd want to see a much more extensive privacy policy than the current state of [https://www.swayfinance.com/privacy](https://www.swayfinance.com/privacy), particularly as it's a free service in need of an eventual business model.

<comment><USER5> And to add to that the real issue is that Slack stores data unencrypted on their servers.

This would be handing your financial data over to a third party to old in an unsecured format. Yikes.

<comment><USER6> Wow--didn't realize that. If that's the case that's a major issue for anyone considering building a product that transmits sensitive data on top of Slack's platform.

</comment></comment></comment><comment><USER7> Site feedback: the video at the top of your landing page only shows the output of the bot for 4-5 seconds. Let it linger a bit longer so I can see what you're offering.

<comment><USER3> Got it - appreciate the feedback!

</comment></comment><comment><USER8> Why don't you just wire it up to the Xero API instead of the bank accounts?

<comment><USER9> Agree - Xero, Intuit, MYOB, Saasu etc. Lends itself to more than just banking data plus becomes an audience to market directly to.

<comment><USER10> Yep, could calculate things like invoices owing, draft invoices that haven't been sent yet, as well as calculating average monthly expenses so you know if everything's looking okay or not.

Also, hooking into Xero immediately makes it usable by companies in countries outside USA.

</comment></comment></comment><comment><USER3> We made a Slackbot for startups to tell them some simple financial metrics (how much is in their bank account, and what their latest transactions in those accounts are). We're connecting to company accounts through Plaid (plaid.com) and sending them a financial 'digest' through Slack/email each morning.

As consumers we've been using a couple apps like Digit (digit.co) to track our personal finances but couldn't find a push-based version for companies. Logging into our company bank accounts to keep track of transactions has been pretty painful (online business banking UI is really hard to navigate) so hopefully this can make the process easier.

We want to eventually incorporate burn-rate to help founders stay on top of their company's money. Would love any feedback -- thanks!

<comment><USER11> I'm a founder and the guy in charge of the $$$. This sentence doesn't resonate for me: "Logging into our company bank accounts to keep track of transactions has been pretty painful (online business banking UI is really hard to navigate) so hopefully this can make the process easier."

If you've already tested your target customer segment and found that they find this to be "pretty painful", then you can conclude that I'm an outlier. If you have not already done customer discovery, I'd encourage you to check whether this is actually a pain point you can market to. I've found our bank's website to be pretty quick and easy to navigate.

<comment><USER12> I agree with the above. This seems like a "neat to have", but not a huge productivity enhancer.

I'm seeing more and more apps like this. It's telling me that a lot of the low-hanging fruit has been picked in this technology cycle and entrepreneurs are looking desperately for unoccupied niches to fill.

</comment></comment></comment><comment><USER13> There are a ton of Slack apps popping up.

Are they typically side projects? Or on the VC / startup path?

(This is not a dig at Slack apps, just curious whether people see a big market here)

<comment><USER14> It is probably because of the $80M fund ([http://slackhq.com/post/134878632730/launch- platform](http://slackhq.com/post/134878632730/launch-platform)) Slack set up for developing apps on their platform.

</comment></comment><comment><USER15> Is this a US thing? Getting programmatic access to my UK bank accounts is still a nightmare. I must use a manual download process involving two factor auth each time.

A company exists that scrapes the bank sites of all major banks but obv cannot defeat two factor auth so for my accounts package I used to give them my username and then have to enter the two factor each time anyway.

I conclude its too dangerous to give other companies my RW login details

Basically programmatic access to my accounts - forget it. Differentiated access (RO, RW, fine grained), don't make me laugh.

Is this just UK? Is there a better bank Inshoukd move to?

</comment><comment><USER16> Would this be a useful app without Slack?

<comment><USER17> Yes. One would log into their bank website/app and into Quickbooks.

What am I missing?

</comment></comment><comment><USER18> This is a really cool idea! Especially excited about the daily updates/reporting

</comment><comment><USER19> Does it support only US banks? I'm in Canada, with US and Canadian accounts.

<comment><USER3> We're only in the US for now (most financial institutions supported). Hoping to expand access in the future!</comment></comment>


US Renewable Sources Produced More Electricity Than Coal for 40 Days Straight - <AUTHOR> https://www.newsweek.com/america-renewable-energy-electricity-generation-tops-coal-plants-april-2020-40-days-1501967 <comment><USER2> Coal has been on it's way out in the U.S. for awhile thanks to natural gas. Natural gas is also the biggest driver of pre-covid emission reductions for the United States (as far as energy sources go at least). People want to spend another decade investing in green power generation to make it less awful when there's plenty of low-hanging efficiency gains we could be doubling down on today. But then we wouldn't get to brag about how much we're like the Europeans.</comment>


Tech buying out competition and shutting it down - <AUTHOR> http://www.sfgate.com/bayarea/article/SFist-shut-down-gothamist-dnainfo-ricketts-12327549.php <comment><AUTHOR> Reminds me of GM buying LA tram companies to eliminate competition by shutting them down. Now it is tech companies and moguls instead.

</comment><comment><USER2> The more serious such takeover was when Hearst (longtime owner of the San Francisco Examiner) bought the Chronicle and took it over.</comment>


Announcing Rust 1.0-alpha2 - <AUTHOR> http://blog.rust-lang.org/2015/02/20/Rust-1.0-alpha2.html <comment><USER2> I haven't had much time in the past month to help out with Rust, but I'm excited at how things are proceeding. Conceiving, proposing, and implementing I/O reform in the span of a single six-week alpha cycle is very impressive, to say nothing of the sea of tweaks and refinements that have appeared in the same period. That said, I see this as basically just a "heads down, working furiously, nothing-to-see-here" release... six weeks from now is when the real action starts. :)

<comment><AUTHOR> Not to rain on our parade, but IO reform discussion started in the middle of last December, so it's been longer than that.

</comment></comment><comment><USER3> I must say what worry me the most is what happens once 1.0 is shipped in term of language changes and compatibility with previous versions. Because I've observed and of course I understand the huge amount of changes the language has undertaken until now, but I must say I worry it will continue at this pace right after 1.0.

Currently, I'm on the verge of choosing the language I will choose for an important project I'm about to start, I have a good knowledge of Rust and I think it's a great language, but despite all of this I think I will pass on Rust for this project because I'm not sure I'm ready / be able to keep-up with this level of changes.

<comment><USER4> Rust 1.0 will be stable and will cease making breaking changes.

<comment><USER5> Personally, I prefer languages that make small incremental breaking changes, as it prevents cruft from accumulating over time.

The important thing is to provide a migration path (e.g., begin by marking something as deprecated). Then provide refactoring tools to help migrate or interface with legacy code.

I think C++ would have been much better off had it been willing to do this. Paraphrasing Stroustrup: C++11 has within it a smaller more elegant language that's trying to break free.

<comment><USER6> Being able to run old legacy code is one of the most important arguments for C++. Every new feature is add-on (not "upgrade" and not "migration").

At the fast pace things develop for Rust I hope that the language will have a good way to handle Rust 2.0 code together with Rust 1.x code. IMHO providing practical tools for an upgrade path is something that should be thought of before releasing 1.0.

<comment><USER5> Objective-C is a good example of successfully migrating the language forward. Breaking changes were introduced slowly. Library APIs are marked as deprecated several releases prior to removal. The compiler warns you of their use. Automatic reference counting can be turned off for legacy files, but a tool is provided that will help you convert a class to use ARC.

Code written in ObjC a couple of years ago will likely not run today without modifications. But overall this has been a net positive for the language. It's actually become really pleasant to use. And is in part why Apple's platform has thrived.

I think optimizing for the past is the wrong thing to do. If your language is successful, then most of the code is yet to be written. So if your choice is between making future code easy to write, or not breaking legacy code, then you should err on breaking legacy code and provide deprecation/migration tools.

<comment><USER7> I wouldn't use Objective-C as success for anything, given that it is unavoidable in the Mac platform.

</comment></comment></comment></comment></comment></comment><comment><USER8> Awesome, with their announcement that "all major API revisions are finished" this seems like the turning point where I will finally invest my time into thoroughly learning the language! I'm really excited!

</comment><comment><USER9> I was hoping that the prelude would re-export the new io/path modules, but it looks like old_io and old_path are still exported.

Regardless, great work. Rust seems rather promising.

</comment><comment><USER10> What's up with the "pure" keyword? Has someone managed to work on this area so that the default is pure, and the opt-in keyword is "impure" instead?

<comment><USER11> Rust doesn't currently enforce pure functions at all; there is no 'pure' keyword. Here is an old mailing list post related to this decision - note that because it is 2 years old and Rust has been in a state of constant flux for most of that time, it may not fully reflect current thinking.

[https://mail.mozilla.org/pipermail/rust- dev/2013-January/002...](https://mail.mozilla.org/pipermail/rust- dev/2013-January/002903.html)

</comment></comment><comment><USER12> Steve: Perusing or pursuing the trifecta? =o)

<comment><AUTHOR> I always friggin' do this, it's one of those typos I perpetually make :(

Care to make a PR so you get a commit credit, or should I just fix it? rust- lang/blog.rust-lang.org is the repo.

<comment><USER12> It's fine, go ahead and fix it. And thanks for your hard work on Rust! =o)

<comment><AUTHOR> Done: [https://github.com/rust-lang/blog.rust- lang.org/pull/28](https://github.com/rust-lang/blog.rust-lang.org/pull/28)

And you're very welcome. I couldn't do it without Mozilla paying my bills, though I hope to strike out on my own later in the year.

</comment></comment></comment></comment><comment><USER13> I tried rust, I tried honestly, but it's just enraging when you can't just write:

      let x = ys.filter(|y| self.p(y));
      self.z = x;

</comment><comment><USER10> I've recently attended a conference where they gave a D talk, and almost immediately after a Rust talk.

This let me compare these two interesting languages in a quite detailed way.

While Rust seems to be more safe in terms of trying to prevent as much as it can that you shoot yourself in the foot, it can be understood that the way to achieve this is maybe too extreme. I've read that programmers new to this language invariable struggle with lifetime issues that the compiler keeps arising.

I'm sure this is a good thing. But I'm not sure the ways to fix those issues, at least in a number of examples I've seen, are pretty. Most of them involved abusing the "*" and "&" symbols, which put you in a territory in which you seem to be dealing with pointer arithmetic again like in low-level C, something which I thought Rust was trying to escape from.

One thing I really liked about D is the string mixins, which could allow for what has become common these days in F#: type generation at compile time (which at the end of the day allow you to, for example, parse XML or JSON with static APIs, hence allowing intellisense/codeCompletion/youNameIt).

I'm really excited about what these kind of high&low (hybrid) level languages will allow. I hope they get into mainstream soon, and surpass other less interesting (but trendy) ones like Go.

<comment><USER4> > Most of them involved abusing the "∗" and "&" symbols, which put you in a > territory in which you seem to be dealing with pointer arithmetic again like > in low-level C, something which I thought Rust was trying to escape from.

First off, Rust doesn't have pointer arithmetic.

Moreover, though, Rust is not trying to "escape from" pointers in C and C++; it's a manually memory-managed language, not a garbage-collected one. For Rust's domain (systems programming without automated memory management), learning about pointers is a necessity. What Rust saves you from is making dangerous _mistakes_ with memory management.

> One thing I really liked about D is the string mixins, which could allow for > what has become common these days in F#: type generation at compile time > (which at the end of the day allow you to, for example, parse XML or JSON > with static APIs, hence allowing intellisense/codeCompletion/youNameIt).

Rust has macros and compiler plugins, which allow you to do the same thing.

<comment><USER10> >First off, Rust doesn't have pointer arithmetic.

It should have avoided the "*" and "&" symbols then, IMNSHO.

C# does this partially by using the "ref" keyword.

<comment><USER4> > It should have avoided the "∗" and "&" symbols then, IMNSHO.

Those operators aren't for pointer arithmetic…

> C# does this partially by using the "ref" keyword.

But C#'s reference parameters have no corresponding dereference operator, because they aren't first class and are limited to function parameters. As a result, most programs cannot be written without using the garbage collector in C#. In Rust, however, references can appear as first-class values, which makes them much more flexible—enough to supplant a garbage collector when combined with smart pointers—but requires that you annotate where they are created. `&` and `*` are well-known operators for this.

<comment><USER10> > Those operators aren't for pointer arithmetic…

That's the point of my suggestion! One looking at them will think they are pointer arithmetic, which is not pretty for newcomers.

<comment><USER4> Those operators aren't for pointer arithmetic in _any_ language I know of, including Rust, C, C++, or Go. The operators for pointer arithmetic are plus and minus (technically square brackets too in C)--that's why it's called pointer arithmetic.

<comment><USER10> Ok sorry, I misused the term "pointer arithmetic" then. I think I was referring to memory indirection and the like. I find "ref" and "->" less cryptic than "&" and "*".

<comment><USER14> You can have pointers and memory indirection without being able to do arithmetic on pointers.</comment></comment></comment></comment></comment></comment></comment></comment>


Learn Lua in 15 Minutes - <AUTHOR> http://tylerneylon.com/a/learn-lua/ <comment><USER2> This is awesome. I will take [a single huge list of self-explanatory example snippets (with a few short comments here and there) for 95% of use cases] over [detailed walls-of-text docs pages spread across a hierarchy of topics] any day.

<comment><AUTHOR> Thanks. My goal was to write the tutorial I wish I had when I started. Your description also matches my own preferred learning style.

<comment><USER3> Were you inspired by [http://www.stavros.io/tutorials/python/](http://www.stavros.io/tutorials/python/), by any chance?

</comment></comment></comment><comment><USER4> Along the same lines is [http://hyperpolyglot.org/](http://hyperpolyglot.org/) (which has been posted here a few times). This is useful both for learning a new language and for a quick reference for languages you're not so hot on. It's also very interesting to compare similarities and how languages have influenced each other.

It seems (from the comments here and my own experience) that many people really like this style of learning. It would be great to see it applied in more areas.

<comment><USER5> Thanks for reminding me of Io.. not.

I was so happy with Lua and thought it was such an elegant and clean language.. then I looked at the side-by-side comparison between Lua and Io on the site you linked.. and now it seems clumsy and ugly.

Unfortunately a language is only as good as its implementation and tooling and Io's implementation is "experimental" at best (and development is pretty much dead) + the utter lack of tools and third-party support so I will have to stick with Lua.. and try very hard to forget Io again.

</comment></comment><comment><USER6> This is a good start, but there's also some deeper ideas in Lua. It has a good implementation of coroutines, for example; if you're familiar with continuations from Scheme, they fit most of the same uses. (They're like generators from Python or fibers from Ruby, but with less edge cases.)

The C interop is also a Big Deal. Lua seems like a cute little language, like a cleaner Javascript, but it's a LOT more useful if you're also proficient in C. Also, Lua will run anywhere you have an ANSI C compiler and a modest amount of space.

<comment><USER7> Coroutines are tricky, and you need to explain them, not just present a bit of code. I think it is the right decision to omit them from a 15-minute intro. The C API is way out of scope.

I would cover assert() statements and the common (exit_status, result) var return, since that is so idiomatic. Maybe also loading chunks.

<comment><USER6> I agree, they're tricky. I'm currently working on a blog post about them. :)

</comment></comment></comment><comment><USER8> I'm going to be "that guy":

      -- These are the same:
      -- ...snip...
      local function g(x) return math.sin(x) end
      local g = function (x) return math.sin(x) end

According to the Lua Reference Manual [1], this example isn't correct. Rather, this is the correct translation:

      local function g(x) return math.sin(x) end
      local g; g = function (x) return math.sin(x) end

From the manual: "This only makes a difference when the body of the function contains references to f."

[1] [http://www.lua.org/manual/5.2/manual.html#3.4.10](http://www.lua.org/manual/5.2/manual.html#3.4.10)

<comment><AUTHOR> You're right; I fixed that part.

<comment><USER9> you also miss a couple of "local newObj" in constructors.

</comment></comment></comment><comment><USER10> This is awesome.

On that note, I don't understand all the javascript craze. Lua has been around for quite some time, and it's small, with well-defined semantics, a nice set of features, the interpreter is small and very fast, you can get even faster with LuaJIT, etc. Browsers should have adopted that ages ago.

<comment><USER11> Maybe when it supports unicode

<comment><USER12> What do you want to do that you cannot do because of the lack of Unicode support?

<comment><USER13> I'd imagine internationalized gamed would be a big one, although I'm not a games programmer or a lua user myself.

<comment><USER12> I had hoped that someone would mention what specific thing was missing, because as far as I know it's trivial to do anything one would want to do when making games already. That is, it is very easy to accept UTF-8 input, output UTF-8, munge UTF-8 strings together prior to outputting them, compare UTF-8 strings for equality, and so on. If the game needs UTF-8-aware strlen (for limiting the length of a field or alphabetizing things), it is like 10 lines of code.

</comment></comment></comment></comment></comment><comment><USER14> A logical next step might be to do do the Lua Missions (read: koans): [https://github.com/kikito/lua_missions](https://github.com/kikito/lua_missions).

(Disclaimer: The missions look good, but I haven't personally tried them.)

<comment><USER15> Actually, the Lua Missions are excellent! I highly recommend taking the time to work through them. More than just a series of exercises (like most of the foo-koans), there's actually a narrative and a larger lesson you can learn if you work through the full problem set.

<comment><USER16> Hi, Lua Missions author here!

Thanks for the kind words. One word of warning though: I never got around to make one mission about coroutines.

But I accept pull requests :)

</comment></comment></comment><comment><USER17> Lua can be great. I've worked with it extensively on a personal project, where I've embedded it in a C++ app. However, there are some things that you will hate:

      * Trying to correctly do "inheritance"
      * Having to write all of your batteries for common ops
      * Array indices begin at 1!
      * Poor debugging support

Aside from those thing, Lua is great. It's crazy fast and easy to embed.

</comment><comment><USER18> I prefer learning this way also, so I wrote something sort of similar for Vimscript a while back. The # of people that ever need to use vimscript is low, but it's out there for people to get their feet wet.

[http://andrewscala.com/vimscript/](http://andrewscala.com/vimscript/)

</comment><comment><USER19> I would like to say that the easiest way for me to learn lua really fast was to build games with Corona using lua.

Having a great tool that gives great feedback right away makes learning a language more fun IMO.

<comment><USER20> Almost the same experience but with Love2D[1] instead of Corona.

After learning Lua I also suggest to take a look at MoonScript[2] a dynamic scripting language that compiles into Lua, you can think about it as the CoffeeScript of Lua.

[1] [http://love2d.org/](http://love2d.org/)

[2] [http://moonscript.org/](http://moonscript.org/)

<comment><USER21> Codea (ios) is also nice. My first forays into Lua were hacking WoW UI components.

</comment></comment></comment><comment><USER22> Nice work!

One nitpick: local function declarations, like

        local function g(x) return g(x) end

are actually the same as writing

        local g;
        g = function (x) return g(x) end

. Without that first local g; statement, local functions wouldn't be able to call themselves recursively.

<comment><AUTHOR> yep; fixed

</comment></comment><comment><USER23> I love this - if every language could have something like this written up it would be amazing. It just about fits into my attention span!

<comment><USER24> Well, it helps a lot that Lua is by design a very small language :)

Python is actually much bigger nowadays -- I would challenge someone to come up with something this simple that doesn't leave out a lot of stuff you will encounter in real code.

The extra features ("bloat") do matter. I like the idea of Lua a lot, but when I started programming in it, it unfortunately felt like a less capable Python to me.

<comment><USER25> Lua and Javascript are quite similar in that way: nice little languages that fall apart really quickly when you try building anything reasonably large or complex.

I don't really understand the attraction, except in certain niches like Lua as an embedded scripting engine, when you really need something that can be trivially sandboxed.

<comment><USER26> > [...] except in certain niches like Lua as an embedded scripting engine, > when you really need something that can be trivially sandboxed.

Isn't that exactly the reason JavaScript exists in the first place (i.e.: an embedded scripting engine for browsers) ?

</comment></comment></comment></comment><comment><USER27> This is great! I wish every language had an intro like that :)

It was interesting to find resemblance of Lua's classes to Perl's blessing. Always meant to look into the language and this tutorial made me do it.

I also learned about the LÖVE game engine, which I'm going to play with this week. Thank you!

[http://love2d.org/](http://love2d.org/)

<comment><USER28> If you're playing with love2d you might as well want to check out Zoetrope, I found it very awesome. [http://libzoetrope.org/](http://libzoetrope.org/)

<comment><USER29> This looks interesting, can you explain the difference between Zoetrope and LÖVE?

The former seems to be built on top of the latter, yes? Are there particular things lacking in LÖVE that Zoetrope fills in? I couldn't find this info quickly on their sites.

<comment><USER30> Looks like it has collision detection whereas for LÖVE you'd use Hardon Collider, has Tiled level loading whereas you'd need a plugin for LÖVE, etc. Basically, lots of stuff that you'd include in your games anyway.

Looks nice and has better documentation than LÖVE. Thanks for posting it, I didn't know about it before.

</comment></comment></comment></comment><comment><USER31> First, that was very useful; bookmarked.

That took me 30 minutes to read. I think I might feel like I've learned the language after spending 8 hours working the examples a la "Learn Python the Hard Way". Luckily, I'm not competing with the folks here that learned it within 15 minutes ;-).

<comment><AUTHOR> The title is a bit optimistic :) That's how long it takes me to read as if I were reading a novel, which isn't quite fair.

I wanted to express something like "hey, this guide is for programmers and is surprisingly short and easy to consume considering it covers the large majority of the language." The current title seemed a bit snazzier.

</comment></comment><comment><USER32> I love this. I'd like/pay to have a consistent library of exactly this for other languages.

<comment><USER33> A scripting language rosetta stone.

Here's one

[http://www.lurklurk.org/rosetta.html](http://www.lurklurk.org/rosetta.html)

<comment><USER32> Yes, this - but with more languages and in the format of this topic. Just a really easy read.

</comment></comment></comment><comment><USER34> This is a neat little reference but I can't waste the opportunity.

I've seen people say they've never seen complaints about fonts being too big? Well here I am, complaining that the fonts are so big this page is hard for me to read without zooming out.

</comment><comment><USER35> That was a pretty cool crash course on Lua Tyler! Thanks for putting that together and sharing it. After having had worked with numerous languages over the years such as Fortran, Pascal, Ada, C, Java, C++, C#, Python and Objective-C, I must say that working with Lua is my favorite. I'm thankful to a buddy of mine for introducing it to me. My own personal experience has shown me that working with Lua really allows you to focus on solving the problem versus getting wrapped around the axle at the programming language level. Thanks again

</comment><comment><USER36> That was lovely. I always had a hard time wrapping my head around the exact behavior of metatables when I messed with Lua a few years back. Thanks!

</comment><comment><USER37> I learned to love lua when writing basic sysadmin scripts for OpenWRT based systems. I had previously used perl for sysadmin stuff, but perl (even microperl) took too much space on OpenWRT boxes with 4MB flash drives. Lua to the rescue. Now I chafe when I have to go pack to perl.

I do wish someone had handed me this on the first day I realized I needed lua.

</comment><comment><USER38> Maybe for the next Ludnum Dare...

nice write up comparison of lua based game engines: [http://www.gamefromscratch.com/post/2012/09/21/Battle-of- the...](http://www.gamefromscratch.com/post/2012/09/21/Battle-of-the-Lua-Game- Engines-Corona-vs-Gideros-vs-Love-vs-Moai.aspx)

</comment><comment><USER33> Thanks! Lua is used all over the place in wireshark user scripts. This is super useful.

</comment><comment><USER39> Anyone else catch the Gauss reference[1] in the for loop section?

[1] [http://en.wikipedia.org/wiki/Carl_Friedrich_Gauss#Anecdotes](http://en.wikipedia.org/wiki/Carl_Friedrich_Gauss#Anecdotes)

<comment><AUTHOR> You have a keen eye for subtle references! I didn't expect many people to get that one :) There's another math anecdote reference hidden in there as well - probably even more obscure than Karl's sum.

<comment><USER40> Upon reading this comment had to skim the whole thing looking for more (hadn't yet finished reading). No more maths references than tau found yet. :/

<comment><AUTHOR> Ramanujan and Hardy are two well-known mathematicians who collaborated in Britain between 1914 and 1920. One day Hardy took taxi number 1729 to visit Ramanujan, and remarked to him that he (Hardy) could think of nothing special about the number (1729). Ramanujan replied that it was in fact the first number expressible as the sum of two cubes in two different ways (1^3 + 12^3 = 9^3 + 10^3). The story has since become an anecdotal symbol of Ramanujan's brilliant mind.

[http://en.wikipedia.org/wiki/1729_(number)](http://en.wikipedia.org/wiki/1729_\(number\))

That's a very obscure reference, though, so I apologize for sending anyone looking based on my previous comment.

<comment><USER40> Haha I'd heard this anecdote before, so it's my own fault for missing it. :)

Thanks for the great article and indeed fun references!

</comment></comment></comment></comment></comment><comment><USER26> This is very cool, the only way I can see this could be improved upon is by adding unit tests somehow (so that you can catch behavior changes when upgrading to a newer version of lua).

<comment><USER41> I'm not sure it's really necessary---Lua 5.0 came out in 2003, 5.1 in 2006 and 5.2 in late 2011. It doesn't change that fast.

</comment></comment><comment><USER42> Lua is weird mix between JavaScript and Python. I kind of like it.

</comment><comment><USER43> Bonus point for Cloud Atlas reference :)

</comment><comment><USER44> Just awesome. I wonder whether this type of example-based snippet exist for other languages.

</comment><comment><USER45> This would look much better with syntax highlighting.

</comment><comment><USER46> Having a font size of 25.33pt makes the website impossible to read without zooming out 3 steps. I would be happy if people stopped using tiny and huge default font sizes.

<comment><USER47> You can zoom in/out as much as you'd like, as you already know, so there is no need to force your personal taste on everyone else.

</comment></comment><comment><USER48> very comprehensive and interesting! i wish theres one for other languages too.

</comment><comment><USER49> Great sheet.

      -- Variables are global by default.
      thisIsGlobal = 5  -- Camel case is common.

\-- Undefined variables return nil. \-- This is not an error: foo = anUnknownVariable -- Now foo = nil.

\-- Only nil and false are falsy; 0 and '' are true!

Didn't read further. Bad language design. Must die.

<comment><USER12> Could you tell us anything about why these things are bad?

Regarding the last point (the one that you cannot change), I'm not sure I prefer the behavior of any other language. In Python, for instance, all of the number-like things I tried were falsy iff they were 0, and I found that almost any container is falsy iff it is empty, but Queues are always truthy. This is a weird exception, and I would rather not have to remember it. Collections and numeric types defined in external libraries can easily have the same problem.

<comment><USER49> Global automatically declared variables is a well-known bad feature of some non-modern languages that gives nothing but an opportunity to make hardly detectable mistakes because of misprints.

Arbitrary nonsensical type casts must be prohibited. The compiler/interpreter/IDE must infer types and help the programmer to catch their mistakes as early as possible.

As a general rule of language design, if something looks unintentional or ambiguous to a human, it should look so to a compiler/interpreter. The more coherent the programming environment is to your conscience, the easier the programming is.

<comment><USER12> Thanks. I agree that Haskell is a great language, but this is a dynamically typed scripting language. As such, perhaps it would be more useful to compare it to languages that are actually comparable, like Ruby, Perl, your favorite LISP, Javascript, or Python.

This language does not include any nonsensical type casts. You cannot add a table to a string, take the arithmetic negation of a function, or index a number. (Actually, if you wanted to you could write code that permits you to do most of these things. For instance, I usually use some code that adds the ability to index strings.) String concatenation and arithmetic addition are different operators, so unlike in some prominent scripting languages you cannot find a and b such that +(a+b) == 50005 and +(b+a) == 55.

It does, however, include some forms that allow you to branch based on whether or not a value is a member of the set {nil, false}. I suppose that it would be better for the compiler to be able to guarantee that the value was a member of the set {true, false} and to yell at you rather than running your code if it was not, but this is a fairly rare property across all programming languages. I frequently use a programming language called Scala, and it pretends to provide some typechecks, but in reality all reference types are silently nullable, and all method calls are silently of the bottom type.

</comment></comment></comment></comment><comment><USER50> That page could do with a little syntax highlighting, at least for the comments. -- does not stand out.

<comment><USER51> There is and has been syntax highlighting for me. Weird that you don't see it.

</comment></comment><comment><USER52> Obligatory: Teach Yourself Programming in Ten Years — [http://norvig.com/21-days.html](http://norvig.com/21-days.html)</comment>


A Guide to Bayesian Statistics - <AUTHOR> https://www.countbayesie.com/blog/2016/5/1/a-guide-to-bayesian-statistics <comment><USER2> This is one of the best explanation I have read:

An Intuitive Explanation of Bayes' Theorem [http://www.yudkowsky.net/rational/bayes](http://www.yudkowsky.net/rational/bayes)

and I see Eliezer now recommends this instead: [https://arbital.com/p/bayes_rule/?l=1zq](https://arbital.com/p/bayes_rule/?l=1zq)

<comment><USER3> In the orbital link I selected deep math knowledge to see the subject form various angles. Immediately I read this on the page "This means that the odds over H will be proportional to the probabilities over H", that is completely wrong and misleading. Sorry to be hash.

</comment></comment><comment><USER4> so i've never met the chap who does this blog (i think his name is Will), but i've been reading it for a while now. Don't let the post with pics of legos mislead you--this guy knows what he's talking about. In particular, his posts on parameter estimation and MC simulations are excellent. His writing style is unpretentious and patient (ie, not "see how smart i am" but "here's this fascinating subject that i really want you to understand") and in every post i've read on this Blog, he's got something interesting to say even for those who work in this discipline.

<comment><USER5> His name's Will Kurt - if you want to hear him talk a bit about his blog, he was the first guest on the Becoming a Data Scientist podcast: [http://www.becomingadatascientist.com/2015/12/21/becoming-a-...](http://www.becomingadatascientist.com/2015/12/21/becoming- a-data-scientist-podcast-episode-01-will-kurt/)

His blog is great, as you say: even if you know the topic you'll find something new there.

</comment></comment><comment><USER6> There's also Think Bayes ([http://greenteapress.com/wp/think- bayes/](http://greenteapress.com/wp/think-bayes/)) which uses python.</comment>


BugVM: Successor of RoboVM - <AUTHOR> https://github.com/bugvm/bugvm <comment><USER2> I wonder if RoboVM never really caught on because Swift turned out to be a decent language.</comment>


Is it creepy when brands pester you on social media? - <AUTHOR> https://shkspr.mobi/blog/2019/02/is-it-creepy-when-brands-pester-you-on-social-media/ <comment><USER2> EVERY communication from a company that isn't "thank you for your business" or "invoice attached" is creepy. We need to return to a strict relationship. And I want to have more control: I want key exchange, where once I've paid I can _revoke_ your ability to reach me so I _never_ hear from you again unless _I want_ to reach you again.

Company communications out of the blue come off as having an extremely exaggerated sense of self-importance. I have a hard enough time keeping up with friends and other _desirable_ contacts on a regular basis, yet your stupid company thinks I want to see your weekly E-mail spams or "notifications" (read: ads) every _day_ on my phone? (And we _all know_ they'd send you "notifications" every 5 minutes if the damn platform didn't step in to prevent it.)

<comment><USER3> Ideally, this would be the case, but information such as product recalls and safety information would be impossible.

<comment><USER4> If you sent me a product you can send me a letter.

</comment></comment></comment><comment><USER5> Still a bit creepy, but I enjoy Wendy's trolling:

[https://static.boredpanda.com/blog/wp- content/uploads/2017/1...](https://static.boredpanda.com/blog/wp- content/uploads/2017/12/funny-wendy-tweets-jokes-4-5a3b7166cfcbc__700.jpg)

[https://cdn.funpic.us/wendys_tweets_are_great-47-242772.jpg](https://cdn.funpic.us/wendys_tweets_are_great-47-242772.jpg)

Edit: If they do ever bag on you, though...ask how they make the chili.

Any questionable patty from the grill goes in a unrefrigerated pan, all day long. Then, they mix in the beans/sauce and freeze it for 30 plus days. It's a notable exception to their militant "never frozen", "fresh", schtick. Odd, since the burgers are actually done well, and are fresh.

<comment><USER6> It's not questionable patties, it's ones which did not get used in time for a burger. Cooked a little too long, that probably makes them _better_ for chili, not worse. And they are put in a warming drawer, which is a lot different than an 'unrefrigerated pan'. Also, they freeze the meat for up to 7 days, not 30+.

Honestly, that sounds perfectly fine. The best ground beef has been thoroughly browned, that's probably why people think their chili tastes so good.

<comment><USER7> They safely recycle unused burgers into a different product and you're somehow trying to twist this into a bad thing.

If it was unhealthy, people would be getting sick from eating Wendy's chilli all the time, but obviously they are not.

We should be encouraging _more_ companies to reduce their waste, but you're on a weird hate crusade instead.

<comment><USER6> Perhaps you meant to reply to the same comment I did, and not mine.

<comment><USER7> Oh, yes I did. Sorry! :/

</comment></comment></comment></comment></comment><comment><USER8> When you choose to call out a person/company (good or bad) in an electronic public square, I think it's fair for other people/companies to jump into the conversation if they so choose.

<comment><USER9> So if you were having a discussion about someone in Starbucks you'd be happy for me to change table and jump into the conversation?

<comment><USER10> What if you were having that conversation so loudly that people inside and outside the Starbucks could hear you and when you mentioned a brand's name, they were immediately notified and your conversation was permanently associated with their brand? I mean you literally see this phenomenon in public where people converse too loudly in public and strangers then do end up overhearing and feeling, rightly or not, that they can jump in because a conversation that loud is simply too inviting.

<comment><USER11> In real life, the is only maybe 20-30 people in Starbucks at most. Online is not the public square.

</comment></comment></comment></comment><comment><USER12> I honestly don't understand complaints like this. When you post something on the internet (on a service that has a documented, public API!) anyone can see it, by definition. Twitter isn't your local pub - it's a public forum visited by millions of people daily. If you don't want those people reading and reacting to the things you write, don't write them on Twitter!

And yeah, brands aren't people. But guess what? Brands are made out of people, and those people have just as much a right to be on Twitter as you do!

There are lots of forms of electronic communication that are non-public. If you don't want people reading what you say, use those.

/rant

<comment><USER13> Isn't this actually a damning indictment of how normal humans expect social networks to work, versus how they actually do?

You don't expect big corporations to have spies listening to every conversation in a random party in your local park, but you don't mind other people joining in, it's kinda the point.

People think of social media as a big party of real people, not as a massive corporate espionage listening to every conversation for certain trigger words so they can slimely sidle up, butt into the conversation and try and sell you something.

<comment><USER14> If your feed is public, then it's less like a party than standing at speaker's corner in Hyde Park with a megaphone. And yeah, some of the folks in the crowd are corporate shills yelling ads back at you.

<comment><USER13> You're missing the point, that's not how 99% of normal people _think_ it works, consciously or subconsciously, it's regardless of how it actually does.

People expect Facebook and Twitter to be local, and forget, because that's how human society works, but not computers.

Whether it's a couple of friends joking about defacing Marilyn Monroe's grave (with no real intention) or someone moaning about their internet, they don't expect to be watched by tens of thousands of corporations and hundreds of governments.

</comment></comment></comment></comment><comment><USER15> I do not see this so much creepy as scary. Big companies have the resources to stalk everyone with an open opinion, and the technology is just getting cheaper.

I want to be able to comment on-line without having tens, hundreds or thousands of companies creating profiles of my personality.

People need to get back their position in politics, economics and the public space. If every conversation is exploited to sell more products, how can we as a society have honest open conversations in the public space?

Sadly, even in the private space (WhatsApp, Facebook, etc.) there is also data collection and commercialization of people private lives.

Yes, it is public. But, no, it is not acceptable to transform everything public in a product.

</comment><comment><USER16> I feel like it's kinda expected on Twitter, but I was genuinely creeped out when it happened within 10 minutes of me posting a complaint about a company on Facebook. Ironically, my complaint about the company was that they were creepy.

I was complaining about a property management company who sent everyone in my neighborhood a letter warning us that renters would be moving in, and asking us to keep an eye on them and report back.

They showed up, really defensive, claiming that they didn't want us to spy on their renters, just report issues like if a fence had fallen over (pretty sure the renters can handle telling their landlord themselves). Then they said they were going to send a new letter to clarify.

After more of my friends replied and said their "explanation" didn't really change anything they deleted their promises, and never sent any follow up letters.

Good job company, you really convinced me you're not creepy.

</comment><comment><USER17> I think people on Twitter with a public profile, of all people, know and understand how public their tweets are. It doesn't change the fact that these kinds of advertisements are annoying though and that they're within their rights to complain about it.

Is it fair game? Maybe. Does that mean I should just accept it? Hell no.

</comment><comment><USER18> No it's not creepy when this happens on Twitter. It would be if it took place during private message exchange.

</comment><comment><USER19> No, it's not creepy. Don't broadcast stuff on a service that's meant to solicit replies from random people if you don't want replies from random people. The constant social media outrage media is tiring and melodramatic.

It would be cool if Twitter had a moderated option, like how many blogs manage comments.

</comment><comment><USER20> Competitors offering you free stuff in public might be the future though.

"Sky Media sucks? Move to Virgin Media and we'll give you 6 months free if you tweet that you did."

I could see that being a more effective strategy.

</comment><comment><USER21> Tweets aren't a private conversation. If you call someone out publically, you can't then expect privacy.

</comment><comment><USER22> I would only post something like this to social media if I wanted some sort of reaction. I'd expect Virgin Media to send a bot reply before some other company though. I think this form of customer service is far more frustrating than some other brand trying to capitalize on it. That's the only thing that seems surprising about this, where is VM in this chain??? Kudos to SkyUK for stepping in where there is a clear gap in customer service + therefore a market opportunity.

</comment><comment><USER23> Yes it is creepy. However, broadcasting to the internet and not expecting a reaction is naive.

</comment><comment><USER24> Yes, it's extremely creepy. The only information I want from a company is an order confirmation and invoice, follow-up information on a specific purchase, in case of product recalls, or direct replies to specific requests I have sent them.

Every other initiation of information from a company is invasive, creepy and unacceptable.

</comment><comment><USER25> Don't consider a brand creepy for trying to engage with their customers and trying to get feedback to improve their product. It'd be more concerning if the brands completely ignored a complaint on public social media because it demonstrates that they don't really care about their own product.

</comment><comment><USER26> Isn't the problem here Twitter? These posts were 'public' and BandsEye seems to be simply scraping via the Twitter API. Twitter enables this use case by denying users any control over how their content can be used. There will always be creepy/lame actors trying to exploit things, so if we want real change it might make sense to focus on how the platforms themselves might give users more control.

Perhaps users who wish to should see a list of 3rd party apps and be able to choose which programmatically granted access to their public timeline. Why is there no gradation between private to my select friends and public to the entire world and all of its annoying APIs?

Ask Twitter.

</comment><comment><USER27> My favorite one recently was expensify telling me, a corporate customer with no control over the contract, about their superbowl ad. Their marketing team was obviously super stoked to be able to spend that much money. But I as a forced user, even if I like the product, don't care at all, actually I care in inverse porportion to the number of emails I get from your product, compounded by utility. This is worse than Amazon showing me battery ads after I already have batteries.

And more amusingly they now consider the rapper and "parks and rec" actor from the commercial to be part of their brand. Not sure what that even means but they are on the login screen now. Makes no sense

</comment><comment><USER28> If an account is blocked they shouldn't be able to see or interact with your Twitter feed.

Twitter allows for the mass importation of block lists.

Is there an active project to create a master list of corporate accounts to block?

<comment><USER29> Apparently somebody tried this to get rid of Alex Jones[0]

[0] [https://www.adweek.com/digital/twitter-users-are-blocking- hu...](https://www.adweek.com/digital/twitter-users-are-blocking-hundreds-of- brands-in-the-hopes-of-pressuring-the-platform-to-remove-alex-jones/)

</comment></comment><comment><USER30> I think the creepy part here is that many people are using Twitter simply to express their in-the-moment state of mind. Okay, maybe you let one of these marketing tweets slide and don't think twice on it.

But what if you start getting 10 of these 'offers' per every tweet you send? That sounds like terrible user experience and something Twitter would need to address internally.

In marketing circles, this is an encouraged marketing technique to generate more sales/leads. I know a lot of hosting companies who employ similar tactics.

</comment><comment><USER31> A brand cannot pester you on social media. An employee at a company who owns or represents the brand can.

What's creepy is when an employee acts like they have no autonomy or personality beyond the brand.

</comment><comment><USER32> It would be more authentic if the person sending the Tweet from Sky could actually sign you up to the service. In reality they are probably just passing you straight into the normal systems and couldn't don't anything if you had issues.

All social media support from big companies tends to feel like that. Social media people who don't have access to accounts or no nothing about the product and are essentially a thin wrapper to forward your query on.

<comment><USER33> The T-Mobile social media support, as a counterexample, has full access to all account systems, never has to transfer you, and is way easier than the regular support.

</comment></comment><comment><USER34> Yes, and it is infinitely more enjoyable to pester government department social media accounts, who probably don't get much excitement day to day.

In particular, I'm quite fond of our Film & Lit Classification Office: [https://twitter.com/NZOFLC/status/1096147661390995456](https://twitter.com/NZOFLC/status/1096147661390995456)

</comment><comment><USER35> Lots of opinions here! Would love to know what people think about:

1: Size of company — does it matter if the company engaging with a random tweet is big or small? If it's the founder/creator who is doing the outreach, versus some member of the marketing team?

2: Is it OK for a company's twitter account to "like" a tweet that complains about a competitor or voiced a problem that the company's products are aimed to solve?

<comment> yoz-y An opinion of one, but I think it really depends more on whether your service really is an answer for a specific problem. If you complain about an ISP, chances are than any other ISP will have the same problems. However if you complain about something that you currently can't do (e.g.: ask Twitter followers for a solution for X) then a comment from a company actually having a solution might be very welcome.

<comment><USER36> Oh yeah, that'd be a great use for BrandsEye (which though it facilitates this annoying behaviour, and seems to be a pretty trivial implementation, is a pretty good B2B idea) - startup with a fairly straightforward/keywordy problem X that it solves finds people complaining about X, and tells them that it can fix it.

Of course any technical startup could and would probably spend half a day - not $$$ - on a simple script to do what BrandsEye does, minus the UI that Sky only needs because it's putting it in the hands of marketing/social media dept.

</comment></comment></comment><comment><USER37> Creep? not to me. Obnoxious? Oh yes. My default reply is usually to stress test my vocabulary of profanities.

</comment><comment><USER38> A bit - but it's less creepy than just a regular instagram ad targeted at me for whatever reason. If I see an ad for something I googled, shopped for or commented - that's 10x as creepy as being pinged by a bot or human in a conversation I initiated myself.

</comment><comment><USER39> Louis CK (before his troubles!) did a great job at this.

He reached out a couple of times a year, put time into the email to make it entertaining, and only tried to pitch items that were of high quality.

Now compare that to the shit you get from Amazon, Ebay, and your phone company.

</comment><comment><USER40> I thought it was hilarious they were paying Zuck to show me dishwasher soap and basketball ads when I didn't own a dishwasher and don't care about sports. Then I quit, because facebook is evil garbage which wastes my time.

</comment><comment><USER41> I have to admit that this is one of the forms of advertising I like the most: Very on topic and something I might actually want. Provided, of course, they can actually provide a better service.

</comment><comment><USER42> Seriously though, the guy is VERIFIED. Literally should tell you that everyone is going to want to be in your mentions, especially businesses. You're like an advertising magnet.

</comment><comment><USER43> I think there has been exactly one time a brand has slid into a conversation that it wasn't creepy.

Said brand was "the two-person studio who made the game I tweeted a screenshot of".

</comment><comment><USER44> To the company, it's just an extension of customer support for the most part. Usually if you avoid mentioning their keyword they will leave you alone.

</comment><comment><USER45> No. I found almost all ads annoying and just want to block them. If they get to know me better, they have a chance of being less annoying.

</comment><comment><USER46> That's because this isn't me and my mates at the pub. This is you yelling "Hear ye! Hear ye! Virgin Media's internet connection is down! And so is the status page!"

</comment><comment><USER47> Yes.

</comment><comment><USER48> Yes.

</comment><comment><USER49> > Is it creepy when brands pester you on social media?

Used to be, but now I got used to it

</comment><comment><USER50> Hey, a rare exception to Betteridge's law of headlines.

</comment><comment><USER51> Nobody on the GDPR angle yet. It's illegal. They are building profiles without consent. Companies using that info are targeting you specifically obviously using both the profile and what often is your name. That's it. Illegal. Wonder what happens if you talk about being a diabetic or a homosexual. That would mean profiling sensitive data. Good luck with the massive fines on your illegally built profiles. That this is based on public information is not relevant. If you take pictures of people exiting a gay bar it's not OK to spread their profile for gay targeting.

<comment><USER52> I get your sentiment, but that is not how any of the GDPR or Twitter works. Apart from the obvious problems (e.g. applicability of the GDPR), see GDPR Art. 9, 2 (e). A Twitter feed is not the entrance of a gay bar.

<comment><USER51> Actually it does. The only lawful base for processing in this case is legitimate interest. The working paper (WP251) specifically states "it would be difficult for controllers to justify using legitimate interests as a lawful basis for intrusive profiling". Regarding the "manifestly made public" I was under the impression that a laymans twitter feed with 10 followers would not fall under "manifestly made public". As soon as the profiling starts inferring from data (say homosexuality) you definitively go off the rails.

I do have some professional exposure to GDPR and the way compliance lawyers treat GDPR, profiling etc. So if I'm really of the charts, please point it out, but these firms behaviour would be behaviour I would warn against internally. I wouldn't touch externally built profiles with a 10ft pole.

</comment></comment></comment><comment><USER53> No.

</comment><comment><USER54> It would be creepy if they did that in a private conversation. In a public, easily searchable medium like Twitter, no.

</comment><comment><USER55> Yes.</comment>


Show HN: What a single developer can build in Unity these days - <AUTHOR> http://freak-racing.com/ <comment><USER2> Interesting. Any examples of what a married developer can build in Unity these days?

<comment><USER3> I'd wager significantly less, if they aim to stay married.

<comment><USER4> Your significant other needs to have a hobby too... Help her or him find something that takes some time every day (my girlfriends paints and reads -a lot-, for example).

<comment><USER5> Have him/her make sprites. It'll be way more efficient.

</comment></comment></comment></comment><comment><USER6> Is this "What a single developer can do over two years of 80-hr/week work", or is it "What a single developer can do in their spare time over a few weeks"?

<comment><USER7> I'd also be interested in knowing how much prior experience the developer has with Unity.

</comment></comment><comment><USER8> Very nice! Any pointers on how you converted it from Unity application to app?

<comment><USER9> There's an export option in Unity by default to turn your game into a packaged application. Tons of indie games harness this to create platform-specific binaries. There's even an export option for HTML 5/WebGL if you're into that.</comment></comment>


Confirmed: Samsung is not shipping keyloggers - <AUTHOR> http://www.f-secure.com/weblog/archives/00002133.html <comment><USER2> This is a good reminder to always do your homework before making such a strong accusation. Samsung's reputation is probably largely undamaged, other than among people who just read the headlines on news aggregator sites. Even searching for 'Samsung Key Logger' pulls up mostly articles about the false alarm situation.

Mohamed Hassan [MSIA, CISSP, CISA and graduate of the Master of Science in Information Assurance (MSIA) program from Norwich University in 2009 as the original article prominently states], on the other hand, is probably not so lucky. Any Google search on his name from now on will probably reveal this whole debacle. Furthermore, I wouldn't be surprised if he just opened himself up to legal action by Samsung.

<comment><USER3> It should also be a good reminder to all of the people on HN who jumped to the conclusion that this guy was right on very sketchy evidence. This place is influential. We should do better.

<comment><USER4> HN had many skeptical comments right off the bat. I guess simply publicizing this story before its confirmed is bad, but it's also how you shine light on an issue - in this case, clearing Samsung of any wrongdoing.

Reddit fared much worse, IMO, in that people continued to upvote the wrong story after the truth was out. The correction has been posted but isn't anywhere near the front page.

<comment><USER4> Update - reddit has come around to the truth. :)

</comment></comment></comment></comment><comment><USER5> I'm no expert of Antivirus software, but figuring whether something is a threat by its _folder name_ ??? With all the money going into the industry? That has to be some sort of april fool's prank gone really bad.

<comment><USER6> Isn't the whole "security industry" a prank gone bad?

<comment><USER7> Not _everything_ is useless. Code auditing is not necessarily useless; looking at the physical security of smart cards is not necessarily useless (but it looks like they could use some tougher certifications); pentesting/social engineering can have its uses.

That said, "security appliances" and other magical solutions tend to be rather imperfect. tptacek (of <http://insecure.org/stf/secnet_ids/secnet_ids.pdf>) may have something to say about that, too.

<comment> ryan-allen Everyone I've met who's been working in the "IT Security Industry" have been exceptionally coy about what they test for and how. After a few drinks I've managed to get out that they're testing for "XSS, and SQL injection, you know things like that".

It stinks of proprietary crap and I wonder what it would look like if they took a more OSS approach? When you can't even talk about XSS testing without a bit of prodding as if it's something exceptional it really makes me wonder what on earth these guys are selling.

<comment><USER7> I've never done anything with them, but e.g. <http://www.rootlabs.com/engineer-job.html> sounded a lot more interesting than what you describe. On the open-source front, you find stuff like Metasploit, nmap, Snort, previously Nessus (forked as OpenVAS), web stuff like Nikto, etc.

Don't forget that lots of "programmers" are barely-skilled and working on VBA macros - one label can cover a wide range of skill.

</comment></comment></comment></comment></comment><comment><USER8> I can't help it. But the whole "security software" business really reminds me of the mob.

 _Nice laptop you have here; would be a shame if something would happen to it!_

<comment><USER9> You mean the "antivirus software" industry.

<comment><USER10> Since when have these guys limited themselves to just being antivirus vendors?

<comment><USER9> Precisely.

</comment></comment></comment></comment><comment><USER11> If you Google [http://www.google.com/search?q=samsung+keylogger+monitor+the...](http://www.google.com/search?q=samsung+keylogger+monitor+the+performance+of+the+machine)

You'll have thousands of quotes from a so-called "Samsung supervisor" who "said it's used to "monitor the performance of the machine and to find out how it is being used."

What is this bullshit ? From where did the quote come from ?

Amazing how most are just copy-paste. It just prove that very few online news websites verify their source if the keylogger claim is false.

</comment><comment><USER12> _"The findings are false-positive proof since I have used the tool that discovered it for six years now and I am yet to see it misidentify an item throughout the years."_

Mohamed's lesson: Just because you were unable to prove a false-positive with the same program for 6 years doesn't mean there weren't any.

</comment><comment><USER13> The laptop story yesterday led me to learn about CarrierIQ on my cell phone, which was equally disturbing. Maybe the laptop was a false alarm, but my Samsung cell phone did indeed have a keylogger on it. So I'm not inclined to cut them a lot of slack right now. <http://forum.xda- developers.com/showpost.php?p=11763089>

</comment><comment><USER14> "A lie can travel halfway round the world while the truth is putting on its shoes." -- often attributed to Mark Twain

The original article was so poorly fact checked. It really reflects poorly on Mohamed Hassan (and all his fancy yet meaningless credentials) and M. E. Kabay (who apparently worships Mr Hassan unquestioningly). I will not hold my breath out for a public apology from either of those two, although they are the ones who owe Samsung one.

And the irony is in fact delicious. A security expert finds a virus using an anti-virus scanner tool, and confirms it with some call center employee with the company. What does being a "security expert" have to do with any of that? My 10 year old nephew could have done that!

</comment><comment><USER15> I like this whole debacle. I think it ended well. HN, and the power of news aggregating/forum/linking sites wield a decent amount of media power. I like that - because it's one of the instances where the collective mind has greater intelligence than any one individual. It confirms the notion that tech producers need to pay attention to the tech community and shortens the distance between the two, which I think is a good thing.

</comment><comment> ryan-allen This has got to get to 400+ points. For those who took the day off and will continue to believe the sensationalism before it pops off the front page? To be damned!

EDIT: I mean, this is the only tech news site I read. I don't know if I'm in the same boat so to speak.

<comment><USER16> Got your wish, 400+ now!

</comment></comment><comment><USER17> Customer service Reps would NEVER have the authority to tell you that there is secret Key Logger on your computer. So if a customer Rep is telling you something like that, he is either trying to get fired or there is a miscommunication.

</comment><comment><USER18> Wow, what a waste of everyone's time:

> [UPDATE 3/31/11: Mich Kabay writes: A Samsung executive personally flew from > Newark, N.J., to Burlington, Vt., carrying two unopened boxes containing new > R540 laptop computers. These units were immediately put under seal and > details recorded for chain-of-custody records. At 17:40, Dr Peter > Stephenson, Director of the Norwich University Center for Advanced Computing > and Digital Forensics, began the detailed forensic analysis of the disks. We > expect results by Monday.]

[http://www.networkworld.com/newsletters/sec/2011/040411sec1....](http://www.networkworld.com/newsletters/sec/2011/040411sec1.html)

</comment><comment><USER19> Certs after your name are no substitute for common sense and good practices.

</comment><comment><USER20> Great news... but what's with the SL folder? The report does not say what SL folder contains on a new laptop. Anyway, pretty dumb to check for viruses by folder name.

<comment><USER21> Slovene language support files. SL is their ISO 639-1 code.

<http://www.samsungtomorrow.com/1071>

<comment><USER22> there's a separate folder in C:\Windows for every supported language? that seems so messy.

</comment></comment></comment><comment><USER23> Perhaps I read it wrong, but the article never says Samsung didn't ship a keylogger, it just indicates that the AV software can make false positives based on a folder.

Can we get a link to an article that actually checks a Samsung laptop (and lists their methodology, not this "Duh, there were not any keyloggers") instead of anecdotal evidence and attacking the previous reseaerchers methods?

Even if the previous guy was wrong, at least he listed all his methods for review.

<comment><USER24> The article says two things:

1) The whole saga was caused by a bad antivirus alert. This story never even happens if not for that.

2) They checked a set of Samsung laptops and found no trace of keylogger software. See <http://www.f-secure.com/weblog/archives/00002132.html>

Is there more you'd like to see be done?

<comment><USER23> Yes (I did see the link back to the original article). Specifically, I'd like some more information about their methodology.

1) How did they verify there were no key loggers (is their AV program set to identify StarLogger instances) 2) What subset of Samsung laptops did they check 3) Did they check from more than one source 4) Did they verify that the laptops they checked haven't been wiped & reimaged with the local store's base computer image (such as with Best Buy)

With out some of this basic data, their findings are perhaps more suspect than the original article (not that I believe Samsung is doing this, I just disagree that their conclusions are as cut and dried as they, and the link title, indicate).

<comment><USER24> At this point we have no more evidence that Samsung has keyloggers than Thinkpads or MacBook Pros.

We really should be doing what you suggest for all brands and models of laptops. There's no evidence to suggest a specific issue with Samsung at this point.

Even the antivirus manufacturer who detected the problem has acknowledged they made a mistake.

[http://sunbeltblog.blogspot.com/2011/03/samsung-laptops- do-n...](http://sunbeltblog.blogspot.com/2011/03/samsung-laptops-do-not-have- keylogger.html)

A pretty first class post in my opinion.

It would be like a newspaper reporting that "Falcolas kills 5 people!" And then turns out that you actually saved five people from drowning, and the newspaper prints a retraction. But then someone says, "But can you prove he didn't also kill five people at some point along the way? No one has really come out to say that he's never killed five people." Sure you may have, but at that point we have no reason to believe you have moreso than anyone else.

<comment><USER23> Sorry if I'm being unclear, but I simply have an issue with their conclusions (and the article title), particularly since their article doesn't support it.

Absence of evidence is not evidence of absence. An absence of evidence, plus noting the problem of the AV, is all that this article has.

The Ars Technica article [1] draws much better conclusions - "Samsung laptop keylogger almost certainly a false positive". It's a significantly more accurate conclusion than "Confirmed: Samsung is Not Shipping Keyloggers", given the data that we have at this point.

[1] [http://arstechnica.com/hardware/news/2011/03/samsung- laptop-...](http://arstechnica.com/hardware/news/2011/03/samsung-laptop- keylogger-almost-certainly-a-false-positive.ars)

</comment></comment></comment></comment></comment><comment><USER25> False positives are the bane of IT security products in general. I would say that 90% of issues reported are FPs and the end user is expected to figure that out, confirm then double confirm before reporting it as a _potential_ issue.

</comment><comment><USER26> Though it is easy to say now, looking back, Mr. Hassan's investigation was far less in depth that it should have been for such a serious accusation.

</comment><comment><USER27> From the original post which started all this:[http://www.networkworld.com/newsletters/sec/2011/032811sec2....](http://www.networkworld.com/newsletters/sec/2011/032811sec2.html)

"After an in-depth analysis of the laptop, my conclusion was that this software was installed by the manufacturer, Samsung. I removed the keylogger software, cleaned up the laptop, and continued using the computer."

So, the author, Mohamed Hassan was able to uninstall a software which was never installed? I think he would have deleted the folder in question and called that un-installing!!

</comment><comment> tiki-tiki Well, I'm not longer buying Samsung anyway. That's for sure.

<comment><USER28> Care to explain why?

<comment><USER29> They named a folder SL. Two letter folder name on a non unix system?

<comment><USER10> Nice try at a cheap jab, but 3 or 4 character directory names are typical of unix systems, not 2.

[https://secure.wikimedia.org/wikipedia/en/wiki/Filesystem_Hi...](https://secure.wikimedia.org/wikipedia/en/wiki/Filesystem_Hierarchy_Standard) Not a single 2 letter directory name.

</comment></comment></comment></comment><comment><USER30> I sure hope someone got fired for that one _snicker_

</comment><comment><USER31> "It is better to remain silent and be thought a fool than to open one's mouth and remove all doubt." --Abraham Lincoln</comment>


July was world's hottest month on record, WMO says - <AUTHOR> https://www.cbc.ca/news/technology/july-hottest-month-1.5233368 <comment><USER2> Frightens me to think of the impact this is going to have on agricultural production over the next ten years. In cooler countries, there's sometimes benefits to warmer seasons, though biotic stresses like more insects / fungal diseases tend to dampen that.

In hotter countries (many of which are developing), abiotic and biotic stresses can easily combine with bad weather events to wipe out an entire region's production. The political instability that this can and likely will cause is the greatest short-term climate change issue in my opinion. I really don't see how it can be avoided, given trans-national institutions which may have helped buffer these impacts are also at their lowest ebb since WW2.

</comment><comment><USER3> I wouldn't have guessed that humanity would fail to coordinate on global warming by this point. Blimey! How would we fare when faced with actually hard technical challenges?

<comment><USER4> How is coordinating on global warming _not_ a hard technical challenge? Politics is inherently a hard problem. And even if we were able to extricate politics from the discussion, it's a hard problem to define the optimal benchmarks and criteria for emissions reduction, across all countries and jurisdictions.

(by definition, defining these criteria for the world would necessarily involve politics)

<comment><USER3> I meant that took global warming itself is not a difficult challenge to solve with the technology currently available. Capturing carbon is energy intensive but not impossible.

But politically, the coordination problem is unsolvable. Until the effects of the warming become big enough that one of the more powerful agents involved has a clearly positive inventive gradient to actually expend that energy at a personal loss, without the cooperation of others. (Say, for instance, if a majority of US territory becomes uninhabitable due to semi-persistent fires, persistent droughts, etc, I'd expect the US to actually solve the problem irrespective of what the other powers are doing.)

<comment><USER5> I think it's simply a matter of priority. We still haven't figured out how to feed large portions of the human population and the impact of that is much more immediate.

</comment></comment></comment></comment><comment><USER6> We are now at 415 consecutive months with global temperatures above the 20th century average. That's like flipping a coin 415 times and getting heads every time.

<comment><USER7> What about the, let's say past 4.5 Billion years? Is there a slight chance that this is a scam? Do elites and their governments throw bombs on innocent civilians? Is there a slight chance they could be lying about climate change? Do SO many climatologists really agree on man-made climate change? Many don't.

Still, we must protect our environment. Pollution is horrible and it needs to be addressed.

<comment><USER8> What is more likely? That some climate scientists are scamming the whole world and making enemies of the most powerful governments in North America, Europe, Saudi Arabia and the rest of OPEC + all the billionaires and corporations and investment funds invested in Coal&Oil&Gas&EnergyUtilities, and they have somehow maintained this lie for decades out in the open, somehow managing to fool everyone, and with convenient climate change all over the world to somehow coincide with their lies?

Or the other option, that your political understanding of the world is lacking?

</comment></comment></comment><comment><USER9> Surprised it would be July, rather than January, which iirc is when the earth is closest to the sun... I'm concerned as to what that might mean for January, when we in Australia will have our Summer.

<comment><USER10> January is also when the southern hemisphere is closest to the sun, the southern hemisphere has a lot more water which regulates things. Which hemisphere is in summer when we're close to the sun is one of the things that's driven natural climate change in the past and one of they ways we know the current warming is an unnatural aberration.

</comment></comment><comment><USER11> someone should sponsor a big budget hollywood movie with A list stars and a top director to make a compelling movie about the disastrous potential of climate change. Will do a lot to raise awareness.

<comment><USER12> 15 years ago: [https://en.wikipedia.org/wiki/The_Day_After_Tomorrow](https://en.wikipedia.org/wiki/The_Day_After_Tomorrow)

</comment></comment><comment><USER13> Being in Florence two weeks ago when it was 104F was downright unpleasant. The locals I was with said they don't remember it being this hot for this long either.

<comment><USER14> And it was snowing in Denver on Memorial day.

Weather is not climate, yada yada.

What is it going to take to get a global consensus that we'd like to have unadjusted temperature data, not controlled by adjusters that have a funding agenda?

What would it take to get a little raw data up in the house?

<comment><USER15> The fact that you even claim that this is a problem means that you have no interest in a debate and are just another mindless denier, because even a cursory study of the topic at hand shows that issues of measument calibration are completely unimportant.

<comment><USER14> Ummm. You said what?

I've been keeping track of data monthly for 30 years, and syncing with government sources of same, and you besmirch yourself.

The fact is: this could well be a crisis. But governments covering data for political reasons does nothing to inspire confidence, regardless of the squealing of pantywaists.

To wit- you don't spend trillions of other people's money on your night terrors

<comment><USER15> So... do you doubt the data? Do you doubt that the warmest years on record have happened in this past decade? Are you implying that calibration errors actually explain anything when the facts in question are obvious?</comment></comment></comment></comment></comment>


Ask HN: What's inside Amazon's "Internet" browser? - <AUTHOR> How can it be a mere 2MB? I'm wondering if it works the same way Silk/Opera Mini do, using remote rendering.
I have a hard time believing they implemented a new browser engine in such little code - but if they did, I want to know :)
Info: https://www.theverge.com/2018/4/17/17249090/amazon-internet-web-browser-app-android-india <comment><USER2> android webkit. it's just a browser skin app (i.e. millenial's browser toolbar)</comment>


Random person name generator - <AUTHOR> https://duckduckgo.com/?t=ffab&q=random+person+name+generator&ia=answer <comment><USER2> Tip: can be easily accessed from your app using the DDG Answers API:

[https://api.duckduckgo.com/?q=random+person+name+generator&i...](https://api.duckduckgo.com/?q=random+person+name+generator&ia=answer&format=json&pretty=1)

<comment><USER3> Here is my version of FakeID API: [https://fakeid.now.sh/](https://fakeid.now.sh/)

All data from [https://www.fakenamegenerator.com/](https://www.fakenamegenerator.com/)

<comment><USER4> The "Details" JSON seems jumbled. See:

{"status":"success","message":"OK","data":{"Name":"Robert Ignatieff","Address":"1990 Lake Floyd Circle, Gaithersburg, MD 20877","Details":{"1":"Birthday","176":"Company","39273275":"Favorite color","7acad451-3bcd-422a-8573-b320ea2a5f91":"QR Code","1999ToyotaBandeirante":"GUID","Brown":"Vehicle", <sic>}}}

[https://fakeid.now.sh/api/Gender/male/NameSet/ru/Country/us](https://fakeid.now.sh/api/Gender/male/NameSet/ru/Country/us)

</comment></comment></comment><comment><USER5> might be a good place to share [https://duckduckgo.com/?q=chmod+600&t=hk&ia=answer](https://duckduckgo.com/?q=chmod+600&t=hk&ia=answer) \- notice little things like that regularly w/ DDG

Whenever I have a hard time finding something I am tempted to try Google. The thought of "Google is THE search engine" is still ingrained somewhere in my brain. For quite some time now, if I can't find it using DDG, Google turns out not any better (not using Cookies, not using an account that is - so no extreme search personalization) - some maybe not so obvious things I like about DDG

\- it doesn't force localization as hard upon you, if you set DuckDuckGo to country xyz it seems you 'literally' get the results you would get as if you were in this country, as someone who travels frequently, or is a foreigner in a country, that is extremely nice. Besides just being insightful when doing research of course

\- fewer sites are removed drom DDG's search results (we all know about takedown notices). For example in Germany there is a 'right to be forgotten', individuals can have links removed from Google if it is about them personally (unless they are a public person of interest and some other restrictions), and of course sites with copyright infringements (and yes, sometimes I am looking for some site to stream something, while I often even use yandex for that, I find sites quickly with DDG. With Google you see the notice 'sites have been removed due to copyright violations', then you can go to the lumendatabase, but there scam sites and 'legitimate' streaming sites are mixed together, so you hunt through there, it's a nightmare)

honestly don't miss Google anymore and use DDG on all my devices, but I don't want to pitch too hard. Use whatever works for you

<comment><USER6> I do this too. I try and fail to find something quick in DDG. I then try and fail to find it in google. But mentally it's hard not to chalk that up as a failure of DDG for status quo reasons.

Ah well. I'm a supporter.

</comment></comment><comment><USER7> Is it just generating a random name and birthday?

That seems... underwhelming compared to the hundreds of services that already exist for doing this (see: any of the results given to DDG's query) and generate a much more extensive dossier.

<comment><USER8> A good generator would come up with something ordinary sounding that _doesn 't_ correspond to any known person, I guess?

</comment></comment><comment><USER9> I can only think of one use case: filling out form data that you don't want to use your real identity.

Any others?

<comment><USER10> Sometimes when I'm feeling blue I write letters addressed to fake people and share my thoughts with them.

<comment><USER11> Can't tell if this is /s or not, but have you considered a real life pen pal that writes back?

<comment><USER10> I have considered it before but I just don't trust real people enough to share my personal thoughts with them.

<comment><USER12> Just use a fake name with them. Like the one you would get from a generator.

</comment></comment></comment></comment></comment><comment><USER13> Oh I was hoping DuckDuckGo would fake your browser personality somehow. Mac -> PC, etc

<comment><USER2> That's beyond DuckDuckGo's control since that data is controlled and sent by the browser. There are many addons for doing what you said though just look for user-agent changer or faker

<comment><USER14> Startpage's private browsing feature does something similar but far more effective.

</comment></comment></comment><comment><USER15> I sometimes use DDG for getting a UUID too :)

[https://duckduckgo.com/?q=uuid&t=hj&ia=answer](https://duckduckgo.com/?q=uuid&t=hj&ia=answer)

If you like that kind of things and you dig Python, the lib "faker" ([https://faker.readthedocs.io/en/master/](https://faker.readthedocs.io/en/master/)) is a real threat:

      from faker import Faker
      fake = Faker()

      fake.name()
      # 'Lucy Cechtelar'

      fake.address()
      # '426 Jordy Lodge
      #  Cartwrightshire, SC 88120-6700'

      fake.text()
      # 'Sint velit eveniet. Rerum atque repellat voluptatem quia rerum. Numquam excepturi
      ...

There are many different generators, and you can even use l10n to generate names, phone numebers, plates, IP or ssn from different parts of the world.

It's amazing to create test data, either for dev or teaching, and I just have it autoimported in my PYTHONSTARTUP because of it.

It also plays well with "factoryboy" ([https://factoryboy.readthedocs.io/en/latest/](https://factoryboy.readthedocs.io/en/latest/)) to mass generate complex data set, and even add them automatically to the database.

<comment><USER16> This is the equivalent library for PHP [https://github.com/fzaninotto/Faker](https://github.com/fzaninotto/Faker)

<comment><USER15> Nice to see we all copied that from perl.

</comment></comment></comment><comment><USER17> I'm still very disappointed that DuckDuckHack was ended…

<comment><USER18> Related URL:

[https://duckduckhack.com/](https://duckduckhack.com/)

</comment></comment><comment><USER19> I made a random Arabic name generator around 5 years ago[0]. Data is scrapped from Tunisian electoral lists.

Feel free to use the DB, it is in sqlite.

[0] [https://lab.raed.it/php/tounsi/](https://lab.raed.it/php/tounsi/)

</comment><comment><USER20> `rig` (random identity generator) on Linux is another useful tool for this

<comment><USER21> That's neat. I like that you can add -c N and get N identities.

> Based on "fake" written for MS-DOS. Unfortunately the author and publish > date are unknown.

A bit intriguing...

</comment></comment><comment><USER22> I have on occasion created pseudonyms for various purposes. One of my favorite techniques is to combine a first name common to a particular nationality with a last name common to a different nationality. E.g. a French first name with a Japanese last name. Surprisingly, such combinations occur somewhat frequently in real life.

</comment><comment><USER23> I wonder what kind of validity checks they have.

e.g. a lot of first/last names cannot be paired together because they would belong to different religions/ethnicities.

Probably they're sticking with just Anglosaxon names where this is far less of a problem than Middle East/India ones.

<comment><USER24> Less "cannot" and more "are rarely". I've encountered a few odd mixes personally.

There are sources (US SSN and census especially) of first and last name frequency by decade, though not so much first/last pairings. Gender also.

<comment><USER23> In Muslim countries, people who switch religions to/from Christianity have to change their first names if its the name of prophet/saint in the other religion.

</comment></comment></comment><comment><USER25> For author and GMing purposes I can recommend [https://www.fantasynamegenerators.com/](https://www.fantasynamegenerators.com/) , which has been a huge help for running my weekly DnD seesions.

</comment><comment><USER26> I love that they do these. This one in particular is really helpful when greeking designs (and I guess could also be useful for D&D dungeonmasters?)

</comment><comment><USER27> Is there a list where I can find such quick results on DDG? Like for uuid, Markdown cheatsheet, chmod, etc

</comment><comment><USER28> The first randomly generated person I received was born within a month of me. Hiyooooo!</comment>


Show HN: Play peg solitaire in browser - <AUTHOR> https://roonyh.github.io/pegs/ <comment><USER2> Does not work for me in Firefox or Chromium.

<comment><AUTHOR> It should be working now. Give it another try when you can. Thanks again!

<comment><USER3> works for me in Firefox</comment></comment></comment>


Would you use Kubernetes in your startup? - <AUTHOR> This question is for tech entrepreneurs that are starting up their companies and have worked with Kubernetes before. would you consider Kubernetes for your production workloads for your new startup? do you think it's ready? Thinking out loud in term of autoscaling, monitoring, performance and even hiring a team to work with it. <comment><USER2> I would go with the simplest solution that lets you ship. For basic web apps, I find k8s is overkill.

However, once you need service discovery, secret management, auto scaling, etc k8s is the least bad solution I've found. I ended up using GKS but that was before AWS released a competitor.

</comment><comment> UK-Al05 K8 on a cloud provider, yes. Self hosted k8s hell no.

</comment><comment><USER3> No, it's overkill. Focus on the product, not the infrastructure. You can switch later if / when it becomes necessary.

</comment><comment><USER4> k8s is ready. If your company is just starting up it's probably not ready for k8s.

Unless you're a PaaS company with a large SRE or Ops team off the bat you likely own't have the resources to maintain a k8s cluster. It's a great piece of tech but it's quite complex and has a decent amount of overhead. So unless you happen to have an expert already on your team or your already have a bunch of services it's probably not worth the effort.

</comment><comment><USER5> No.

</comment><comment><USER6> We do use it. It's fine.

</comment><comment><USER7> No. Not for 1.0</comment>


SpaceX successfully launches Thaicom6 satellite to geostationary transfer orbit - <AUTHOR> http://www.spacex.com/press/2014/01/06/spacex-successfully-launches-thaicom-6-satellite-geostationary-transfer-orbit <comment><USER2> A couple things are neat about this that aren't necessarily obvious.

First off, the Falcon 9 v1.1, of which this is the 3rd launch, uses a reusable first stage. Whether that stage is used in an expendable launch profile or in a reusable launch profile it's still the same hardware, the only significant difference is whether or not it has landing gear bolted on (which apparently they'll try to do for the next ISS cargo resupply launch). That's pretty significant because it means that they get additional testing and validation of their reusable first stage in a full up flight profile even on expendable launches like this one. The more they launch with this stage the more experience and confidence they get and the easier it will be to transition to a reusable flight profile.

Secondly, this launch should complete the certification program that enables the Falcon 9 v1.1 to be able to compete in EELV launches from NASA and DoD. Currently only the Atlas 5 and Delta IV fill that role (the original launchers developed out of the EELV program) and as a result United Launch Alliance (which operates both vehicles) get a significant amount of highly lucrative business. In 2014 there are 8 EELV launches, for example, and by around 2016 SpaceX could be launching EELV payloads. That's a tremendous amount of potential income for SpaceX (up to billions of dollars a year).

<comment><USER3> Do you (or anybody else) have any idea if they did any testing with the reusability of the first stage on this flight? My understanding was that they aren't near ready to land from a full launch yet, but they seemed to be using the launches to test the ability to re-light the first stage and control its flight profile after separation and falling most of the way back to Earth. I wonder if they did any tests like this on this launch, and if so, what the results were.

</comment></comment><comment><USER4> It is worth noting that today's launch was just barely more than one month after the last (December 3rd). They are getting pretty good at this.

<comment><USER5> Having multiple launch sites is starting to make more sense. I guess they can be integrating and testing several at the same time. It seems like a very quick ramp up. It will be interesting to see if they can keep to that schedule and launch a Falcon Heavy, recover a first stage and do a Dragon launch abort all in the same year.

<comment><USER6> Multiple sites makes sense for more than that. Different places on the globe are good for different sorts of launches. Vandenberg's better for polar launches, Canaveral is better for launches that are more equatorial in nature.

<comment><USER7> In fact, if they'd tried either of their last two launches at Vandenberg, there would have been a very substantial performance penalty. From Canaveral, the rockets head generally eastward, in the direction of the eventual orbit. From Vandenberg, they can't --- it would take them over populated land. So, if you want to launch into an equatorial orbit from Vandenberg, you have to have the rocket initially head south, over water, and then turn. This wastes a lot of fuel, and it's not something anyone wants to do if they can avoid it.

So, the SpaceX Manifest lists only two launches from Vandenberg in 2014 --- and one of them is the Falcon Heavy demo flight, for which no payload has yet been announced.

Manifest here: [http://www.spacex.com/missions](http://www.spacex.com/missions)

</comment></comment></comment></comment><comment><USER8> Here is the launch video, from "T minus one minute". [https://www.youtube.com/watch?feature=player_detailpage&v=An...](https://www.youtube.com/watch?feature=player_detailpage&v=AnSNRzMEmCU#t=2302)

</comment><comment><USER9> Just before the launch, when the strongback retracted, did anyone else notice how the umbilical cables became snagged, as the strongback was still retracting? Sure enough, there was a moment where there was no slack, and the strongback actually pulled the Falcon 9 rocket a slight amount, causing it to rock back and forth on the launchpad. You could see it rocking back and forth perhaps by 6 inches or more. The cable snag freed itself and the retraction continued nominally, but the rocket kept teetering for another minute. Pretty interesting. Wonder if they plan for such contingencies.

<comment><USER10> I doubt the umbilical moved the rocket. What you were seeing was probably the effect of wind -- it's a very tall, narrow structure with a big fairing on top. Once the clamp is released, it's only held down at the bottom, so like any tall building it flexes noticeably in the wind.

<comment><USER9> Watch the video. I'm pretty certain the umbilical snag caused the rocket to teeter.</comment></comment></comment>


Show HN: DataTable for React-Redux - <AUTHOR> https://blog.kenforthewin.com/bring-datatables-to-react-redux/ <comment><USER2> Looks really nice, except for the constant column resizing.

<comment><AUTHOR> Thanks, and I agree, the columns should have constant width after initial data load. I could also add column width as optional configuration.</comment></comment>


Scaling Bumper Sticker: A 1 Billion Page Per Month Facebook RoR App - <AUTHOR> http://highscalability.com/scaling-bumper-sticker-1-billion-page-month-facebook-ror-app <comment><USER2> All of my female friends from college love sending these little images back and forth to one another, and while it's a very simple idea, it seems to be extremely popular.

However, in my experience, the Bumper Sticker app is often very slow and clumsy to use. Ironically, I often use it as an example when speaking of Facebook apps that don't do a particularly good job of scaling.

</comment><comment><USER3> "Monetizing Bumper Sticker" would be an interesting article too :).

<comment><USER4> From the article:

 _Bumper Sticker was an experiment to see how fast the Light Engineering Development (LED) team at LinkedIn could build a Ruby on Rails Facebook application._

Based on that quote, I don't think they had a financial goal with it... although now might be a good time to think of one.

<comment><USER5> $25k/month burn rate on Joyent. I don't see any obvious applications to LinkedIn which is what makes me curious in how long they will sustain it. I think they could sell it to Slide, Inc. or one of the other Facebook companies.

<comment><USER3> Hopefully the Greater Fool theory will work in their favour.</comment></comment></comment></comment>


Doh.li: another public DNS over HTTPS server - <AUTHOR> https://padlock.argh.in/2019/07/11/dns-over-https.html <comment><AUTHOR> Key points:

> No logging, other than of cumulative aggregated statistics for load > measurement.

> It's not a forwarder; it performs DNS resolution itself.

You can use it by setting the DoH server in Firefox to [https://doh.li/dns- query](https://doh.li/dns-query)</comment>