Performance comparison of FreeBSD 7.0 to FreeBSD 4.11 and Dragonfly BSD 1.12 - <AUTHOR> http://people.freebsd.org/~kris/scaling/dfly.html

<comment><USER2> A bit of background information here about FreeBSD: For pretty much all of 2001 through 2006, FreeBSD kernel development was centered around making SMP work -- getting rid of the "Giant" lock, and thereby making it possible for multiple CPUs to be operating in the kernel at any given point.

Starting about a year ago, several prominent FreeBSD developers started looking very seriously at performance (how fast FreeBSD is) and scalability (how much faster FreeBSD gets when you have more than one CPU). A key part of this was putting in place the necessary test infrastructure to allow FreeBSD and Linux to be compared -- most of the dramatic performance improvements over the past year have resulted from noticing that Linux does better than FreeBSD on a particular benchmark, and tracking down why.

At this point, FreeBSD scales linearly (or until it hits hardware or application performance limits) up to 8 CPUs on pretty much every benchmark available, but on some benchmarks doesn't scale very well with 16 CPUs.

<comment><USER3> Colin is too polite to point out that Dragonfly was an "I'm taking my ball and going home" moment in FreeBSD history. Matt Dillon, a long-time FreeBSD developer (and all-around impressive guy, though this episode in history isn't his finest hour), had some disagreements with some other long-time FreeBSD developers, and one of those disagreements, perhaps the most important one, was over SMP and the direction FreeBSD was moving with regard to SMP-at-the- expense-of-UP performance.

So, the irony lies in the fact that current FreeBSD is faster than current Dragonfly in both UP and SMP environments. If one were keeping score, it would be:

FreeBSD core developers: 1

Matt and his "screw this, I'm leaving" crew: 0

To be fair, Matt has been willing to talk about some major issues in FreeBSD that are considered verboten by others. Package management in FreeBSD, for example, is a joke, and ports is waved around as a solution rather than the very serious problem that it really is. (No fault of cperciva's, as he's done the only really good thing in FreeBSD package management in years in the form of freebsd-update.)

Not that I have any strongly held opinions, or anything like that.

<comment><USER2> _SMP-at-the-expense-of-UP_

This is an interesting topic, actually. When the process of improving FreeBSD SMP got underway seven years ago, the initial work _did_ hurt UP performance by 10-20% -- enough that in FreeBSD 5.x and FreeBSD 6.x, there are two kernels shipped with the release: the GENERIC (single-processor) kernel and the SMP kernel. In FreeBSD 7.x, however, we're back to only shipping a single kernel -- one with SMP enabled -- because the performance penalty on UP systems for having SMP enabled is practically nil. FreeBSD SMP development started out needing a lot of faith to say "we know that we're making things slower every day, but it's going to pay off in the end" -- and while it turns out that the team which decided on a fine-grained sleeps-and-spins locking structure were correct, I can't fault Matt for not having as much faith.

 _ports is waved around as a solution rather than the very serious problem that it really is_

The FreeBSD ports system works very well -- as long as you don't mind compiling everything from the source code. Binary packages... yeah, there are issues there.

<comment><USER3> "while it turns out that the team which decided on a fine-grained sleeps-and- spins locking structure were correct, I can't fault Matt for not having as much faith"

I agree, and I'd find it very hard to have anything but the utmost respect for him. His C compiler for the Amiga, DICE, was where I began to learn about real software development and the UNIX tool chain, so he holds a place nearly comparable to K&R in my history as a hacker.

It's just unfortunate that some personality conflicts have led to a great developer bitterly spinning his wheels for several years on something that is clearly going the wrong way. (Then again, I can't say that of OpenBSD, as it's spawned a lot of great stuff, though it may have looked like the same kind of situation a few years into the project. NetBSD, I'm a little iffy on....)

"The FreeBSD ports system works very well"

Ah, you have to say that, or you'll wake up with a horse head in your bed. It's the official party line. ;-)

Actually, to be more clear about my intent, the ports system does work very well for the problem that it solves.

The problem is that it's solving the wrong problem, and no one will admit it because it looks so pretty solving the problem that it does solve very well. Because ports exists, and works really well for its problem domain, it has prevented any real solutions from being put into place for package management and has also caused a lot of weird and incompatible tools to spring up to deal with various meta-problems like managing software on many machines (for example). Meanwhile, over in Linux-land, not just one, but two, really good package management systems (yum+rpm and apt-get+dpkg) have sprung up and made it possible for many people to produce nicely bundled software (and provide for the dependencies in an automated fashion) for Linux...while distributing software for FreeBSD is a choice of many poor options, mostly ending up with a tarball and a shell script.

Anyway, I think freebsd-update is a great improvement, and the right direction. (I'm really not just blowing smoke...it makes me feel a lot better about our customers using FreeBSD. Now, if only you could do something about the silly secondary groups limit of 16, and fix the default username length, I'd have nothing left to complain about...well, except for the other package management issues.)

<comment><USER2> _The problem is that [the ports tree is] solving the wrong problem_

I'm not sure from what you've written what you consider to be the right problem -- can you clarify? Would you be happy if the FreeBSD ports tree had a magical "make installbinaries" command which would download and install binaries instead of building from the source code?

<comment><USER3> Before continuing my rant, I will mention that I am a FreeBSD amateur and tinkerer, and I know the Linux tools far better than the FreeBSD tools. I could be entirely wrong in some of my complaints. I have spent the past two weeks knee deep in FreeBSD package management and scripted installation of a very complex system. These are the things that have caused me great pain, and I've been unable to overcome them with repeated readings of the documentation --that's not to say they can't be overcome. I just haven't been able to.

"I'm not sure from what you've written what you consider to be the right problem -- can you clarify?"

There are actually many problems that yum and apt solve very well, that ports doesn't even consider. Yes, the fact that ports builds everything from source is, frankly, stupid (OK, not stupid...just solving the wrong problem...it should be a tool used for building the distribution by the developers of the OS, not for installing applications on every freakin' FreeBSD box on the planet while we all grow old waiting on the damned build to finish).

I generally use pkgadd -rI to install things, and it works reasonably well (still needs a lot of work--the functionality of pkg* is pretty dismal compared to the rich capabilities of rpm and dpkg, particularly with regards to upgrades and getting information back about what is already installed). But the lack of binaries isn't really all that big of a concern to me. It's slow and pointless, but some people like that sort of thing--heck, one nutjob even built a ports style system for Linux and built a whole distro around it, apparently because yum and apt-get were just too damned quick and easy for him. ;-)

Among the issues that ports doesn't solve (and maybe even shouldn't--this might be a job for extensions to the pkg* tools):

ports doesn't provide any tools for distribution of software other than that provided by FreeBSD. As a third party software developer, I can't (easily) add my own ports tree path to a configuration file and from then on my customers will be able to use ports for my software, as well as the FreeBSD stock stuff. Both yum and apt repos are available for dozens of projects and packages outside of the "official" repositories, and it makes using Linux a whole lot more fun. One can grab newer or custom versions of things, commercial software that doesn't meet the license requirements of the OS repos, etc. And once installed one can keep them up to date with a simple command ( "yum update" or "apt-get update; apt-get upgrade" ).

Updating with ports is complicated and slow, so even if it were possible to add third party repos, it would still be the wrong tool for the job. freebsd- update actually manages this better than ports (but again, only for OS- provided packages, and in a quite limited fashion). Distributing software to FreeBSD users is generally done via a tarball with maybe a shell script...and that's a valid option for some software. But we've got dozens of packages and they are updated sometimes weekly (much of it is security related--for example we distribute 80 or so installable web applications of wildly varying quality...when Wordpress has a security bug, we have to roll out an update to our installer for that script quickly and easily).

Installing software with ports is not scriptable in any sane way. It asks questions using an ncurses interface, which, as far as I can tell, cannot be disabled. This is abomination. pkgadd has the -I option, which means no configuration is done, but at least it is non-interactive. It even seems to handle dependencies reasonably well, though I may just not be hitting it hard enough yet. Another few days and I'll begin the heavy lifting and I'll know for sure.

So, I think those are the biggies, and being from source isn't really the biggest of them. If our customers want to wait four hours for our tools to install, that's not really my concern--it's their time, not mine. But, the other stuff is serious: non-scriptable, no good tools for querying the existing state of the system (versions, locations, etc.) and updating it, and no support for third party software.

