HNHacker News
TopNewBestAskShowJobs

TJSomething

801 karma · joined October 10, 2013

submissionscomments
TJSomething··on What are the most indispensable books for indie hackers?
I was a little confused what they called an "indie hacker" and how they dedicated an entire website to such people. It's not conflating "hacker" with "startup founder". It's defining "indie" as "small startup founder" and "hacker" as "person who works in the software industry".

As the exact target audience, it's kind of neat to me.

TJSomething··on New research questions the evidence for health benefits of eating less red meat
I suspect that a lot of those answers depend on your genes and gut microbiota. Except that last one, because reliably measuring calories requires destroying the food.
TJSomething··on New Lithium Battery Design Eliminates Costly Cobalt and Nickel
The method I've come up with is to install an IME (fcitx) that has a addon that can search the Unicode database for a character. So, I press a key combo, type "subscript four", and press enter.
TJSomething··on Names do not transmit meaning
The very concept of functors was created to describe sets that did exactly that. The functor laws only require that there is an operator that can wrap a value from one category into the functor's target category, that mapping with the identity function is the same as the identity function, and that the results of composition of mapping with two functions is the same as the results of mapping with the composition of the two functions. Set fulfills these laws perfectly. There is no law for maintaining cardinality, because the functor laws don't care if cardinality is a concept that even makes sense for the target category in question.
TJSomething··on A parrot has a question for humans
I would be unsurprised if some other species had oral histories. It seems that elephants and crows are able to communicate about specific locations and people while their referents aren't around.
TJSomething··on YAML: Probably not so great after all
I think they meant "Scala", the programming language.
TJSomething··on In May 2009 O'Reilly agreed to publish a book about Common Lisp (2011)
Since Python 3 added the nonlocal keyword, they seem to be fine, although I haven't examined them too closely.
TJSomething··on Open Letter from the OpenID Foundation to Apple Regarding Sign in with Apple
OpenID Connect Core, section 2: "The ID Token is represented as a JSON Web Token (JWT) [JWT]." (https://openid.net/specs/openid-connect-core-1_0.html#IDToke...)
TJSomething··on Open Letter from the OpenID Foundation to Apple Regarding Sign in with Apple
The entire point of the nonce is that it can't be predicted by anyone but the client, proving that the client initiated the transaction. This is done by having the client send it over TLS and having the identity provider sign the nonce as cryptographic proof.

Also, by my reading, the problem is that the standard requires the nonce parameter to do something and Apple ignores it.

TJSomething··on Cross-Platform GUI Toolkit Trainwreck (2016)
To add a little data on my experience last time I tried this, using UPX [0], you can get GTK+ 3 down to 9 MB. Most of the size of Qt comes from ICU, which can be feature selected to decrease its size [1]. With that and UPX, Qt can get down to 16 MB. And those can both be compressed another 30% with ZIP files for shipping.

While those aren't great numbers, I personally think it's tolerable for most usages.

[0] https://upx.github.io/

[1] https://ssl.icu-project.org/datacustom/index.html

TJSomething··on Gomacro: Interactive Go interpreter and debugger with generics and macros
I thought that most MLs did type erasure, like Java, instead of completely reified types, like C++. Although I know that F#, which is an ML that can reify types at runtime using the CLR JIT.
TJSomething··on 'Moment of reckoning': US cities burn recyclables after China bans imports
While true, the larger generators used in power plants are usually more efficient than a standard internal combustion engine, burning less fuel for the same power. Additionally, there are fewer pollutants because you get a lot less partially combusted hydrocarbons. Furthermore, a lot of power plants are going to natural gas, which emits less CO₂.
TJSomething··on Porting 30K lines of code from Flow to TypeScript
Shouldn't tuples in rest parameters from TypeScript 3.0 [0] fix that?

[0] https://www.typescriptlang.org/docs/handbook/release-notes/t...

TJSomething··on GoDaddy injecting JavaScript into websites and how to stop it
Linode's kind of expensive. I've been using VPSDime [1] for a few years, since they give us 6 GB of RAM for $7 a month. For smaller stuff, I've been happy with RamNode [2], which is $3.50 a month for 1 GB of RAM. And you can usually find good deals on Low End Box [3]. Of course, at those price points, everything is OpenVZ, which is kind of annoying.

[1] https://vpsdime.com/

[2] https://www.ramnode.com/vps.php

[3] https://lowendbox.com/

TJSomething··on Excercise in futility – Why exercise alone won't save us
Because how healthy a food is can vary with gut biome and genetics, and those are hard to control for. Exercise is also big on genetics. Isolating with high confidence whether something is good or not requires large, international datasets with people who consistently report exact quantities of everything they eat and do for decades. Since the budget for that is very rare, the best we can do is to run the same study several times on different populations. Often, studies measuring the same thing will vary in methodology, which requires even more studies to control for those.
TJSomething··on Secrets of smooth Béziers
Ah. They're using the pointerdown event, which was added in Firefox 59 (https://developer.mozilla.org/en-US/docs/Web/API/GlobalEvent...).
TJSomething··on Secrets of smooth Béziers
It's a little weird in Firefox 63 in Linux. Holding down the mouse drags the image, but after I release, it changes the curve correctly until my mouse leaves the image. It also works fine if I hold down middle click.

This can be fixed by inserting this line after line 308 of euler_explorer.js, in the onpointerdown handler:

    e.preventDefault();
By default, if you drag an image, then it moves the image. You should need to call preventDefault to prevent that, so I'm kind of annoyed with Chromium.
TJSomething··on Rot8000
Because the basic multilingual plane that it operates on isn't actually full.
TJSomething··on Researchers analysed 1700 novels to reveal six story types
That sounds a lot like some kind of episodic serial.
TJSomething··on A Dark Consensus About Screens and Kids Begins to Emerge in Silicon Valley
How would you prevent the sale of accounts?
TJSomething··on GitHub and Jira Software Integration
Having used both HP QC and Microsoft Team Foundation Server (the successor to VSS) for issue tracking, I have to say that Jira is better than TFS is better than QC. The big problem I ran into is that many teams had different fields and TFS and QC showed them all. This is a huge problem when there are well over 100 teams.
TJSomething··on Go hits the concurrency nail on the head
I personally prefer the RedMonk rankings [1] over TIOBE, since TIOBE's entirely about Google hits, which lags as an activity indicator by a few years, because sites for languages that have stopped being used stay around for years. Also, Google hits counts are really noisy, especially for languages that have names that are also words, like Go and Elixir. RedMonk uses recent GitHub and Stack Overflow activity as a proxy for popularity.

In this case though, Elixir is still way lower, at somewhere around 30th compared to Go's 14th.

[1] https://redmonk.com/sogrady/2018/08/10/language-rankings-6-1...

TJSomething··on Java is still available at zero-cost
Where is this is going to leave GraalVM and JIT for ARM? I believe both of those are exclusive to Oracle. And I was kind of excited to use GraalVM.
TJSomething··on South Korea has limited a working week to 52 hours, in order to stop overwork
Schools have fixed costs and marginal costs, just like everything else. Fixed costs consist of capital, like buildings. Marginal costs are like teaching time and books. Increasing your capital is usually relatively slow, e.g. buildings take a while to build and land takes a while to sell.
TJSomething··on Ask HN: Best programming language or theory to learn before learning Rust?
I can't find it right now, but I've read a study that showed that teaching Python and then another language yields better understanding then just jumping into the harder language.

I was able to find the article "What About a Simple Language? Analyzing the Difficulties in Learning to Program" by Mannila, et al., which found that first time programmers found it easier to write bug-free programs in Python than Java and subsequently had a lot less trouble with the details of Java after learning Python, as they did not have to use the mental bandwidth to learn the most basic concepts of programming while also learning static typing and the incantations required to use Java.

TJSomething··on The Matrix Calculus You Need for Deep Learning
Those Wikipedia pages are kind of awful for pedagogy, but they have the right equations, so I won't cover those.

Say we have a curve that corresponds to how good of a fit your model is. We want to try to find the maximum on that curve. However, calculating every point of the curve is too expensive, so we want to minimize the number of points we have to check. So, we start with a guess as to the highest point on the curve and take the first and second derivatives of the curve at that point. This gives us enough to fit a parabola that approximates the curve in the neighborhood of our initial guess point. Then, it's pretty easy to solve for the highest point on the parabola. That's our new guess. Repeat that a few times until the guesses stop shifting much. If the curve is nicely shaped (i.e. smooth everywhere, only has one maximum), the guesses will converge on the highest point.

This is a often faster than a similar method, gradient ascent, which relies upon only taking the first derivative. This would yield a line in the vicinity of our guess, and then we just move our guess a little bit, such that it goes up the line. This is pretty slow, since it can't just go straight to a guess of the top, and if you go too fast, then it'll blow right past the maximum.

The Hessian matrix is the higher dimensional equivalent to the second derivative there and the gradient is the equivalent for the first derivative. For example, if we have a two dimensional surface in 3D, then those matrices will be 2x2 and capture the curvature of the 3D paraboloid in the vicinity of the guess. As you go up in dimensionality, they're called quadric hypersurfaces.

When you're fitting a logistic regression, your hypersurface is the logarithm of the likelihood that the data you have fits the logistic curve with parameters at that point. The logarithm makes the hypersurface better behaved and makes the calculus easier. You just need the gradient and the Hessian, evaluate those at your initial guess, fit a quadric hypersurface to the guess there, pop up to the top of that hypersurface, repeat a few times, and you've got your model.

TJSomething··on Introducing A16Z Crypto
I once backed crowdfunded hardware before crowdfunding services like Kickstarter were really a thing and they couldn't really get their credit card provider to accept the risk, so I had to use an international wire transfer for it. I guess cryptocurrency would be decent for that.

That really just boils down to cryptocurrency being good for business models that are so new that they sound really risky. I'm not really sure that enabling such models is really a net good to society.

TJSomething··on EU copyright reforms draw fire from scientists
I think the issue here is that advertisers are not willing to evaluate if clients can protect user data unless large sums of money are offered up front.

And if you don't profit from a website and just want to place advertisements to keep the lights on, you don't have that kind of money.

TJSomething··on Are real numbers really real?
Numbers aren't lists of digits. They're abstract concepts that are referred to by lists of digits for the purpose of convenience. You can even have numbers without having invented digits. It's just annoying to write out one million, two hundred thirty-four thousand, five hundred sixty-seven and eighty-nine hundredths. So, we say 1,234,567.89 (or 1.234.567,89 for countries that use the comma for decimals).

0.5 in base 10 is the same as 0.1 in base 2, which is the same as 0.11111... in base 3. And the choice of base is completely arbitrary, with some societies using others, like base 12 or base 60.

TJSomething··on Are real numbers really real?
It's as "real" as 1/2, which is on your list.
← PreviousPage 8 of 10Next →