Ask HN: How did you 'do things that don't scale' for your B2B startup? - <AUTHOR> <comment><USER2> While we were building the MVP for [https://pupkeep.com/](https://pupkeep.com/) we decided to try and not automate anything that we didn't have to so we can ship core features faster.

For instance I was going to build a complicated job system to handle payouts to different company locations, but I realized that until we get thousands of customers I can just send the payouts manually by clicking some buttons in Stripe. A bit tedious but instead of building and debugging that we now have another full feature built out improves our users experience.

</comment><comment><USER3> The most common types of tasks I've seen are those that fall under business operations. My last company when starting up their B2B side had someone manually set up invoices in Excel and print and mail them to the individual clients. For some clients I've seen people manually enter data instead of automating it (or until the automation is complete). The real trick here is that you don't want to automate the operations until you actually have a product that people are buying. It's not worth investing the time and money into automation unless you know it's going to be used.

Additionally, early on, you're going to want to do some of the sales manually. You're probably going to lean on people you already know to try the product and intros from people in your network. This is more time-consuming than a sales pipeline but it will generally provide better product (and sales) feedback. These customers will also most likely be your most passionate.

</comment><comment><USER4> For Orchestra, I have and still manually cold call and interview potential customers. I gather email addresses and make it a priority to provide value with the very first email so it's not spammy. This means researching about a prospects' business as opposed to creating a canned email and firing away.

</comment><comment><USER5> At Yelluw:

\- Directly contact people who we want to work with and ask them to subscribe to our newsletter.

\- Manually send the newsletter to each subscriber. There are over 120 subscribers at the moment. We do not promote the newsletter en masse. Just 1-1 contacts.

\- We do manual prospecting on social media by actively looking for people that fit a given profile. This includes forming a relationship with them and actively work to figure out how we can solve their current business challenges.

All thos takes hours of work every day. But its so worth it. Growth is quickly increasing because we treat people like people and not like money bags with legs.