Anyway, those are the things that spring to mind. I'm sure I'll think of other stuff to bitch about later, particularly when I'm back to work on the FreeBSD installer for our product.

<comment><USER2> _I can't (easily) add my own ports tree path to a configuration file..._

Good point. In most cases the solution is to have your application added to the ports tree (unlike certain ungulate/avian operating systems, FreeBSD doesn't mix up religion and computing, so this isn't only an option for free software), but there are certainly cases where that isn't an option.

 _Distributing software to FreeBSD users is generally done via a tarball with maybe a shell script_

I'd say that a more common method is to distribute a package (which can then be installed via pkg_add).

 _[The ports tree] asks questions using an ncurses interface, which, as far as I can tell, cannot be disabled._

This needs to be documented better: Add BATCH=YES into your environment, and the ports infrastructure will run without pestering you. Of course, there are a few ports which absolutely _need_ to interact with the user (e.g., to have the user accept an EULA) -- if you set BATCH=YES these ports will print an error message rather than installing.

<comment><USER3> "I'd say that a more common method is to distribute a package (which can then be installed via pkg_add)."

Same problems, though, if I need to distribute a dozen or so packages. No repo-based software distribution means my user either has to download and install them all individually. And, when it comes time to upgrade, they have to do it all over again. So, we've had to write our own package management stuff to deal with the frequent updates we roll out (not just FreeBSD...Solaris also has crap package management).

"Add BATCH=YES into your environment, and the ports infrastructure will run without pestering you."

Lovely. The squeaky wheel does indeed get the grease. I've gotta air my grievances in public more often.

<comment><USER2> _Same problems, though, if I need to distribute a dozen or so packages._

True. This is something which deserves more thought than it has been given by FreeBSD developers.

 _The squeaky wheel does indeed get the grease._

No, the squeaky wheel gets told where the grease has been sitting for several years. :-)

More seriously, BATCH=YES and DISABLE_VULNERABILITIES=YES (which is needed to install ports with known security vulnerabilities if you have portaudit installed) are two options which lots of people trip over -- they should probably be better documented.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> Looks like it's about time for me to consider making an upgrade from 4.11.

<comment><USER3> I dunno...you wouldn't want to rush into anything...

<comment><USER4> I use my BSD box as a personal file server and never saw any reason to upgrade. Why fix something if it isn't broken?

<comment><USER2> For one thing, because FreeBSD 4.11 is no longer supported by the FreeBSD Security Team (and hasn't been for over a year). Any security issues discovered won't get fixed.</comment></comment></comment></comment>


AsK HN: Why do Kickstarter videos take so long to load? - <AUTHOR>

When visiting different Kickstarter pages, why is it that their videos take so long to load? What backend video system are they using that creates this long of a buffering problem?<p>I'm asking because I'm looking to avoid these sort of problems with my project (curating custom band videos on a page). <comment><USER2> Do you have a link to a page that loads slow? I'm not familiar with too many of the KS projects but, by memory, I don't recall any having slow videos.

Also, why ask us instead of asking them?</comment>


Another work by Sussman - S & I of Classical Mechanics - <AUTHOR> http://mitpress.mit.edu/SICM/

<comment><USER2> Eh. SICM is a good source for exercises, and the numerical tools it offers are pretty good (has anyone had success getting MIT scheme to behave on OS X?), but it's not the best way to learn modern physics. I recommend Lenny Susskind's awesome lecture series, "Modern Physics, the Theoretical Minimum," at Stanford-On-Youtube. In viewing order:

Classical Mechanics <http://www.youtube.com/view_play_list?p=189C0DCE90CB6D81>

Quantum Mechanics <http://www.youtube.com/view_play_list?p=84C10A9CB1D13841>

Special Relativity: <http://www.youtube.com/view_play_list?p=CCD6C043FEC59772>

General Relativity (currently in updated once weekly): <http://www.youtube.com/view_play_list?p=6C8BDEEBA6BDC78D>

</comment><comment><USER3> SICM was discussed a few weeks ago here on HN: <http://news.ycombinator.com/item?id=428345></comment>


How a Dorm Room Minecraft Scam Brought Down the Internet - <AUTHOR> https://www.wired.com/story/mirai-botnet-minecraft-scam-brought-down-the-internet/ <comment><USER2> >brought down the internet

Oh bugger off with your clickbait.

<comment><AUTHOR> Seriously? _That 's_ what you were concerned about?</comment></comment>


New Database: Time-Series Plots of Phrases in U.S. Supreme Court Opinions - <AUTHOR> http://infodocket.com/2011/12/17/new-database-time-series-plots-of-phrases-in-u-s-supreme-court-opinions-legal-language-explorer/ <comment><USER2> <http://legallanguageexplorer.com/>

I think they need to normalize the results.

Searching for "a, the" shows that the distribution is far from even.</comment>


Apple files first annual revenue decline since 2001 - <AUTHOR> http://www.theverge.com/2016/10/25/13410020/apple-annual-revenue-decline-first-2001 <comment><USER2> ...and still added $9B to the $200+B in the bank</comment>


Show HN: Lunch Money, a personal budgeting tool with multi-currency support - <AUTHOR> https://lunchmoney.cc <comment><AUTHOR> Hi Show HN, I'm really excited to share what I have been working on the side since late November last year.

I am a one-person team and this project has allowed me to harness and grow from my few years of experience working as a software engineer. I was also able to flex my design muscles a little bit, while learning some marketing along the way.

Stack:

* Node.js w/ Typescript backend

* React + Semantic UI w/ Typescript frontend

* Bull for Redis queues

* Postgresql for database

* (soon) Flutter for mobile app

Lunch Money is a personal budgeting tool with native multi-currency support. This 100% grew out of a need to expand and improve the spreadsheet we had been using for about 1.5 years prior to starting development on this. My main goal was multi-currency support but also to rethink certain aspects of budgeting. Check out the website for more details & screenshots!

If this looks interesting, I encourage you to try it out, especially if the multi-currency aspect is useful to you. Thank you and open to any feedback.

Side story: I started this project while living abroad in Fukuoka, Japan for a few months. I did a whole write up on that journey here: [https://lunchbag.ca/lunch-money](https://lunchbag.ca/lunch-money)

<comment><USER2> I tested a lot of similar project in the past 2 years: Buxfer, GNUCash, YNAB 4 & 5, Mint, and Banktivity (currently using) and I'm willing to pay as high as $70 per year for a product that fulfills my needs.

I liked your project, the interface is clean, responsive and fast. If I may, I would like to give you my list of the most useful features :

\- Self-hosted: Although, I used online apps in the past, this is now an _absolute_ requirement. I'm never, ever, going back to linking my bank accounts to a SAS app. I would be, of-course, happy to pay a premium for this (and for the Kubernetes templates).

\- Transaction imports: OFX, QIF, CSV, XLSX...

\- Regex category matching: For automatically matching transactions to the correct category

\- Subset selection on reports: Ignoring specific accounts, categories or tagged operations from specific reports reports

\- Multi-currency: I tried apps where the only currency available was USD, they did not stick around

\- Exports: transactions and reports

\- Rewrites: Rewriting transaction labels automatically (following user- defined rules)

\- Sanity checks: Travel expenses + Reimbursements must equal zero. If not, Amex messed up again and I should know about it

Hope this helps!

<comment><USER3> This is a great list of my exact same needs. I believe that the correct solution is a desktop application. How many of you/us do you think there are? And how much would you/they pay for this?

<comment><USER4> For _personal_ budgeting, I believe it's crucial to have a mobile app for entry on the go and basic reports.

Going through statements monthly/weekly and assigning the correct categories retroactively is just too hard.

<comment><USER3> I've always found it much easier to lean on downloaded transactions.

Data entry through the day is way too cumbersome to me.

Am I alone on this?

<comment><USER5> Same here, I tried the data entry way (telling myself that the friction encourages thinking more before spending). It lasted about 2 years before I started creating import helpers to get transactions from my current accounts and etc.

Now, I put together some JS to create custom import helpers that adapts to different bank formats. Unsurprisingly, banks doesn't seem to want to converge/adopt a standard on transaction exports still (like a simple standard on the CSV will do), despite all the hype about open banking and such. Step by step?

I have some libraries that I reuse to create these custom helpers documented here:

[https://docs.prudent.me/docs/dev/creating_ext](https://docs.prudent.me/docs/dev/creating_ext)

This works with the wrapper that I created as well :)

</comment></comment></comment></comment></comment></comment><comment><USER6> I really like where this is going. It looks like a much more polished version of my own personal solution for this problem.

The one thing I really dislike is the way transactions are brought into the system. I get that it's preferable to outsource that to entities that specialize in it, like Yodlee/Plaid/whatever, but when I get to that IFRAME asking me to enter my banking credentials... sorry, I just can't bring myself to do it.

I understand banks are probably unbelievably slow to support standard authorization schemes like OAuth, but of all the credentials for me to get sloppy with, my bank credentials are pretty much at the top of "no way" list.

Any chance as an interim you could support manually importing CSV?

(And yes, beware of the non-paying "customers" that like to suggest the _one_feature_ they need...)

<comment><AUTHOR> I hear you loud and clear. Allowing manual import of transactions via CSV is very high on our feature list! Using a service like Plaid to automatically import transactions was a great way to attract our first users and validate our product. Going forward, we definitely want to also support more ways of importing transactions.

<comment><USER7> What are you thinking about OFX/QFX? CSV is nice for breadth but some of the specialized formats are pretty nice for these kinds of tools.

<comment><AUTHOR> I haven't done extensive research in this yet, so I'm happy to hear this suggestion of using more specialized formats. I'll keep those in mind when I do get to this feature. Thank you!

</comment></comment></comment></comment><comment><USER8> This looks fantastic! I've used Mint to track my expenses and this looks way better (especially the course correction concept.) The biggest issue that comes up when entering financial data into something like this is how is the data stored and what security measures are in place? If my financial data was leaked, I know that hackers could use that to get access to my bank accounts.

Please don't take this personally, but reading through your blog post, you mentioned that you had limited DevOps experience that makes me a bit scared that regular security updates and security practices may not be something that you were thinking about when the app was being developed.

I'm going to signup and play with it regardless, but it would be really difficult to put my actual financial data in the app.

Question: Is security of user data something you have thought of? Do you plan to hire someone that is security minded if the app does well?

<comment><AUTHOR> This is a great point and a valid question and I'm glad you brought it up. I wrote up a Privacy Policy ([https://lunchmoney.cc/privacy](https://lunchmoney.cc/privacy)) to address some concerns users might have about their data and how it's handled. In terms of connecting your bank accounts, all of Lunch Money's interactions with your bank is through a third-party service called Plaid which is also used by many other financial apps on the market. They've written up a few white papers on their security. That being said, I only have read-access and don't do any sort of interaction with your bank (i.e. depositing some funds and having your verify it). No personal information is pulled either.

The DevOps stuff in my blog post was more referring to stuff like CI, deploy infrastructure, and other behind-the-scene workflows. I've previously worked for 3.5 years mostly as a back-end software engineer at Twitter and was the founding engineer of a YC Fellowship &500-backed pet health start-up handling thousands of pet medical records, so I've gained a lot of experience when it comes to keep things secure.

All that being said, security and user data is really important and not something I take lightly at all. I hear this feedback a lot and am continuously thinking of ways to put my user's minds at ease. If you have any ideas or want to talk about it more, I'm always open to chatting.

</comment></comment><comment><USER9> I'm keen to have a look. I've been frustrated with other tools because they're too focused on splitting everything into identical monthly budgets when that's really not how finances work IRL:

1) My driver's license costs $150 to renew once every 5 years - I don't want to split that into 60 monthly allocations of $2.50 and end up having over $100 sitting in my account for an expense that's still not due for over a year. I just want a tool that knows what expenses are coming up over the next 3/6/12 months and let me know if it thinks I'm going to overdraw my account. $150 is actually really easy to scrape together when you have 6 months notice that you're going to be short.

2) I spend $100 on public transport every 2nd Thursday because I get paid every 2nd Thursday. That means either $200/month or $300/month depending how many Thursdays fall inside the calendar month, and whether they're actually the Thursdays that I get paid on. Having a monthly budget that allocates $217/month on public transport (because that's the monthly average) makes me set aside $17 most months unnecessarily, or possibly leave me short $83 and unable to get to work if I spend the remainder.

