Brain.cards – learn anything on the go - <AUTHOR>

brain.cards is a flashcards app that focuses on real-world UX design. This is the closest you can get to real flashcards. Each card is spatially modeled to look like a real one. It has 2 sides and you can write on both. You can flip cards. When you swipe through your cards the app will automatically help you memorize them. It's powered by a machine learning algorithm.
It is great for people who want a simple tool, to write down the things they want to learn. When you're bored, just start swiping through your cards. You'll begin memorizing things faster.
Android download --> https://goo.gl/AcWfek <comment><AUTHOR> Android download --> [https://play.google.com/store/apps/details?id=net.zebry.brai...](https://play.google.com/store/apps/details?id=net.zebry.braincards)

</comment><comment><USER2> I think people will feel safer if you direct them to get it via the Play store, where people can expect it to have been vetted a bit.

Search on "brain.cards" in quotes.

<comment><AUTHOR> You're right. Thanks, man.</comment></comment>


Aric's World: Library of design documents from classic games - <AUTHOR> http://wilmunder.com/Arics_World/Games.html <comment><USER2> Pdfs of Aric Wilmunder's game design documents. Promises a couple every few months. Currently has

      * 1983 06 13 Star Raiders II
      * 1985 02 14 The Dragon Game (The Eidolon)
      * 1985 02 25 Alien Tanknology (Koronis Rift)
      * 1985 04 30 The Eidolon
      * 1986 12 17 Maniac Mansion
      * 1990? Mutiny on Monkey Island
      * 1990? The New Monkey Island
      * 1991 The SCUMM Tutorial
      * 1996 The SCUMM Manual</comment>


Show HN: Build your own Flappy Bird in your browser - <AUTHOR> https://www.makegameswith.us/build-flappy-bird-in-your-browser/

<comment><AUTHOR> If you're interested in how this works, we also released a blog post about it: [https://www.makegameswith.us/gamernews/330/how-we- compiled-4...](https://www.makegameswith.us/gamernews/330/how-we- compiled-400000-iphone-apps-for-the-hour-o)

<comment><USER2> Wow! That's actually really amazing, thanks for posting that!</comment></comment>


How to Handle Monetary Values in JavaScript - <AUTHOR> https://frontstuff.io/how-to-handle-monetary-values-in-javascript <comment><USER2> Maybe it's just that I've done a few gigs at financial institutions, but it's pretty shocking to see the number of people in this thread arguing that it's a-ok to use floating point for money. I don't want to get dragged down into specifics, but if you're doing this, please, please don't. Money is one of those things like dates and times - everyone who hasn't done much of it can't figure out what all the fuss is about. Just... please, at a minimum, if you don't want to be bothered, find a reputable third-party library with Money and Currency or some such, and use that. It really won't add much work for you.

<comment><USER3> I'm curious to hear about your specifics, since I was at a shop where front office used all floats (doubles).

Not sure what the back office did, but I doubt it was all done in arbitrary position arithmetic.

Note that if an accountant says things need to be accurate down to the penny, that's probably an exaggeration [1]. Financial statements are typically rounded to the thousands, e.g. Intel's are rounded to million [2].

The IRS also lets you round off dollars [3].

I agree though that if you're building a large complex system with many coders, and either 1) nobody has a full view of the calculation and can do the numerical analysis or 2) there's a high chance that at some point in the future you need penny-accurate bookkeeping, then it's safer to use a very wide int or float type.

Of course, there's also the case where the accountant or auditor doesn't actually _need_ penny precision, but it's easier to just tell the coder 'just in case'.