Im currently developing a system to semi-automate the process. You can se the code here: [https://github.com/yelluw/amy](https://github.com/yelluw/amy)

If youd like to subscribe to the newsletter and see for yourself, just visit [http://yelluw.com](http://yelluw.com) (https incoming).

<comment><USER4> I second all your actions, it's something I do myself and your comment of treating people like people as opposed to money bags is a philosophy I hold dearly.

</comment></comment><comment><USER6> At the last startup I worked at one thing we did was we manually input data for our customers. The application only really became useful after a time investment by the users to load up their data library, so we would offer to do it for them.

</comment><comment><USER7> I'm working on a function as a service platform that will eventually proxy to a cluster of worker machines. Currently, I'm not scaling in the most literal tech sense; it runs on a single server until I validate that people will actually use it.

</comment><comment><USER8> Tesults ([https://www.tesults.com](https://www.tesults.com)) requires integrating with build/test scripts to use it. We will provide manual hands on help with integrations (including writing code) for teams that want us to. It's not very many that ask but we will do it for anyone, including teams on the free plan (the majority).

</comment><comment><USER9> Don't invest time and money in automating any business process until it's really hurting you. Don't integrate with Stripe until you can't keep up with manual onboarding for billing. Don't automate cloud hosting until you can't keep up with manual provisioning....</comment>


Ask HN: Disappointed with Bootstrap4 preview. What's the best alternative? - <AUTHOR>

I am totally disappointed with bootstrap4 alpha preview. While there might have been many code changes but design has not changed even a bit. As an HTML and CSS framwork, Bootstrap has been at forefront in design but they made absolutely no changes in v4 wrt design. So, what other option is the best?
material-ui or semantic-ui or mdl or anything else? Thanks. <comment><USER2> Well, to be fair they did add cards and some new grid stuff for mobile.</comment>


ChrysaLisp – A 64-bit Lisp OS with GUI - <AUTHOR> https://github.com/vygr/ChrysaLisp <comment><AUTHOR> I just saw this come up in an arpilisp discussion thread ([https://github.com/marcpaq/arpilisp](https://github.com/marcpaq/arpilisp)).

ChrysaLisp is an Assembler/C-Script/Lisp 64 bit OS. MIMD, multi CPU, multi threaded, multi core, multi user, and will build from source in ~2 seconds on most OS X or x64 Linux desktops.

Maybe this will let me live vicariously through someone who has actually _built_ the project I always dream of creating in my free time.

<comment><USER2> I started on this path, got through the boot-up, interrupts etc. and to a simple shell. Once that was done, instead of targeting something simpler like malloc(), I wanted to get a VGA driver working. VGA drivers are notoriously hard and I _really_ wanted my OS to have a UI so after a couple of weeks of studying and getting nowhere, I gave up on the whole project.

I think the one major thing that caused me to give up on the project was whenever it became time to refactor or to think about the big picture (for ex. where do the drivers live? what about a libc implementation - can you just get glibc to work on your OS? Or do you have to rewrite the whole of libc?), I found that I was just copying whatever linux had already done. The feeling that I wasn't really doing any original work and am making a shittier version of an existing system demotivated me for some reason even though this was just supposed to be a learning exercise. So some advice for anyone attempting this - be prepared to go out of your way to rewrite significant amounts of helper code that has nothing to do with actually building your OS.

<comment><USER3> For a libc on a weird OS I would recommend newlib ([https://sourceware.org/newlib/](https://sourceware.org/newlib/)), which is a libc for embedded systems and so has a well-defined way to implement the basic stuff that it needs to run.

</comment></comment></comment><comment><USER4> A bit of a stretch to call this a "Lisp OS" yet. If you look at the project's history, you can see that it was written in nasm, and at some point the author "slapped some parens around" and took steps to make it into an actual Lisp dialect, but it's not there yet, as it lacks many of the features you'd expect from a Lisp. Also see README_LISP.md.

</comment><comment><USER5> Does this roughly offer the same benefits that the old lisp machines provided?

I've never used one, but have heard people rave about how productive they were on them.

<comment><USER6> No.

I expect this will be a fairly controversial comment, so I want to preface this by saying that I'm a big Lisp fan (just look at my handle). Lisp is my favorite programming language. I've been using it for nearly forty years. My first Lisp was P-Lisp on an Apple II in 1980. And I worked on Symbolics Lisp machines in the 1990s. They were very cool, but there's a reason they failed: general-purpose computing is infrastructure, and the economics of infrastructure are such that having a single standard is the most economical solution, even if that standard is sub-optimal. For better or worse, the standard for general-purpose computing is the C machine.

Because it's general-purpose you certainly _can_ run Lisp on a C machine (just as you could run C on a Lisp machine). You can even do this at the system level. But Lisp will always be at a disadvantage because the hardware is optimized for C. Because of this, C will always win at the system level because at that level performance matters.

But that in and of itself is not the determining factor. The determining factor is the _infrastructure_ that has grown up around the C machine in the last few decades. There is an enormous amount of work that has gone into building compilers, network stacks, data interchange formats, libraries, etc. etc. and they are all optimized for C. For Lisp to be competitive at the system level, nearly all of this infrastructure would have to be re-created, and that is not going to happen. Even with the enormous productivity advantages that Lisp has over C (and they really are enormous) this is not enough to overcome the economic advantages that C has by virtue of being the entrenched standard.

The way Lisp can still win in today's world is not by trying to replace C on the system level, but by "embracing and extending" C at the application level. I use Clozure Common Lisp. It has an Objective-C bridge, so I can call ObjC functions as if they were Lisp functions. There is no reason for me to know or care that these functions are actually written in C (except insofar as I have to be a little bit careful about memory management when I call C functions from Lisp) and so using Lisp in this way still gives me a huge lever that is economically viable even in today's world. I have web servers in production running in CCL on Linux, and it's a huge win. I can spin up a new web app on AWS in just a few minutes from a standing start. It's a Lisp machine, but at the _application_ level, not the system level. My kernel (Linux) and web front end (nginx) are written in C, but that doesn't impact me at all because they are written _by someone else_. I just treat them as black boxes.

I don't want to denigrate ChrysaLisp in any way. It's tremendously cool. But cool is not enough to win in the real world.

[UPDATE] ChrysaLisp is actually doing the Right Thing with respect to its GUI by using a C-library (SDL). But it's trying to re-invent the compiler wheel (and the language design wheel) so that it can run on bare metal and "grow up to be a real Lisp machine" some day, and I think that aspect of the project is a fool's errand. There are already many Lisps that can run on bare metal (ECL was specifically designed for that). None of them have succeeding in displacing C, and I believe none ever will because the economic hurdles are insurmountable.

<comment><USER7> Yes, but...

I basically agree with everything you wrote, but for two subsidiary points.

1 - it's a phenomenal development platform. I have on multiple occasions built large systems later deployed, for the reasons you discussed, via C ports. It didn't nullify the work done in Lisp: we learned a lot, and quickly; were able to do quick experiments, etc. But ultimately we needed to join the wider world.

2 - there is / has been a sea change in the software deployment model; it includes web browsers, even more rapid and more flexible development etc. Clojure is a good example and consequence of this change. It's quite possible that the circumstances that led to Lisps decline (though was it really ever "mainstream?") may swing the tide the other way. E.g. "Rapid development and realtime deployment of lisp-based microservices" to agglomerate some popular buzzwords.

FWIW: I was a developer from MACLISP to MIT CADRS, various Symbolics machines (at one point I had _two_ 36xx machines on my desk _with color monitors attached_ ) and various D machines. Right now I'm doing my development in C++ though.

<comment><USER8> Googling "d machine" gave (semi-)predictably nonsense results. And _Wikipedia does not have an article with this exact name._

What was this?

<comment><USER9> Machines from Xerox running Interlisp-D. The computers had acronyms starting with D. Xerox later also integrated Common Lisp into Interlisp-D.

The hardware was not powerful - for example they had very little RAM.

But an emulator was developed for SPARC/UNIX and X86/Linux. Called Medley.

</comment></comment></comment></comment></comment><comment><USER10> One can debate whether or not this is a "true" operating system, but I'd like to coin a (new?) term: "virtual operating system"...not to be confused with emulation or virtual machines, but rather an OS that runs on top of a host OS. One obvious use for such a thing is reskinning an underlying operating system in a non-trivial way, i.e. completely changing the UI paradigms. Another use is allowing programmatic access to virtually everything.

<comment><USER11> I would just call this a shell or a runtime environment. It's not an OS and I don't think we should co-opt that term. We don't call nurses virtual surgeons or construction workers virtual architects.

<comment><USER10> I agree there is probably a better term, but the differentiation would be that you are abstracted one level up from a native shell, and thus could probably more easily write a cross-platform "virtual OS" that could run on top of Windows, OSX, etc - and install it with the ease of running an application, as opposed to fiddling with more sensitive things.

<comment><USER12> while impressive, this is a userspace program, quite different from an OS, even acounting for their virtual cpu.

nevertheless nice experiment

</comment></comment></comment></comment><comment><USER13> Quick start to get the GUI going (not so obvious from the README):

$ clone [https://github.com/vygr/ChrysaLisp.git](https://github.com/vygr/ChrysaLisp.git) ChrysaLisp

$ cd ChrysaLisp

$ sudo apt-get install libsdl2-ttf-dev

$ make -j

$ ./run.sh

To quit:

$ ./stop.sh

<comment><USER14> For a recent macOS version, do:

0) Make sure you have a recent Xcode installed

1) Install the libsdl2 and libsdl2_ttf frameworks under /Library/Frameworks

       libsdl2: https://www.libsdl.org/release/SDL2-2.0.6.dmg
       sdl2+ttf: https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.14.dmg

2) git clone [https://github.com/vygr/ChrysaLisp.git](https://github.com/vygr/ChrysaLisp.git) ChrysaLisp

3) cd ChrysaLisp

4) make (takes about 2s!!)

5) ./run.sh (shows full working gui. Amazing!)

<comment><USER15> Getting SDL2 to be recognized under MacOS is no joy

<comment><USER16> correct. I figured out where the frameworks wanted to go -- and it even seems to match the path for -I, but that doesn't seem to be enough.

\--

Yes, I have both frameworks installed. I even did the brew commands just for S&G ... same result after make command.

<comment><USER15> Try; xcode-select install

<comment><USER16> I ended up changing the "cc" line for darwin to this: cc -o $@ $@.o -lSDL2 -lSDL2_ttf now it compiles (and runs) just fine (for me). YMMV

</comment></comment></comment></comment></comment></comment><comment><USER16> I'm looking for a bare metal boot OS that has internet capabilities -- lisp or forth based (ONLY). Any pointers would be greatly appreciated.

<comment><USER17> Firmworks has a open source implementation of OpenFirmware which is part of the OpenBIOS project, can be used with Coreboot, and implements TCP/IP with various protocols including HTTP, all in Forth.

[http://www.firmworks.com/ofwfeatures.htm](http://www.firmworks.com/ofwfeatures.htm)

[http://GitHub.com/openbios/openfirmware](http://GitHub.com/openbios/openfirmware)

<comment><USER16> Thank you.

</comment></comment></comment><comment><USER18> Not exactly a Lisp OS - asm and C beneath. Compare to [https://github.com/froggey/Mezzano](https://github.com/froggey/Mezzano)

</comment><comment><USER19> So this looks like basically the followup project to the TAOS os which was ways ahead of its time. [https://news.ycombinator.com/item?id=9806607](https://news.ycombinator.com/item?id=9806607)

</comment><comment><USER20> I wonder how difficult it would be to move an existing Lisp to bare metal, like SBCL.

<comment><USER21> Less ambitious: has anyone yet built a Lisp Machine unikernel (i.e. a "Racket on Xen", like "Erlang on Xen")?

<comment><USER20> Would such a thing be a stripped down Linux or NetBSD kernel that ran (e.g.) SBCL instead of init?

</comment></comment></comment><comment><USER22> What this reminded me of most is the Connection Machines, which allowed you to configure the interprocessor connection topology. It had specialised C, FORTRAN and Lisp languages. They were also the best looking computers I ever saw!

</comment><comment><USER23> Very cool, interested in Lisp but I would like to know if any HN'ers would provide me some insight into why Lisp is so popular?

Does anyone use it in production? Is it comparable to JS?

<comment><USER24> Lisp is popular? Where?

It was almost mainstream in the 1980s when there were four Lisp Machine companies (Xerox, Symbolics, Texas Instruments, LMI) and symbolic AI, particularly expert systems, were used. Not so much now.

I still use it. If you know it you can be much more expressive and productive in it than in other mainstream languages, and when there's something you need that's missing from Lisp, you can extend Lisp to include it.

There are reasons it's fallen from favour, some of which lisper has given here. It's a mistake to languages necessarily succeed or fail on their merits.

</comment></comment><comment><USER25> Here is proof that Rust is unnecessary. Lisp comes from the past to save the future from itself.

<comment><USER26> We can start a LISP evangelism strikeforce and bomb the Rust threads the way the Rust guys bomb the C ones.

<comment><USER19> You will be heavily downvoted by the Rust zealots, without any argumentation, even if your arguments are in their official docs. I try from time to time because their discrepancy of marketing talk to delivered features is even worse than with Perl.

Comparing to this lisp os its a bit unfair though. This is an async distributed actor model os with various practical shortcuts. Refcounted with manually breaking up cycles. The lisp is very rough, but extremely fast. No linked lists (i.e. cons cells), just vectors. (Very good idea btw, same as in potion). A better macro assembler with message passing OO (smalltalk, Erlang but better than beam). I still want to see the other TAOS features though: selfrouting network, dynamic binding

<comment><USER26> Even so, somebody needs to do it. What's the use of HN points if you never spend them?

PS> musl libc is _beautiful_.

</comment></comment></comment></comment><comment><USER27> JavaScript has been called "Lisp in C's clothing". What it lacks is macros basically but you can get a lot of practical work done in JavaScript and it is as mainstream as it gets. So how about a JavaScript OS/Machine/Hardware anybody?

<comment> nv-vn JavaScript is really nothing like Lisp. Macros/code is data and simple syntax are basically the defining features of a Lisp. Apart from these, JavaScript's type system is totally different (way weaker, based on objects but nothing like CLOS), JS isn't based on lists/pairs as the primary data structure, JS emphasizes imperative programming, etc. I don't know where this myth came about (probably because rumor that Brendan Eich initially intended to use Scheme instead of JS, although this never happened).

<comment> unkown-unknowns > rumor that Brendan Eich initially intended to use Scheme instead of JS, > although this never happened

I wonder what'd have happened had he done so. Would it have grown to the size that JavaScript is at today, or would it have lost to something similar to JavaScript that some other browser would have implemented?

<comment><USER26> I believe they hired him under the impression of doing actual Scheme for the browser, but then they did the old corporate bait-and-switch on him:

"The immediate concern at Netscape was it must look like Java. People have done Algol-like syntaxes for Lisp but I didn't have time to take a Scheme core so I ended up doing it all directly and that meant I could make the same mistakes that others make."

[http://bryanpendleton.blogspot.com/2009/11/coders-at-work- br...](http://bryanpendleton.blogspot.com/2009/11/coders-at-work-brendan- eich.html)

</comment></comment></comment></comment><comment><USER28> This is quite cool.

</comment><comment><USER29> For me, calling something an OS requires it to have it's own kernel ... maybe thats just me, but I think this is the 2nd project this month which has called itself an OS when in reality it is just a GUI.

<comment> phoe-krk It already has a kernel, except it uses the host OS's system calls instead of its own drivers. Once you have a runnable OS that runs as a separate Unix process in its own address space, it is actually possible to port it over to bare metal by providing all the modules that the OS would normally provide: memory management, graphics, device management and HAL, keyboard/mouse input.

See [https://github.com/froggey/Mezzano](https://github.com/froggey/Mezzano) for something that can run on bare metal.

<comment><USER30> > port it over to bare metal by providing all the modules that the OS would > normally provide: memory management, graphics, device management and HAL, > keyboard/mouse input.

In other words, it can become an OS if you merely add to it the exact things that define an OS.

<comment><USER28> That is how we programmed in the 80's on home computers and it is the norm still in 2017 on many micro-controlers.

The language runtime is the OS.

<comment><USER30> I'm not interested in debating the definition of OS. If the textbooks are as wrong as you imply, I guess I'm wrong too.

<comment><USER28> So which textbooks do you want to start with?

I pick "PC INTERN: system programming", 1992.

[https://www.amazon.de/PC-Intern-Programming-Encyclopedia- Dev...](https://www.amazon.de/PC-Intern-Programming-Encyclopedia- Developers/dp/1557551456)

<comment><USER30> A reference for MSDOS programming on a German amazon page... Am I missing the joke?

Tanenbaum and Silberschatz both have excellent textbooks covering the fundamentals of Operating Systems. Neither book focuses much on "language runtimes".

<comment><USER28> I live in Germany, do not always bother to check if the URL contains locale information.

Anyone that actually programmed MS-DOS, knows that we used to program directly against the hardware for actual work. MS-DOS was nothing more than what is usually known as _monitor_ in OS literature.

Continuing the texts from people more relavant to the CS world than me,

"An operating system is a collection of things that don't fit into a language. There shouldn't be one." \- Dan Ingalls on

[https://archive.org/details/byte- magazine-1981-08](https://archive.org/details/byte-magazine-1981-08) [https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk....](https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html)

"Building Parallel, Embedded, and Real-Time Applications with Ada" \- John McCormick

[https://www.amazon.co.uk/Building-Parallel-Embedded-Real- Tim...](https://www.amazon.co.uk/Building-Parallel-Embedded-Real-Time- Applications/dp/0521197163/ref=sr_1_2?ie=UTF8&qid=1452524775&sr=8-2&keywords=John%20McCormick%20Ada)

"Project Oberon: The Design Of An Operating System And Compiler" \- Niklaus Wirth

[https://www.amazon.co.uk/Project-Oberon-Design-Operating- Com...](https://www.amazon.co.uk/Project-Oberon-Design-Operating- Compiler/dp/0201544288/ref=sr_1_1?s=books&ie=UTF8&qid=1507977358&sr=1-1&keywords=project+oberon)

And not to let this just be theory, here are a few examples of commercial products using the language runtime to interface with the hardware.

[http://www.astrobe.com/default.htm](http://www.astrobe.com/default.htm)

[https://www.mikroe.com/products/#compilers- software](https://www.mikroe.com/products/#compilers-software)

[https://www.ptc.com/en/products/developer- tools](https://www.ptc.com/en/products/developer-tools)

<comment><USER30> I programmed MSDOS assembly and on 80s 8-bit machines back in the day too, so you can quit the "back in my day" routine. It was my day too.

Like I said, I'm not interested in debating the definition of OS. Best regards.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER31> Could look more like a Lisp Machine...</comment>


Show HN: FriendsTonight – Meet new people nearby with your friends - <AUTHOR> https://geo.itunes.apple.com/us/app/friendstonight-meet-new-friends/id893671630?mt=8&uo=6&at=1000l3jI <comment><USER2> As others have pointed out, the 'young single' scene is primarily about dating, whether it's obviously so or not.

The social group that _really_ has a difficult time is the couple with youngish kids who just moved out of their 'starter' dwelling and into a neighborhood with good schools, etc. It is _surprisingly_ difficult to break into new social groups at that age. The options are church groups and jock groups (for parents whose kids are into and fairly good at multiple sports). If that's not your thing, it can get pretty lonely.

In your first neighborhood, everybody is a new parent and it's pretty easy to get together and hang out with neighbors (even over a few drinks) while the kids play with each other. You have parties and the kids are all there playing with each other also. Everybody is kind of at the same place in life and making more-or-less the same money. Those who went to college/grad school still haven't quite caught up with the folks who started their careers earlier, so there is quite a diverse population available to become friends.

At the next stage, however, it's tougher. You are moving your elementary school-age children into neighborhoods where the other parents might have high-school age children. Perhaps you changed cities (or states). It's pretty tough to break in because your life has become more kid-focused, and there is less time for other adults.

An app like this might be well received in that market.

<comment><AUTHOR> Great point dhimes! Not everyone that uses the app necessarily has to be "on the prowl".

I definitely was thinking about people in their early 30's and how hard to meet new people at that age.

If you have any ideas how to target this market, I'd love to hear them. You can email me at email@example.com

<comment><USER3> > I definitely was thinking about people in their early 30's and _how hard to > meet new people at that age_.

Well, that definitely depends on your social abilities...

<comment><USER4> I know many socially adept people who have trouble making friends in their 30s. People in their 30s often are married or in a serious relationship, and spend most of their free time with their significant other. Or, people in their 30s often have kids and have little time to socialize. Also, people at this age may have an established social circle and may put in less effort to build new friendships.

Sure, you can still make friends, but it's definitely a much smaller pool than in your teens and twenties.

</comment></comment></comment></comment><comment><USER5> I am pumped for you launching an app and completing something probably feels great. I think it is a bit derivative of grouper and tinder, and social networks have the chicken and the egg problem, but seriously, nice!

You might want to launch or promote it in a specific area to try and gain critical mass, as having 1 million users wouldn't be helpful if they were distributed across the country. Try and win a college, neighborhood or city and then let it spread organically. Good luck!

<comment><AUTHOR> Thanks vonklaus- you're completely right- it is very similar to tinder and grouper- however FriendsTonight has a few main differences

1\. We're about meeting new people in groups, not dating- I actively tried to reduce the "dating app" feel as much as possible.

2\. When you make a request to hang out with someone- it only lasts until the end of the night (4am). If the other group doesn't respond by then, they lose the chance to meet you.

3\. All likes, matches and chats disappear at the end of the night.

I'm trying to focus all my initial marketing in NYC. From what I've learned, my target market is young professionals or people that just graduated college.

Would love to chat with you more about marketing. Feel free to email me at email@example.com

<comment><USER6> Everything is dating.

<comment><USER7> Spot on.

A very significant intrinsic motivator to go out and socialise for most single people (a large percentage of young professionals and people who just graduated college) is the possibility of meeting someone.

It's a great concept, but embracing the dating aspect rather than fighting the tide on it might work out better.

<comment><USER8> I don't know about that. I am not looking to date anyone, but would love to make more friends in the area. Don't forget: not everyone is young and single.

<comment><USER7> Totally agree, and even for people actively looking to date it's only one of many motivations to go out and meet new people, but it is definitely a significant one.

And since the target demographic is young professionals and recent college graduates - indeed a very large proportion of that market is young and single :-)

</comment></comment></comment></comment></comment></comment><comment><USER9> I once tried starting something like this. What I found is that people have very little motivation to meet strangers for the purpose of friendship. Another company built a very similar product, but focussed on dating, and they did much better, while my product failed. Not to say that you didn't figure out how to do this, but I think there's wishful thinking among some founders (like me) that people want to make new friends and will use an app to do so.

<comment><USER10> When I think about it, it feels like there is some sort of mental barrier that I have to overcome to make plans with strangers. Maybe when the meetups would be less personal like 20 random people going to a bar or club, I'd rather join in on something. Then nobody would realize if I leave, but if I bond with some people its fine.

<comment><USER11> When you meet a stranger, the actual purpose of small talk is to try to find some common ground. Some people are better at it than others (I am horrible)... but if some common ground can be established, both people will have an easier time making conversation. That's why so many meetups are centered around an activity/topic. I would much rather attend a group of "20 random people that list kayaking as a sport they enjoy" than "20 random people".

<comment><USER10> That's a good point, completely random would be too much, at least the age should be somewhat similar and maybe the place to meet is also a context, e.g. a bar already indicates a form of interest, different than meeting in the water park.

</comment></comment></comment></comment><comment><USER12> Cool idea, but I'm interested in the choice of matching groups together.

If I can already put together a group of friends, what's the compelling reason to add another group?

This would seem much more helpful if it helped individuals to form groups of friends spontaneously.

<comment><AUTHOR> Hey morgante,

You can use FriendsTonight as a single person, but really would prefer you to use it as a group (it's more safe and less awkward).

Have you ever been out with a few of your friends and tried to meet new people (either romantically or non-romantically)- wouldn't it be cool if you knew people nearby wanted to meet you as well?

<comment><USER12> > Have you ever been out with a few of your friends and tried to meet new > people (either romantically or non-romantically)- wouldn't it be cool if you > knew people nearby wanted to meet you as well?

No, I have not. When I go out with my friends, I usually want to hang out with my friends.

Sometimes, however, all my friends are busy but I'd be up for meeting some new ones.

</comment></comment></comment><comment><USER10> So I need friends to find friends, and an iPhone. Damn. But It looks cool, if I had friends and an iPhone I'd probably use it.

<comment><AUTHOR> Hey jetpm- I totally agree. I wish we had an android version, but it's too hard for me to manage two codebases at once.

You can leave your email at [http://www.friendstonightapp.com/#download](http://www.friendstonightapp.com/#download) in the android request section and we'll let you know asap when it's out!

<comment><USER13> I'm sure the HN community can help you with this issue. There are a few platforms like PhoneGap that allow you to develop mobile apps on multiple devices using one codebase.

</comment></comment></comment><comment><USER14> Interesting concept, and congratulations on shipping! I think you should rework the copy ("you group = liked"?!), but I'm interested in seeing whether this gets traction.

I'm based in Japan, where people usually like to meet in groups, even for romantic relationships (look for gōkon[1]), so if you don't have the growth you're looking for in the US, try on the other side of the Pacific. Ping me if you have a question.

1: [https://en.m.wikipedia.org/wiki/Group_dating#Japan](https://en.m.wikipedia.org/wiki/Group_dating#Japan)

<comment><AUTHOR> Thanks uniclaude!

You definitely hit it nail on the head about meeting up in groups- it's a lot less awkward and safer.

FriendsTonight is less about dating and more about meeting new people- I envision it as more like meeting new people at a houseparty- there's no expectation of a people being single.

Growth has been tough- it's definitely a chicken/egg problem. Would love to hear more of your feedback, I'll definitely ping you.

</comment></comment><comment><USER15> I think is embarrassing meet an unknown man/woman and start a conversation based on the fact that they have to meet each other because they matched with a social app. The problem is not "How to meet people". I think socialization is a more complex process that is very difficult to engineering.

This article explain it more: [http://www.nytimes.com/2012/07/15/fashion/the- challenge-of-m...](http://www.nytimes.com/2012/07/15/fashion/the-challenge-of- making-friends-as-an-adult.html)

<comment><AUTHOR> Great article leoplct- I definitely read this article and it influenced the way I designed my app.

FriendsTonight can't force you to meet new people, but we try to make it as less awkward as possible by making it "groups meeting groups" not "person meeting person".

It totally is a very complex process to meet a person, but I'm trying to make my dent in the world : )

</comment></comment><comment><USER16> Essentially Grouper, but you choose the groups and it happens immediately. I think the model where you take something and make it happen a lot faster is compelling and this seems like it has potential for the 20 somethings in the big cities. Good luck.

<comment><AUTHOR> Thanks jmtame. FriendsTonight is similar with some key differences

\- you don't need to be single \- mixed groups and odd numbered groups are okay (2 women vs 5 men and women) \- it's free \- all chats and likes disappear at the end of the night to get people to be spontaneous

</comment></comment><comment><USER17> I was thinking about this the other day...

Should I get an iPhone? In my country the Android has 90% market share but... richer or artistic people mostly have iPhones. They probably spend more on apps and services as well.

So, to make money, should I get an iPhone and build apps for iOS? (Of course, I'm rooting for Android to reach the same quality in the long run)

<comment><AUTHOR> Hey swah- do you want to develop apps for home country or for the US?

I used to have an android version- but it was so difficult to maintain two code bases.

Also it's very difficult to make (decent) money in the app store just by selling your app.

<comment><USER17> Wherever there is more money to make :P

(I think EasyTaxi is the only big app hit from Brazil in the last few years).

</comment></comment></comment><comment><USER18> Often people have more than one social circle. Sometimes I've met some new people because one of my friends has decided to get some people from two of their social circles together, and I'm in only one of them. Maybe you could work this into your app - I've rarely hung out with people I have no social connection to.

<comment><AUTHOR> That's true- but I think it would've made the app even more difficult to work. Maybe it's a feature I can add when I have more users.

However FriendsTonight will show you if you have any mutual facebook friends.

</comment></comment><comment><AUTHOR> Wow. It's been a crazy day. [http://www.businessinsider.com/new-app- friendstonight-wants-...](http://www.businessinsider.com/new-app- friendstonight-wants-to-get-you-an-on-demand-group-of-friends-right- now-2015-7)

</comment><comment><AUTHOR> I have no idea how I got so lucky, but FriendsTonight is also on ProductHunt- please check us out! [http://www.producthunt.com/tech/friendstonight](http://www.producthunt.com/tech/friendstonight)

</comment><comment><USER19> Looks like a competitor to weCliq ([https://itunes.apple.com/us/app/wecliq/id965067652?mt=8](https://itunes.apple.com/us/app/wecliq/id965067652?mt=8))

<comment><AUTHOR> Yep, it's the same concept, but different implementations.

For FriendsTonight, we really want people to be spontaneous. So all likes, matches, and chats disappear at the end of the night.

</comment></comment><comment><USER20> I hope your app does well and catches on. I enjoy meeting new people and not always just dating. I'm going to spread the word!

<comment><AUTHOR> Thanks jkeel!

</comment></comment><comment><USER21> A way for a group of guys to arrange to be with group of girls sounds awesome. Me and my buddies would have loved this.

<comment><AUTHOR> Thanks!

It's not just for groups of guys and girls- mixed groups can meet as well!

</comment></comment><comment><USER22> Nice app! congrat!

I'm interested in how you guys plan to solve the empty restaurant problem.

<comment><AUTHOR> Thanks wangjii!

I'm still figuring that out, but I know it involves a lot of hustlin' on my end.

</comment></comment><comment><USER23> The last thing the world needs is more social networking and dating apps. Why do people still think this is a problem?

<comment><USER24> Look you at you, Mr. Destroyer of Hopes and Dreams.

<comment><USER23> :) that's a nice title.</comment></comment></comment>


Are Some of the UFOs Pilots Are Encountering Airborne Radar Reflectors? - <AUTHOR> https://www.thedrive.com/the-war-zone/28640/could-some-of-the-ufos-navy-pilots-are-encountering-be-airborne-radar-reflectors <comment><USER2> This series of articles from the Drive has been very interesting.

So far my personal conclusion is that we are better of searching for the explanation by interviewing a board of world leading magicians and radar specialists and asking them how they would pull off such a stunt, given a couple of billions to develop it.

Here are some ideas that cross my mind:

\- towed active anti radar / electronic warfare transponders as known from recent planes, but adapted to balloons.

\- simpler devices consisting of ballons with a variable radar cross section (might be as simple as a radar reflector that can be folded/unfolded remotely inside a balloon).

\- careful timed releases

\- careful timed activation/deactivation og reflectors and disposing of (i.e. rapid deflating of the ballons that will then "disappear" as everybody is moving their attention.)

Edit:

Also the quote from some magician (Penn or Teller?) that people vastly underestimate the effort a skilled magician will put into perfectly misleading their audiences.

Finally: doing some good old fashioned magic - only this time mid air and with modern props - might make perfect sense to distract from something you really want to hide.

<comment><AUTHOR> tldr version of this theory:

foreign adversary built a system to probe US advanced radar using submarine launched transparent balloons with radar reflectors mounted inside, probably with some small UAV like drone providing recon and some guidance/propulsion capabilities. These device are launched from submarines and perhaps collected by them. Then can be strategically arranged in lines and different altitudes and dynamically have their radar reflection turned on/off.

This theory accounts for quite a bit of the observations. Of course I'm still hoping for ET but ... Occam's razor

<comment><USER2> Well summarized. I'll add one twist plot:

It could have been launched by a different branch of the US military to test this system or their own ability deal with such as system.

</comment></comment></comment><comment><USER3> Flight characteristics of some of the observed craft seem to suggest otherwise. Trained observers as well.

<comment><USER4> I don't know, if moderate wind turbulence can cause a multi-ton airliner to bounce the altimeter by 10s of feet, than I can imagine it also moving a ten pound balloon enough to be characterized as performing erratic flight maneuvers

<comment><AUTHOR> Especially a ballon filled with reflective spinning cube, aka Radar reflector.

This theory makes a lot of sense and would imply perhaps an adversary has been spoofing advanced radar systems.

edit: Also reports of underwater disturbances would be consistent with the concept of these being launched by submarines and ... maybe retrieved by them.

<comment><USER5> During these incidents, there were US subs nearby, it's unlikely they wouldn't have picked up foreign subs.

<comment><USER6> While I agree, it's impossible for us to tell who might be responsible, I wouldn't dismiss foreign subs as easily detected. AIP diesel-electrics are the quietest things out there, and Sweden has one of the best.

[https://www.thedrive.com/the-war-zone/21662/swedens- notoriou...](https://www.thedrive.com/the-war-zone/21662/swedens-notorious- little-carrier-killing-sub-just-got-some-major-upgrades)

</comment></comment></comment></comment></comment><comment><USER7> > U.S. Patent #7341224B1, which was filed in 2004 and awarded in 2008, > describes a Miniature Robot Surveillance Balloon that has thrusters to > control its flightpath and can carry an electrical-powered payload aloft.

Cool in its own right. Cool that someone is taking the time to research possibilities.

But I wish we had more access to information from first-hand measuring systems of the type that were operational during these incidents. Currently most of that data seems to be well in the dark.

</comment><comment><USER8> Just recently I was discussing with a friend how the late 80s and early 90s seemed to be the "highlight" of the UFO era. Mediocre camcorders and a lack of cell phones / instant conversation seemed to propel the type of curious conversation around aliens and other unexplained (in the moment) phenomenon. It seems like that conversation is totally gone. But I wonder if anything else has taken its place. Instead of UFOs are there other objects or phenomenon or experiences we seem to not be able to capture to prove false or true?

<comment><USER9> I think some of it is surveillance related. I don't know how many times I've heard someone say, "I said something out loud, and an hour later I got an ad for it! My phone must be listening to me."

<comment><USER10> I had the reverse of that happen to me today. My iPhone gave me an ETA and suggested route for a place I hadn't heard of. Three hours later I found myself there for an event after getting free tickets from a friend.

Turned out my girlfriend had put the event on our shared calendar because she was interested in it which I suppose is where the suggestion came from.

<comment><USER11> Yes but the real question is what got her interested in it.

<comment><USER10> Not much of a mystery for me. It involved dogs.

</comment></comment></comment></comment></comment><comment><USER12> Funny how all the commenters from previous posts on this topic insisted it was a misidentified birds, even though none of the data points truly fit that dismissal and you have to resort to witness bashing these pilots to make it work. "It cannot be therefore it must not be" is not valid reasoning and never will be.</comment>


Italian Court Convicts 3 Google Execs of Violating Privacy - <AUTHOR> http://www.nytimes.com/aponline/2010/02/24/business/AP-EU-Italy-GoogleTrial.html

<comment><USER2> The real idiocy in this ruling is that the judge stated in their closing remarks that google did not ask all parties for their consent. I'm not sure if the judge realizes that for google to know which people are visible in a video at the time of posting they'd have to have face recognition capabilities coupled with databases of private information that would amount to a privacy violation well in excess of the one they're being accused of now (and which, as far as I know are not currently technically feasible).

Simple safe harbor provisions for ISPs and user generated content sites are there for a reason, the students were punished and expelled from their school, as far as I can see the system works and this ruling is both wrong and superfluous.

There is a lot of pressure on Google in Italy, Mediaset (owned by Italian PM Silvio Berlusconi) has sued google and youtube for insane amounts of money.

In Italy it can be quite hard to distinguish between what is a private agenda and what is a quest for justice.

In this case 'the jury is out', but I'm suspicious of trumped up lawsuits that are followed within weeks by other lawsuits demanding damages in the hundreds of millions, especially if those lawsuits are brought on behalf of a media company owned by a senior government figure.

</comment><comment><USER3> This is a political matter.

In every European nation, and even in the USA, if you make N televisions channels telling the same story about the poor boy victim of youtube you get more or less the same effect I bet.

The problem here is that all this is Berlusconi-driven. Guess what happens if everybody switch to youtube and internet instead to see what his ridiculous televisions are pushing? Loss of business.

The TV here is full of similar stuff about Facebook, for instance. They are doing an immense government-driven attempt to stop people using internet. Fortunately it's too late for them.

To make a parallel with USA, remember when enough communication convinced most americans that Iraq had mass destruction weapons? 90% of people don't think with their own heads. If the government and media are evil it's very hard to stop it.

This is not to defend Italy (I'm Italian btw). If we are under the this kind of control is our fault, but this youtube stuff is only the result, not the symptom IMHO.

</comment><comment><USER4> Tsk. Why do web companies even worry about a problem like this? If it were me, I'd simply redirect all Italian web traffic from my site and onto a black page with a short explanation of the problem. And I'd make the switch at 1am. If my company were as popular as Google is, within a few short minutes there would be massive outrage such that politicians, journalists, judges, and police officers would be awoken from sleep. There would be huge protests in the streets the next morning or a day later. Governments would never make a screw- up that severe ever again.

In fact, in light of how this case was handled in Italy, if I were Google, I'd be doing that very thing right now until Italy changes their laws to make it crystal clear that Google should not be held accountable.

<comment><USER2> Collective punishment went out of fashion a long time ago, and besides, that's _exactly_ what would play in to the hands of Berlusconi et al.

Google simply will appeal this and hopefully the appeal judge will be more sensible, if they're not the time for drastic measures may come but the fall out from that will be wildly unpredictable and it will hurt a lot of people that have nothing to do with this.

<comment><USER5> Actually, collective punishment is anything but out of fashion. Trade embargoes, for example, punish the whole population of countries instead of just the responsible people in the government.

<comment><USER2> I wished you were wrong about that :(

But in the case of a company duking it out with a government over the heads of the users 'out of fashion' was meant to be read as counter productive.

Trade embargoes are only a step removed from a blockage, which is considered an act of war.

<comment><USER6> I don't agree that such actions are too aggressive. In the era of South African apartheid, Western disinvestment campaigns played a role in eliminating the system, and they were supported by Mandela and the ANC.

Even individual organizations can have an impact. Mandela believes that the University of California's disinvestment of 3 billion dollars was particularly helpful.

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

Not that things are that dire in Italy, but I think it's quite reasonable for Google to take public actions suspending the hosting or distribution of content in Italy. It's exactly what the court asked them to do -- stop distributing content unless they can ensure they have the permission of everyone involved.

<comment><USER2> If I look at Cuba I don't think much good came of it.

Such tools are best used with lots of caution.

<comment><USER6> That's a fair point. Sanctions seem to be relatively useless against despotism (North Korea, Cuba, Iraq).

However, South Africa was an advanced democratic capitalist state, and its stability depended on links with the Western capitalist system. Italy is probably even more vulnerable to such pressure.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> What's really amazing is reading the comments here (in Italian):

[http://vitadigitale.corriere.it/2010/02/processo_vivi_down_g...](http://vitadigitale.corriere.it/2010/02/processo_vivi_down_google_cond.html)

Most of them are aghast at the decision, but there is a reasonable number supporting the decision. Italy FAIL :-/

<comment><USER8> I read those comments, and I would say they are all from people who don't even know what the web is, because if you know what the web is, you can't even think that this is reasonable. Don't forget that here in italy there are a lot of people who have no idea what the internet is and how it works.

<comment><USER9> Obviously they have _some_ idea what the web is if they're posting comments on a website ;)

<comment><USER10> The comments at [http://www.readwriteweb.com/archives/facebook_wants_to_be_yo...](http://www.readwriteweb.com/archives/facebook_wants_to_be_your_one_true_login.php) suggest otherwise.

</comment></comment></comment></comment><comment><USER11> Between this and the Banned Books article on the homepage, I am "so" glad Google takes the stance it does on these issues. I can only hope it continues this way. Thank you Google.

</comment><comment><USER12> Can you imagine the burden of opening a site a la facebook in a place like that? This is not a new approach, and that's the reason why you will never see a site like myspace/facebook/netlog/whatever... based in a privacy (with a distorted view of privacy) obsessed place like italy. Just sad.

<comment><USER13> I'm Italian and I can tell you that things here are even worse. This is why I based my startup in London and now I'm relocating to another country.

To add something more to this piece of news: Google, with YouTube, is disturbing our televisions, owned or controlled by our prime minister Berlusconi, by competing with them and spreading news that are hidden or distorted in TV. This will not be the last attack Google faces from Italy.

News Corp. knows this very well. In the last year this government passed some laws clearly against their satellite offer, favouring the TV channels of our prime minister. Now it's the turn of Google.

<comment><USER2> > To add something more to this piece of news: Google, with YouTube, is > disturbing our televisions, owned or controlled by our prime minister > Berlusconi, by competing with them and spreading news that are hidden or > distorted in TV. This will not be the last attack Google faces from Italy.

That's my take on it as well, I think these 'privacy concerns' are just a cheap way to use a disabled person to garner sympathy for the crusade against big bad google that is offering Italian consumers alternative video content that does not come from 'Papi'.

Berlusconi ought to be the one in the docket. But then he'll just pass another law that exempts him...

<comment><USER13> > I think these 'privacy concerns' are just a cheap way to use a disabled > person to garner sympathy for the crusade against big bad google that is > offering Italian consumers alternative video content that does not come from > 'Papi'.

Exactly. The main concerns of the government right now about internet are YouTube and Facebook, because they are the main channels on which news spread.

Mediaset, the Berlusconi Company owning all his televisions also sued Google for copyright of content published on YouTube. Every television in the world is working with Google to remove this content or to profit from it. Berlusconi is the only one who attacks it to take it down.

This week there has also been a similar case on Facebook, for a stupid group on down children. The government is trying every now and then to find excuses to pass laws against internet freedom.

> Berlusconi ought to be the one in the docket. But then he'll just pass > another law that exempts him...

The saddest thing about this is that it is true. He already passed 19 laws just to avoid jail, and he is about to pass another two...

</comment></comment></comment></comment><comment><USER14> This is a informative article about the case

[http://www.cleveland.com/world/index.ssf/2010/02/three_googl...](http://www.cleveland.com/world/index.ssf/2010/02/three_google_employees_convict.html)

</comment><comment><USER15> Here's the more complete article from the NYTimes: [http://www.nytimes.com/2010/02/25/technology/companies/25goo...](http://www.nytimes.com/2010/02/25/technology/companies/25google.html)</comment>


When Is a Browser Not a Browser? - <AUTHOR> http://research.microsoft.com/en-us/news/features/gazelle-062909.aspx <comment><USER2> Microsoft got rich and successful by dominating the OS market. It's natural that they would want to repeat it by inventing the "browser-based OS". I don't think they'll manage to fool anyone, though.

 _Yet browsers have never been constructed to be operating systems. Principals are allowed to coexist within the same process or protection domain, and resource management is largely non-existent._

Chrome offers the protection Wang claims is not implemented. As for the resource management, the issues Wang raises are security issues with access to devices and interfacing directly with the OS. This can be solved in the browser plugin architecture without reimplementing it as an OS or, as they call it, "browser kernel". I'm betting that Chrome doesn't have plugins yet because people behind it want to do it correctly from the start.</comment>


Ask HN: A hacker's books on pregnancy and childbirth? - <AUTHOR> In light of the discussion on pg's parenting tricks, I thought this might be a nice Sunday Ask: Can anyone recommend books on pregnancy and childbirth the HN audience would enjoy?
Books on the journey to birth and its immediate aftermath. But not opinionated tutorial/self-help guides - rather, ones that are relentlessly and neutrally informative on the technicalities of it all, and the envelope of common practices and complications.
Books that chart and canvas the scene. Books for learning. <comment><USER2> The NHS used to have two books available in print and as PDF.

They've now put all of that on a website: [https://www.nhs.uk/conditions/pregnancy-and- baby/](https://www.nhs.uk/conditions/pregnancy-and-baby/)

PDFs are still available, but check the information is still correct:

[https://www.stgeorges.nhs.uk/wp- content/uploads/2013/11/Preg...](https://www.stgeorges.nhs.uk/wp- content/uploads/2013/11/Pregnancy_Book_comp.pdf)

[https://www.publichealth.hscni.net/publications/birth- five](https://www.publichealth.hscni.net/publications/birth-five)

[https://www.bfwh.nhs.uk/wp- content/uploads/2018/05/Birth2Fiv...](https://www.bfwh.nhs.uk/wp- content/uploads/2018/05/Birth2Five.pdf)

My one bit of advice is to just relax and enjoy it. There's so much pressure put on parents about things that are micro-optimisations (eg breast feeding is best, but some people can't make it work even with support and those people should not feel guilty about formula feeding: their child is not suffering as a result), and some people are weirdly judgmental about this stuff.

</comment><comment><USER3> Books are like programing langues, they are "pragmatic" if you agree with the choices of the author and "opinionated" if you disagree.

There is an interesting old thread about recomendations (not books) [https://news.ycombinator.com/item?id=21053211](https://news.ycombinator.com/item?id=21053211) (90 points, 6 months ago, 110 comments). Including my comment [https://news.ycombinator.com/item?id=21053962](https://news.ycombinator.com/item?id=21053962)

I'd add that there is a high chance of spontaneous abortion during the first weeks of pregnancy. Wait until the 8 weeks ecography to tell everyone (or better, wait until the 12 week ecography). I don't have the numbers but it's something like 25% but it is never discused, so it can be a sad surprise.

I agree with the comment of DanBC, breast feeding is best but some people overestimate it and increase the pressure innecesarily (assuming you have easy access to clean water).

</comment><comment><USER4> I strongly recommend Cheers to childbirth[0] which is by far the most useful and practical book I found on what you can actually do to be a helpful partner in the leadup and during the birth. Remember you're not the priority in this situation but you do need to be a partner. Which means being a strong and empathetic advocate for what your wife and baby need. This book will help you understand what that is so you can discuss it with your wife and formulate a plan so that she can focus on getting the primary work done.

[https://cheerstochildbirth.com.au](https://cheerstochildbirth.com.au)</comment>


5 Things You'll Miss by Not Working In An Office - <AUTHOR> http://webworkerdaily.com/2009/04/20/5-things-youll-miss-by-not-working-in-an-office/ <comment><USER2> _When I'm in the office, I sit near the break room, which makes it very easy to corner people I need to speak to about projects — they're bound to make a coffee or eat lunch in there at some point._

Thanks, dude. Because when I'm sitting there with my lunch and a book, that's my secret signal for "COME BOTHER ME ABOUT WORK."

</comment><comment><USER3> One of the things I missed most (and will miss again in a couple of months) are the inside jokes. I guess that falls under watercooler chit-chat, though it's harder to stay in the loop with that. Come July, I'll bid a fond farewell to balloon god, uncle credit card, baby thumb, spin city, etc. These are the kinds of things that come about from constant, hours-long-at-a-time interactions, not running into someone by the watercooler.

</comment><comment><USER4> I moved out of state, away from my employer, so I work from home all the time now.

I'm working on saving up enough for a mortgage down payment and moving back to the area, and one of the number one things I'm looking forward to is being able to work from the office a few days a week.

It helps that I love my employer and my co-workers, but there's just something missing for me working from home, only connected to the workplace through a remote desktop and an IP phone.

</comment><comment><USER5> I find I miss the social interaction altogether. I don't have any co-founders, and so my social-interaction is merely talking with my wife when she's home from work, weekly lunch with a few friends, random get-togethers with friends, ventrilo/video games, and customer calls.

The daily socializing from being in an office is definitely missed, though I have no problem giving that up for the freedom to work, wear, and wake up when I want.</comment>


Show HN: Using machine learning to recommend dashboards during incidents - <AUTHOR> https://beta.overseerlabs.io/ui/product/index.html <comment><AUTHOR> Hi everyone, I'm one of the founders of Overseer. We built this tool because we noticed that engineers had to dig through many dashboards when diagnosing an incident. We felt this process could be streamlined through the use of machine learning.

When we first started working on this project over a year ago, we weren't sure if the algorithms would work, or if our insights would be of value to anyone. We were also struggling to figure out how to make it easier for people to try the product without having to change their existing workflow.

Since then, we've made huge improvements to the algorithms, deployed the tech for several large customers, and demonstrated value. Now I'd love to get a bit more feedback from you guys and see if we're going in the right direction!

So here's how the tool works: 1 - We pull down your dashboards from your existing monitoring tool (e.g. Datadog/Wavefront/Librato) using your API key. 2 - We integrate with your PagerDuty account via a Webhook to notify us when an incident has triggered. 3 - When our Webhook is invoked, we will use machine learning to rank your dashboards, rank the metrics on those dashboards, and notify you via Slack/Email of the top dashboards/top metrics on those dashboards to look at.

For this demo, we only expose the Wavefront plugin, and you'll be able to configure it on the initial page.

To integrate with PagerDuty, you'll need a URL to our end point, and we'll need an email address where we can send the analysis. You can configure that by clicking on your user name (on the top right) and doing the following: 1\. Clicking on "Generate API Key" and jotting down the generated Webhook URL. PagerDuty will need that. 2\. Filling out the "Organization Email" text box. We will send your our analysis there!

Given that we'll be dealing with potentially sensitive data, we reluctantly decided to add a layer of security and have folks register with us first - this allows us to protect your data better. My apologies for the inconvenience.

I'd love to see what the HN community thinks and how we can make it better!

<comment><USER2> The thing that comes to mind is that maybe the incident should create a notification that also generates its own dashboard specific to the components that are (likely) involved. So rather than scanning or hunting for the right collection of indicators, they're all in the notification (or a URL within it). Note: I'm pretty sure this doesn't exist in a turnkey form.

<comment><USER3> There are a couple things I think it's possible you're saying: (1) When an incident happens, you should get notified what components are likely involved. That is basically what we do if you hook us up to PagerDuty- when PagerDuty sends out an alert, we will also send out an email that lists what dashboards are likely relevant along with links to Overseer dashboards that show you which metrics are probably relevant. (2) By "the incident should create a notification" you might mean you'd like Overseer to generate an alert. While this would be possible to do, where Overseer really aims to shine is as a triaging tool rather than being the best alerting service.

</comment></comment></comment><comment><USER4> The fact you put Bayes rule on your page excites me. I am taking a graduate course in Bayesian machine learning, so Bayes is all around me lol. Any use of Gaussian processes or probabilistic graph models? Would love to hear also if you use Bayesian treatment for automatic model selection. It sounds ideal in lecture, but I am interested to see how it is applied in real world settings.

<comment><AUTHOR> So it turns out that these metrics don't exactly follow a Gaussian distribution, so it's hard to get these algos to work right out the box. Additionally, speed was an important component for us (for training and evaluation), so we had to toss out a lot of the fancy, but slower, techniques.

</comment></comment><comment><USER5> I love the photos of equations. "We use enhanced Bayes' Rule and Joint Summation algorithms to serve you the most relevant and useful dashboards." Probably more truth to it than it seems :)

<comment><AUTHOR> Glad you liked it :) It turns out that modeling operational metrics is a lot harder than I expected, so there was quite a bit of work we had to do to get the algos to work.

<comment><USER6> I was wondering about this. I assume you're treating this info as proprietary, but in case you aren't I'd love to hear more about how you actually implement this.

<comment><AUTHOR> Well, there's a lot of details and I don't think I can cover it all here, but if you're interested in the general framework that I used to approach this problem, take a look at this blog post I wrote last year: [https://medium.com/@upal/how-to-use-machine-learning-to- debu...](https://medium.com/@upal/how-to-use-machine-learning-to-debug- outages-10x-faster-e480b7e2a907). Let me know if you have any feedback!

<comment><USER7> I am a little surprised that you got some milage out of procedures and algorithms that rely on the Gaussian assumption (that includes k-means). From experience, the raw metrics are, shall we say, as violently non-Gaussian as it gets. OK OK you need not tell what you are doing to address that as I myself am being rather economical with the truth. But so glad, so glad that someone is using multivariate analysis, about time too. From someone who dabbles in a similar space I wish you well.

<comment><AUTHOR> Thank you :) Yes, the use of multivariate analysis was a crucial insight for me, and I'm hoping these ideas will push the monitoring community forward!

</comment></comment></comment></comment></comment></comment><comment><USER8> Hmm.. I'm not convinced that this is a problem that actually needs solving. You admit to having these misgivings when starting out - could you describe in general terms what changed your mind?

<comment><AUTHOR> Great question!

Being an engineer myself, this was a personal pain point and I wanted to solve it, but the key question was whether or not machine learning would help. Thus, most of the time was spent deploying the tech with early adopters, refining the algos, and trying to better understand the value.

What I learned was that our message resonated with some companies more than others. Working with those guys and getting some proof-points on the value is what kept us going!

</comment></comment><comment><USER9> I like the idea. It is something that we may buy at my job, but it being "cloud based" is a deal breaker for us, any plan for some self hosted version?

<comment><AUTHOR> Absolutely! Currently all our large deployments are on-prem. Please reach out to me and we can discuss further: firstname.lastname@example.com.

</comment></comment><comment><USER10> Looks interesting...but I don't want to sign up with an email before seeing what it actually does.

<comment><USER3> Hi, I'm also from Overseer :-) . The site we link to has a summary, but here's a more in-depth explanation for you since you're interested. Basically we pull from wherever you keep your ops dashboards and metrics (right now we've only exposed Wavefront as a source), and then pull down some history for the data on those dashboards. We use machine learning to determine how the metrics on your dashboards normally behave, and then start monitoring those dashboards in real time. We use this info to generate "health scores" for your dashboards which you can view any time. Also, if you hook up PagerDuty, when a PagerDuty alert goes off, we can email you info about which dashboards are unhealthy and what metrics on those dashboards are contributing to that strange state.

</comment></comment><comment><USER11> Dashboards are largely dangerous. They promote a "Star Trek Bridge" theater - a play where one actor looks at a screen, becomes concerned, and takes action. Often this action will include a report to a senior officer.

Business leaders often enjoy seeing their engineers act out this scene. It's gratifying to see someone take expected action, and gratifying to simply look at your direct reports to see if they're working.

But this theater play requires engineers to be idly starting at dashboards first, so they are in the right place to see an issue and take action. This leads to bored engineers, complacency, and delays issue resolution. It's also inefficient to pay people to be bored.

Instead of having a dashboard display a subset of metrics, have alerting configured on these. Pager duty notifies the same if you're in another app, another castle, another room, or another state - you can pay people to do other things instead of staring at a dashboard all day.

A big TV full of metrics is a prop that your actors and engineers will ignore.

<comment><USER12> Right, but when I get paged... the first thing I do is look at dashboards and logs.

At a sufficiently large company, looking at dashboards can be difficult because:

1\. there are so many dashboards to look at... for so many different services

2\. spurious correlations between two graphs showing unrelated events can lead you down the wrong path, if you don't confirm your dashboard-generated hypotheses with log statements or other information.

#2 can be solved by a stronger reliance on logs, [http://opentracing.io/](http://opentracing.io/) style distributed tracing, and other information.

Something like this Show HN would be useful for problem #1 though.

<comment><USER11> So when paged, your first step is look at something that is difficult to look at, and possibly waste time with false correlations?

If the metrics are known as important to your app, monitor specifically on those - that way you're alerted _because_ of low memory or pooled connections or something you're watching, and can lead your team with that info. If the metrics aren't known to be important, why are you wasting your time looking at them on a dashboard?

If you're paged - when it's raining is the wrong time to patch the leaky roof - it's the wrong time to debug and fix a problem in code. Those notes and todos should be pulled into next sprint triage. In the moment, just restoring service should be priority. If restoring service requires modifying code, database, routes, etc, then your testing environments and change control policies need improvement.</comment></comment></comment>