<comment><AUTHOR> Currently our recurring expense feature only supports monthly and yearly expenses. We have thought about expanding this to also support "upcoming expenses" which is what your driver's license cost would fit under.

We have gotten feature requests for custom budgeting periods to align with payment schedules which sounds like it might fit your second use case.

Thanks for sharing your interesting and unique use cases. I hope you find a budgeting solution that works for you, whether that's Lunch Money or a homegrown spreadsheet!

</comment></comment><comment><USER10> You nailed it here. I've been waiting for something like this - Mint etc. don't give me enough functionality in terms of forecasting, seeing a trend and helping me to modify my behavior.

If you could also add a "Simulate spending X {currency} on YYYY-MM-DD" type functionality for forecasting, that would be huge. This was something I miss from one of the old Microsoft Money desktop apps, and being able to see how making a purchase at a point in time will affect you 1 week, 1 month, 1 quarter down the road etc. is a powerful deterrent to impulse buying.

edit: clarity. ish.

<comment><AUTHOR> Thanks for the feedback!

Upcoming expenses is a great idea, and was an original feature from my own budgeting spreadsheet but has not made it as a feature yet on Lunch Money. Your comment definitely helps boost up its priority :)

</comment></comment><comment><USER11> I was halfway through building something like this just for msyelf. My main issues with existing options are:

1\. Mint and others always seem to automatically count transferring money from Chase to an external savings account as _spending_ which drives me insane.

2\. Not being able to split transactions (which you solved)

3\. Reassign the date of a transaction, or from a technical perspective, create an "effective date" in addition to the true transaction date. I've been back and forth on whether this is actually a good idea or not. But I really want to count my July 5th electrical bill as a June expense, for example.

<comment><AUTHOR> You can reassign dates for your transactions in Lunch Money. This is pretty common practice, especially with recurring expenses. For example, bills that get paid on the last day of the month but get posted the next month can be altered so they reflect the appropriate month.

<comment><USER11> Awesome, thanks for the reply!

</comment></comment></comment><comment><USER12> This is exactly what I want. Like many others, I have my own personal solution, which I used for the last 3 years. But it's far from "complete" and lacks many convenient features your app provides. Including a wonderful UI. The only thing I wish for is CSV imports because my bank is not supported. It nags on me that essentially my most private data is not in my hands anymore but this is so much more useful, I'm enjoying it already.

<comment><AUTHOR> We definitely recognize the aversion of using a service like Plaid, and we are working on more ways beyond that to import your transactions. Thanks for the feedback!

</comment></comment><comment><USER13> Kudos. You've gone and done something a lot of us only plan to do but never get around to.

I have a few questions though.

1\. Does this work for everyone around the world?

2\. How many ways do you have for sorting through transactions and making sense out of these?

3\. My bank statements are a huge mess and I'd love a way I could aggregate all of my spend across multiple banks and cards. Sometimes, I send money to a friend only to get it back after a few days (or months, even). Would be great if you could link 2 transactions together like this as well.

<comment><AUTHOR> Thank you so much!!

1\. Right now I'm using Plaid to connect to bank accounts which currently only supports US and Canada-based banks (but even then, some banks are not supported fully). The next plan is to allow people to manually import their bank transactions via CSV, and after that, look into a European-based and/or Asia-based version of Plaid. That being said, anyone can use Lunch Money to add transactions manually in any of the 150+ currencies currently supported.

2\. So we do a couple of things under the hood– auto-categorization and picking out your recurring (monthly) expenses. Our auto-categorization gets smarter as you make any fixes (via Category Rules). We also offer a lot of transaction management features such as splitting and grouping which you can use to make sense of your own spending habits.

3\. Yes, our latest feature, grouped transactions, exactly fits your use case. You can use grouped transactions to link up credit card payments (i.e. -$200 from your chequing account, +200 to your credit card combines to $0 in your transactions list!) or track friends paying you back (i.e. you picked up the $200 tab for a dinner with 6 friends. You can group together that big transaction plus all your Venmo transactions to reflect how much your share actually was).

Thanks for the questions!

<comment><USER14> Really great job and I'm digging the UI. I see that Plaid has just launched in the UK so hopefully you can add support for us Brits soon (if we haven't self- combusted in a Brexit meltdown by then).

</comment></comment></comment><comment><USER15> I'm a YNAB user and I just spent some time playing around with LunchMoney. A few quick feedback items from 10 minutes of use:

\--Let me add new categories from the transaction screen. I don't think your default categories are comprehensive enough and I had to add a lot, and it is a pain going back and forth between the two screens.