[1] [https://www.accountingtools.com/articles/2017/5/14/the- mater...](https://www.accountingtools.com/articles/2017/5/14/the-materiality- principle)

[2] [https://s21.q4cdn.com/600692695/files/doc_financials/2017/an...](https://s21.q4cdn.com/600692695/files/doc_financials/2017/annual/Intel_Annual_Report_Final_corrected.pdf)

[3] [https://taxmap.irs.gov/taxmap/pub17/p17-006.htm#TXMP5d034bfb](https://taxmap.irs.gov/taxmap/pub17/p17-006.htm#TXMP5d034bfb)

<comment><USER4> If you bill customers for anything, and there are multiple items being totaled on an invoice, you do _not_ want that total to be anything except an accurate sum of the individual parts.

At a minimum, you look like a rinky dink operation that doesn't know how to add dollars and cents. On the other end of the spectrum, some people will likely accuse you of theft, and not nicely.

Do not fall under the assumption that the amount you mis-bill will inform how upset the people are that contact you. You will likely be the easy and obvious scapegoat for all their recent annoyances. For example, imagine all the people upset at their AT&T, Comcast or Verizon bill, who now have an easy and obvious thing to point at as an example of over billing. Have fun with those transferred emotions...

<comment><USER3> I think that's the disconnect here — 'high' finance is _not_ an exact science, and clients don't actually have an easy way of checking the numbers directly themselves — not only the models, but the inputs are also proprietary. Even auditors and regulators are dependent on bank models.

Note that the article's advice is to use their own library, but the library just uses JS floats as ints and a separate precision arg:

[https://github.com/sarahdayan/dinero.js/blob/master/src/dine...](https://github.com/sarahdayan/dinero.js/blob/master/src/dinero.js#L47)

This doesn't give you any more precision than using floats directly, just a wider 'mantissa' range.

<comment><USER5> > This doesn't give you any more precision than using floats directly, just a > wider 'mantissa' range.

I think this analysis misses a deep and important point. The library you linked uses _decimal_ floating point (in software) instead of the binary floating point used by IEEE floats.

The point of this is not to increase overall precision. A double is already precise to 2e-14% of its value, which means it's capable of representing something like $1 Trillion before it will get off by a whole cent.

The point of using decimal floating point is that it can exactly represent the values we care about when dealing with currency. This allows us to have no error, instead of trying to keep our error small. It means we never have to round (unless performing division).

You could have 1000x the precision in binary floating point, and decimal floating point would still be better for money.

<comment><USER3> > This allows us to have no error

That's not true, because the software 'mantissa' in that library still only has 52 bits of precision (2e-14%).

E.g. if you try to add $100 trillion + $0.01 using dinero.js, you still get underflow and the $0.01 disappears.

</comment></comment></comment></comment></comment></comment><comment><USER6> I really like the approach Perl 6 takes with FatRat[1]. You basically have an object which holds a numerator and denominator, so all arithmetic calculations do not loose precision.

[1] [https://docs.perl6.org/type/FatRat](https://docs.perl6.org/type/FatRat)

<comment><USER7> Rational numbers don't lose precision, but the compromise is that they can get arbitrarily large after a series of calculations, even if the calculations themselves involve small numbers.

Having _access_ to rational numbers is great and there are times they are incredibly useful, but I don't think it's a good _default_.

<comment><USER8> For monetary values, though, the denominators should be the same.

This means that the denominator won't get arbitrarily large.

For serious uses of rationals you need to have control over when the top and bottom are divided by the GCD. For currency you want to keep the denominator at 100. 50/100 wants to remain as that and not get simplified to 1/2.

<comment><USER9> If you have a constant denominator, you don't need it. It's just a unit.

</comment></comment></comment></comment><comment><USER10> _Banking apps, e-commerce websites, stock exchange platforms, we interact with money daily. We also increasingly rely on technology to handle ours.

Yet, there's no consensus around how to programmatically handle monetary values._

I wonder if the average person would find this frightening.

<comment><USER11> I don't think it's true that there's no consensus around how to programatically handle monetary values. Maybe there's no consensus around how to do it in JavaScript.

In the Java world, there's JSR-354: [https://jcp.org/en/jsr/detail?id=354](https://jcp.org/en/jsr/detail?id=354)

Cobol has handled money well for decades.

.NET has Decimal, which should handle money correctly as long as you're working with values less than 79.2 octillion.

In my part of the world, at least, big banks tend to be mostly Java and Cobol on the back end. You'll definitely see Node, Go, and others being used for various tasks throughout the company, but when it comes to keeping track of money and moving it around, it's primarily Java and Cobol doing the heavy lifting.

That's what I've heard from other developers, anyway. I haven't worked at a bank myself.

<comment><USER12> Exactly correct. More stuff than most people expect is still handled by COBOL. I haven't worked with a bank in a few years, but back in 2015 the one I was at was attempting to migrate a lot of the COBOL tasks to Java.

</comment></comment></comment><comment><USER13> My goto for any kind of arbitrary precision math in JavaScript is [https://github.com/MikeMcl/big.js](https://github.com/MikeMcl/big.js)

As others have noted, if you're doing any kind of math that involves floating point numbers and you will displaying them to a user, you'll almost certainly want something like this.

While it's not specifically a "Money" class it can form an excellent base for one.

</comment><comment><USER14> Really excited to see what possibilities for number handling native BigInt in JavaScript will bring

[https://developers.google.com/web/updates/2018/05/bigint](https://developers.google.com/web/updates/2018/05/bigint)

<comment><USER15> probably none. To handle currency correctly you have to handle rounding to the nearest penny correctly. Computers absolutely SUCK at this, in general. So you need a Decimal library, that can handle decimal numbers. Integers _ARE NOT DECIMAL_.

IBM has had a solution for a long time: [http://speleotrove.com/decimal/](http://speleotrove.com/decimal/)

Python uses it: [https://docs.python.org/3.5/library/decimal.html](https://docs.python.org/3.5/library/decimal.html)

Get a proper decimal library, and then you can devote brain cells to actual problems. The IBM link above includes links to libraries that do it right.

<comment> village-idiot You can also just use the smallest unit and work in cents. The Stripe API does this instead of dealing with decimals.

</comment></comment></comment><comment><USER16> I looked into using Dinero.js before but it was overkill for my use case of calculating cart totals in USD only. I went with Big.js because it was better suited for what I wanted: a small library for decimal arithmetic.

<comment><USER17> Can you illustrate a case where you can't use regular FP arithmetic and round to 2 decimal places at the end?

<comment><USER18>
      (1.005).toFixed(2) // Expected rounding to "1.01"
      "1.00"

<comment><USER19> cases like that's everywhere.

2.875.toFixed(2) = "2.88" while 2.675.toFixed(2) = "2.67"

7205759403792794 + 1.1 = 7205759403792795

7205759403792794 + 1.9 = 7205759403792796

</comment></comment></comment></comment><comment><USER20> I wish you could add different currencies together:

        Dinero({amount: 5000, currency: 'USD'})
          .add(Dinero({ amount: 1000, currency: 'EUR'}))

...and then convert that sum to a concrete currency later.

This feature request inspired by [http://blog.ploeh.dk/2017/10/16/money- monoid/](http://blog.ploeh.dk/2017/10/16/money-monoid/)

<comment><USER21> How would you deal with exchange rate, which changes in real time?

<comment><USER20> In the lazy version i have suggested, the exchange rates are deferred until you "need to know" and the sum is converted into a concrete currency.

If you're keeping these values around in memory for an extended period of time time and you care about rapid changes to exchange rates, then you have a complex domain and the deferred exchanges may or may not be a good fit, but at that point you need larger system design, not a JavaScript library.

Also in my dream money library, division and multiplication would be done with whole number fractions like

        new Dinero({amount: 1000, currency: 'usd'})
        .multiply({numerator: 1, denominator: 3 })

which can similarly be deferred to prevent rounding errors in partial calculations.

<comment><USER22> You need a timestamp and a timeseries database of exchange rates so that you can go back in time and reconstruct your calculations at a latter date as well.

Source: worked at a bank that implemented pretty much this.

<comment><USER23> To multiple different currencies at multiple valuation points. With optional exchange rate costs. It's a pain in the arse ...

Source: worked on multi-currency fund tracking software.

<comment><USER20> Agreed with both of you, and using an exchange rate at a specific point in time actually could make deferring that calculation even more of a sound idea, depending on the exact semantics of what you're computing.

At larger scales even exchange rates are a leaky abstraction over a forex market, so there you go. No solution will work everywhere.

But if you're entering the prices of last week's coffee and hotel room into a web app to see how much you'll be reimbursed, you don't want to use a new exchange rate every time a form input changes.

Source: worked on multi-currency expense reporting software where everything is done in JavaScript floats.

<comment><USER22> We should all start a club defined by our forex market induced alcoholism.

<comment><USER20> The only rule is no splitting the bill

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> While reading, I thought "hang on, what about non-decimal currencies?" but it turns out that is no longer a concern for modern usages: [https://en.wikipedia.org/wiki/Non- decimal_currency](https://en.wikipedia.org/wiki/Non-decimal_currency)

<comment><USER8> You can handle non-decimal currencies by treating money as a fraction.

You can implement a correct set of fraction manipulation functions in well under 100 lines of code with a bit of algebra. It seems likely there are several well-tested high-performance fraction libraries for JavaScript. They should be tiny.

Some people in the UK apparently voted to leave the EU so that they could have a blue passport [0], perhaps there are some who also hope we return to imperial measurements and pounds, shillings and pence. I'm quite sure that even in that unlikely event, some programmers will still insist on using floating point numbers for currency.

[0] Although Malta has a blue passport and is in the EU. And the only reason the passports were blue in the first place was to meet an international standardization.

</comment></comment><comment><USER25> > Floats: 0.1 + 0.2 // returns 0.30000000000000004

The question is how much of an issue is this really? How often is 4 parts in 10 quadrillion a meaningful error when dealing with money? Especially when most of the time JS is dealing with money it will be presentation.

<comment><USER26> Yeah seriously. You'll have some front-end lib func converting that to 2 significant digits right of the decimal anyway. Weak argument imo haha.

</comment></comment><comment><USER27> _Yet, there's no consensus around how to programmatically handle monetary values._

Do what COBOL does and use it to verify your monetary library. Your code will agree with the majority of financial institutions.

</comment><comment><USER28> I usually use cents as the stored amount, so no decimals. Is there something obviously wrong with this approach?

Ie. if the price is 150.95 I store 15095 in the db and do the calculations with cents, and then divide by 100 when presenting the values.

I have never come across fractional cents, maybe that is an issue in some scenarios (would be interested to know what those are... Even tax percentage calculations are rounded to the cent)

</comment><comment><USER29> Handling currency in JavaScript just sounds like a bad idea. It's better to be using a language with a type system that has your back on this kind of thing, and preferably to deal with monetary values as rational numbers.

There's a good article on this subject here:

[https://ren.zone/articles/safe-money](https://ren.zone/articles/safe-money)

</comment><comment><USER30> Equally important to choosing a valid numeric type to store the data is solid business logic to handle it.

In the contrived example of splitting a value of 999.99 among more than one payment, the correct solution is:

        * Determine the next payment based on the current balance.
        * Invoice/Apply/Etc that payment
        * Repeat until there is a balance of 0 (zero).

<comment><USER31> recording an incoming payment and applying that payment value to specific accounts is its own thing to be aware of. People want to see that they paid $200, even if it was $150 to one account and $50 to account.

</comment></comment><comment><USER32> This advice doesn't have anything to do with JavaScript until the author starts plugging their own library.

</comment><comment><USER33> This seems like the basis for stripe handling amounts in cents to maintain integer values.

</comment><comment><USER34> Many cryptocurrency libs like Web3 opt to use bignumber js for all money manipulation

</comment><comment><USER35> Nice and simple writeup. Straight to the point without being ceremonious.

</comment><comment><USER36> Don't.

For the love of God, just don't.

</comment><comment><USER37> A while back I did some exhaustive testing of several ways to calculate sales tax on a sale in Python3 and JavaScript, testing the various "obvious" ways against all tax rates in increments of 0.0001 from 0.0000 to 1.0000 and all sale amount from 0.00 to something like 25.00.

It was interesting. Here are some simple cases to try. One or more of these break most of the seemingly obvious approaches:

       1% of $21.50
       3% of $21.50
       6% of $21.50
      10% of $21.15

Here are some examples of obvious looking but wrong approaches. These all return the tax in pennies, so the desired results are 22, 65, 129, and 212. In puts are floats, such as 0.01 for 1% and 21.50 for $21.50.

      # 1%, 10% wrong
      def tax_f1(amt, rate):
        tax = round(amt * rate,2)
        return round(tax * 100)

      # 3%, 10% wrong
      def tax_f2(amt, rate):
        return round(amt*rate*100)

      # 6% wrong
      def tax_f3(amt, rate):
        return round(amt*rate*100+.5)

Here are two that do work:

      def tax_f4(amt, rate):
        amt = round(amt * 100)
        rate = round(rate * 10000)
        tax = (amt * rate + 5000)//10000
        return tax

      def tax_f5(amt, rate):
        amt = int(amt * 100 + .5)
        rate = int(rate * 10000 + .5)
        tax = (amt * rate + 5000)//10000
        return tax

If instead of floating point input, you work with numbers already scaled up to integers (scaling the rates by 10^4 and the money by 10^2), this works:

      def tax(amt, rate):
        tax = (amt * rate + 5000)//10000
        return tax

The last three approaches, (tax, tax_f5, and tax_f4) also work well in PHP, Perl, and JavaScript.

In my code, I attach a suffix to rates and moneys that are scaled this way telling the scale factor, so I might have tax4 and cost2, meaning the tax rate is x10^4 and the cost is x10^2. I was disappointed to find that neither Perl nor Python would let my use Unicode subscript numbers in my variable names. :-(

I also did a series of exhaustive tests where I'd take every string of the form every string of the form digits dot digits with up to N digits after the dot, parse them with the languages most natural string to float converter, multiple that by 10^N and round to an integer, and verify that this was the "right" integer, and also verified that doing a floating point divide of that integer by 10^N and then using the most natural way in the language to turn that to a string with N digits after the dot gave the right result.

The idea here was to convince myself that I would not run into problems at the "convert to integer" or the "convert from integer" part. I did these tests in C, Perl, Python, and JavaScript I _think_. I'm having trouble finding my code now so I'm not sure if I tested in all of them.

Anyway, I concluded that it was safe. It's only when you start computing in float point that you have to worry.

Finally, in most of what I was doing at the time, I actually didn't ever need to convert back to a floating point format. All I was going to do with the final price, computed from cost + tax, was just display it to the user...and so if I converted to floating point I'd end up just sprintf'ing it (or equivalent) back to a string. All sprintf would really be being used for was to make sure it had the right padding and leading zeros and stuff like that.

So instead of going through floating point, I just did this (JavaScript):

      function cents_to_dollars(cents)
      {
        cents = cents.toString();
        while (cents.length < 3)
            cents = '0' + cents;
        return cents.substr(0,cents.length-2) + '.' + cents.slice(-2);
      }

(I assume that if I knew JavaScript I could do something much nicer than that while look for the padding).

<comment><USER15> why didn't you just use the decimal module[0]. It's been in Python since 2.4 and just handles penny problems for you, basically zero brain power required.

0: [https://docs.python.org/2/library/decimal.html](https://docs.python.org/2/library/decimal.html)

</comment></comment><comment><USER3> > Using floats to store monetary values is a bad idea

This is waay overstating the case, it very much depends on whether getting the exact answer down to the penny matters to you.

Worked for a few years at a large investment bank, everything was done in floats because the _modeling error_ of your derivatives pricers would be much larger than the roundoff error, but floats were much more convenient to develop with and faster since you avoided a bunch of casts.

Most of the time people think they need things down to the penny, they actually don't. An accountant does not care if you rounded off a few thousand dollars in your $10bn a year income statement.

A customer does not really care that you paid them $0.33 three times, rather than $0.33 twice and $0.34 on the third transaction (and fixnums don't even solve this 'extra precision' case without a bunch of extra work).

<comment><USER38> I _really_ want to be generous here: I think your experience is very isolated. I have family that is executive level at a Wall Street bank, they would have you fired over the superfluous loss of a dollar, much less a few thousand dollars because that type of rounding error can end up in the millions over the course of a year if you deal 100+ million dollar transactions 5-6 times a day.

Here's how it would go:

"Why are we losing a couple of thousands of dollars?"

"Well it was easier to just work in floats"

"Pack your shit and get the f--- out of here, now."

<comment><USER39> It really depends upon the context. If they're talking about reporting and forecasts, floats are almost certainly fine. The back end actual storage is generally always numerics, however.

<comment><USER40> Depends on the reporting - if it's legally mandated reporting or tax reporting, then it's going to get audited and any rounding mismatches are definitely not okay.</comment></comment></comment></comment>


Show HN: I made my Raspberry Pi a secret phone homing server - <AUTHOR> http://www.tunnelsup.com/tup/2013/05/08/raspberry-pi-phoning-home-using-a-reverse-remote-ssh-tunnel

<comment><USER2> These things are fun, and certainly not new. You can buy devkits that already look quite unobtrusive: [http://en.wikipedia.org/wiki/SheevaPlug](http://en.wikipedia.org/wiki/SheevaPlug)

The one in this article looks like a fire hazard. I guess that's one way to cover your tracks :P

<comment><USER3> Get discovered? Fire off a forkbomb!

</comment></comment><comment><USER4> A few suggestions:

SCP'ing the public key directly to ~/.ssh/authorized_keys could overwrite the file if it already exists. It's better to use 'ssh-copy-id', which takes care of everything for you. Most distros should have it already.

Autossh can take care of setting up, monitoring, and restarting the tunnels for you. Arguments are almost exactly the same as ssh, just toss it into your crontab and have it run @reboot.

<comment><USER5> Actually you can write a nice little script that treats autossh like a daemon and restarts it if it crashes.

I did something like that on Arch linux.

Also it's probably a good idea to give it a user with limited permissions on the server it's connecting back to so if somebody finds it the can't just use it to hack your box.

</comment></comment><comment><USER6> Setting I2P up on the RPi then setting ssh up to listen on a I2P hidden service on the RPi would be better than the method shown. That way if the device is discovered it would be impossible to trace back the actual IP address of the person connecting to it and an adversary obtaining your ssh key wont be able to log into any of your servers.

Check out this presentation from DerbyCon about using a cheap NAS to do something similar: [http://www.youtube.com/watch?v=dxdm86r26Co](http://www.youtube.com/watch?v=dxdm86r26Co) Irongeek has a writeup about the same thing here: [http://www.irongeek.com/i.php?page=security/svartkast- pogopl...](http://www.irongeek.com/i.php?page=security/svartkast-pogoplug- dropbox) and some instructions to do it specifically on an RPi: [http://www.irongeek.com/i.php?page=security/raspberry- pi-i2p...](http://www.irongeek.com/i.php?page=security/raspberry- pi-i2p-svartkast)

</comment><comment><USER7> A tor hidden service with ssh is a great way to set up a reverse tunnel:

[https://www.torproject.org/docs/hidden- services.html.en](https://www.torproject.org/docs/hidden-services.html.en)

</comment><comment><USER8> For the purpose of physical drop boxes, there are much better tools than a Pi. For example this one [http://wiki.openwrt.org/toh/tp-link/tl- wr703n](http://wiki.openwrt.org/toh/tp-link/tl-wr703n) is cheaper (< $20), smaller, much more power efficient, and comes with WiFi! Strip the wrapping plastic box and you can hide it practically anywhere with batteries powering it for days.

</comment><comment><USER9> "Now I am on a computer in someone elses network. Woohoo! Now I can do remote tech support more effectively."

Great line. Now, if only the NSA were as helpful with its remote tech support.

</comment><comment><USER10> Is the power adapter board sitting on top of the Pi? They should be separated by some panel to avoid shortcircuits and/or feeding mains power into it. It looks like there's enough space too.

<comment><USER11> Some tape would suffice too.

<comment><USER10> I disagree, tape isn't that reliable for covering larger areas with sharp and uneven surfaces. Plus, it tends to peel off by itself when heated. Should be better to just secure the two boards apart from each other at opposite ends of the case.

<comment><AUTHOR> Thanks for the tip! I guess covering my tracks with a fire isn't a good option.

</comment></comment></comment></comment><comment><USER12> Here's a similar project based on another similar project that's been around for quite some time: [http://penturalabs.wordpress.com/2013/04/25/blue-for- the-pin...](http://penturalabs.wordpress.com/2013/04/25/blue-for-the- pineapple/)

Original project: [http://hakshop.myshopify.com/products/wifi- pineapple](http://hakshop.myshopify.com/products/wifi-pineapple)

</comment><comment><USER13> Cool project, I've thought about doing something similar and bought a gumstix for roughly this reason before the Pis were out (although power is harder to figure out on Gumstix).

Slightly ominous line: "I have this plugged into an office somewhere."

</comment><comment><USER14> This "attack vector" is relying on the fact that you get physical access to the targets router/switch, so you can connect to the network and I think network admins would stop extra PSU in their networking closet pretty fast.

Which started me thinking... What if you would build RPi or similar small device into a router's casing and made it act like a router on the same time. Obviously you'd have to have some way of copying configs over from the old box to the impostor box, but it could be harder to spot since there wouldn't be any extra hardware.

<comment><USER15> eh, when you have people sleeping in cupboards and other people hiding laptops in cupboards I'd say it depends on the network.

([http://www.economist.com/news/obituary/21569674-aaron- swartz...](http://www.economist.com/news/obituary/21569674-aaron-swartz- computer-programmer-and-activist-committed-suicide-january-11th- aged-26-aaron))

</comment></comment><comment><USER16> [http://pwnieexpress.com/products/power- pwn](http://pwnieexpress.com/products/power-pwn)

</comment><comment><USER17> Nice, now I can read all those memos/meeting reminders from th e comfort of home.

</comment><comment><USER18> Someone who finds the brick can ssh into his server... that seems weird.

<comment><USER19> You should be able to limit the account that it's ssh-ing into so that it's just used for the tunnel. Or if you're really paranoid, limit the entire thing to a dedicated virtual machine.

</comment></comment><comment><USER20> 443 is a better outgoing port since https is rarely going to be blocked

</comment><comment><USER21> [https://pagekite.net/](https://pagekite.net/)

</comment><comment><USER22> The use of physical drop boxes placed behind a firewall is nothing new. There is in fact a specific Linux distro for the Rasberry Pi targeted at this use case (see pwnpi.sourceforge.net). It comes packaged with a large suite of penetration testing tools. While building from scratch is a useful exercise for engineers, reinventing the wheel does not merit much attention.

<comment><AUTHOR> While I use backtrack frequently I found the pwnipi distribution to be lacking in many things and actually ditched it to complete this project. Perhaps I'll revisit that distro again when it becomes better.

<comment><USER23> What was it missing?

<comment><AUTHOR> Some of the programs that it said that were supposed to be installed were not. Very little documentation exists to get familiar with that distribution.</comment></comment></comment></comment>


Show HN: Design Systems Repo - A collection of design system examples/resources - <AUTHOR> https://designsystemsrepo.com <comment><USER2> Secure Connection Failed

An error occurred during a connection to designsystemsrepo.com. Cannot communicate securely with peer: no common encryption algorithm(s). Error code: SSL_ERROR_NO_CYPHER_OVERLAP

        The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
        Please contact the website owners to inform them of this problem.

<comment><AUTHOR> Can you try again and see if it's still giving that error?

<comment><USER3> we still got this error

<comment><AUTHOR> DNS seems to be causing it. It hasn't propagated yet. Had to move the site away from Cloudflare because it was being blocked by networks.</comment></comment></comment></comment>


Ask NH: What online game is suitable for contests? - <AUTHOR>

I am going to start a web startup, it needs an online game that users can play, and thousands of them can be ranked according to their scores. I have done quit a lot research about this, but failed to find a suitable one.
I thought about all kinds of puzzle games like sudoku, people can be ranked by the time they use to solve, but the problem is it's easy to cheat with a sudoku solver program.
I thought about tetris, but the game is everywhere and too easy.
What I need is a culture-neutral game that's basically fun (kind of addictive), and can give every player a score, hard to cheat, and can be implemented in the browser preferably using Javascript. Any idea? <comment><USER2> It sounds like you are wanting to have your startup be built around a single game. If you are wanting to do that, you probably shouldn't use a casual game. Games with persistent worlds seem to be popular. Also, text based mmorpgs can attract a fair amount of people.

<http://Travian.com>

<http://Kingdomofloathing.com>

If you want a casual game, why have only one? There is one huge problem with casual games. You will have to code the game in such a way that it will be hard for the average person to find the memory address for the game variables.

Cheat Engine is an easy to use memory scanner that allows people to easily cheat at games. It will index all addresses for a program, for example firefox, and then let you search for them. So I can start out by indexing all addresses while playing a game, then increase a variable. Then I can search that index for all memory addresses whose values have increased. So basically I can edit almost any value in the game as it's easily observable So if you want to make the game hard to cheat, it's going to be somewhat difficult. What you need to do is to keep track track of the variables and check to see if they have suddenly changed.Maybe map x to y using a non linear transformation, and if there is ever a time where x does not map to y, you know the player is cheating. Or you could just accept input from the player and do the calculations concerning the score on your server.

<http://cheatengine.org/aboutce.php> Cheat Engine in use:[http://www.youtube.com/watch?v=zd4kf6ID1Hc&feature=relat...](http://www.youtube.com/watch?v=zd4kf6ID1Hc&feature=related)

</comment><comment><USER3> multi player 'snake'

<comment><AUTHOR> Because ranking is very important in my startup idea. In real time games like "snake", players' performance depends too much on their network connections.

The idea game (javascript code) would be able to be downloaded via players' browser, and when the game is over the browser send final scores to the server, of course I will do the something to ensure they can't trick the server by hacking on the client side. Javascript tetris can work like this, but as I mentioned the it's just a little too ubiquitous.

<comment><USER3> > real time games like "snake", players' performance depends too much on their > network connections.

That sounds like a challenge to me ! Solve that one and you've got it made, I think some kind of pipelining of game state changes should be possible. Remember, the only requirement for a real time multi player networked game is that it should make sense to whoever is looking at _this_ screen, if you put two screens side-by-side then you are allowed to have differences. As long as it all works out again by game-over.</comment></comment></comment>


Boys found alive after 50 days at sea - <AUTHOR> http://beta.ca.news.yahoo.com/given-dead-50-days-adrift-sea-3-teens.html

<comment><USER2> Yes, it's a fantastic story, but why is it specific to hackers or entrepreneurs as opposed to the general populace?

Flagged.</comment>


Balancing of Chemical Equations Using Matrix Algebra (2015) - <AUTHOR> http://iiste.org/Journals/index.php/JNSR/article/viewFile/20721/21315 <comment><USER2> I'm very confused. This was an example of applications of linear algebra in my first year course on it. Why was this published in an actual journal? Anyone who has gone through the first semester of university already knows that they can do this...

<comment><USER3> Scam-Journals are a business. [https://en.wikipedia.org/wiki/Predatory_open_access_publishi...](https://en.wikipedia.org/wiki/Predatory_open_access_publishing)

Enough people succumb to the pressure and publish anything just to look good on the publication count metric.

</comment></comment><comment><USER4> sorry, I'm missing the joke. this was homework in my linear algebra class last semester. why was it published in a science journal in 2015?

<comment><USER5> And why did they misspell Matrices as "Matrixes"?</comment></comment>


Amazon Elastic File System – Production-Ready in Three Regions - <AUTHOR> https://aws.amazon.com/blogs/aws/amazon-elastic-file-system-production-ready-in-three-regions/ <comment><USER2> YES

Finally we can start using standard posix semantics for things.

Yes people might say its primitive, but currently all I can see is people trying to re-create shared files systems over protocols not designed for it _cough cough_ HTTP

Finally I can have a shared home, with a shared environment.

A single readonly binary source (great for docker by the way.) also great for ensuring one version of scripts, without having to ansible everything.

<comment><USER3> At 10x the price for S3.

<comment><USER2> You are correct. However its not for the same things.

S3 is high latency, HTTP semantics, no locking mechanism.

EFS is low latency, high throughput shared file system with standard posix interface. _everything_ can write to standard files. Not many things can write using S3 effectively.

</comment></comment></comment><comment><USER4> This is really cool but also kind of a shame. I feel like it will encourage bad behavior.

I can see people using this to deploy code by deploying onto the shared volume so that all their instances get an "instant update". Which is great when it works, but lord help you when EFS goes down and every app server you have is hung on a broken NFS connection.

<comment><USER5> I think that deploying onto a shared volume is exactly the workload that EFS encourages. That things will stop functioning can be said about any (AWS) technology. "Lord help you when (S3|RDS|SQS|etc.) goes down and every (thing) you have is hung up on a broken (thing) connection."

The rational argument here is that if uptime is important to you, the solution is to utilize multiple regions, of which EFS is now in 4. You are using AWS because of the SLA and the assumption that when something goes wrong there are legions of technical folks trying to fix it as soon as possible.

<comment><USER4> The difference is that all of those services are accessed via an API, which means your client can do clever things when it fails, like timeout, give a fallback, find an equivalent resource in another zone or region, etc.

With EFS, it's exposed as NFS, which hooks in much deeper. If it goes down, there isn't anything you can do to work around the problem, unless you start hacking your own file system kernel modules.

<comment><USER6> Can't you measure and timeout on the file-descriptor writes too?

<comment><USER7> Do you want to start wrapping your system calls to read files in code that forks to periodically check for a hung system call?

<comment><USER8> It's worse that that, actually. With hard mounts (the default), the only way to interrupt is with SIGKILL, which if my memory serves me correctly, is a process-wide signal. So you'd have to do all NFS I/O in a separate child process.

With soft mounts (does EFS support this?) you can exchange SIGKILL for religiously checking return values for all I/O syscalls, retrying partial writes and whatnot.

</comment></comment></comment></comment></comment></comment><comment><USER9> I think it is worth mentioning that Azure offer something similar with Samba / CIFS/ SMB protocol. [1]

This is the underlying tech that powered their Docker volume plugin as well [2]

I'm using in production for serving up small images to some web servers, and I'm currently in playground with docker stuff.

So far, so good. I'm impressed.

[1] [https://azure.microsoft.com/en- us/documentation/articles/sto...](https://azure.microsoft.com/en- us/documentation/articles/storage-dotnet-how-to-use-files/)

[2] [https://azure.microsoft.com/en-us/blog/persistent-docker- vol...](https://azure.microsoft.com/en-us/blog/persistent-docker-volumes-with- azure-file-storage/)

edit: footnotes

<comment><USER10> A notable difference is that Azure file shares have a 5 TB limit for the whole share, and a 1 TB limit on the size of any given file [1], while EFS has no limit on the size of the file system, and a 52 TB limit on the size of any given file. [2]

Disclosure, work for AWS.

[1] [https://azure.microsoft.com/en- us/documentation/articles/sto...](https://azure.microsoft.com/en- us/documentation/articles/storage-scalability-targets/#scalability-targets- for-blobs-queues-tables-and-files)

[2] [http://docs.aws.amazon.com/efs/latest/ug/limits.html](http://docs.aws.amazon.com/efs/latest/ug/limits.html)

</comment></comment><comment><USER11> We use a columnar database and we insert data to it periodically (30s to 90s) using Kinesis as middleware. Files are immutable and each insert creates [count of columns] * [count of tables] files. The database also periodically merges the batch files in background.

Since EFS was not available, I was trying to develop a FUSE filesystem that writes data to both S3 and local filesystem (EBS) for durability and read only from local filesystem for performance. Even though it's cheaper than EFS, it's slow since each file needs to be sent to S3 individually. Our requirements are not that much because the files are immutable, there are not many files (I heard that EFS doesn't work well with many small files.), no need for concurrent access. I think I will give it a shot since it also fits our use- case.

<comment><USER12> If files are immutable, isn't s3 much better fit for it? s3 main weaknesses is that you can't modify part of a file, which makes it unsuitable for a filesystem, but looks like it satisfies your use case.

<comment><USER11> Maybe but unfortunately the database doesn't support "backup store" that we can use directly S3, it just writes the data to specified directory in a filesystem. We should either fork the database or implement "S3 backed" filesystem and we picked the latter one. Unfortunately the performance FUSE is not that good for read and writing data to S3 is somehow expensive.

<comment><USER13> If you don't mind me asking, what DB is this?

<comment><USER11> We're implementing Clickhouse ([http://clickhouse.yandex](http://clickhouse.yandex)) to our open-source analytics platform Rakam. ([https://github.com/rakam- io/rakam](https://github.com/rakam-io/rakam))

</comment></comment></comment></comment></comment><comment><USER5> I am excited by EFS but during the beta it didn't perform as well as I would have liked. I had a small Wordpress install that I wanted to make elastic in that I could have multiple web servers and all of the data was stored apart from the AMI. After testing my setup I found that latency was way too high and the performance of my site was terrible. I'm guessing it's because the amount of data was really low (100MB) and the requests were infrequent.

I ended up going with a shared volume, which works fine and performance is great, but I can only attach the volume to a single instance at a time which prevents me from running multiple instances. That said, it looks like there has been some performance tweaks to EFS so maybe it might be better this time.

<comment><AUTHOR> We addressed this use case during the preview. Could you try it again now?

</comment></comment><comment><USER14> Price is a bit high $0.3 GB / month vs. $0.1 GB / month for SSD EBS and even less for local storage. S3 is even cheaper $0.03 GB / month. So EFS is 10 times more expensive than S3.

On I/O front also EBS (gp2) and (st1) are several times cheaper.

So most of EFS advantages are in flexibility and sharing same file system across many instances. This may be great e.g. for sharing readonly binaries, but large scale data pipeline likely can be done much cheaper using different technologies.

<comment><USER2> You are right for small scale things.

I'll have to double check my working out, but you're only paying for what you use, not provision, which is one big things.

Also, if you have > 3 machines working from the same dataset (ie docker image/video/large binaryblob) there is an instant saving, without factoring in provisioned vs useable space with EBS

but, your original point, as a 1-1 replacement of a properly sized EBS mount, is correct, its more expensive.

<comment><USER15> Nitpick

"large binaryblob" is literally "large binary binary large object"

<comment><USER2> Haha, point taken.

</comment></comment></comment></comment><comment><USER16> Pricing looks competitive [https://aws.amazon.com/efs/pricing/](https://aws.amazon.com/efs/pricing/) I wonder if this helps those who perceive S3 as vendor lock-in since it replicates a traditional file system.

<comment><USER17> Does it? It looks significantly more expensive than, say, rsync.net.

</comment></comment><comment><USER18> We've been in the EFS preview for quite a while now, and we are incredibly pleased with it. We do a few different things using EFS, including using it as an output for some of our Spark jobs.

It's really a top notch product; couldn't be happier.

</comment><comment><USER19> Cool! If you are looking at shared filesystems on EC2, you might also want to take a look at ObjectiveFS[1]. Works in all regions and on GCS, and you can mount your filesystem securely (end-to-end encryption) between regions.

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

<comment><USER20> ObjectiveFS looks awesome and I've been wanting to use it, but using non-S3 storage is locked to "enterprise, I can't afford it". :(

But I also can't afford S3's bandwidth pricing.. I could, however afford to run an S3-API compatible service myself with bandwidth pricing I could afford.

But then you wouldn't let me use it because then I'd be "enterprise".

<comment><USER19> Great that you have been wanting to use ObjectiveFS. We are happy to talk with you about your non-S3 storage use case and see if we can find a plan that works for you.

</comment></comment></comment><comment><USER21> Can EFS be mounted from the Lambda environment?

<comment><AUTHOR> Not at present. I would be interested in learning about use cases for this. Post here or find me online, as you wish.

<comment><USER4> One use case would be one that came up a while back here on HN -- The person had a large binary blob that they needed to load up every time their Lambda function ran. If they could mount EFS from Lambda, they could put the large binary blob there.

Depending on how they wrote their code, if the Lambda could seek to the right part of the file then this would work, but if it has to load the entire file into RAM anyway, then it wouldn't gain them much except perhaps a slightly easier way to get the file into RAM.

<comment><USER22> Couldn't you just download the portion of the one file you want from S3? Unless EFS is significantly faster...

From a caching perspective, you wouldn't seem to gain much in lamda. You can cache in memory/tmpfs until your container eventually dies, and then you likely aren't on the same machine so there's no EFS level caching to take advantage of.

<comment><USER4> Right that was my point. You most likely have to load the whole thing into memory, but in the rare case that you can seek directly to the right spot in the file, ECS might have an advantage for you in Lambda.

<comment><USER22> Yeah, I just meant that S3 has partial downloads, so you can still seek.

EFS/NFS makes a lot of sense I think when you have a lot of random/unpredictable access across large numbers of files. You could do the same thing with FUSE/S3 but across lots of smaller files/accesses I would think the overhead adds up faster.

</comment></comment></comment></comment></comment></comment><comment><USER23> To store small files (10 to 1000 KB) uploaded by users in a web app, what is the best tool, S3 or EFS?

<comment><USER24> Object storage (i.e. s3+cloudfront) is still the correct way to store immutable files. that said, I know this will be used when the options are to rewrite filesystem access to an abstract (i.e. fs/s3/azure/etc) or just use nfs. People already use s3fs-fuse[1] which is dubious at best.

[1]: [https://github.com/s3fs-fuse/s3fs-fuse](https://github.com/s3fs- fuse/s3fs-fuse)

<comment><USER23> Would you say that the main choice criteria is immutability?

Immutable files => Object storage => S3

Mutable files => File storage with POSIX semantics => EFS/NFS

</comment></comment></comment><comment><USER25> Any ideas what they are using for NFS servers software?

</comment><comment><USER26> Can you expose the EFS file systems to CloudFront? For a future migration (local to cloud) I would like a backend application running on EC2 to use standard path names, but public access would be through CloudFront. It would be easier to migrate existing apps to the cloud with that approach, and then slowly work on changing the apps to use S3 (for cost reasons).

</comment><comment><USER27> Why hasn't anyone mentioned ObjectiveFS? When EFS was in preview just a month or so ago it was absolutely abysmal with performance for basic smaller web stuff.

OFS feels nearly like an attached disk, and uses S3. You only pay per mount. Their support has been awesome and very personal.

It provides a fuse-based full POSIX filesystem backed by S3 and can be mounted from multiple places in multiple regions. Some basic things like snapshotting they said are coming soon too.

I gave up on EFS and even though it's finally out of preview, I think I still am going to prefer OFS based on what I've seen so far...

</comment><comment><USER28> I don't have a lot of experience with pNFS but it's supposed to be an extension to NFS 4.1, which Amazon EFS is supporting. However, pNFS is not mentioned in this blog post, their website or the official docs.

That would be an interesting feature.

</comment><comment><USER29> Finally! My client was unable to use AWS for lacking of real POSIX fs.

</comment><comment><USER30> I wonder if some can run a postgresql database on top of that. This would make it relativly easy to have a master without downtime and be way cheaper than RDS.

<comment><USER31> It claims to present itself as a full filesystem so I don't see why it wouldn't, however, you're probably going to run into pretty hardcore performance issues, because the bandwidth amazon provides in general is on the stingy side, but under a terabyte, they're downright miserly, with a 10 gig filesystem only able to provide 0.5 MB/s sustained. This product is problematic at best.

<comment><USER32> Also, it is a full-fledged _NFS-mounted_ file system.

I would be very wary of running a database from that.

<comment><USER33> It sounds like a disaster waiting to happen. The latency of NFS is just too high (Even if it is very fast for NFS) for it to be safe for a database.

<comment><USER34> We're running Oracle on NFS volumes, and some MySQL databases also with no problems whatsoever.

It'll never be as fast as local disk but the flexibility it provides is very nice.

<comment><USER31> That's normal NFS. Amazon's offerings, if you have a 10 gigabyte database, you can only get 500KB/sec bandwidth --

[http://docs.aws.amazon.com/efs/latest/ug/performance.html](http://docs.aws.amazon.com/efs/latest/ug/performance.html)

<comment><USER34> Huh. well that's kinda shitty.

Our NetApp can saturate 10GBe without even trying.

</comment></comment></comment></comment></comment></comment></comment><comment><USER35> Are there any third party performance metrics yet? Read/write ops per second, and read/write bytes per second from one or many machines?

Would love to see this in comparison to a 10Gbps (or 1Gpbs) attached spinning rust or SSD NSF drive. That would really help me understand what tradeoffs are happening here.

</comment><comment><USER36> I really want to be able to access EFS file systems from Lambda. Has anyone figured out a way to access NFS?

</comment><comment><USER37> Can EFS be used as a volume for ECS tasks?

<comment><USER38> Here's a post we wrote earlier in the year about EFS and ECS: [https://aws.amazon.com/blogs/compute/using-amazon-efs-to- per...](https://aws.amazon.com/blogs/compute/using-amazon-efs-to-persist-data- from-amazon-ecs-containers/)

<comment><USER37> In the blog post the EFS is mounted by the EC2 instances from the start but i expected to be dynamic depending on the scheduled tasks on the instance. I dont want to couple EFS volumes which might be used by the containers if they might get scheduled on an instance. I would like to have a general purpose cluster and let the scheduler instrument the EC2 instance to mount an EFS volume if its needed by a scheduled task dynamically.

</comment></comment></comment><comment><USER39> Glad to finally see this in production, wish it was available across VPC peering, VPNs, etc.

</comment><comment><USER40> This is pretty awesome.

Even though we don't use AWS much due to lack of IPv6 support, we've wanted to have a giant bottomless FS for various purposes. It'd be easy to set that up in here and export it over a virtual network.

</comment><comment><USER41> Does EFS provide better throughput and latency than S3?

</comment><comment><USER42> Seems like no Windows support?

<comment><USER5> That's a good question. Originally it was Linux only as the EFS client was locked to NFS 4.0 and the Windows Server NFS client was 4.1 (why 4.1 is not backwards compatible, I don't know). However, the announcement mentioned using the PowerShell cmdlets to attach EFS volumes, and in fact the PowerShell help pages have specific commands for working with EFS. So, my guess is that it is now available for Windows and Jeff didn't do a very good job of bringing that to light.

<comment><USER43> The EC2 example shows mounting with nfsvers=4.1, so I'm guessing it got resolved by bumping the version supported.

</comment></comment></comment><comment><USER44> Still no support for incremental snapshots though right?

</comment><comment><USER31> This feels rather...primitive for a network filesystem introduced in 2016. Where are the snapshots? Where are the subvolumes? Where's the ability to send/receive volumes/subvolumes to filesystems in other availability zones? There are also I/O limits if you have a smaller filesystem with frequently accessed data, an inability to mount on machines through vpn gateways, and a lot of other seriously rough edges.

It's an interesting start to a project, but the public features feel very much lacking.

<comment><USER43> It seems like this is more of a glue layer between a more interesting backend service (EFS) and clients, but I don't know that I'd expect Amazon to do something like write a native client, versus just probably improving the NFS client behavior on Windows/Linux/...

The neat trick would be if NFS 4.X grew support for communicating interesting operations like snapshotting.</comment></comment>


Show HN: Hackerhunt – categorised curation of Show HN submissions - <AUTHOR> https://hackerhunt.co <comment><AUTHOR> Hey HN! I'm one of the two developers behind Hackerhunt. As much as I love Hacker News and it's ranking algorithm for the front page news, it has a downside for the Show HN submissions. A lot of cool and useful stuff people have actually made themselves gets lost in /shownew without a real chance to get to the right audience. That's where the idea of a curated and categorised, à-la-Product-hunt, list was born.

This is a very early proof of concept and any suggestions on how to make it better are welcome!

<comment><USER2> If there is no content is available in a paginated page then it outputs some of your code. CHeck this link - [https://hackerhunt.co/topic/blockchain/trending/200000](https://hackerhunt.co/topic/blockchain/trending/200000)

<comment><AUTHOR> It's not a bug, it's a feature!

<comment><USER3> It's a pretty neat way to handle empty conversions IMO.

Just remove the unnecessary semi-colon at the end of the code ;-)

<comment><AUTHOR> That had to be done asap! Semicolon removed!

</comment></comment></comment></comment></comment><comment><USER4> Really cool site. I recently asked HN[1] why did the free alternative to PH die and found this postmortem thread[2].

I think it really boils down to making sure that people coming to your site find something new and creative all the time - to help turn lurkers or one- time visitors into repeat visitors. I think PH does that quite well with their podcasts, daily digests, twitter updates (though they are forced but they do work), etc. Also you're building a community site so if the traffic dies in a month keep at it, it looks sites like these take many years to gain that traction. Basically I think you have something really great going here, just make sure to focus on bringing the visitors back and you will definitely have a winner!

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

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

</comment><comment><USER5> This is great. You have a small (albeit fun) bug when hitting next page though: [http://i.imgur.com/eqTVBPy.png](http://i.imgur.com/eqTVBPy.png) :)

<comment><USER6> On that fine line between a bug and an easter egg

</comment></comment><comment><USER7> I like how Hackerhunt is the most popular item on Hackerhunt:

[http://i.imgur.com/68OeJ94.jpg](http://i.imgur.com/68OeJ94.jpg)

<comment><USER8> You might get fined by EU for this practice ;)

[1] [http://europa.eu/rapid/press- release_IP-17-1784_en.htm](http://europa.eu/rapid/press- release_IP-17-1784_en.htm)

<comment><USER9> Actually, you can only be fined by the EU if you have a dominant position in the market you are using to promote your service. The goal is to avoid monopolies jumping from one market to the other (which is particularly easy to do in tech). "Good" monopolistic companies may benefit the customer in the short term, but proper competition benefits everyone in the long term.

I know it was just a joke, but it really doesn't apply to this case.

<comment><USER8> I know that and i'm happy that there are still entities in world that can still influence google and other mega corps.

<comment><USER9> I wouldn't reply seriously to a joke before, but I became somewhat aware of the danger of sarcasm after recent global events...

I'm now feeling the need to properly contextualize hyperbolic jokes, so that people reading don't take it literally.

</comment></comment></comment></comment></comment><comment><USER10> Well done! I'd just add a way of suggesting tags for the submitted projects to make them more useful.

</comment><comment><USER11> Really like the design and agree that the idea serves a purpose. Must be really discouraging to brave the Show HN and have it fall flat.

Wondered if maybe having the list for today, then perhaps some other recent options in a slimmer format either beside or below?

Nice work though!

</comment><comment><USER12> Nice!

A feature ive been missing on hackernews, that perhaps you'd be willing to add, is a community written tldr for each link.

I.e apart from title and link, a short (200chars or so) description anf tldr.

</comment><comment><USER13> Are you aware of the thread of threads?

[http://news.ycombinator.com/item?id=2158116](http://news.ycombinator.com/item?id=2158116)

</comment><comment><USER14> If you can nail down the categorization, get some more historical stuff, and maximize that newsletter or just suggestions. This should be a great utility.

</comment><comment><USER15> Looks great. Can you tell us how you built it? I'm most interested in automatic categorization of submitted articles.

<comment><USER16> Hey, thanks! It's a bit of deep learning magic combined with a few days of manual labor tagging the training set :) The classifier itself is an LSTM and runs on TensorFlow. As said, this is a proof of concept so we'll try to improve it over time.

</comment></comment><comment><USER17> Hi! Just thought I'd report a bug - when you search, and try to click the comments icon to go to the HN post, it goes to [https://news.ycombinator.com/item?id=undefined](https://news.ycombinator.com/item?id=undefined)

</comment><comment><USER18> This is very useful, as a frequent HN user, I find myself strolling down the showHN tab quite often, and the current UI doesn't let you go more than 3 pages deep (~5-6 days old posts).

<comment><USER19> Yeah, it'd be nice to have the archive available.

</comment></comment><comment><USER20> [https://hackerhunt.co/topic/development/trending](https://hackerhunt.co/topic/development/trending)

if(!res.statusCode===500){ TODO

};

Hee-hee :D

</comment><comment><USER21> Nice work! I just noticed a bug though, trying to go to the next page of system software that is sorted by votes doesn't work. Instead of going to the next page, the first page is reloaded with /NaN appended to the URL, as such:

[https://hackerhunt.co/topic/system/votes/NaN](https://hackerhunt.co/topic/system/votes/NaN)

<comment><AUTHOR> Thanks for the notice! Bug eliminated!

</comment></comment><comment><USER22> That's really cool! Thanks for making this website, it's absolutely useful, it might save a lot o projects. I can tell that because I have myself posted on Show HN and my submission never made it past the /shownew. Probably because it was not that interesting to HN's audience, but I can imagine how many really cool projects end up buried in there.

</comment><comment><USER23> Those stories would get onto /show and also the front page if they got more upvotes, so it is indeed a curation problem. If you're willing to do the work of rescuing good submissions that the rest of us missed, that's great! I wonder if we could integrate that back into HN somehow.

</comment><comment><USER24> Minor issue and I understand why it happens, but the name of the submission here ("google.com") isn't terribly helpful :)

[http://imgur.com/a/LLZhI](http://imgur.com/a/LLZhI)

</comment><comment><USER25> This is very nice! Keep it up!

</comment><comment><USER26> The UI on mobile looks great, really clean job!

I have a question, does it also index submissions which never make it to the main show page?

Also, shameless plug : I am hosting an event inspired by ShowHn in Hyderabad, India ( showhyd.com )

<comment><AUTHOR> Yes, Hacker Hunt indexes all Show HN submissions, including those who never make to the main page. Actually - that was the whole reason to make Hacker Hunt happen.

</comment></comment><comment><USER27> How are the topics assigned? Two Show HN posts I have posted recently (that are Open-Source and Javascript) don't have the relevant tags attached and I can't see a way of attaching them.

<comment><AUTHOR> The tags are added fully automatic and there is no option to add tags manually for now. That being said, we really want to make the tagging algorithm better, so hit me at email@example.com with your case.

<comment><USER4> I created a small program to categorize titles by sub-reddit[1] to learn sci- kit, tensorflow, etc.

I basically used reddit's Bigquery data for the dataset (it's huge!). My algorithm and code is here[2].

[1] [https://www.youtube.com/watch?v=gudnFNBXc58](https://www.youtube.com/watch?v=gudnFNBXc58)

[2] [https://www.reddit.com/r/learnmachinelearning/comments/6hqd6...](https://www.reddit.com/r/learnmachinelearning/comments/6hqd6o/p_automatic_reddit_categorizer_update_first/)

<comment><AUTHOR> Initially we used all Show HN posts pointing to github repos as training data and the tags that are available at github.com, but that did return pretty noisy data.

</comment></comment></comment></comment><comment><USER28> Show HN used to be one of the awesome things about HN - a real community showcase. It's not like that any more.

As HackerHunt says, /shownew is just a place that awesome new stuff is hidden.

</comment><comment><USER29> Are there/will there be categories for general products? I like seeing the new business ideas that come through every now and then that a developer worked on.

</comment><comment><USER19> Very cool. Can I get RSS / Atom for specific topics?

</comment><comment><USER30> I too liked the idea. Basically It all comes down to giving visitors an incentive to keep coming back.

</comment><comment><USER31> Cool work, missing a "Why Cryptocurrency is Bad" section though

</comment><comment><USER32> Gives me memories of Yahoo!, in the best way possible.

</comment><comment><USER33> Can we get RSS feeds as well for categories :)

</comment><comment><USER34> Very cool.

Two bug reports:

1\. Do you have a way to receive bug reports other than HN? :)

2\. After doing a search, the left category menu disappears, and stays disappeared even after clicking the HH "home" link at top left. This is true for FF and Chromium latest-ish on LinuxMint.

There are two possible bugs here: a) do you actually want the left menu to disappear, and b) what your intent is for clicking the top left "HH".

\- Go to HH.

\- Search for something. Results appear as you type, nice. No indication from browser that a new page is loading; guessing no load by design. But left menu disappears.

\- Manually erase search bar. Menu back.

\- Type out a search again, menu disappears.

\- Click "HH" at top left. _Browser indicates a page is loading_ ", but the search is not erased and (therefore?) the menu is still missing.

\- Re-enter HH either by typing the URL into the browser location and clicking "make it so", or by clicking in from another site (like HN). Search field is empty, therefore the left menu is available.

EDIT: This was going to be a separate bug, but I think it's related to above.

Scrollbar behavior is buggy.

\- Clear site cookies. ("It's the only way to be sure.")

\- Don't click anything, just move the mouse around and scroll, with mousewheel or dragging scrollbar. Scrollbar intact, entire page scrolls.

\- Click in search field, don't type anything. Scrollbar disappears, mousewheel scrolling has no effect, regardless of where the mouse hovers. Entire page jumps slightly to right, appearing to "chase" the disappeared scrollbar.

\- Type something in search field that gets results. Scrollbar returns, top of scrollbar is even with bottom of search field, page does not jump back; I'm guessing this is "your" scrollbar rather than the browser's scrollbar. Mousewheel only has effect if mouse is hovered below the search field, in the area region where the scrollbar exists.

\- Click on any non-active area outside the search field. Search field jumps left very slightly. Scrollbar is back to full length (browser's scrollbar?), but there are now two separate scrolling areas:

\- Hover mouse at or above search field level. The entire original front page, including the missing menu and the default "Today" list of sites, scrolls up into the area from viewport top to bottom level of search field (which also scrolls up and away with the rest of the page). Search results do not scroll.

\- Hover mouse below the search field, mousewheel scrolls the search results, phantom page at top of viewport does not scroll.

\- Drag the scrollbar, the "top" scroll area scrolls.

</comment><comment><USER35> meta, cool

</comment><comment><USER36> GJ :o

</comment><comment><USER37> Sorry but, did you really had to use HH? I'm German and that only rings my right extremists alarm bells, because they use that for "Heil Hitler" (fuck them and him) for generations.

<comment><USER23> We detached this subthread from [https://news.ycombinator.com/item?id=14652276](https://news.ycombinator.com/item?id=14652276) and marked it off-topic.</comment></comment>


Show HN: Lasergist Marketplace -Your designs in laser-cut s.steel make you money - <AUTHOR> http://lasergist.com/market/ <comment><AUTHOR> Since the launch of Lasergist users always wanted this. Now we are ultra-happy to eventually make the Lasergist Marketplace! And as always, we are making this based on user requests. Have an idea? Just shoot!</comment>


Strength in Numbers: Double Your Donation with Mozilla's Match - <AUTHOR> https://blog.torproject.org/strength-numbers-double-your-donation-mozillas-match <comment><USER2> It's always a little weird when a project that takes contributions use that money to contribute to other projects. People who contribute to Mozilla financially, would most likely assume that their money is spent on Mozilla projects, and primarily Firefox.

<comment><USER3> Exactly. I have previously made a small contribution to Mozilla and I'm conflicted about making a matched donation to Tor. It almost feels counter- productive.

</comment></comment><comment><USER4> Now we need to find someone who will match every dollar that Mozilla donates, and kickstart the positive feedback loop with $1.</comment>


Hardly anyone showed up for the first public hearing on Boring Company LA tunnel - <AUTHOR> https://la.curbed.com/2018/8/29/17796090/elon-musk-dodger-stadium-tunnel-meeting <comment><AUTHOR> Related thread on the apparent astroturfing: [https://twitter.com/erinscafe/status/1034456203890372609](https://twitter.com/erinscafe/status/1034456203890372609)</comment>


Ask HN: What are your health and fitness goals? - <AUTHOR> What diet, stress, or fitness goals do you want to reach in the short term (within 3 months)? Have you been doing anything about it, and if so, how consistently? <comment><USER2> 1\. Reach novice on the four lifts here: [http://www.strstd.com/](http://www.strstd.com/)

2\. 22:00 5k

3\. 50 unbroken double unders

I strength train 3 days a week with Greyskull Linear Progression with a bunch of additional exercises. (the gist of what it is here [http://strengthvillain.com/forum/viewtopic.php?f=9&t=89](http://strengthvillain.com/forum/viewtopic.php?f=9&t=89)).

I have been at it for about 4 months and I feel the best I have ever felt, and I have an unreal amount of much energy, so much so it is starting to make sitting at a desk for 8 hours unbearable.

<comment><AUTHOR> 1\. Kudos on selecting a simple regimen to follow. I'd be wary about the deadlift and squat goals though. Depending on your knee and back health, the risk:reward ratio may be too high. Just be careful and don't push too heavy.

Glad you're seeing progress with the Greyskull Linear Progression! Sounds interesting -- I'll take a look at it.

<comment><USER2> Yes, form is so important on those two, thankfully my girlfriend is following the program as well, so we keep an eye on each other for bad form the best we can.

I'm actually much closer to novice with those than my OHP/BP, which are very far behind.

<comment><USER3> _I 'm actually much closer to novice with those than my OHP/BP, which are very far behind._

I think that's normal... At least I'd like to think so as I'm on the same boat. (and for me it's that squatting and deadlifting are FAR ahead).

<comment><USER2> Yea it's normal for sure. But the strstd scale normalizes each lift for the ranges. My presses are only half way to novice, but my legs are just shy.

</comment></comment></comment></comment></comment><comment><AUTHOR> 1\. Get rid of my lower back pain- I've had back pain and for as long as I can remember. Poor sitting posture, heavy backpacks, and sleeping curled up probably contributed to it. I tried an ergo chair (no results), a medicine ball (less pressure on my lower back, but I slouch horribly), and a standing desk (much better on my back, but caused knee pain). Stretching helps, but inflames previous injuries. I suspect a lot of stress in my life comes from repeated failed attempts to alleviate these simple pains.

2\. Deep Breathing - I'm trying to meditate, but my mind wanders after a minute or two. Trying to fight off the countless notifications, chrome tabs, noises, etc that have shortened my attention span. Goal is to hit 10 minutes of focusing on nothing.

<comment><USER4> I got rid of chronic pain I had for 4 years in 4 weeks by reading "The Divided Mind" by John Sarno. I'd highly recommend it.

And, as other's have pointed out, a wandering mind is part of meditation. The beneficial part of meditation comes from that act of noticing your wandering mind and bringing it back to focus.

<comment><AUTHOR> Started reading the book. I'm getting really into psychosomatic medicine now. Seems to be a lot of little-known value in this space.

Makes me think that the quantitative self movement is a bit misguided. Lots of health problems can be solved with emotional therapy, not by easily measurable tests.

</comment></comment></comment><comment><USER5> Honestly? I love bodybuilding. I'd love to look like a professional bodybuilder. Right now I spend roughly an hour to an hour-and-a-half at the gym, 6 days per week.

\- Monday: Quads

\- Tuesday: Shoulders

\- Wednesday: Back / Abs

\- Thursday: Hamstrings / Calves

\- Friday: Chest

\- Saturday: Arms

The hardest part, by far, is dieting properly. Eating enough protein consistently every day, and keeping carbs at a manageable level depending on existing goals (losing weight or bulking up). Also: consistently eating clean is quite hard -- it requires a lot of sacrifice: less meals out with the wife, less 'typical' foods, and it frequently makes going out with buddies for late night activities hard.

I've been doing this consistently for the past 2 years, and have been seeing great results though. Overall, I really enjoy it.

<comment><USER6> Over the past two years, I went from being 1 lbs overweight according to my doctor to 6'1" 175 by gradually starting to run and then then do yoga. I was getting up to six times a week either running 30 mins or 1 - 1.25 hours of yoga, but I hit a limit because of my diet. I just don't eat enough of the right stuff to keep that up and those are moderate (not light) exercises. If I eat sugar and breads it might be technically enough calories, but without the energy to really work out well. I wonder how many people can't get into regular exercise because they don't eat right stuff either.

<comment><USER5> I think that (at least for bodybuilding), it's gotta be 100% everything: 100% training and 100% diet. There's not really any slack room.

It's definitely challenging, but fun =)

</comment></comment></comment><comment><USER7> I've been training for a 10K run in September for the past 4 or so months, and I have two more to go. I attended last year's event and it was quite nice, so in a sense it is mostly about speed this time around. I'm aiming towards sub-40 minute finish, though right now that seems too optimistic. Sub-45 minute would do too, a slight improvement from last year.

Apart from that I've been doing calisthenics/bodyweight training way too irregularly throughout this year. It's mostly been variations of basic push- ups/pull-ups, squats and some isometric holds. Different numbers of reps and sets with practically no consistency with sessions per week. Sometimes four times, sometimes once a month at worst.

Although I can see (and feel!) the progress, I haven't paid even nearly as much effort into these hobbies as I wish I had. At least I've stopped drinking alcohol almost completely, same with cutting using sugar to the bare minimum and same goes for various flavours in foods I _make_. Actually _making_ my own food from as simple ingredients as possible has been a huge win for me. Nothing beats experimenting and being creative in kitchen!

I'm still trying to pick up some form of meditation though and get back to doing Dual-N-Back (N=2 for me :)), although this is more about health and fitness between one's ears than their body.

<comment><USER8> I've been a runner all my life, and I've run just a couple sub-40:00 10k's.

I have found that I can stay in shape to run a 10k in the low 40's fairly easily; aside from running regularly and eating reasonably, I don't have to work particularly hard at running fast. But as soon as I get in shape to run under 40:00, I have to start paying more attention to sleep. I've pushed myself too hard a number of times, and ended up with bronchitis and pneumonia from not letting my body recover enough. It was always odd to turn in the fastest times in my life just as a serious bronchial infection was taking hold.

I have since learned to let a run or two go when I'm feeling tired, and sleep more that day instead. I wish you luck; running is such a great release from technical work, and is often a good source of breakthroughs on technical problems you're trying to figure out.

</comment></comment><comment><USER9> I've lost over 15lb since April by being very strict about my diet. I wasn't overweight before, but I wanted to be around 6% body fat. I use Happy Scale (for iPhone) and weigh myself everyday and use that to really push myself to eat healthy for the day. It's been tough and I've had to work hard at it, but I have only a few more pounds to go until my goal.

<comment><AUTHOR> Congrats on the successful weight loss! Haven't tried Happy Scale, but do you think the diet is long-term sustainable?

I've been going low carbs for a while with good success, but the second I have momentary weakness and cave, I put on weight so fast.

</comment></comment><comment><USER10> I'm aiming to run every street in my city. I'm almost half way through, and I try to at least make progress on a street every time I'm out. I keep track of my progress here: [http://citystrides.com/users/1/cities/1](http://citystrides.com/users/1/cities/1)

There was no way to track this, so I had to make it myself ... I decided along the way to make it so others could sign up as well. If you've got a RunKeeper, MapMyRun, or Strava account you can join in too at [http://citystrides.com](http://citystrides.com)

</comment><comment><USER11> Throwaway for obvious reasons. My main health goals are abstain completely from alcohol and get my mental health under control. To that end, I am attending a 12-step program and am under the care of a GP for depression.

</comment><comment><USER12> I signed up for the San Francisco marathon, which has forced me to run consistently if I want any hope of being able to run the whole thing. I run after work 2 or 3 times a week, and go for a longer run each weekend.

The marathon is in 3 weeks, and after that I'd like to better round out my fitness (right now it's just a bunch of running with a few pushups and crunches here and there). Ideally I would do some weight training in the gym at work, and start taking swim lessons for the fitness, drowning-avoidance, and even social benefits.

</comment><comment><USER8> Mine is simple maintenance. I can run a half marathon at a reasonable pace right now, and I don't want to lose that conditioning as life gets busier with the end of summer. My goals is to do at least two short-moderate runs during the week, and a long run each weekend.

I also need to strengthen my midsection. I've neglected strength conditioning for a while now, and I just feel weak and loose outside of running. I think I'm going to do a month-long core strengthening routine with my wife, and see how much that helps.

</comment><comment><USER13> I want to achieve a BMI within a healthy range, as I am slightly overweight. I'm not sure if I can stabilize that within 3 months, but right now I'm modifying my diet and bicycling as transportation whenever it's applicable, I'm starting to think that this may be inadequate.

I'm not sure if I'm doing it correctly though, and it's tough to find people to help when so many of them are just quacks and amateurs. You often get "nutritionists" when you're looking for dietitians.

</comment><comment><USER14> I was a swimmer in high school and have been doing it on and off for the last few years (am 27 now). For the last 18 months have been doing squad training 2 - 3 times a week (3k in an hour, pretty high intensity). Am finally feeling back into it so have added a couple of resistance sessions. Try and surf once a week as well.

Swam a 30s for 50 LCM (long course metres) free the other day, which is the fastest I've gone in years. Feels great so now my goal is to get back under 1:03 for 100 LCM.

Exercise is so essential for life.

</comment><comment><USER15> Meeting my goals - 60 to 90 minute work outs, increasing my reps and continuing to add more challenges to my routine. Wanting to lose body fat mass - another 10 kilograms and so far I've lost 5 kilograms in 9 weeks. At the same time looking to gain more muscle mass and generally tone.

I want to incorporate more yoga and meditation in my routine. Definitely mediation and mindfulness to help with my current mental health state.

I am also looking for good online communities, tracking apps etc.

</comment><comment><USER16> I pratice [http://leangains.com](http://leangains.com) by Martin Berkhan. I found it was a little complicated at first, so I made it into an app --> [http://leanguideapp.com](http://leanguideapp.com) . I follow it pretty regularly and have gotten great results. It's a combination of carb cycling, max lifts and small reps, and an eight hour eating window.

<comment><USER17> Awesome! Just started on LeanGains myself and will definitely check the app out. Glad to hear its working well for you.

</comment></comment><comment><USER18> It's a longer term goal: Be stronger/fitter at 40 than at 30.

I've taken up powerlifting four times a week. I also walk 30mins on my lunch break each day. Over the last year I've gone from untrained to intermediate in all my lifts: [http://www.exrx.net/Testing/WeightLifting/StrengthStandards....](http://www.exrx.net/Testing/WeightLifting/StrengthStandards.html)

<comment><USER8> That's an awesome goal. I have so much respect for people who just stay fit all their lives. I am so happy I didn't burn out as an athlete in high school or college; lifelong fitness is so much more meaningful than an emphasis on being competitive at a young age.

Fred Beckey is one of my fitness heroes. He is 91, and I'm pretty sure he still climbs harder than I do.

[http://tylerroemer.com/gallery/original/fred_beckey_yosemite...](http://tylerroemer.com/gallery/original/fred_beckey_yosemite_national_park_climb.JPG)

<comment><USER18> Seeing some youtube videos of 80 year old powerlifters was very inspiring. There was one guy who started at 40 years. It's never too late to start.

</comment></comment></comment><comment><USER19> Picked up a Fitbit flex and aria. I've cut the sugary foods I've consumed out almost completely and have started walking around the city, aiming for 5-7km each day. Not a huge amount but I'm aiming to ramp things up over time. I only started a couple weeks ago but I'm enjoying it, I feel much better in general already. The tracking is definitely helping me keep on target.

<comment><USER20> I wonder how accurate is a fitbit in measuring distances.

<comment><USER21> You can calibrate them (by measuring your stride length) to be fairly accurate for walking. After a 5k run mine is usually out by about 10-20% compared to GPS, but I put that down to my running stride being longer.

</comment></comment></comment><comment><USER22> Start doing inversions in pole dance class.

Steps towards this include going to pole dance class at least once a week, if not more, doing the "pole crunch" exercise my teacher taught me to build some of the strength I'll need for this, and having a pull-up bar in my bathroom door, at which I try to do a few pull-ups most times I pass by it. I work at home so this can be several times a day.

</comment><comment><USER23> I started working out my arms, back and abs to try and counter RSI-like- symptoms. Then I noticed some woman really notice the body that came with that routine.

I went from not-ever-talking to women to the opposite, whatever you call it.

My goal is to get delicious abs. I work out 2x a week. Totaling in 2 hours or cardio and 2 to 3 hours of weights.

Shallow, but honest, right?

<comment><USER18> Don't forget your legs. Squats and deadlifts are the best full body workouts.

</comment></comment><comment><USER24> Started cycling regularly a couple months ago. I'm pretty comfortable in the 30-40 mile range right now. Would like to be just as comfortable in the 50-60+ mile range by the end of the summer.

[http://www.strava.com/athletes/3070543](http://www.strava.com/athletes/3070543)

</comment><comment><USER25> 1\. 115kg Bench press (5 sets x 5 reps)

2\. 150kg Squat (5 sets x 5 reps)

3\. 40km bike ride at avg pace of 30km/h

4\. 15% body fat (currently 21-24%)

Been following beginner strength routine from www.stronglifts.com (3 days a week) and reading/looking to implement Lyle Mcdonald's booklet on Flexible Dieting (may give RFL a try for a boost).

</comment><comment><USER26> I've personally been training for a while to do the planche.

For those who are starting with their fitness goals or want to get back in shape, I always recommend [http://nerdfitness.com](http://nerdfitness.com), great program with simple progressions.

</comment><comment><USER27> i want to get/stay fit, without the need of my brain muscles :) meening, i dont want to think about workout routines, repetitions, when its best to workout, how to fit my workout into my schedule...etc... i just want someone to tell me what workout to do, whenever i feel like it. thats why i created an app called 20 Minute Workout*, which generates you a different workout (consisting of strength building, cardio and stretching exercises) everytime you start the app. [0] [http://www.20minuteworkoutapp.com](http://www.20minuteworkoutapp.com)

</comment><comment><USER28> Hit elite as a 114 and 148 lb powerlifter (already have elite totals for 123 and 132). Also did a 60km erg piece years ago and I'm forever bitter I never did the century, so getting back into endurance as well.

</comment><comment><USER29> I am a powerlifter and want to hit 3-4-5: 315 lbs bench, 405 lbs squat, 495 (really 500) lbs deadlift. I am there in bench and almost there on squat and deadlift.

</comment><comment><USER30> Continue to cycle ~300km every week but keep the effect on my appetite in check so that I don't gain weight in balance. Carbs are a double-edged sword!

<comment><USER31> You might like Peter Attia's blog, [http://eatingacademy.com/](http://eatingacademy.com/). He's an MD and endurance athlete, and does a lot of self-experimentation.

</comment></comment><comment><USER32> Short term just stick to my current diet and exercise in the gym on a regular basis. Long term i'd like to fit comfortably in an airplane seat.

</comment><comment><USER33> Get a flat stomach. Yes, I am working on it (daily). I don't know if it can be achieved, what with this factory-reject, non-returnable body.

<comment><AUTHOR> What diet/exercise routine are you doing to get there?

<comment><USER33> I do a lot of walking and I have upped my consumption of hot peppers and watermelon. There might be some other things I am doing.

I have a genetic disorder. Belly bloat is a common side effect. I am making progress, it is just slow. I have previously used hot peppers to good effect to work on this issue. I talked to a phd chemist about it and did some research. The capsaicin opens a channel in the cell membrane at lower than normal temps and helps flush out fluid. It is kind of a biohack for a body with a defective (different) cell channel.

I am not sure what else I can do.

<comment><AUTHOR> Bummer about the belly bloat side effect :(. And haven't heard about the hot peppers trick -- I'll look into it.

Generally, activities that increase heart rate more would help with fat burn. If your doctor permits, have you tried jogging instead of walking?

I've also noticed that changes in my diet and exercise habits cause my weight to shift by a pound or two here or there before hitting a new equilibrium. I have to constantly shock my body every 2-3 weeks with new regimens to keep progressing.

</comment></comment></comment></comment><comment><USER34> Keto. My head is clearer, my sleep is better, and I've lost significant weight.

</comment><comment><USER35> to be able to boulder grades V2 - V4. I'm currently ale to do V1 and V2 with mild ease. I've been bouldering since the end of march and go 2 to 3 times a week for 3 hour sessions.

</comment><comment><USER36> New plan is get in shape playing ultimate frisbee with friends.

</comment><comment><USER37> Get my resting heart rate below 60 again

</comment><comment><USER38> Exercise 4 days per week, and walk 6 days per week. No other goals. Just maintenance.</comment>