Quick explanation of how a Kalman filter works - <AUTHOR> http://htmlpreview.github.io/?https://github.com/aguaviva/KalmanFilter/blob/master/KalmanFilter.html <comment><USER2> Nice summary. I think of the concept at a slightly higher level of abstraction:

It's just Bayesian inference to update the posterior. A theoretical model gives an estimate of what the state of the system should be (call that the "prior"). A sensor measurement gives an independent estimate of the state (call that the "likelihood"). Composing (multiplying) the two gives the posterior. Further, in this formulation it doesn't really matter what you call the prior or the posterior. You can easily combine estimates from many different sources/sensors.

Kalman filters are just the special case where the likelihood and prior are both Gaussian -- the distributions can be specified with a couple of numbers, and there is a simple closed-form expression for composing them. More generally, one can use all the tools available for Bayesian inference.

<comment><USER3> > It's just Bayesian inference to update the posterior.

I've had this discussion with a number of smart people (math PhDs and so on) over the years, and I've never gotten a good explanation. I understand in the very abstract sense how Kalman filters (and particle filters and so on) can be seen as Bayesian, but when it gets to actually applying Bayes' theorem it really gets complicated very fast. For instance, if you're estimating a 3D position (that will be A) and your measurements are some 2D subspace (these will be B), the least squares approach works nicely (normalized products of Normal PDFs).

However, I'm not sure I understand a single component of the expression P(A|B) = P(B|A) P(A) / P(B) in this context. What does A|B or B|A even mean when A is a 3D Gaussian and B is 2D? What are the dimensionalities of these operations? What does it mean to divide a product of pdfs?

I don't expect an answer, but I always wince a bit when I see Bayes in this context. For Normal distributions, I prefer thinking of it as least squares.

<comment><USER4> _However, I 'm not sure I understand a single component of the expression P(A|B) = P(B|A) P(A) / P(B) in this context._

You've come to the right place :)

In the context of least squares estimation you can usually ignore the denominator P(B) and only look at P(A|B) = P(B|A) P(A). Real mathematicians (!= me) cringe here because the numerator alone isn't a proper PDF but since we're only seeking the value where that PDF has its maximum, that's ok.

Good, so now we have P(A|B) ~ P(B|A) P(A). What you want to know is the maximum of P(A|B), that is "where's the most probable position of my 3D point A given all the 2D measurements B"?

Let's look at the solution P(B|A) P(A). The first factor is the likelihood function, the second factor is the prior. The prior is easy: It's some prior belief about the distribution of A. So if you know the position of your 3D point somewhat (even without looking at B), say you know it must be in a range of coordinates, or you know that Z must be positive or any other statement about A that you know must hold, that information would go into the prior.

P(B|A) on the other hand is your likelihood. That's kind of the "meat" of Bayes. Your likelihood is a distribution over B, given A. Meaning, if you knew your 3D point A, how would the PDFs of your 2D observations of it look like? Note that the likelihood is to be understood as a _function of state_ , meaning the domain of it is A.

So to summarize argmax(P(A|B)) = argmax(P(B|A) P(A)), meaning to get the most probable location of your 3D point you need to look in your likelihood domain A (in this case the 3D space) where the 3D points are that would produce the observations B that you have and then also take into account your prior beliefs about A, to narrow down that set of candidate points.

In the concrete case of least squares both likelihood and prior are assumed to be gaussian, so if you multiply them you get a new gaussian with a single maximum. Neat!

<comment><USER3> I appreciate the kind reply, but I don't think you understood the gist of my complaint. I have a degree (just undergrad) in math, and I've implemented Kalman filters, Kalman smoothers, information filters, particle filters and so on at least a dozen times. I know what operations to perform, and I even have an intuition about why they work.

When I complain about the Bayes theorem way of describing or thinking about Kalman filters, I really mean that I don't understand what almost anything in that expression means. The notation is intuitive if read as English, but opaque to what operations are being performed on what mathematical objects. Capital P means probability of an event or predicate, and A is some abstraction of the thing I'm trying to estimate, and B is the abstraction of a new observation or measurement.