\--More default categories that make sense: rent, cell phone, internet, medical, software subscriptions.

\--If I go back 3 months and categorize an old transaction, apply that category to all other matching transactions. I don't want to through every single old transaction and categorize. Alternatively you could use the YNAB method and not even pull in old transactions (or maybe just go back 1 week or something). It feels overwhelming to log in and see data that is wrong due to miscategorizations and then realize I need to back through hundreds of old transactions and fix the category.

Overall I think you have a great product! I am definitely interested in continuing to use it, I like the UI and it feels so much faster and more responsive than YNAB (their ui is extremely slow). With any of these tools there is always time/cost associated with a user's onboarding and making that as seamless as possible will get people hooked and make switching costs high.

Good luck!

</comment><comment><USER16> Here's a question - has anybody designed a platform yet that can break down and reconcile Amazon purchases?

I've given up on every single household budgeting / tracking solution due to the huge volume of Amazon orders our family places across regular Amazon, Amazon Fresh, Prime Now, etc.

As a result I wind up with a budget that looks like "50% Amazon" and then everything else.

What I'd really like to know is categorically where is that money to Amazon going as a category.

</comment><comment><USER17> This looks great but a couple of things:

1) You should be defining a strict CSP and a few other headers given that this deals with financial information: [https://securityheaders.com/?q=https%3A%2F%2Flunchmoney.cc&f...](https://securityheaders.com/?q=https%3A%2F%2Flunchmoney.cc&followRedirects=on)

2) When trying to give provider info, I hit an error both times (with different financial providers) on the Plain screens.

<comment><AUTHOR> Thanks for the feedback! Plaid is rate-limiting me right now, sorry for the inconvenience! Trying to get it sorted ASAP :)

</comment></comment><comment><USER18> How 'proactive' is it? My biggest problem with budgeting is thinking about my budget _before_ I spend the money. I'm guessing that'll become more apparent with the mobile app, so just before I spend, I can check it.

However, are you allowed to read in Credit Card "Recent Spends" (which I've always assumed is some Credit Card Dark Design stuff)?

<comment><USER19> I wish there was more breakdown in "personal finance" apps. Years and years ago I was looking for budgeting apps and Quicken kept coming up. It looked like it mostly did checkbook balancing and keeping track of multiple accounts --not anything I needed.

Mint worked out well for awhile. I feel like it was a decent substitute for "writing every transaction in a notebook for a week" to help you find that gym membership you've been meaning to cancel or realize how your occasional lattes add up. It also helped with categories for previous months and "am I making more than I'm spending" which helped me get out of debt.

More recently I tried YNAB, which seems like it does those things well but also help with future month categories (basically a digital version of the envelope method) and help set aside money for specific goals. But after trying it a few times it never quite clicked and I never seemed to keep up with it.

These all seem to fill different needs but it's not obvious until you start putting data into them. I check out new apps all the time and they often fall into the same, few well developed category, but it takes up a lot of time to suss out (and it's a bit scary handing over credentials when you're evaluating)

</comment></comment><comment><USER20> YNAB user here - this looks great and I love new tools :) but what differentiates this from YNAB besides non-envelope budgeting method?

also nice - the ability for a partner/spouse to collaborate on the same budget which is also a nice plus Lunch Money has if there is an "last edited" feature and collaboration as a 1st-class thing (YNAB is stubborn on this point)

<comment><AUTHOR> I would say Lunch Money is totally different from YNAB. We tried to rethink most aspects of budgeting and came up with our own philosophy of how to best approach it. My target audience isn't YNAB'ers since I know most of them are fiercely loyal to the YNAB philosophy, which is totally okay :)

To your point about collaboration, we track who did what, but we don't go as far as having a complete edit history. It seems like a good idea though, I'll add that to our backlog. Thanks for the feedback!

<comment><USER20> Could you elaborate more on how it is totally different?

I understand your target audience is not YNAB per se, but b/c of that very fierce loyalty you could draw some currently paying customers like myself. :)

I ask this in a genuine way but I'll try to play around with Lunch Money.

From your landing page, these features all exist in YNAB: * being able to review transactions that need to be categorized, splitting transactions * adding projected monthly expenses that haven't been charged yet * warnings for an account not importing correctly * allowing you to choose between what you spent last month vs budgeted last month vs spent on average

What does seem unique is better visualization on anticipation of spending and spending habits, which is definitely nice!

Though I think what you mean is perhaps the "feel" of budgeting vs the exact features. At the end of the day, YNAB just forces you to categorize vs envelope method technically.

</comment></comment></comment><comment><USER21> Nice! I'd would love to replace my custom system with this if some of the following features were implemented:

\- A subcategory or tagging system. When viewing the budget, I could just filter those items. This would be nice for my side business stuff, so I could have categories like "biz->income" and "biz->hosting", and then just view the "biz" category to see multiple flows. Or more simply, I don't necessarily need subcategories if I could just view multiple budget categories in one view.

\- When choosing a category when approving transactions, it would be nice to be able to type to search the category

\- Also when approving transactions, when I click on the checkmark, I'd prefer if they either disappeared instantly or just didn't disappear at all. Right now I'm afraid to click multiple items quickly since I might mis-click when it disappears unexpectedly, clicking on the next line. I think it's important to remove all friction from the transaction approval section, since that's the most commonly used part.

\- How do I categorize recurring expenses? It doesn't seem like I can. Why not?

\- Some way of showing big, unique groups of expenses, such as a wedding, or vacation, or buying a computer. I wouldn't want to factor that into my monthly budget, but I'd like to see the total costs of this years "special expenses". Maybe I could tag transactions as "coast trip" or "gaming pc" or "wedding", and then view all special expenses as their own category?

</comment><comment><USER22> I'm on the phone right now, it's not clear in the bit of the site I can see. But is it possible to run it on the desktop, entirely offline?

<comment><AUTHOR> It's a web application, it won't do you much good if you're offline unfortunately. That being said, our mobile app will be optimized for offline usage!

<comment><USER22> Thanks for clarifying. The main reason I ask is that I'm not too keen on sharing my banking data with yet another party. I'd give it a shot if I could use entirely offline, though.

</comment></comment></comment><comment><USER23> It looks pretty, but unfortunately I found budgeting methods that are not envelope based (such as YNAB where every dollar is assigned a job) are not adequate. After adopting the YNAB method I have seen how far superior it is.

If I could combine YNAB's budgeting method with your reporting & analysis we'd have a true winner.

<comment><AUTHOR> Thanks for the feedback! It is definitely a different way of budgeting. My target audience is more first-time budgeters. I know it would be an uphill battle to convert YNAB'ers since they are loyal to envelope-based method.

<comment><USER12> What is the difference between the envelope-based method and the categories in Lunch Money? It seems very similar to me.

<comment><USER23> With lunch money it looks like you set up an ideal spending amount per category based on your history. But whether you stay within those limits is completely up to you. It might warn you if you go over in a category but that is about it.

In an envelope based system you can only budget dollars you have (that's where the name comes from, you'd literally stuff cash in envelopes). If you overspend from one envelope/category then you have to take from another envelope. It's perfectly fine to do this, but it just makes the sacrifice that much clearer. For example, let's say I splurge on restaurants this month - then I might have to steal from that vacation budget a bit in order to cover it.

The second aspect is building up money for future expenses. I can set up an envelope/category for a vacation in 12 months and throw 30 bucks a month at it. That money accrues each month and unless I steal from that envelope it's assigned to the vacation so I'll have the expense covered when it comes.

That's the gist of it. There is a ton more information online.