Think of it this way: I have some knowledge of my prior estimate, and I'm able to characterize it as a Normally distributed random variable. It has a mean and a covariance in 3D space (let's call those x and P). There is a multivariate function for that pdf (lowercase p); it's an exponential of the negative square of the Mahalanobis distance normalized to have a unit volume. The same thing applies for my measurement, except it's only a 2D mean and covariance (let's call those z and R). I already know that I can use my H matrix, some matrix inverses and multiplications to combine this information. It's really just a case of multiplying the pdf for the state estimate and the measurement and re-normalizing to a unit volume. In other words, I believe both things are true, and they are independent, so I can multiply their pdfs and re-normalize to get a combined result. The rest is just linear algebra.

Now let's get to Bayes. P(A) is supposed to be the probability of an "event" or predicate. I can squint sideways and translate that as integrate my pdf for the prior estimate (Normal with mean x and covariance P) over a some unspecified bounds and convert that to a probability of my estimate being in those bounds, but I'm not sure that's what is intended. Again a similar thing applies for B (Normal with mean z and covariance R). It's frustrating that the bounds are never stated, because they could be radically different spaces in the numerator and denominator. I guess I'll give that a pass because maybe the notation would be too cumbersome if it was included, but this simplification seems to never be stated in any of the books or papers I've read on it.

Next, P(B|A) has to be probability of another "event", and if I squint again, the best I'm able to come up with is that it means a new Normal pdf with mean = H'z and covariance = H'RH. However, I haven't seen that spelled out any where, and so really that's just assuming the conclusion I want, which is super questionable. It also doesn't help me understand the left side of the Bayes equation - that vertical bar there seems to mean something different. When I look to the definition of conditional probability, I don't see anything about the vertical bar applied to multivariate Normal distributions.

If you translate it all to English, it reads as a coherent sentence, and that's fine. This is the "prior state estimate", that's the "observation", and this other thing is that's the "a posteriori" etc... However, if Bayes really helps with the understanding the math, the vertical bar has to mean something specific as an operator, and one would hope it meant the same thing on the left and right sides of the equation.

Similarly, in order for all of those P( ... ) to become scalars so multiplication and division are well defined, you need some integration bounds to turn the event into a probability. But at this point, I'm not even sure if that's what is intended by the notation - maybe they aren't scalars, and multiplication and division mean something radically different here. I honestly don't know.

<comment><USER5> Probability notation generally works best for the people who already understand the concept in question. Let me take a crack at your question.

The equation in question is P(A|B) = P(B|A) P(A) / P(B). In modern Kalman filter literature, this would be stated as something like: P(x_k | z_k) = P(z_k | x_k) P(x_k) / P(z_k). It is generally left as implicit in these sorts of equations that everything is also conditioned on the sequence z_1 to z_{k-1}. In this equation, x_k is a free variable in the state space (possibly multi-dimensional, so a vector), while z_k is the measurement, which is a realization of the random variable distributed as N(H(x_k), R_k). The result is a PDF over the free variable x_k.

So let's tackle the terms one by one:

1\. P(z_k | x_k) - this is the probability that we measured z_k, given that the true object is at x_k. This is the aforementioned normal distribution N(H(x_k), R_k).

2\. P(x_k) - this is the prior probability of the state estimate, generally after propagation through the motion model from P(x_{k-1} | x_{k-1}). In the Kalman filter, this is also Gaussian, and conveniently has the same mean as the term above (see note below).

3\. P(z_k) - this is the denominator that someone else mentioned earlier can be effectively ignored, which is right - you only need it to normalize the numerator. If you must compute it, it can be factored as the integral over the entire state space of P(z_k|x_k)*p(x_k). Given z_k, this is a number, not a function.

4\. P(x_k | z_k) - The result, which is a Gaussian PDF. You can arrive at it numerically by plugging in specific values for x_k, in which case (1) and (2) are numbers. Or symbolically, in which case (1) and (2) are functions, and you'll end up with the form of a Gaussian PDF.

Note: The original article quotes a distribution for the product of two Gaussians with arbitrary means. It does not state that this is an approximation, which is exact only in the case of equal means. This is why unbiased measurements are one of the Kalman assumptions.

<comment><USER6> I think the crux of the complaint of is the imprecision in saying e.g. "P(z_k | x_k) - this is the probability that we measured z_k, given that the true object is at x_k"

Technically, you can only give a useful answer about the probability _density_ of the random variable Z_k at the value z_k, conditioned on X_k = x_k. In the Bayesian interpretation of the Kalman filter, you never have an event "I measured z_k" (that event has probability 0, of course).

I agree that the probability notation is the issue here. Look at how wikipedia shows Bayes' rule for continuous random variables on both sides of the |. : [https://en.wikipedia.org/wiki/Bayes%27_theorem#Random_variab...](https://en.wikipedia.org/wiki/Bayes%27_theorem#Random_variables) That's the kind of explicit and precise notation I would use to help someone understand the Kalman filter from a Bayesian perspective.

Once you use that definition of Bayes' rule, then you can substitute the definitions of the multivariate normal pdf, Do The Math, and derive the Kalman filter recursive updates.

<comment><USER3> Thank you for your reply here, and the one below. I wish I had seen it before posting my sibling message to this one. I'm a bit too tired to go any further with this tonight, but I plan to look at your links tomorrow.

Cheers.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I remember struggling with understanding Kalman filters (and Particle filters). I found [1] to be an amazingly clear explanation:

[1] [http://www.bzarg.com/p/how-a-kalman-filter-works-in- pictures...](http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/)

<comment><USER8> Additionally, this video made particle filters crystal clear to me: [https://www.youtube.com/watch?v=aUkBa1zMKv4](https://www.youtube.com/watch?v=aUkBa1zMKv4)

</comment></comment><comment><USER9> This is the most intuitive introduction to Kalman filtering that I've ever seen. Even just reading that part was the most enlightening 2-minutes of my entire month. Kudos to the author!

<comment><AUTHOR> Much appreciated! :)

</comment></comment><comment><USER10> This is a very nice breakdown of Kalman Filtering. One slight correction - Kalman Filtering is one approach to solving the SLAM problem, but SLAM doesn't require a KF. A particle filter, for example, can be used to solve the SLAM problem.

For anyone interested in further resources to better understand the intuition behind KFs, I've found this resource incredibly valuable (although a little pricey): [https://www.amazon.com/Kalman-Filter-Beginners-MATLAB- Exampl...](https://www.amazon.com/Kalman-Filter-Beginners-MATLAB- Examples/dp/1463648359/ref=br_lf_m_zuvo8fyr45xsoyk_ttl?_encoding=UTF8&s=books)

<comment><USER11> Another absolutely fantastic resource is this Jupyter Notebook based textbook on Kalman Filters and related topics: [https://github.com/rlabbe/Kalman-and- Bayesian-Filters-in-Pyt...](https://github.com/rlabbe/Kalman-and-Bayesian- Filters-in-Python)

An addition to your correction: there are many other ways to solve the SLAM problem beyond (kalman/information/particle) filters. Optimization based approaches are very popular (search terms: Graph SLAM, Factor Graphs, Pose Graphs).

<comment><USER10> True! I don't find too many people out there who know about this stuff. Any interest in trading battle stories through DM? Would be interested to know what you're working on and where you've been!

</comment></comment></comment><comment><USER4> _We also do the opposite, and we use our IMU to better estimate the position of those features /clues. This is exactly what SLAM does, at its core it is just a Kalman filter with the twist that each time it finds a reliable visual clue it treats it as a sensor and makes it part of its state, a thing that allow us to tell our position much better and build a map. _

Some nitpicking here: There are _some_ SLAM systems and flavors that use a Kalman filter as the main estimator under the hood but most are either hybrids or separate the tracking and map optimization (using batch / bundle adjustment methods).

Digging a little deeper here I think it's important to mention that a Kalman filter is just a recursive least squares estimator, and is in fact equivalent to an Information Filter (which, IMO, is much easier to understand if you're already familiar with linear regression / LS systems).

In fact a Kalman filter is just a fancy mathematical reformulation of an Information Filter that allows you to save quite a bit of computation time in case each observations is low-dimensional compared to your state.

</comment><comment><USER12> I used to work at a company that did Dynamic Positioning systems for vessels and oil rigs and I worked on the periphery software systems running with a Kalman-based algorithm there. Didn't work on the Kalman stuff then, but I do think its cool what they can achieve and have always been interested. I will add this to my reading TODO. Thank you.

</comment><comment><USER13> This is a positively fantastic explanation. One of the best I've seen despite being so short.

Minor nitpick: It might be a bit more clear if the terms "F", "s", "v" were explicitly defined, as well as a sentence explaining the matrix M inversion. It's really great, but when I read "our prediction formula F could be as simple as s = v*t_dot" I immediately think "F? was F defined earlier? Did I miss it? Also what is s?".

[overall, really great explanation, bookmarked]

</comment><comment><USER14> I wish I had this summary quite a few years ago. I ended up buying aeronautical software textbooks and trying to glean the information from those to figure out how to integrate multiple IMU inputs.

I learned that real world IMU use in navigation is pretty ugly and has to be supplemented due to constant errors. This can be particularly difficult when flying. In my case I used other sensors, such as a GPS. But a strictly IMU- only approach to lengthy navigation is, AFAIK, impossible.

Either way, good write up.

<comment><USER15> > I learned that real world IMU use in navigation is pretty ugly and has to be > supplemented due to constant errors. This can be particularly difficult when > flying. In my case I used other sensors, such as a GPS. But a strictly IMU- > only approach to lengthy navigation is, AFAIK, impossible.

Yeah IMU error can be annoying unless you shell out $$$, but this issue occurs with many other kinds of sensors as well.

One common trick is to treat the IMU error as another state variable that is evolving over time. It won't eradicate the compounding error, but it will reduce the amount of calibration necessary.

</comment></comment><comment><USER16> Interesting - I don't have the strongest math background so I'm usually somewhat intimidated by topics like this, but this makes it seem like a fairly simple weighted average based on squared error values like in standard deviation? I assume this would also only work on a normal distribution too?

Makes it seem a lot more approachable than many people have made it sound to me, but I may be horribly misunderstanding still.

<comment><USER17> I struggled a long time trying to get past all the matrix math that the usual Kalman filter tutorial starts out with. KF's make a lot more sense if you start from an example. By the end of the example, you realize that matrix math simplifies the notation hugely. But without the intuition about what it is doing for you, it doesn't help much -- at least it doesn't help _me_ much.

So... my over-simplified touch-stones for KF's:

1\. Everything is a Baysian quantity -- a mean (best guess) and a std. dev. (confidence).

2\. You have a model of the system state.

3\. You have some sensors, and you have some model for the accuracy & precision (noise) in the measurements.

Now, two rules:

1\. The model runs open loop and at a regular cadence: "Tick tock, tick tock, the model updates on the clock." Of course, since you are running open loop, your confidence in every value of the model gets worse with each iteration (std. dev. grows). How much you adjust (reduce) the confidence is based on the precision of the system and the control inputs.

2\. Sensors readings are applied as they come in: "Use'em if you got'em."

So.... now the moving average part... if you are twice as confident in your current estimate as you are in the reliability of the new measurement, do a weighted average of 2/3 of the current estimate and 1/3 of the sensor. This is why the confidence is carried along for all state values and sensor readings. Of course compute the weights of the moving average according to the current confidence values with every update.

And that is about 103% of what I know about Kalman filters :)

</comment></comment><comment><USER18> Another intuitive intro, previously: [https://news.ycombinator.com/item?id=12648035](https://news.ycombinator.com/item?id=12648035)

</comment><comment><USER19> Great explanation! If you want a very detailed deep dive into Kalman Filters, I found this sequence of videos really helpful: [https://www.youtube.com/watch?v=CaCcOwJPytQ](https://www.youtube.com/watch?v=CaCcOwJPytQ)

It's 55 short videos, each one going over a specific topic or example.

</comment><comment><USER20> I love this. I've idly tried to understand the Kalman filter forever (ever=10yr+), and always encountered explanations that threw you straight at the linear algebra[1]. (yeah, even "quick" or "simple" explanation).

This explanation starting from the conceptual is great, and finally provides the needed foundation for me to understand the rest.

[1] _huff_ not that I couldn't understand the linear algebra, just that I, uh, didn't have time for that... >_>

<comment><AUTHOR> Thanks, I wrote this because I had been in stuck in that same situation for a ages too

</comment></comment><comment><USER21> Here is another "simple" explanation:

[https://rweba.livejournal.com/446326.html](https://rweba.livejournal.com/446326.html)

It's definitely WAAAY oversimplified, but it gives the first idea:

The "filter" just cleverly averages the noisy real data at time T with the Kalman estimate from time (T-1).

</comment><comment><USER22> I posted this a few days ago, but I think it's the best intro to Kalman filters I've ever seen: [https://github.com/rlabbe/Kalman-and-Bayesian- Filters-in-Pyt...](https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in- Python)

</comment><comment><USER23> The inventor of Kalman Filter: [https://en.wikipedia.org/wiki/Rudolf_E._K%C3%A1lm%C3%A1n](https://en.wikipedia.org/wiki/Rudolf_E._K%C3%A1lm%C3%A1n)

Born: Rudolf Emil Kálmán May 19, 1930 Budapest, Hungary

Died: July 2, 2016 (aged 86) Gainesville, Florida

</comment><comment><USER24> The page breaks back button.

<comment><USER25> Seems fine for me on MacOS Safari.

<comment><USER26> It's broken for me on MacOS Firefox

</comment></comment></comment><comment><USER27> How do you know the variance of your sensors? Do you have to experiment in a controlled environment?

<comment><AUTHOR> Good question, yes, you measure it when the rocket is on the ground.

</comment></comment><comment><USER28> also useful for incorporating noisy GPS sensor readings! I tried to do this in an undergrad autonomous vehicle but failed at the time :(

</comment><comment><AUTHOR> Kalman experienced people, just wondering, what did you use the filter for? And, what are you guys working on nowadays?

<comment><USER29> An aircraft's Flight Management Computer uses a Kalman filter to combine the data from all available sensors (GPS, IMU, altimeter, ADC, VOR, DME, etc.) to compute the position of the aircraft.

<comment><USER30> A GPS itself uses a Kalman filter to combine the position estimates from many satellites as well.

</comment></comment></comment><comment><USER31> More gain 'k' explanation. 'K' determines how much you weight you give sensor A and sensor B.

A gain of 1.0 means B is weighted 100% and A is 0%. Gain of 0.5 means each gets 50/50 weight.

Look at the maths and notice how when the gain is 1.0, the mean just becomes the mean of B.

<comment><USER30> Notice also that if you replace k with (1-k) then you get the same results, but with a and b swapped.

</comment></comment><comment><USER32> This seems to use measurement and average interchangeably? a measurement is an instantaneous "average"?

if you figure out a decayed moving average as an "average"... why not just use that smoothed value directly? what do you even need variance for?

</comment><comment><USER33> Hmm. Could probably hammer this into a form applicable for a raster, where the previous 'instance' is a linear interpolation via Roberts cross or some such.

</comment><comment><USER34> > those readings represent gaussians and combining them means multiplying them

I don't think he means multiplying surely? That part is unclear.

<comment><USER35> how else would you combine PDFs?

<comment><USER34> Ah I realised he meant the product of the two PDF's but it sounded like he meant the PDF of a the product of two normally distributed random variables. Which would make no sense.

</comment></comment></comment><comment><USER36> Very cool way of introducing kalman filters

</comment><comment><USER37> actually, iirc, there is a very cool document by ramsey (i guess) which attempts to provides a simple and intuitive derivation of the Kalman filter without going too deep into mathematics...

</comment><comment><USER38> much like a baby bird learns to fly</comment>


Show HN: Hackertalk – CLI tool that finds Hacker News discussion for any URL - <AUTHOR> https://github.com/ncthis/hackertalk

<comment><USER2> THIS my friend.Awesome! I was planning to create something like since a long time. Thanks!

</comment><comment><USER3> Nice little tool. Very clean source code too; might have to look into NodeJS myself.

<comment><AUTHOR> Thank you. I've tried to keep the functionality minimal in order keep the source clean with just one file.

</comment></comment><comment><USER4> Is there a Chrome extension or a bookmarklet that does this?

<comment><AUTHOR> Not yet. But it's a trivial operation to port the Node.js source to front-end.

Edit: here's the bookmarklet code.

      javascript:(function(){var r=new XMLHttpRequest;r.open("GET","https://hn.algolia.com/api/v1/search?query="+encodeURIComponent(location.href),true);r.onreadystatechange=function(){if(r.readyState==4&&r.status==200){var e=JSON.parse(r.responseText);if(e.nbHits>0){location.href="https://news.ycombinator.com/item?id="+e.hits[0].objectID}else{alert("this url has not been submitted yet")}}};r.send()})()</comment></comment>


TDD/BDD as Architectural Tools - <AUTHOR> http://www.infoq.com/presentations/TDD-BDD-as-Architectural-Tools <comment><USER2> It might be indicative of something about 'agile' programming that someone can happily invent a new name for a methodology that uses the acronym BDD. Because there's nothing important from computing already using that acronym, now, is there?

I, for one, welcome our new, agile overlords, and look forward to many exciting discussions of NP (Natural Programming), DFS (Deep Facilitization Scalability), etc.</comment>


How ML Helps Diabetic People - <AUTHOR> http://www.glucoguide.com <comment><USER2> I'm a diabetic (type one, since 1988) who has also been doing ML startups for the last 15 years. My HbA1C scores have always been below 6, controlled with a two to four blood test per day and long/short (currently Novorapid and Lantus) insulin regime. I've always been sporty, and have done some more difficult things like hiking to Everest base camp without a porter, cycling from Montreal to Lake Placid and back, and a few 24 hour rogaining events. In other words, broadly I've managed my diabetes quite well.

I've always been tempted to do something with ML and the datasets I collect off my own body, but I have never seen this point. In my experience, the thing that allows for good diabetic control is a doctor who can help a person understand their own body's reaction as a dynamic system, rather than a rigid schedule or an external system that tells them what to do. A product like this would be most useful in my opinion as a learning aid.

The place I see this kind of data being extremely useful is in the insurance industry. I currently pay a 400% premium on my life insurance due to being diabetic, but my control is extremely good. Were it to allow me to obtain reasonable insurance coverage, I'd be more likely to be willing to go through the data collection headaches involved with this kind of product.

<comment><AUTHOR> The professor who started this ML company actually did what you mentioned.

His Hb1aC a number of years ago was a a bit over 12%, which is dangerous, and he ran data analytics on himself to see how he could reduce it. Now he's at 6.4%.

He then turned it into an app, with some multi-food image recognition, did a clinical study at a university, and started bringing it into market.

I agree, the insurance issue is a two sided headache, they want to charge more and more while you want to pay less because you know it's for your own good be be healthy.

But nevertheless, we started reaching out to a few insurance companies: any particular suggestions you have in mind though?

<comment><USER2> That is a good origin story! I would contend though that it was the performing of the data analytics on himself (which helped keep it top of mind and helped him to develop an internal model) that was the most helpful. People simply using the app may find it less so. (Not trying to dump on the product, merely giving my thought processes when I decided not to in the past).</comment></comment></comment>


New Toyotas will upload data to AWS to help create custom insurance premiums - <AUTHOR> https://www.theregister.com/2020/08/18/aws_toyota_alliance/ <comment><USER2> And here's the thing. These types of driving habit trackers (not necessarily new in the auto-insurance industry) are touted as a means to reduce the cost of insurance for good drivers. But what qualifies as a "good driver" is likely to be more like 10% of drivers. For everyone else, this won't reduce the insurance costs at all.

It's frankly just a way for insurance companies to extort more profit from drivers. I don't want a black box in my car of any type, even if I already qualify for the best possible insurance rates. Your driving habits are a huge privacy concern and we should all guard them very carefully.

<comment><USER3> > For everyone else, this won't reduce the insurance costs at all.

It will likely raise it to subsidize things, somebody else has to pay your premium... Companies are never in the business of making less money.

<comment><USER4> >It will likely raise it to subsidize things, somebody else has to pay your premium

I don't know what this means, but an insurance company can be incentivized to lower premiums as a means to win new business. If an insurance company offered me lower premiums in exchange for monitoring my driving, I might do it. I already have dash cams to ensure I don't get found at fault if it isn't my fault.

<comment><USER5> Insurance companies have been offering just this deal for years - they will stick a GPS logger into the OBD2 port on your car, and then ask you to let them pull data off it periodically[1].

1: [https://www.forbes.com/sites/adamtanner/2013/08/14/data- moni...](https://www.forbes.com/sites/adamtanner/2013/08/14/data-monitoring- saves-some-people-money-on-car-insurance-but-some-will-pay-more/#2f4d754d2334)

</comment></comment></comment></comment><comment><USER6> This removes "New Toyotas" from my list of potential next vehicles, though it's likely just a matter of time before all new vehicles have a direct link with insurance companies.

<comment><USER7> Even toyotas sold today have cellular modems that track your location, it's called "toyota safety connect". There is no obvious way to turn it off either.

<comment><USER8> I imagine that you can still take the car to a mechanic and ask them to remove the sim card to disconnect the system

<comment><USER9> At least for Volvo they are used for by their service mechanics as well, so you will want to make sure it doesn't void any warranty claims.

</comment></comment></comment></comment><comment><USER10> Insurance companies want to double dip: They want to sell insurance and profit off of that, and then profit off of selling your personal location/habit information on the back-end.

Even if they aren't doing it today, they want to be positioned to be in the "data business" tomorrow. It will start out as "opt out" before becoming normalized/expected.

Even putting aside the fact that modern vehicle's electrical systems are already stretched thin and this is yet another constant battery drain. The privacy implications of this cannot be ignored even if the data is "anonymized" (not least of all because multiple sources of "anonymized" data can be combined to bypass it entirely).

<comment><USER11> And you can be guaranteed the car manufacturers aren't going to be selling them data that would let them do statistical analysis on the vehicles.

I think it'll be super anti consumer. All those systems will be used to "prove" the driver is at fault for everything. It'll never be a mechanical malfunction or an infrastructure issue. It'll always be the "bad" driver that causes accidents.

</comment></comment><comment><USER12> Part of the slippery slope that insurance companies have been trying to get customers to willingly adopt...

Just install this safe driver app to receive _up-to_ 15% off your rate!

Soon: our company's insurer now requires all employees to install this exercise monitoring app on their phone!

And finally: to be eligible for insurance you must submit a saliva sample.

<comment><USER10> > Soon: our company's insurer now requires all employees to install this > exercise monitoring app on their phone!

Not _soon_. My employer already offers a 10% premium discount program, but you have to take part in a monthly "healthy living" program that encourages you can hook in your smart phone/watch/etc (you earn "points" towards your discount, not doing so hurts your point totals and you need to do something else privacy invading instead).

It is operated by a third party rather than my employer, but that doesn't protect your privacy in the broad context, just protects you from additional workplace discrimination.

</comment></comment><comment><USER13> 1 year from now: "Toyota AWS keys compromised due to misconfigured S3 bucket."

<comment><USER14> No it would be more likely that "Millions of Toyota drivers driving data leaked due to misconfigured S3 bucket"

</comment></comment><comment><USER15> Cars have been so well-built for so long that car companies doing this crap with data (remember that Ford's outgoing CEO talked about monetizing driving data) should cause people (that care) to just stop buying new cars. Bonus: you don't have to agree to forced arbitration for any defects you encounter!

<comment><USER16> In much of the world, the forced arbitration clauses are illegal and unenforceable anyway for consumer contracts (though often not when the purchase is for business rather than consumer purposes). And there is a bill in Congress that would apply a similar approach to the US if the Democrats manage to take control of the federal government and don't lose their desire to enact the law once they gain the ability to do so.

I admit I'm not sure what the situation would be if I buy a new personal Toyota in my current residence (Quebec, Canada - forced consumer arbitration is illegal) and then later import it into the US as part of a move there. But I'm hoping I'd avoid the trap.

At least the current version of the congressional bill is retroactive in its restoration of access to the courts. I hope that stays true in any final version.

</comment></comment><comment><USER17> It reminds me of BMW wanting to charge for add on "options" that you paid for at delivery but after 2 years of ownership you need to re-up.

rear view camera/park distance control/cruise control (SaaS).

I guess with car sales going south they need to nickel and dime their remaining customers.

</comment><comment><USER18> It's interesting to see that most of the discussion here revolves around effectiveness and economic impact of tracking. Ten years ago the talking point would be about invasion to privacy. The personal privacy is vanishing not only in practice, but as a value of the society as well.

</comment><comment><USER19> Anybody know how to disable the 4G chip permanently upon buying a new car? Are they making ECUs require the 4G chip to be active?

<comment><USER20> It's a difficult process that changes greatly from model to model, and often comes with... Unexpected... Functionality loss.

Like for a particular VW model I'm thinking of, you need to disassemble the entire front of the car to get at it, and it disables the seat warmer for no obvious reason.

<comment><USER21> Unless the car is phoning home to enable options you've paid for, you might be able to evade anti-functionality issues by replacing the antenna with a dummy load (resistor) rather than by removing the modem entirely.

</comment></comment></comment><comment><USER22> I would say "hard pass" on this, but at some point in the future, it will no doubt be significantly more expensive to acquire car insurance without this kind of oversight. Ideally there would be some legislation in place that precludes charging people extra for retaining their privacy, but I'm not holding my breath.

</comment><comment><USER23> My parents installed one of the addon driving monitors in their car to get an insurance discount. It lasted about a month. Apparently they drive like maniacs.

</comment><comment><USER24> What a nightmare. Avoiding owning a car starts to sounds better and better every day.

</comment><comment><USER25> To paraphrase Charlton Heston, you can pry my my manual transmission, non- infotainment having car from my cold, dead hands!

</comment><comment><USER26> Just go buy a pre-2012 Toyota, take it to a reputable independent Toyota- specific shop in your area, and say "make it good, boss". Pay him whatever he asks.

Then go find an insurance broker, ask them to put you in touch with someone who can provide you with an agreed-value insurance policy. Insure the vehicle for purchase price + what the shop changed you.

Get regular oil changes at Jiffylube, and take the car into the Toyota guy once a year. Although it may not be flashy, you'll have a reliable, efficient ride for many, many years.

New cars simply aren't worth the creepy factor.

</comment><comment><USER27> I just bought a Volvo (but I didn't get it yet) => apparently all Volvos have an embedded "Event Data Recorder":

 _This vehicle is equipped with an "Event Data Recorder" (EDR). Its primary purpose is to register and record data related to traffic accidents or collision-like situations, such as times when the airbag deploys or the vehicle strikes an obstacle in the road. The data is recorded in order to increase understanding of how vehicle systems work in these types of situations. The EDR is designed to record data related to vehicle dynamics and safety systems for a short time, usually 30 seconds or less. Etc..._ The article is here [https://www.volvocars.com/ph/support/manuals/xc90/2016/intro...](https://www.volvocars.com/ph/support/manuals/xc90/2016/introduction/introduction/recording- data) (same for other models).

Personally I'm OK with that - it's not an ongoing recording of how I drive, the data is not pushed out of the car, and it might actually help defending myself if I have an accident and I think that I'm not guilty.

<comment><USER28> I believe these have existed in vehicles for quite a while and have been used as evidence for/against the driver. According to [1], 85% of all vehicles in 2010 were expected to already have these things installed.

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

<comment><USER27> Thank you, until now I was totally unaware of such systems.

But good to have things stored locally than to have them uploaded anywhere to then be used for some analysis (puah, probably a point to be discussed).

Personally I'm OK if used for&against the driver (from a technical perspective, not as souce of abolute truth) if the duration of the recordings are short.

<comment><USER28> In a defensive driving course I took in the prior decade, the instructor informed us that these collect data in a rolling 5 minute window until an adverse event occurs.

</comment></comment></comment></comment><comment><USER29> This and the DLC are the worst trends in new cars.

</comment><comment><USER30> Hyundai and Genesis have been doing this with their vehicles. They offer a 3 year complimetary connected service program, which includes terms that allow mining of car telemetry and GPS data, which is then sold to data broker VeriRisk, who resells to insurance and other industry.

All this only screws the driver over and most people simply do not know this is happening.

[https://www.prnewswire.com/news-releases/hyundai-motor- ameri...](https://www.prnewswire.com/news-releases/hyundai-motor-america- selects-verisk-for-usage-based-insurance-300630938.html)

</comment><comment><USER31> This is bullshit and is designed to enable Amazon to allow Toyota and its insurance "partners" to extract more money out of the average American driver.

Remember how Kroger/Safeway/friends started their loyalty programs? Just give us your purchase data + a unique identifier and we will only charge you the normal price not the jacked up price. This is the same thing. 20 years from now this will be normal because most older cars will be off the road.

My guess is Give it 5 years and we'll find out that the algorithm is unfairly targeting minority neighborhoods and jacking up insurance rates too.

</comment><comment><USER32> If the insurance companies wanted to confirm that everyone who hogged the left lane slowly in a Prius 5-10yr ago traded up to a Tacoma any salesman could have told them that for free.

</comment><comment><USER33> I wish insurers weren't so heavy handed with this technology. If it's possible to tell if someone is a "good" or "bad" driver via this technology, why not at least just tell the driver without the big brother BS? Many drivers might change their habits based on this information.

I know insurers have apps that you can install on your phone or ODBC modules you can install. Does anyone know of any way to collect this data privately without reporting it to an insurer?

</comment><comment><USER34> Tesla is doing this with their new Tesla insurance product. But at least they won't be sending the data to other insurers, since they want to keep it for their own use.

<comment><USER35> Tesla CFO just yesterday bragged about the amount of data that's available to collect from the car for insurance purposes [1]:

> "We're working now on what we call Version 2 or we can call it the first > version of our telematics product. And so really ultimately where we want to > get to with Tesla Insurance is to be able to use the data that's captured in > the car, in the driving profile of the person in the car to be able to > assess correlations and probabilities of crash and be able then to assess a > premium on a monthly basis for that customer. And what makes this very > exciting for us is the amount of data that is available with the customers' > permission to use is, it's not available in any other product or any other > vehicle in the world. So this gives us a unique advantage in terms of > information."

[1] - [https://electrek.co/2020/08/18/tesla-expand-insurance- busine...](https://electrek.co/2020/08/18/tesla-expand-insurance-business/)

</comment></comment><comment><USER36> I really hope they manage to separate the brake and gas pedal technology from the onboard computer. To the best of my understanding, there's a central processing unit that controls everything and can receive remote commands.

Hacking it is literally the perfect way to remotely and unsuspiciously assassinate people. The 15CY (2015+) vehicles are all interconnected like this.

</comment><comment><USER17> And also to the NSA.

</comment><comment><USER37> So, how do I install a firewall on my vehicle?

<comment><USER38> Well that'll usually be installed by the factory between the engine and passenger compartment.

<comment><USER39> Ah touche hahaha

</comment></comment></comment><comment><USER40> Maybe this will lead to speed limit reform in Japan.

There is a legal requirement that the police need to prove that someone is definitely speeding, so police and automated speed cameras both allow speeding 15-20km over posted speed limits, which means that de jure speed limits are all set 20km under the de facto speed limit.

</comment><comment><USER41> I'm going to keep my dumb, manual transmission, non-Internet enable, 2006 WRX for as long as humanly possible.

</comment><comment><USER42> Cars kill 35,000 people in America every year. America has over twice the fatality rate of other rich countries.

<comment><USER43> Adjusted per vehicle mile, or per capita? Is that also adjusted for differences in types of driving (city/highway)? I don't doubt your numbers, just want to make sure I have more clarity before I remember it.

</comment></comment><comment><USER44> This is how automated driving becomes mainstream.

Insurance companies will classify Automated drivers as "Best drivers" and insurance for those sorts of cars will be _really_ low compared to even blemish free human drivers.

</comment><comment><USER45> I didn't see it in the article - does anyone know which model year this will take effect from? I'm in the market for a new 4Runner, but that may switch to a used model instead.

<comment><USER46> I'd like to know this too, same reason. The article sorta makes it sound like current vehicles are already equipped with the hardware.

</comment></comment><comment><USER7> Need laws to force cars to go into airplane mode and for there to be no loss of non-networked functionality if you remove their modems or go into said airplane mode.

<comment><USER39> "cars to go into airplane mode"

That sounds so funny and ridiculous.

</comment></comment><comment><USER47> You can typically find a guide to where any given modem is and manually remove it, but it's increasingly difficult to do so and causes functionally downgrades.

<comment><USER48> Until their counter move in the cat&mouse game is to embed the radio into the SoC. Maybe find the antenna lead and cut it?

</comment></comment><comment><USER49> I wonder if you can use CCPA deletion request to remove all the data.

</comment><comment><USER50> Surely this will be illegal in Europe thanks to the GDPR?

At the same time it demonstrates why laws like the GDPR are needed.

</comment><comment><USER51> This surveillance capitalism has to be stopped.

</comment><comment><USER52> Is this something you can turn off?

</comment><comment><USER53> Cue: Tesla insurance.

</comment><comment><USER54> I wonder how many people complaining here take their phone into the vehicle, or use Google Maps. Sure, the data from the car (whatever is included there) might give some additional insights, but these are very local (i.e. status of the car and perhaps lane assist) compared to what Google/Apple already collect anyway (i.e. the "big picture", which is far more valuable). At least here you get something tangible out of it: Lower insurance premiums (if they were higher, nobody would buy the freakin cars and I am pretty sure using this data for insurance quotes must be an opt-in anyway)

<comment><USER2> There are several things wrong with your post. For one, Google/Apple selling your driving data to an insurance company is not likely happening today. This would be the same type of mistreatment of personal information as it would be selling your health data to a health insurance company. Not that I know, but I highly doubt that personal driving data is being shared with insurance companies from big tech. If they are, this would be a huge privacy agreement violation and would cause a massive lawsuit action against said companies.

You're also being misled to believe that these driving trackers will actually reduce costs for drivers. In fact, they only serve as a means to raise insurance premium on drivers that don't qualify for the absolute best rate. Did you ever run a stop sign? 5 MPH over the speed limit? Change lanes without signaling? This level of detail is possible with very accurate GPS and will only serve for the insurance companies to raise rates on most drivers.

There is absolutely nothing good about this move from Toyota, and other auto manufactures will no doubt follow suit. This will likely be yet-another- erosion-of-privacy that only serves big business.

You should not so easily desire a "you are the product" relationship with auto manufacturers.

<comment><USER55> Why don't insurers just raise all rates 50% right now?

My guess is it's because there's a competitive market.

This doesn't change this. This allows for better price discrimination than our current tables based just on age, car, neighborhood, gender, etc. This will raise rates for high-risk drivers and lower them for low-risk drivers. If the insurer does the first and not the latter, the latter will go to an insurer who does.

It seems like the view here is that everyone will only do the former, but again: why don't they do that right now? Why does the effect of competition vanish in this case?

"Every insurer will use this technology eventually" isn't an answer. Every insurer has accident data by age. As a result, they offer lower rates to lower-risk age groups.

<comment><USER56> >age, car, neighborhood, gender

I wish. it's even worse than that.

It's priced on your credit score, so if you're poor you're screwed, and it's priced on whether you're married too.

Here's how to get the best rates in the current system. In addition to avoiding tickets/accidents become a 50 year old female married driver who has an excellent credit score and drives a lower trim subaru crosstrek.

Or they could price based on actual driving behavior. Cue outrage.

</comment></comment></comment></comment><comment><USER57> Just tell me which rectangle of silicon to drill out.</comment>


Ask HN: How would you disrupt ticket-selling industry? - <AUTHOR> I just experienced an attempt by Ticketmaster to sell tickets "fairly" to Pink fans, by issuing unique codes to be used during presale. It failed miserably. I was unable to get through, the search window spins forever even after an hour. Tried with multiple windows, different browsers, mobile app, no luck. The fan forums are full of similar stories.<p>This is clearly ripe for disruption. Curious to hear from people that researched or even attempted to start something in this space. <comment><USER2> I tried to when I was employee #10 at Eventbrite. For 4 years, we catered to the bottom tail of the market slowly etching our way towards the big boys. But TM has those contracts locked down for decades.

</comment><comment><USER3> I'm a big fan of ShowClix. [http://www.showclix.com](http://www.showclix.com)</comment>


Demo of deep, end-user customization of software - <AUTHOR> https://twitter.com/geoffreylitt/status/1229251217118892032 <comment><USER2> Author of that tweet here! Happy to answer any questions. If anyone wants more info on the project:

[https://www.geoffreylitt.com/wildcard/](https://www.geoffreylitt.com/wildcard/)

<comment><USER3> Any GitHub links?</comment></comment>


Website that irrevocably deletes itself once indexed - <AUTHOR> https://github.com/mroth/unindexed

<comment><USER2> Already posted yesterday: [https://news.ycombinator.com/item?id=9165725](https://news.ycombinator.com/item?id=9165725)</comment>


The Wi-Fi Journey - <AUTHOR> http://www.digitopoly.org/2011/10/24/the-wi-fi-journey/ <comment><AUTHOR> There's a Jobs story in there, for the curious.</comment>


The Codex Seraphinianus: Man and woman copulate, turn into alligator - <AUTHOR> http://www.believermag.com/issues/200705/?read=article_taylor

<comment><USER2> I actually bought a copy of the Codex years ago. I found one on Ebay for a few hundred dollars.

It is truly an amazing thing -- it's like an encyclopedia from an alternative universe. The pictures are incredibly detailed.

It's too bad the fake language probably doesn't code for anything.

More pictures here: <http://www.io.com/~iareth/codindx.html> and <http://www.archimedes-lab.org/Serafi/C_serafini.html>

<comment><AUTHOR> Well, the page numbering system is internally consistent. It's in base 20-something, IIRC. Though all I figured out about the writing system was that it has a second (like upper-case) form used for titles. There's a Rosetta Stone-ish page near the end (<http://evertype.com/pics/bookpics/RosettaView.jpg>), which seems almost mocking by the time you get there.

(Edit: <http://www.math.bas.bg/~iad/serafin.html> . It's base 21, more details there.)

I had it for a few weeks on university library interloan, once upon a time. Looking at individual scanned pages on the web cannot do justice to immersing yourself in _hundreds of pages_ of this gigantic black silk book.

<comment><USER2> IIRC the letters in the words repeat way often than one might expect.

<comment><AUTHOR> Maybe they're syllabic (which would be reasonable, given the number of distinct symbols), and the language uses repetition of a syllable as a case marker, or just as a stylistic flourish? Perhaps it's used for emphasizing standalone nouns: Scis-issors-ors (scissors), vehic-icle-ickle (vehicle), o-sho-cean-shan (ocean). Likewise, if you're carving it in a building, why not write 'museum' as MVSEVM?

I know it's a conlang, and Serafini is probably just putting us on, but the ancient Mayan script does some pretty remarkable calligraphic somersaults, too.

<comment><USER3> Way too many glyphs to be syllables.

If I were doing something like this, I would assign new glyphs to each letter (as not to break the image of a fantasy world), and then encode the whole thing with a one-time pad. Doing so can give you all sorts of weird-looking words that have actual value.

Does anyone know how many unique glyphs there are in his book? For that matter, how many are there--including both uppercase and lowercase--in French (I don't know how many accented characters there are)?

And if there are still too many to be such an arrangement, it is possible that each letter was assigned multiple sets (a set being uppercase and lowercase) of glyphs and picking a random number between 0 and twice the total number of letters in French, counting accented letters as unique letters (manually picking the proper case).

I'm not saying that he did this, but it's what I would do.

<comment><AUTHOR> It's been a few years since I saw the book, but the total number of glyphs seemed a lot closer to (for example) the number of hiragana + katakana than the number of kanji.

(Also, I don't know if you picked just French at random, but Serafini is Italian.)

</comment></comment></comment></comment></comment></comment><comment><USER4> This could be the base of a wacky MMORPG.

</comment><comment><USER5> It's funny how this story pops up now and then on different sites. It has a 3 year recycle rate, hopping from geek aggregator to geek aggregator. It is a great book though, my wife found ours at a thrift store in palo alto, for somthing like $50.

I'd seen it originally in the mid 80s and was kind not obsessed enough to buy it on ebay but looking it up in rare book rooms to try to find a leather bound edition. Great book to have ,though.

</comment><comment><USER6> I am reminded of the "Encyclopedia Butlerica":

<http://www.weirdart.com/pages/ency.html>

</comment><comment><USER7> Alligator can be seen here: <http://the-crime-in-your- coffee.anagkh.net/?p=664>

P.S. If you haven't read any Jorge Luis Borges, I'd advise considering that a bug to be fixed a.s.a.p. ;-)

</comment><comment><USER8> Interesting.

Liberal arts majors still have nothing better to do with their lives.

<comment><USER8> I meant that in the sense of "spending thousands of dollars and months of one's life to take a course that revels in incomprehensibility and subjectivity, leavened with stereotypical calls to abandon rationality in a manner eerily reminiscent of a random scene from an Ayn Rand book"

It's just that, good lord, who of us would choose a course like that over a real class?

<comment><USER9> If this were reverse engineering of some obscure long out of use protocol it would be heralded as great hacking/fascinating detective work/interesting puzzle.</comment></comment></comment>


Square open-sources its Vim repo, Maximum Awesome - <AUTHOR> http://corner.squareup.com/2013/08/fly-vim-first-class.html <comment><USER2> Not to rain on anybody's parade here, but for first-time vim users I recommend not using any plugins and only selectively adding them one at a time after the basics (buffers, navigation, some ex mode, etc) are at least somewhat familiar.

Getting started with plugins enabled makes it hard to understand where vim stops and plugins begin and make switching to a different (someone else's) vim setup confusing at best.

It also tends to feed the 'make it work like the last editor I used' syndrome, which is completely counter-productive.

Otherwise, nice work and good job open-sourcing it!

<comment><USER3> Completely respect where you're coming from, but totally disagree. I made a few abortive switches to Vim that didn't last a week because my productivity was too hampered and the environment too extreme & foreign.

To a newcomer like me, Vim's built-in help was less than worthless, since you pretty much need to know the Vim term for what you're looking up to find it. Googling around wasn't much more effective (there's a lot of garbage in the Wikia for Vim that comes up at the top of many searches).

In the end, I needed to read these two "gentle" introductions to Vim to even understand what it was all about:

[http://stevelosh.com/blog/2010/09/coming-home-to- vim/](http://stevelosh.com/blog/2010/09/coming-home-to-vim/)

[http://yehudakatz.com/2010/07/29/everyone-who-tried-to- convi...](http://yehudakatz.com/2010/07/29/everyone-who-tried-to-convince-me- to-use-vim-was-wrong/)

…and then I needed a mostly-well-documented distro like Janus ([https://github.com/carlhuda/janus](https://github.com/carlhuda/janus)) to ensure that my productivity wouldn't take a huge hit those first few weeks.

Some folks can probably go all-in cold turkey, but I needed the training wheels.

<comment><USER4> The problem wasn't the "extreme & foreign environment", the problem was that you thought wrongly that you could learn Vim as if it were a regular editor.

Learning Vim is a side project: something you do casually, slowly, until and if you are able to do the actual switch.

Those braindead distributions are just smoke mirrors for lazy and pressed people: they provide training wheels but they actively prevent you from actually learning core Vim. They make people $distribution_name users instead of Vim users.

<comment><USER5> > Learning Vim is a side project: something you do casually, slowly, until and > if you are able to do the actual switch.

No one appointed you the director of how one learns Vim.

This is one of the most obnoxious parts of Vim threads: that guy that responds to people talking about how they learned Vim (past tense, as in already happened) and tells them that they learned it "wrong".

</comment></comment></comment></comment><comment><USER6> Great to see some love for tmux. Terminal vim + tmux is a lot more powerful than Gvim or MacVim.

That said, I started using vim with Janus and while it convinced me that vim could be a great modern editor, it left me too confused when I tried to make my own customizations. I ended up ditching it and hand-picking my own plugins. I suspect a completely new vim user would likely experience the same process with Maximum Awesome. Still, that doesn't mean these curated sets of plugins are a bad idea--if anything they can serve as a proof of concept for people who aren't yet convinced on the value of the editor.

<comment><USER7> The only thing I really like about MacVim as opposed to Terminal vim + tmux is how fast the cursor moves can move around.

<comment><USER8> This. I still do not understand why the OSX terminal is so damned slow.

<comment><USER7> Me either. It's really the only thing stopping me from deleting MacVim.

</comment></comment></comment></comment><comment><USER9> Am I missing something? What makes this "maximum-awesome"? This is your average vimrc with the regular plugins you seen in every vimrc over at GitHub.

<comment><USER10> Because it's Square and they're hip. Whenever they open the lids of their macbooks its you know... just awesome.

Not to mention it's not maximum awesome: CtrlP > Command-T and Vundle > Pathogen.

<comment><USER11> I like unite + vimproc more than CtrlP:

[http://www.codeography.com/2013/06/17/replacing-all-the- thin...](http://www.codeography.com/2013/06/17/replacing-all-the-things-with- unite-vim.html) [https://github.com/Shougo/unite.vim](https://github.com/Shougo/unite.vim)

<comment><USER12> I second this. I was hesitant at first but after trying it for a couple of minutes after getting the tricky config right (thanks to some helpful bloggers) I was very happy. And shuogo was very responsive to new issues, providing fixes within hours sometimes.

</comment></comment></comment></comment><comment><USER13> As another commenter already pointed out, a common pattern is for people to try such a configuration, and end up starting again from scratch because, frankly, it doesn't work for them.

Emphasis on "for them".

I'm not saying you shouldn't share your setup. I wouldn't have learned vim (or screen back in the day, or pine, or many others) if I didn't crib from the dotfiles of those before me.

But at some point, your setup becomes so customized to you that you're the only one it works for. And that's why vim and emacs, ancient editors, still exist -- they're stable and can be modernized and tailored to the user over time.

This writeup (not mine) I completely agree with: [http://mislav.uniqpath.com/2011/12/vim- revisited/](http://mislav.uniqpath.com/2011/12/vim-revisited/)

<comment><USER14> Here's a similar post from me [http://joelhooks.com/blog/2013/04/09/getting- to-know-vim/](http://joelhooks.com/blog/2013/04/09/getting-to-know-vim/)

Starting from blank and building my own dotfiles is what did the trick for me. Using a big ass template actually made it more difficult.

</comment></comment><comment><USER15> I would love to know why they have chosen Pathogen instead of Vundle to manage plugins. As hard as I try, I can't see any reasons why Pathogen is greater than Vundle. Can someone enlighten me?

<comment><USER16> Chalk it up to different preferences. I prefer Vundle too, never could get Pathogen to work, but Vundle just does for me. But others were using Pathogen before Vundle appeared and have no reason to switch.

<comment><USER17> What do you mean you could "never get it to work"?

[https://github.com/tpope/vim- pathogen#installation](https://github.com/tpope/vim-pathogen#installation)

It's literally copy and paste. I understand preferences and taste, but you make it sound like you need a degree in particle physics to make the thing work...

<comment><USER16> I know, and back when I tried it, which was probably years ago, the problem was .vimrc line _execute pathogen#infect()_ always errored out. Couldn't figure out why at the time, then found Vundle, it worked perfectly, been using it since.

</comment></comment></comment></comment><comment><USER18> Cool, so everything from tpope and a bunch of other garbage. Nothing new here, move along.

</comment><comment><USER19> This is cool but it seems silly to have the default install method to be using "rake", I love vim but keep Ruby off most of my systems, what happened to good ol' fashion shell scripts.

<comment><USER20> Why is it silly? It's specific for OS X and OS X users already have ruby installed.

<comment><USER21> Because everybody has at some point tried to run rake on a new project and found some version incompatibility along the depth of the abyss^Wstack.

<comment><USER22> Hasn't bundler solved that particular problem for a few years?

<comment><USER21> Bundler isn't installed by default.

In practice I've found bundler to be just another layer that can have the wrong version: [http://xkcd.com/927](http://xkcd.com/927). But I have no interest in bringing up old painful episodes, I'm done with the ruby eco- system. So I'll just restrict my response to the previous paragraph.

</comment></comment></comment></comment></comment><comment><USER23> [https://github.com/johndgiese/dotvim](https://github.com/johndgiese/dotvim)

Works on windows, linux, and mac.

I love vim.

<comment><USER24> Cool, I like that. Seems better than janus or spf13. Leave you some issues though.

</comment></comment><comment><USER25> I seem to be getting an error: Warning: Permanently added 'github.com,18.104.22.168' (RSA) to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

<comment><USER26> This is a common git error, try http instead of ssh

git clone [https://github.com/square/maximum- awesome.git](https://github.com/square/maximum-awesome.git)

<comment><USER25> that worked, what is the common error though?

<comment><USER26> [https://help.github.com/articles/generating-ssh- keys](https://help.github.com/articles/generating-ssh-keys)

</comment></comment></comment></comment><comment><USER27> I started using vim about a year ago, by using the janus vim distribution, which was great to get me started. However, I since started again from scratch to know what's there and why. So I won't be using this at all besides for the implicit recommendations of existing plugins (like the_silver_searcher, which is really crazy fast).

Overall, this seems like a great way to get started with vim because it doesn't have too many plugins but it still has the minimum features expected from someone who used Sublime or Textmate.

edit: looking at their .vimrc, there's _a lot_ of stuff that I'll use right away. Definitely useful, just not as a straight download/install for me.

</comment><comment><USER28> Surprised that people are actually trying this. IMO there are far better configurations out there if you want to try a pre-tailored one. Google for them, i'll add my personal favorite here since people are actually up-voting and installing this less than impressive config.

If you use ruby/rails try yadr [https://github.com/skwp/dotfiles](https://github.com/skwp/dotfiles). If you don't use ruby, it (imo) still has one of the best key maps/configs for beginners just delete the ruby plugins.

Make it yours: :help every plugin and every setting if you don't know what it does. Change any key mappings you don't like. It will take about 40 hours to familiarize yourself with everything, that is if you go plugin hunting yourself. I'm not a believer that starting from scratch is the way to go.

Remove vim-snipmate, neocomplicache, vim-snippets, vim-colors-solarized. Remove nerdtree nerdtree, vim-nerdtree-tabs, use :e/CtrlP instead.

Add YouCompleteMe, vim-detailed, vim-notes, vim-slime, vim-numbertoggle, vim- abolish, vim-startify, vim-textobj-rubyblock, switch.vim, ultisnips, vim- airline, unite (check out unite plugins), vim-expand-region, vim-jsbeatify, extradite, vim-diffchanges, vim-speeddating, goldenview or golden-ratio.

This config probably won't run well on machines that are older than 2012, in total there are about 90 plugins. Remove any plugins you don't need. Look up how to profile your plugins, if one of them is causing things to be slow remove it. Don't install anything without reading the help file immediately afterwards.

Learning enough vim to match your current productivity is not as difficult as everyone makes it out to be. I was instantly more productive with this setup switching from RubyMine and I still have barely scratched the surface of those help files. Disclaimer: I had picked up the most basic motion / visual selection keys previously working over SSH. And I was familiar with window/buffer management from using tmux daily.

To everyone I highly recommend YouCompleteMe, vim-detailed, vim-notes, and [https://github.com/rking/vim-detailed](https://github.com/rking/vim- detailed).

<comment><USER29> Why remove vim-colors-solarized?

</comment></comment><comment><USER30> Ok, got this cloned and installed. If I'm moving from Sublime to vim, where do I go now?

I know a few basic vim commands (switch modes, edit, write, quit) but have never used it to work on a complete project in a directory.

<comment><USER26> Type vimtutor at the command line to get started. Theres also a game: [http://vim-adventures.com](http://vim-adventures.com) I thought was fun

<comment><USER31> I'm sure that most people, like I at first did, are wondering how useful a game could really be. Answer: Very, very useful. I think Vim Adventures was a way better headstart for me to learn the Vim style of thinking than pretty much anything else could be.

</comment></comment></comment><comment><USER32> One minor nitpick is they use snipmate, but Ultisnips[1] is much better and actively maintained

1: [https://github.com/SirVer/ultisnips](https://github.com/SirVer/ultisnips)

</comment><comment><USER33> Looks pretty much like my setup except Command-T. Command-T is awesome on Mac but it's a pain to make work on Linux and not sure about Windows. Moved on to ctrlp plugin.

<comment><USER34> Why is it a pain on Linux? Are you just referring to having a version of linux with +ruby or did you run into other difficulties?

</comment></comment><comment><USER35> Wonderful, looks like someone (@mislav and @christoomey) has already shaved this yak for me:

[https://github.com/christoomey/vim-tmux- navigator](https://github.com/christoomey/vim-tmux-navigator)

"Seamless navigation between tmux panes and vim splits"

So great. Off to check another random side-project off the list...

</comment><comment><USER36> Unfortunate that they don't mention licensing at all. (EDIT: Whoops, I'm completely wrong. Sorry. Move along, nothing to see here.) Since they use Git submodules, some licensing is inherited from packages like Command-T and vim- fugitive... but they wrote code themselves as well, so there's also that.

<comment><USER37> It seems to be licensed under Apache 2.0, from the Git repo.

</comment></comment><comment><USER38> [https://github.com/carlhuda/janus](https://github.com/carlhuda/janus) is a slightly more plugintastic distribution. There's a lot of plugins included and they've all been configured to work well with each other.

<comment><USER35> Um, what? There's a suite of 35 plugins used in Maximum Awesome. It's using Tim Pope's pathogen plugin[1], so they're all listed in .gitmodules instead of directly in the .vimrc or in an included bundle file as with Vundle[2].

[1] [https://github.com/tpope/vim-pathogen](https://github.com/tpope/vim- pathogen) [2] [https://github.com/gmarik/vundle](https://github.com/gmarik/vundle)

</comment></comment><comment><USER39> Is there a way to uninstall this? Kill the symlinks and remove the appended .bak from old config?

<comment><USER40> Yep, just remove the symlinks and rename the .bak files. Opened an issue to cover this. Thanks! [https://github.com/square/maximum- awesome/issues/37](https://github.com/square/maximum-awesome/issues/37)

<comment><USER39> Thank you for opening the issue. I should of thought of that.

</comment></comment></comment><comment><USER41> These are all the features I wanted when I quit Vim for sublime text 2 about a year ago...

</comment><comment><USER26> Do lots of people use let mapleader = ',' instead of Ctrl?

Also does anyone see where they are setting the /// to comment? Commentary uses gcc and I don't see it in their vimrc.

<comment><USER15> "," is kinda becoming the "default" key for leader. After multiple years of using it, it has become very natural.

<comment><USER34> After doing anything for multiple years of anything I'm sure it would feel natural.

</comment></comment></comment><comment><USER42> I find it fascinating that my set-up looks nearly the same already. :)

<comment><USER43> Nothing here is fascinating to me. Many devs confuse Vim for an IDE. Not sure why... Don't get me wrong though, first thing in every Debian install I do is to replace vim-tiny and nano with vim as the default editor. I like to think I appreciate vim for what it is, not for what it can be forced into.

</comment></comment><comment><USER44> I've been using vim for 19 years and still don't know how to use it properly. I try, then I always find some guru that does it better then I would.

</comment><comment><USER45> I got it installed, I have installed multiple versions of XCode 5 betas and needed to run:

sudo xcode-select -switch /Applications/Xcode5-DP6.app

To get the command=T to compile

<comment><USER25> How? I executed: git clone email@example.com:square/maximum-awesome.git && cd maximum-awesome && rake

and I get:

$ git clone firstname.lastname@example.com:square/maximum-awesome.git && cd maximum-awesome && rake

Cloning into 'maximum-awesome'...

Permission denied (publickey).

fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

<comment><USER25> wavesounds answered this below.

</comment></comment></comment><comment><USER46> If you want to learn Vim while playing a game, try [http://vim- adventures.com/](http://vim-adventures.com/)

</comment><comment><USER47> cmd+t lookup is not a good vim thing... it's slow requires me to move my hand to the right to navigate using arrow keys... also it's slow. changing files takes significantly longer... it's bad enough how slow the iterm.app is on osx and don't even get me started on the slowness of the terminal.app -- picky vim user

update: i like the empty line space indicators little boxes look cool

<comment><USER48> You can hold down CTRL and use j/k to move up/down (so you don't have to use the arrow keys). It can be slow on very large directories.

I switched to CtrlP last week because I switched OSes at work and didn't want to recompile vim and Cmd+t. In the past CtrlP was significantly slower, but I found a few new features that actually makes it faster than Cmd+t for me; it automatically navigates up looking for a .git or .svn to search from instead of cwd, and you can set up caching (persistent between sessions) and max num of files to scan--I believe you can set a timeout, too. I also setup a filter so my build folder and docs won't show up.

Since finding Cmd+t, it's been the fastest way to navigate to files in a project (especially when they're not in the same directory).

</comment></comment><comment><USER49> What makes this difference from this vim distribution [http://vim.spf13.com/](http://vim.spf13.com/) ?

<comment><USER50> spf13-vim is pure vim script. No ruby required. spf13-vim is cross platform and works well on windows. spf13-vim uses a bundle system to make easy maintenance. Git submodules lock you into a specific hash of each plugin and maintenance in keeping these up to date only increases your commit count with empty commits.

spf13-vim is built to be a base and completely customizable. This is built to be your vim config.

Lastly spf13-vim has dozens of contributors supporting a variety of plugins and languages. This seems focused on squares stack, ruby & coffeescript.

Disclaimer... I'm spf13, so a bit partial, but if you look at spf13-vim from 2 or 3 years ago it looked a lot like this... and we've learned a lot from making some mistakes present here.

</comment></comment><comment><USER51> Does NERDTree work over ssh/sftp?

I remember having tried it once and abandoning because it lacked this feature (or didn't work out of the box).

<comment><USER4> No it doesn't and it only has a subset of the features already available in netrw which comes by default.

<comment><USER52> Really? I've always used it over SSH without issues.

<comment><USER4> NERDTree is totally devoid of any network-related feature.

If you are using it with something like fuse or expandrive you are not using it over SSH but on local files.

If you are using it in a remote Vim via SSH, you are not using it over SSH either.

If you did something like :e scp://foo//bar/ and see a directory listing you are not using NERDTree.

<comment><USER52> Gotcha.

</comment></comment></comment></comment></comment><comment><USER53> What's up with the name "Maximum Awesome"? Sounds teenagish. Anyway, I am a VIM lover and good to see this work.

</comment><comment><USER54> Shared Clipboard: Just add "set clipboard=unnamed" to your .vimrc and you are done.

</comment><comment><USER55> not a cool question but ... I wonder if it will install on windows without problems

<comment><USER19> It won't, it's mac os x only from the looks of it, which is kinda silly.

<comment><USER56> Not really, since it's developed by them and for them (a mac house). He seems pretty welcoming of your additions to make this Linux/Windows if you desire... but why on earth one would expect that THEY would have taken the time to make this multi-platform when they don't use it that way is honestly beyond me (i.e. silly).

<comment><USER19> Yes but VIM runs on everything, why make it Mac OS X specific when it's simplistic to make it "just use these vim files and it'll work on every computer"

<comment><USER57> luckily its open sourced and someone can create a Windows distro if they are so inclined.

</comment></comment></comment></comment></comment><comment><USER58> How do you launch this after running rake?

<comment><USER25> `vim` from a terminal or use the MacVim.app in /Applications

</comment></comment><comment><USER59> meh..

<comment><USER9> Honestly, I agree. How is any of this news for any Vim user? It's the same old plugin everyone's been using for a long time now.</comment></comment>


Palantir Provides the Engine for Donald Trump's Deportation Machine - <AUTHOR> https://theintercept.com/2017/03/02/palantir-provides-the-engine-for-donald-trumps-deportation-machine/ <comment><USER2> An important primer for anyone curious about how this could play out: [https://en.wikipedia.org/wiki/IBM_and_the_Holocaust](https://en.wikipedia.org/wiki/IBM_and_the_Holocaust)

<comment><USER3> "Couldn't have done it without 'em" -Hiter

...Ok maybe that's apocryphal. The truth is though, without IBM, IG Farben, Volkswagon and others... he couldn't have. We always like to see leaders as some kind of mythical figure, but it's the pencil pushers, anonymous bureaucrats, and people looking to make a profit who really make it happen.

<comment><USER2> One of the take-aways from that book was how precisely targeted the police were. Early on they were rounding up people who were ostensibly Jewish, they were easy to identify, but later they'd moved on to pin-point identifying people who were 1/4 or 1/8th Jewish, people who didn't even know they were technically Jewish at all. This was only possible because birth records were systematically computerized, processed, and tabulated by these early computer systems. Those punch-cards encoded everything about a person.

When they showed up in towns they'd have lists of specific people they were looking for. This has extremely disconcerting parallels to these ICE raids that are ongoing.

</comment></comment></comment><comment><USER4> Hey, now it's time for all the Palantir employees who signed this pledge [http://neveragain.tech/](http://neveragain.tech/) to stand up, right?

Matthew Avant, Shanthanu Bhardwaj, Sarang Shah, what say you?

</comment><comment><USER5> The intercept is a (if not _the_ ) prime example of journalism.</comment>


Show HN: Nvestly, Never Invest Alone - <AUTHOR> http://www.nvestly.com

<comment><USER2> You need to define the value proposition a little better. Maybe you can find some great ways to integrate it with startup investments too, you should check out Angellist API.

</comment><comment><USER3> Honest and serious question - what's the purpose of this service? Do you think an investor will get higher returns if he knows what his friends are buying? What experts are buying? It seems to me that no serious investor would ever need this type of a service. I understand it's cool to make everything social, but I can get absolutely no useful information from this aspect.

The reporting side can definitely be very cool though, and it could provide serious benefits if done right.

<comment><AUTHOR> Thanks so much for this question!

There's ongoing debate as to whether a highly successful investor will surface and be able to beat the market (i.e. the next warren buffett). We don't take a position for or against that. To those that are up for the challenge, great, but we don't at all count on it. In fact, we debate it internally, but it's not as important bc our purpose right now is to provide this platform.

We believe there is value in the transparency of the platform to foster better discussions. Most people make decisions alone. And current platforms like Stocktwits are interesting for sentiment but are filled with banter and are unreliable for real discussions.

In terms of reporting / tools, we're focused on investor self-awareness. Most people have more than 1 account and have a hard time even finding out the annual return on their portfolio. We'd like to start alerting people of things like strategy drift, as well.

Slightly more advanced topic: There's also something to be said of the data itself once people start sharing. The idea is that if you can get a cross- section of sentiment / social data backed by real portfolio data, it adds an element that wasn't previously available and should technically result in a more efficient market, resulting in an opportunity for new value creation. Brainstorming with few Anderson / GSB / Cornell finance professors on this.

<comment><USER3> Maybe I didn't phrase my question right. What I want to know is, as an investor, why should I use your service? Personally, I don't see much value in knowing what my friends are investing in. There are 10,000 stocks, I cannot follow them all anyway. As an investor, the only thing that I am interested in is increasing my returns. Everything else is secondary. So my question is not whether markets are efficient (we'll leave that to the academics) but whether you believe your service, in some way, would help investors improve their returns. If the answer is no, the product, from the very start, will be very limited in scope (e.g. only the investing newbies and other such small segments would get a benefit).

Reporting-wise, I am with you. I think the current models are antiquated, and most of the solutions I see are outright wrong (Hint: If you're looking only at stock prices for returns, you're doing it wrong too).

<comment><USER4> Hey tinkerrr, I believe the value to someone like you is in connecting with others on the same boat to be better informed. I'm with you in the sense that I don't always care what my friends are holding... unless my friends are really smart.

For example, I see LVS dropping and am considering starting a position. I ping the people who hold LVS right now (nvestly.com/ticker/lvs) and ask them what they think and if they know what's driving the selloff. Reality is that people on Nvestly are generally well-informed about what they hold, so new information surfaces and the entire group benefits. The fact that people's identities are tied to real portfolios tends to generate higher quality discussions vs. a Stocktwits, Yahoo! group or even SeekingAlpha comments.

If you don't ever trade and don't have to discuss anything, it's most helpful just to track your portfolios in one place without multiple logins and to see your returns. The annualized return (IRR) figure for example is something you can't generally get without paying an analyst (or investing hours into a spreadsheet). The IRR is important because it's an annual return that all funds in the world look at (like angels looking at traction).

Newbies do like to follow 'top investors'. I actually didn't think this would be super relevant but people loved it so we made it the homepage upon login and are adding a few things to protect people against blindly following.

Experienced investors have been using Nvestly as an investment resume of sorts. The system pulls up to 10 years of historical track record info and this is unprecedented afaik.

So these are 3 use cases. Let me know if it doesn't answer your question.

<comment><USER5> > the system pulls up to 10 years of historical track record

Do you mean for experienced investors or for regular users? If it's the latter, I'm curious as to how - by parsing PDFs from the supported brokers? It would be in fact pretty cool since places like personal capital only do 90 days max when a new account is imported.

</comment></comment></comment></comment></comment><comment><USER6> I'm with tinkerr: What is the value here? Openfolio.com is another player in this space, but I'm missing the value that this space has.

kyu: Can you speak to this? What is the ideal experience that you are hoping for people to get out of this which adds value to their stock market experience?

<comment><USER4> Hey tinkerr, I'm the CEO, thanks for the question.

The value in this space is in the shared data. It's analogous to Twitter -- the individual tweets might be useless, but the collective data is valuable. If you could see all the real portfolio data that people are sharing, it would be magnitudes more interesting than sentiment data from i.e. stocktwits because it represents real dollars (and in that sense we let people share trades to stocktwits, too). Actually, if someday people were to start publishing real dollar amounts you'd even see total aggregate volume. And if people were to add target holding period to their trades, you could see volume by expected holding period. There's definitely inherent value in that, but it's a very long-term play.

For now, the value is in better investment discussions. It's impossible to have one on i.e. stocktwits. The real portfolio info provides an environment for higher quality conversations. A few experiences people have expressed are valuable on Nvestly: \- Finding others who hold a stock they hold and discussing what to do next. \- Finding people who have traded a stock a lot and sharing research \- Having a little more fun by earnings investment merits (similar to badges) or getting feature as a top weekly investor

The 'business' way to describe the value to society is that the social element helps introduce the concept to the younger generation. >50% of millennials are saving for retirement but only 10% are investing even though the majority who save think of the stock market as a viable vehicle for retirement (had to memorize this for a pitch).

</comment></comment><comment><USER6> Also: you have a bug in your password matching algorithm. The following returns "must contain one letter and one number:

        f2JANi#_ywTBcLTeWJ3>y3PsOPt2#pD

<comment><USER6> Actually, it appears to not like symbols at all...

<comment><USER4> Thanks for spotting this ... no pun intended Actually my fault for not creating accurate error messaging. It should say "No special symbols allowed." The code itself is fine. Love that you found this. We'll fix it on the next push. Ftr, these are some of the characters that are not allowed: <,>.?/:;"'{[}]|\\`~

<comment><USER7> errr why are they not allowed?

</comment></comment></comment></comment><comment><USER8> I made an account and checked it out, but I don't think I'm going to use it. I just don't get much out of it that I can see right now.

Something I immediately noticed: I'd like to have the ability to filter by diversified accounts. If I am looking at someone that gained 50% over the last year, and 91% of their holdings are 1 stock, I don't really gain anything. They bought shares in Tesla a couple of years ago. That's fine, but what do I get out of knowing that? Several members of your top group are like that.

When I open up 'professional investors' and go to an individual account, there isn't an easy way that I can see to go back to the overall view of professional investors, and going back sends me to the week's top performers window. I don't really want to go there at that point.

What might be useful for me too is a way to see what the professionals listed have invested in tracked over time, based on their past filings. It'd be interesting, anyway.

<comment><USER4> Hey I'm one of the co-founders. Thanks for checking it out and for the comments! Right now the site doesn't filter for concentrated portfolios and we'll certainly be adding that. This is our first version of the product. Glad you noticed that! You might find more value in finding people who hold something you hold or something you're considering investing in.

We just added the "professional investors" section today and will be sure to work on the UX. Agree with your points here. That feature would be awesome, we're adding it to the list.

</comment></comment><comment><USER9> > _Your sensitive information including brokerage account login credentials > are always kept encrypted using 256-bit level complexity._

You need a _lot_ more cryptographic detail if you want this product to be treated as secure.

<comment><AUTHOR> Thanks for the feedback. We wanted to keep it simple for the general audience and we dig in just a little bit more in FAQ. We're in the process of creating a dedicated "security" page. As this is probably the smartest community we can find on the subject, would love any specific input on security.

TBH, we leveraged some of the same technology and thus wording that SigFig, Personal Capital, Mint and other pioneers in the space use.

</comment></comment><comment><USER10> I qute like this idea. I'm not sure how much I'd use it. Currently though this seems to be aimed at the US market. I'm a UK investor and you don't support my platform, that said I'm not sure my platform even has an API you could plug into. It'd be nice to look up my individual funds to list, so I can see my investments without needing to plugin to my platform.

</comment><comment><USER11> This is really cool, nice work.

It feels to me like all the online brokerages are stuck in the dark ages. I'd like to be able to trade on a nice modern site with good reporting tools. Maybe you guys could build that eventually. I'm sure in the meantime I will be interested in watching people who are doing really well -- that information is extremely interesting to me.

<comment><AUTHOR> Thanks for the kind words my friend.

Yes we'd love to get there. Our CEO left the investment management industry precisely for that reason. Said his boss, who managed $6 billion, still typed with 2 fingers. No offense, but probably time to start embracing technology.

</comment></comment><comment><USER12> Wish you supported more brokers. I personally am interested in support for Optionshouse and Interactive Brokers.

<comment><AUTHOR> Thanks for the input! We're integrating more brokerages as we go. We've been swamped with requests, so any indications on your favorite brokerages would help us choose. Right now we've queued up Interactive Brokers, OptionsHouse, TradeKing and Wealthfront. Also have requests for Betterment, Loyal3 and Motif. If there are any more we should add to the list we'd love to hear it.

</comment></comment><comment><USER13> For some as serious and processional (and you hope long-lived) as investing, I'd personally drop the cutesie -ly ending.

</comment><comment><USER14> Looks cool, will check it out

<comment><AUTHOR> Thanks for checking it out! Any feedback/suggestions = appreciated</comment></comment>