<comment><USER12> Hm I think saving would work for me if I increase a budget every month without spending it. And if you can set your current balance somehow in Lunch Money (I don't know at this moment) then you would see if you overspend (hopefully). These are of course very valid and important aspects.

</comment></comment></comment></comment></comment><comment><USER24> Yes! I am especially interested in multiple currency support. Most budgeting software doesn't provide this well or at all. Some questions:

* Is each transaction stored in its currency, or is everything converted to a main currency when stored? The latter is lossy and problematic.

* Does the app expect each currency to have a fixed exchange rate? If it does, that's problematic.

* You are asked to select a primary currency when signing up. Can you change the primary currency later? Will any information be lost if you do?

* How do you handle transfers from one bank account in one currency to another bank account in another currency? Will it handle an exchange rate that is different from the one the app might be expecting?

* How does budgeting work in multiple currencies, how are fluctuating exchange rates used?

I'll definitely be trying this out regardless of whether I get an answer here, I am really excited about the potential. :)

<comment><AUTHOR> These are really great questions, thanks for asking!

1\. Every transaction is stored in its original currency. The conversion to your primary currency happens on demand.

2\. We fetch daily currency rates so it should more-or-less accurately reflect the market. We have gotten feature requests for exposing this and allowing manual override of currency rates. If this would be important to you, feel free to let us know and it'll get bumped up on the priority list!

3\. You can feel free to change your primary currency at any time and as often as you want in the Settings tab. There is no risk as it will have no permanent effect on your transactions!

4\. Bank transactions show up in the currency that the bank account is set to so if you transferred -US$100 to +CA$133 to a CAD bank account, it will show up as two transactions in their respective currencies. However, to your point, in the totals, the currency rate might fluctuate a bit and it might add -US$100 and +CA$133 up with a few cents discrepancy. This could be solvable if we allow manual override of currency rates.

5\. When it comes to multi-currency monthly budgeting, we use the currency rate from the first of the month to normalize everything to your primary currency. You can set a budget in any currency. For example, you can budget 10000yen for restaurants, and in your budget summary, you will see US$93 expected spending.

Hope this makes sense and feel free to reach back out with any more questions.

</comment></comment><comment><USER25> $3 per month or $29 per year _for now_.

Why should I use a service hosted by someone else for something this important? Not only will I (besides losing money) have to worry about not being able to access my data, but especially about somebody else accessing it.

<comment><AUTHOR> I suppose it could be more clear that you would be _locking in_ that pricing, so there is no need to worry about that shooting up to something crazy after a period of usage :)

<comment><USER26> Looks like you didn't actually reply to the question here. It was not about pricing. It was about access to data (and trust).

</comment></comment></comment><comment><USER27> Thought-provoking idea: you don't need a personal budget.

[https://github.com/slowernews/hamster-system#hamster- budget](https://github.com/slowernews/hamster-system#hamster-budget)

<comment><USER28> This is such a stereotypical HN post I almost don't believe it's real

* CLI tools with some wonky syntax

* You don't need X because there is a random github repo that solves your problem! (To be fair, this is within the hacker ethos/mindset)

* Assumption that folks can dip into savings or whatnot if they are over that month

* Assumption that folks _have a net worth_

* Assumption that it's easy to just "tighten up" if you're spending too much

This probably works great for a high earner with extra money laying around and a decent net worth. This would be _terrible_ advice for someone who actually needs to follow a budget. A huge percentage of people are living month to month and don't have the option to loosen up or reactively tighten up after a month of too many expenses.

Some folks don't need a personal budget. That is the minority. Those folks can use wonky CLI utils to keep track of their life.

In that same vein, why even bother? Just add up your net worth and if it's lower than you want, just "tighten up"...

Terrible advice IMO.

<comment><USER27> Another thought-provoking idea: try the method for a while and write a blog post about it.

<comment><USER29> > When your net worth is too risky (for your personality) get more tight.

> When you feel comfortable with your number you can loosen up a bit.

I don't feel inclined to try this method. You've basically described how every highschooler manages their wallet. The system falls apart (or turns into a budget) the moment you have a single problem to solve.

Example. I have $10,000 in my checking account and a $15,000 car loan, so my net worth is -$5,000. Either I don't buy groceries this month, or I admit that I need to know more than my net worth to make financial decisions.

</comment></comment></comment></comment><comment><USER30> As a college student who often pays for or pays others through Venmo for various expenses, the splitting/combining transactions seems super useful for not losing that information. Will definitely try it out!

<comment><AUTHOR> Thank you so much! I do believe it definitely reflects modern spending habits :) If you have any questions or issues, feel free to reach out!

</comment></comment><comment><USER31> I'm living abroad in Bali, Indonesia. 90% of my payments are made in cash.

\- Does this have an option to manually add entries?

\- Does this have an option to input one currency, but have it easily convert to another currency?

<comment><USER32> Similar situation. I use mostly cash tranasctions or non-american credit cards which are not available using auto-import. An efficient keyboard-based method of manual entry of trx is crucial. Just checked this app but i coulnd't quickly add any transactions.

So far I have used Toshl app on and off to monitor my monthly spend, which has excellent manual entry with multi-currency, etc.

</comment></comment><comment><USER33> I'm a huge fan of Pocketsmith. Highly recommend it: [https://www.pocketsmith.com](https://www.pocketsmith.com) Why should I switch to this?

<comment><USER34> Does Pocketsmith use Plaid to connect to your bank accounts?

</comment></comment><comment><USER35> Thanks for sharing, impressive what you've built already.

Some of my bills, such as my mortgage, show up twice a month. Do you plan to support recurring transactions that are something else than monthly or yearly?

I may have missed it in the pre-signup screens, but how much do you intend to charge?

To get users started with a budget, perhaps you could assume the average in each category once you have a couple months worth of spending.

</comment><comment><USER36> I like the support for reimbursement; YNAB has poor support for this use case and a hostile attitude towards improving it.

</comment><comment><USER37> Looks like an awesome product! I've used Ynab for a while, but since I'm not based in the US bank imports were not useful to me and didn't justify the price. Since then, I've been actively looking for a budgeting app that would fit my needs. Will definitely try this one.

</comment><comment><USER38> Have you considered releasing a freeware thing that I can play around with experiment with, which doesn't require payment information?

Also, I didn't see your answer to the guy's question about the safeguards you take to uphold information security measures. Could you comment on this please?

</comment><comment><USER39> This looks really cool! I'm not sure if I wanna register myself on this service yet so I haven't seen a lot of it but I'm curious: How is my transaction data imported? Are there APIs for that or do something else? (Sorry if this is explained somewhere on the site already.)

<comment><AUTHOR> I use Plaid ([https://plaid.com](https://plaid.com)) which also powers many other financial apps.

<comment><USER39> Oh cool they actually use the PSD2 in Europe

<comment><USER40> Yes we do! Keith here from Plaid. If you want more info, shoot us an email at email@example.com -- and if you happen to be in London next week, we're doing a demo of our Open Banking/PSD2 integrations hosted by TechHub. You can get tickets here [https://www.techhub.com/event/techhubtuesday-demo- night-26/](https://www.techhub.com/event/techhubtuesday-demo-night-26/)

</comment></comment></comment></comment><comment><USER41> This looks very good! I think you've got a customer in me.

One question: Does this support saving for future expenses? Say I'm setting aside a sum each month for vehicle maintenance, but of course only spend money on maintenance a few times a year. Can I track that somehow with Lunch Money?

</comment><comment><AUTHOR> Sorry for the minor outage with connecting bank accounts. We're back live now :) Thanks everyone for the support, interest, and feedback! It's very much appreciated!

Also wanted to leave my email address in case anyone wants to reach out: firstname.lastname@example.com

</comment><comment><USER42> Are foreign-currency amounts calculated by the exchange rate at the time/on the day the transfer or spending took place, or does it utilize the current exchange rate? My budget operates with four currencies, easily, in a year so it adds up

</comment><comment><USER43> Looks interesting, but like most financial services only helps with my American accounts, and provides only manual entries to help me track my accounts in the EU. The multi-currency aspect would be nice though once Plaid expands more in Europe.

<comment><AUTHOR> Thanks for the feedback! It is a bummer that Plaid is only offered in CA/US right now. I'll be working on allowing importing of bank transactions via CSV soon so hopefully that takes out a bit of the manual work.

</comment></comment><comment><USER44> Looks interesting, thanks. Could you add a notice that connecting bank accounts works only with the US banks? (It's not like I wanted to; here in Switzerland, we have some cultural differences regarding the banking security).

</comment><comment><USER45> My biggest issue with these apps is always that they are generally US centric. So even if I can use it with JPY, my Japanese bank is not supported and it all becomes a bit moot. Without auto import I just cannot use these apps.

</comment><comment><USER46> Is there a way to get an email when you have CSV import? Since Plaid does not support my bank, and there's no CSV import, this pretty much is unusable for me, but sounds good!

<comment><AUTHOR> Shoot me an email at email@example.com and I'll reach out!

</comment></comment><comment><USER47> I really love the design of your site. Do you use a CSS framework?

<comment><USER48> [https://semantic-ui.com/](https://semantic-ui.com/)

</comment></comment><comment><USER49> This looks like what I for my own financials, only more done ;).

I like the graphs, although I am confused by the example where you are under budget, but the line is still red.

<comment><AUTHOR> Perhaps the red I used was a poor colour choice, but it's not red because you're under/over budget. Just needed a contrasting colour to show the two different lines! Feedback noted however, thanks for sharing!

<comment><USER49> I understand, just wanted to mention it. The app looks great! Good luck with it.

</comment></comment></comment><comment><USER50> Forgive me if this has already been answered, but what's your projected timeline on an app release?

Wonderful UI, got setup with zero issues. Thanks for sharing!

</comment><comment><USER51> I wish this worked with Australian banks and credit cards. I do most of my transactions through credit cards and want to use something like this

</comment><comment><USER52> This looks great, but is there any writeup on how the security for it works? Are things encrypted at rest? Has there been any auditing?

<comment><AUTHOR> Hey, I realized I misread your original comment and I wanted to address the points you're making.

There isn't any writeup on the security for how it works other than my privacy policy ([https://lunchmoney.cc/privacy](https://lunchmoney.cc/privacy)) which touches on those points at a high level. We're just getting started and are therefore mostly focused on product validation and market fit so we haven't done any heavy security detailing such as external auditing. All that being said, I get this feedback a lot. Security and user data is really important and not something we take lightly at all and is something we will be continuously thinking about throughout the course of our journey.

If you have any ideas or want to talk about it more, I'm always open to chatting. firstname.lastname@example.com

</comment></comment><comment><USER53> Nice work! Looks great and easy to use. What do you use to get transaction history?

<comment><AUTHOR> Thank you! I'm using Plaid ([https://plaid.com](https://plaid.com)) to connect to users' banks.

<comment><USER54> They apparently recently added UK support - do you support that feature in the UK too? Also do you have or plan an API for inserting transactions? I currently use YNAB and my UK bank supports a webhook for transactions, which I have automation that inserts it into YNAB using their API - if you don't support Plaid UK then that's a decent workaround.

Edit: I signed up and no UK banks seem to be supported.

</comment></comment></comment><comment><USER55> Looks great, I'm looking forward to the mobile app.

</comment><comment><USER56> looks like too many people wanted to check it out - Plaid is returning a 429

<comment><AUTHOR> Indeed!! Trying to get this sorted now.</comment></comment>


20 days as a growth hacker - <AUTHOR> http://timothy.userapp.io/post/68699141337/20-days-as-a-growth-hacker <comment><USER2> So thumbs up for trying new things. I really and sincerely mean that.

Now I'm going to say something that will sound discouraging but has your best interests at heart: do you currently have 100 people who absolutely, positively could not run their business without UserApp? Or, as an intermediate goal, ten? If not, your only job is for you to go out, as an actual person rather than a web page, and recruit those users one at a time. Your service level can be _stupidly_ unscalable -- forget "Here's our API documentation", you can _literally_ offer "Give me your laptop and I will write the integration for you. Right now. I'm serious. You think I'm not serious? Laptop. Now." (My understanding is that Patrick Collison was doing this for Stripe in the early days.) If they stop using it, rather than doing deep analytics magic to discover what lead to their lack of engagement, you should call them up and say "Dude, I literally coded the integration for you. Level with me: why isn't this everything you need in user management? What can I implement for you to get you to revert that commit?"

After you've got 10/100/etc people who really like your service, you can start thinking about scaling acquisition channels. In the process of doing that, you'll likely optimize the living daylights out of them, and in the process develop intuitions for "This test is a priority for me to run" versus "This seems like it's likely a poor use of my time even if it succeeds."

At the moment, the cart appears to be a step or two in front of the horse.

<comment><USER3> I really like your advice! Others have actually told me the same and I understand "the concept". But I would like to ask you for some more advice: how can I spend my days only focusing on getting users to use us? We are already emailing every new signup offering them help etc, and some respond with questions, which we help them with. But that usually doesn't take the whole day. I would like to know some activities on how to get more of those. Cold calling?

Otherwise, thank you for your feedback. Appreciate it :)

<comment><USER2> Cold calling could work. If I don't miss my guess, though, I bet your social circle and activities already intersect with people who build apps, so I'd use every opportunity possible to ask them about their pains with user management and to tell them that they should use UserApp instead of their homerolled solution. (Be prepared to hear "I don't have any problem with user management" and "There is nothing you could offer me, not even your services as free engineers, which would convince me to let somebody else manage this core a part of our offering." If that was the only thing you heard from the next 100 people you talked to that would _still_ make talking to them the most productive activity you could possibly have been engaged in.)

<comment><USER3> I will give this a thought and see how I can plan my upcoming weeks. I have considered about canceling my every-day growth hacks to focus more on larger "hacks", and also finding users and helping them getting started. Let's see what happens :)

Thank you for your advice!

</comment></comment></comment></comment><comment><USER4> It would be nice to see some follow up on the items "Need to run this test longer..." or "It's too early to tell..." items. You have a LOT of those, and for a growth hack to be valuable, you need to see some results.

Since you post the hack without the results, it's harder for people to learn from your actions here. Can you do some updates for the earlier rounds?

<comment><USER5> I can also imagine a lot of the data getting muddled as a result.

Do more people click the signup button because you made it bigger and changed the copy, or is it because you reduced the clutter in the footer reducing distraction for the user?

<comment><USER3> I know what you mean. Many of the hacks' results may collide. I wonder what a possible solution to that problem could be?

</comment></comment></comment><comment><USER6> You're focusing too much on small UX/UI changes with even smaller effects. Aka, optimizing for the local maxima.

<comment><USER3> Yeah I know, the problem is to find time to do one large "hack" each day. Do you have any tips for me?

<comment><USER6> I think the whole premise (one "growth hack" per day) isn't right. I would call this more like "one UI touch-up per day." I don't mean that in a condescending way.

If you want to make a bigger impact you have to dig deeper. Look at your analytics and conversion funnels for ideas.

For example:

Is there a bottleneck for many visitors on their path from First Visit to Signup? Do visitors from a certain source convert or stick around longer than others? Is there a page within your Docs section that a significant number of visitors view before eventually signing up?

Now make some educated guesses to explain the data. For example:

If 13% of the Trial User segment viewed the demo apps prior to signing up, maybe the demo played a significant role in convincing them to sign up. (BTW, you can even segment this group out in Analytics as Demo Viewers and compare their conversion rates vs those who did not view the demo.)

And now for the test:

A/B test adding a link directly to the demo somewhere prominent on the homepage (maybe even replacing the subscription link under the CTA).

* * *

Lots of blogs make it seem as though you can "growth hack" by merely changing a button color or adding a modal popup somewhere. Easy things like that only work when you're starting from the bottom. Once your site is half-way decent, it takes more ingenuity than that to make a meaningful impact.

EDIT: From looking at the other comments here I'm getting the impression that you don't have a whole lot of traffic. In that case you probably don't have enough Analytics data to look as deep as my examples. Still, assuming your Analytics is setup properly, you should be looking at it for opportunities.

</comment></comment></comment><comment><USER7> The top page of [https://www.userapp.io/](https://www.userapp.io/) looks great. However, it leaves me wondering who your service is actually for.

I'm a web developer, so login, sign-up, and user storage are my bread and butter, and I can use open source plugins for handling this, so your target is someone who has more challenges for adding this functionality.

Mobile app creators could be one niche, and if so, something like "User Management for Mobile Apps" could help such developers understand your product is for them.

<comment><USER3> Yes, we are working on that :) The user authentication stuff maybe take a few hours/days to get in place for a experiences developer. However, what we want to focus on is everything else around user management. That's why we are building an add-on store for third-party integrations. Some example cases that we could solve:

* If you have users, you might want to sync them to e.g. MailChimp.

* You would probably want to charge them for using your app, so you would need to integrate a payment provider, calculate payments, creating price plans, etc. UserApp already takes care of all that except the payment processing, which will come as add-ons later.

* Social login (OAuth) to support login from Facebook, Twitter etc.

* Send welcome emails, forgot password emails, etc.

* An admin interface t be able to delete, block, search and manage your users, permissions, etc.

And this is not just for mobile apps. It's for every web, or mobile, app that has users to manage.

Thank you for your feedback!

</comment></comment><comment><USER8> Here is a growth hack for you, Put $100 towards AdWords and bid cheap(shoot for less than a quarter per click) and send users to a free trial landing page. Little tweaks here and there obviously help, but at some point you just need more traffic.

<comment><USER3> I will give this a try (along with other ad networks as well) when I've got the conversion rates to a better level.

<comment><USER6> How do you know visits from ads won't convert any better than your current visitors? If you do a half-descent job of targeting your ads you could get visitors who are much more likely to convert than your current visitors.

<comment><USER3> True that. Will maybe give it a try this month :)

</comment></comment></comment></comment><comment><USER9> If your blog is going to live on a subdomain of userapp.io, you may want to more fully integrate the browsing experience with that of userapp.io. I looked for the footer mentioned in Day 19 and couldn't find it. Why not? (as in "why not try anything?")

<comment><USER3> Good idea, will see what I can do. Thanks!</comment></comment>


US hacked Pacnet, Asia Pacific fibre-optic network operator, in 2009 - <AUTHOR> http://scmp.com/news/hong-kong/article/1266875/exclusive-us-hacked-pacnet-asia-pacific-fibre-optic-network-operator

<comment><USER2> [http://msl1.mit.edu/furdlog/docs/cnn/2005-02-18_cnn_optical_...](http://msl1.mit.edu/furdlog/docs/cnn/2005-02-18_cnn_optical_taps.pdf)

<comment><USER3> China would be fucking stupid to hand Snowden over to US authorities. Just like the US encourages dissenters to take refuge in the US, China should do the same. If you don't agree with your government and want to air their dirty laundry, we will give you amnesty. This would be good for the world as a whole.

</comment></comment><comment><USER4> It can't be coincidence that the most recent dumps of information from Snowden concern Hong Kong specifically. I have to wonder if he is floating information to prove to Hong Kong/Chinese officials that he has more information to broker safety/asylum.

<comment><USER5> Snowden seems to be making fairly adept strategic moves that were planned well in advance, while simultaneously pushing his information to be considered factual without much evidence (that I have seen) outside his testimony. The media is lapping up what he states with little, if any, validation. Of course, as is the nature of leaks, the information is often impossible to fully validate.

There is some speculation that he was actually turned by the PLA prior to leaking and is providing them an excellent platform to exert pressure on Obama.

Obama did, after all, add the Chinese hacking attempts to the agenda of his summit without consulting them, an extremely rude (to the Chinese) maneuver.

If there is any conspiracy here, it is most likely China making an extremely effective effort to make Obama pay for their loss of face.

<comment><USER6> If the Chinese had a source in Snowden's position, it does not seem credible that they would voluntarily burn him just to cause some temporary domestic embarassment for the US President.

<comment><USER5> If Snowden were indeed turned, his position would likely be of less value than another much more highly placed source. The M.O. of the Chinese Intel community is to both gather as much information as possible, while also providing opportunities to pursue their foreign and domestic policy goals.

Snowden nicely fits the foreign policy goal and his position was not one of extreme privilege. He may have also provided all of his value in his placement and now is serving a different purpose.

This isn't unusual; the USSR had many highly trained agents inserted into Germany during the Cold War who were placed specifically to be burnt in times of crisis or when it suite them - this exact scenario.

<comment><USER7> This is really interesting. Can you expound on this?

What is your personal opinion of the probability of Snowden being an asset to the Chinese?

Clearly the USG has their best minds on the permutations of probability here. What is the likelihood that Snowden is not making these strategically sound moves on his own?

What is the likelihood that Snowden IS, in fact, masterfully playing this situation.

</comment></comment></comment></comment></comment><comment><USER8>
        $('.region').style.visibility="visible"

to show content without running their js.

</comment><comment><USER9> What about things like [http://en.wikipedia.org/wiki/2008_submarine_cable_disruption](http://en.wikipedia.org/wiki/2008_submarine_cable_disruption) ?

</comment><comment><USER10> I once read a story that it should be possible to hook into a transatlantic fiber optic cable using a submarine. But I do not know if that would actually be feasable since you probably would like to save some of that data and there ain't much room in a submarine.

<comment><USER11> It's entirely possible. And the USS Jimmy Carter - a sub with smaller subs inside - was designed to do exactly that.

[http://en.wikipedia.org/wiki/USS_Jimmy_Carter_(SSN-23)](http://en.wikipedia.org/wiki/USS_Jimmy_Carter_\(SSN-23\))

<comment><USER12> The _Jimmy Carter_ is also widely assumed to be a replacement for a previous submarine that has been carrying out similar missions since the 1970s (initially tapping copper cables), the USS _Parche_. Obviously, nothing has been confirmed, but it seems to be something of an open secret. There is extensive discussion in, among other places, the 1998 book _Blind Man 's Bluff: The Untold Story of American Submarine Espionage_ ([http://www.amazon.com/gp/product/006097771X/ref=as_li_ss_tl?...](http://www.amazon.com/gp/product/006097771X/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=006097771X&linkCode=as2&tag=kmjn-20))</comment></comment></comment>


New finding supports Moon creation hypothesis - <AUTHOR> http://sciencebulletin.org/archives/5656.html <comment><USER2> (September 2016) blogspam of:

[http://hub.jhu.edu/2016/09/26/moon-made-from-earth- impact/](http://hub.jhu.edu/2016/09/26/moon-made-from-earth-impact/)

(Worse than regular blogspam; it's a copyrighted article with the author's name removed.)</comment>


Ask HN: Best resources for learning Java 8? Too many - <AUTHOR>

Twenty friends are learning Java together with no background in development (for the most part).
We do have three full time Java developers, all good friends, who will be each volunteering two hours a week, so we have a two hour class three times a week.
What resources would you recommend? <comment><USER2> I'm assuming you are one of the 3 devs so you know the resources you should use will change over time. I would suggest when starting to learn to avoid any IDE. They will definitely want to use one later, but nail down the basics first. Go with text editor and do compiles manually to educate them on what is going on (bytecode running in JVM, etc.)

Start them off with a simple problem to solve like opening a comma separated list of data in a text file and parsing it into objects to then display on screen. Pick some data that is of interest to the 20. Teach them how to log errors and where to look and how to troubleshoot.

As far as learning programming goes - Oracle has maintained the decent documentation/tutorials on Java here: [https://docs.oracle.com/javase/tutorial/](https://docs.oracle.com/javase/tutorial/)

Start them on the basics trail ... as a group they probably have some idea of a project, so focus on the aspects of Java that will help that project going.

Once they understand the basics - choose an IDE for the group and learn the ins/outs of that together. And if you all are going to be contributing together on a project, learn how to use a source code control tool.

Also if it is a web project, my approach would be to learn the basics of HTTP get/put with Servlets and forget frameworks. Once they understand the model of web applications - introduce frameworks and that there are trade-offs when choosing one (speed of dev with complexity of solution).

<comment><AUTHOR> I appreciate the feedback. Upvoted for sure.

I thought we would start with Eclipse as it's easier, but you bring up a good point. No IDE's. Note taken.

I'm thinking I will use Spring as well. If anyone thinks that is a mistake (or confirm it's right) -- it would be appreciated.

Thanks</comment></comment>


Annals of Sociology: Red sex, Blue sex - <AUTHOR> http://www.newyorker.com/reporting/2008/11/03/081103fa_fact_talbot <comment><USER2> The most interesting paragraph to me:

 _Bearman and Brückner have also identified a peculiar dilemma: in some schools, if too many teens pledge, the effort basically collapses. Pledgers apparently gather strength from the sense that they are an embattled minority; once their numbers exceed thirty per cent, and proclaimed chastity becomes the norm, that special identity is lost. With such a fragile formula, it's hard to imagine how educators can ever get it right: once the self-proclaimed virgin clique hits the thirty-one-per-cent mark, suddenly it's Sodom and Gomorrah._

That seems to suggest that once peer-pressure starts working for the effort in the general population, there is a corresponding rise in hypocrisy as a sort of peer-pressure-release valve, and that can even undermine the committed core.

This effect might be generalizable to other moral-suasion campaigns. This deserves studies and articles all by itself.

</comment><comment><USER3> Am I the only one who thinks both sides are wrong? Not having sex because god doesn't want you to is sort of insane, but not having sex because you won't get into a good college if you do is equally bad.

It's possible to do something dangerous, responsibly. Not that sex is terribly dangerous.

<comment><USER4> _"There is nothing safe about sex. There never will be."_ Norman Mailer

<comment><USER5> Good one. Apart from killing, sex is the most powerful biological thing a human can do. Like killing, it shapes and changes the genome (and the community) far beyond the creature that actually commits the act.

The problem with teen sex is that too many wield this power far too lightly. Like a child who's just found its father's gun, they don't really understand the ramifications of what they're doing or the risk that they are taking.

<comment><USER6> One of the best ways to learn is to take a risk or know someone who takes a risk. Obviously this doesn't work in all cases, one has to be mature enough to internalize and understand the ramifications when exposed to them. But they do have to be exposed to what these risks and ramifications are.

"Social liberals in the country's "blue states" tend to support sex education and are not particularly troubled by the idea that many teen-agers have sex before marriage, but would regard a teen-age daughter's pregnancy as devastating news. And the social conservatives in "red states" generally advocate abstinence-only education and denounce sex before marriage, but are relatively unruffled if a teen-ager becomes pregnant, as long as she doesn't choose to have an abortion."

There's the answer right there. If the families and communities treat teenage pregnancy as a (relative) non-event, then there are no ramifications to getting pregnant. They "understand the ramifications" and "the risk of what they are doing" to be relatively low. By encouraging abstinence and not making it hard on those who don't practice abstinence, it's sending a message that sex isn't that big of a deal.

</comment></comment></comment></comment><comment><USER7> <http://en.wikipedia.org/wiki/Roe_effect>

<comment><AUTHOR> The Roe hypothesis is false.

A similar argument has been used to explain why religious groups that oppose having children die out fairly quickly. But in the case of American politics, those making the argument assume that the American two-party system will still exist in the timeframe 30-100 years, and further that abortion will still be the primary political topic in a generation or three. The last assumption is ridiculous. And we haven't even considered that new generations often discard important values from the old.

<comment><USER7> There are certainly lots of assumptions, but it might be valid for the first generation that has already passed. This is borne out in population growth numbers by state.

I linked to this mainly because I find it interesting, not because I believe it.

</comment></comment></comment><comment><USER8> The author thinks that the correct sex ed would reduce the teen pregnancy rates in those groups.

The author doesn't know those groups very well. They're getting pregnant because they want to get pregnant and have kids. Different sex ed won't change that.

<comment><USER3> I grew up in Texas, reddest of the red states, and a lot of my friends did abstinence pledges. Most were Christian Evangelicals to one degree or another (they even evangelized to me, though god only knows why. I wasn't really liberal at all back then).

So I know these groups pretty well.

None of them, not a single one, wanted to get pregnant and have kids at age 16. Have sex, certainly, have irresponsible unprotected sex even, but getting pregnant was not something anyone wanted. Maybe in five or ten years, but in high school, none.

<comment><USER8> I grew up with these groups too, albeit not in Texas but in the midwest and rural CA (and then some in the underbelly of Silicon Valley).

For some, having a kid got them out of the high school that they didn't want to be in anyway. (Or, junior high in some cases.) In other cases, it let them say "I'm an adult" and others thought "my kid will have to love me".

Some waited until after high school, or at least the spring of their senior year.

</comment></comment></comment><comment><USER9> You can go on about sex education and religion all you want but I think it all boils down to cost of living. Red staters can get very cheap but decent housing and support a reasonable standard of living from labor that doesn't require a phd. So they have more babies at all ages, because it's not as big a deal out there. A baby in New York will condemn you to a life in the suburbs, cutting years off your absolutely necessary $20 martini nights at the club.

The more interesting thing is the reporting on this matter itself. There's a constant stream of urban liberal editorials/articles on red state teen pregnancies. I think it's because at some level liberals are freaked out about being out-bred by such a wide margin. This is why the self-congratulatory and "chastising the hicks" bits are so necessary.

This is why Palin and her family freaks out a lot of liberal women SOO badly. She's a stark reminder of their infertility.

<comment><USER10> > This is why Palin and her family freaks out a lot of liberal women SOO > badly. She's a stark reminder of their infertility.

Uh, no.

I'm not a woman, but the women I know who are freaked out by Palin (and ALL the women I know are in fact freaked out by Palin, since you brought her up) are freaked out because they feel she's an incompetent, hypocritical buffoon dressed up in $150,000 designer clothes that Republican donors unknowingly bought.

And they hate her policy proposals - the policies they are able to parse out of her almost incomprehensible verbal wanderings.

<comment><USER9> You just described 98% of politicians at the national level. Palin is completely unremarkable. There is clearly a special, visceral reaction to her that has nothing to do with policies.

> dressed up in $150,000 designer clothes

I'm sure Obama used his own money for the make-up artist before the debates and also paid for the backdrops used for his convention speech. Newsflash: the parties spend money on TV appearances.

Note: I do not like Palin or McCain. I only find the reaction to them intriguing.

<comment><USER11> <http://bagnewsnotes.typepad.com/bagnews/obama-shoes-400.jpg>

</comment></comment></comment></comment><comment><USER12> Everything annal has my approval!</comment>


The Phenomenologically Distributed Human Parasite M0 (1998) - <AUTHOR> https://www.datapacrat.com/Opinion/Reciprocality/r1/index.html <comment><USER2> So the dullness of the daily grind is a memetic parasite? This feels like haha-only-serious quasi-satire.

<comment><USER3> Thanks for saving me the 30 seconds to look...

</comment></comment><comment><USER4> I think the mechanistic argument that this paper tries to make about dopamine unfortunately falls into the trap that much of popular science writing dealing with neurotransmitters makes, by using hand-waving, oversimplified explanations of how our brain works to somehow justify its sociological or cultural thesis as being based on "science". I will probably get downvoted for saying this, but Jordan Peterson's writings on serotonin comes to mind here.

This piece can somewhat be forgiven, because it takes the view on dopamine that almost all pop-sci writing takes, which is that it's "the pleasure chemical", i.e "The level of the neuroinhibitor dopamine in the human's brain rises. This induces a subjective experience of self-absorbed well being, while rendering the human quiescent". A more accurate view of dopamine's function is that it controls incentive salience or "wanting", and that wanting vs. liking are distinct attributes of our reward system [1][2]. Dopamine causes the seeking of pleasure. Pleasure itself is caused by something else. This view that the high dopamine state is associated with quiescence and satiety are in direct contradiction with observations. It is well known that amphetamines raise extracellular dopamine in the brain. Folks who take amphetamines become highly motivated, active, aroused, excited, etc. Conversely, there is a class of drugs (dopamine antagonists) which block the action of dopamine. Side effects of these include sedation and lack of sex drive.

I would have to agree with the authors in the conclusion section that "this reinterpretation hangs on the specific assertions as to the function of dopamine..", and unfortunately, these assertions don't seem to be evidence based.

I feel bad for ragging on this paper so harshly, but it struck me that their starting point was that "hackers" in the HN sense, and a select few other small groups of folks on Earth, are special, different, and enlightened, and that the vast majority of other humans are defective and afflicted with a sort of mind-virus. This is such a dark worldview, and it reeks of the kind of silicon valley exceptionalism that is spoken about on this site often.

[1] [https://en.wikipedia.org/wiki/Motivational_salience](https://en.wikipedia.org/wiki/Motivational_salience) [2] [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5171207/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5171207/)

<comment><USER5> Thank you for your outline and response. The OP is fascinating, if flawed, blending as it does the domains of humanistic analysis (what you identify as "popular science writing dealing with neurotransmitters"), theoretical neurobiology, and (what I would call) cyborg ontology.

For me, its value lies in its efforts to articulate an "object" (M0) that exists across the boundaries of well-understood ontologies by combining empirical science, phenomenological analysis, and cultural theory (this last is not apparent and may be something I'm furnishing myself).

Your "ragging on this paper so harshly" is to my eyes a serious engaging of the article and its conclusions and helps triangulate its value.

So thank you.

</comment></comment><comment><USER6> I had some memory of this from slashdot, a long time ago. It became a curious little online mini-cult.

Found it:

[https://news.slashdot.org/story/99/09/29/0914253/the- program...](https://news.slashdot.org/story/99/09/29/0914253/the-programmers- stone)

[https://news.slashdot.org/story/99/10/26/137207/beyond- the-p...](https://news.slashdot.org/story/99/10/26/137207/beyond-the- programmers-stone)

</comment><comment><USER7> M0 = laziness, dejection, lack of motivation etc.

<comment><USER8> I thought it was an on-the-nose encoding of MO (modus operandi).</comment></comment>


Chromium OS version 70 ported to Raspberry Pi 3B(+) - <AUTHOR> https://github.com/FydeOS/chromium_os_for_raspberry_pi <comment><AUTHOR> If anyone is interested in picking up the development of Chromium OS for Raspberry Pi, this may be another source of reference.</comment>