HNHacker News
TopNewBestAskShowJobs

catwell

1,287 karma · joined March 5, 2011

Software @ Finegrain.ai. Before: inch.fr (acquired by Septeo), eFounders (Hexa), Lima, Moodstocks (acquired by Google).

https://catwell.info

submissionscomments
catwell··on Verizon to Sell Tumblr to Automattic
AFAIK "female presenting nipples" is banned from Apple's App Store in non-17+ apps. A huge company such as Facebook could maybe fight it, Automattic certainly can't.
catwell··on Alan Kay's answer to ‘what are some forgotten books programmers should read?’
You can focus on breadth or depth depending on what kind of programmer (generalist or specialist) you want to be. Matt Klein (of Envoy) had a good thread about that on Twitter [1].

He focuses on depth whereas I tend to focus on breadth. Of course I have areas and technologies I know better because I have worked in / with them (computer vision, filesystem / DB replication algorithms, Lua, etc) but I try to expand my areas of knowledge so I can understand whole systems rather than become an expert at a specific thing. For instance, right now, I'm doing mostly Web front-end stuff, which is the part of the Web stack I know the least.

[1] https://twitter.com/mattklein123/status/1130206792175169536

catwell··on Azolla Event
It's the first question that came to my mind, and as it turns out we're obviously not the first to ask it: http://www.climatefoundation.org/azolla.html
catwell··on Ask HN: Who is hiring? (July 2019)
Chilli | Full Stack Developer | Paris, France | ONSITE, fluent French required

We are a very early stage startup (founded in 2019, 5 people so far) part of startup studio eFounders (https://www.efounders.com). We help SMBs / SMEs figure out how they can leverage SaaS to improve their business. More details in English at: https://www.efounders.com/companies/chilli

We are looking for our first full stack (mostly front-end) developer besides me. This is a mid-level position.

Stack:

- Front-end: Typescript, Angular 8, Clarity 2 (considering Stencil)

- Back-end: Python 3 (typed), Flask, SQLAlchemy, Postgres, Redis, AWS

No prior Python experience is required, you can learn it on the job.

Contact: cto at hellochilli.com

catwell··on Review of Controls for Certain Emerging Technologies (2018)
You are right, of course. Asking for comments is fine.

I guess the combination of looking at the (very broad) contents of the list, past issues with crypto export and knowing Trump is in the White House made me overreact...

catwell··on Review of Controls for Certain Emerging Technologies (2018)
I am looking at this from Europe, and when I read things like this I feel like the US have not realized that their standing on the international scene has changed in the last 30 years.

Most of the research and advances in the technologies listed has not been made in the US, and even when it has it often hasn't been mostly by US nationals.

You were the country that defined globalization, and now you refuse to see the state of the world and actively harm yourselves with protectionist decisions like this. You have already lost business with regulations like Cloud Act, and now China is quickly eating your share of the pie.

You still have a major influence in the West because of two things: capital, and the historical fact that the large market leaders in tech which control distribution (Google, Apple, Microsoft) are American. Would you bet this will still be the case 20 years from now? I wouldn't if I were you.

I know a lot of the Americans here on HN probably do not agree with a lot of what their current government does, but still. Export controls don't work except to cut yourselves out of entire markets abroad and foster the adoption of competitors to your domestic companies. I don't understand how this is a viable long-term strategy.

catwell··on Ask HN: What books changed the way you think about almost everything?
- NKS (Wolfram), among other things for the idea that sometimes reasoning backwards from what you observe cannot work.

- I read Brave New World (Huxley) when I was young, and it didn't have such a strong impression on me at the time, but it has strongly influenced some of my political takes over my whole life.

- The four steps to the Epiphany (Steve Blank) showed me that there can be method to the apparent madness that is entrepreneurship.

catwell··on Lapis – A web framework for Lua or Moonscript
Sailor is unmaintained and its main author (Etiene Dalcol) now advises the use of Lapis if you want to use Lua on the Web.

(This is a pretty simplified version of the situation, see https://github.com/sailorproject/sailor/issues/173 for more.)

catwell··on Lapis – A web framework for Lua or Moonscript
The LuaRocks website is pretty small.

Lapis was born from https://itch.io (kind of like Rails was born from Basecamp). It is still the "largest" website I know using it.

OpenResty itself has a similar story with Taobao, one of the largest wesites in the world, even though now they use a fork (tengine). I think several other large Chinese and Russian websites use it.

In the US, Kong is also based on OpenResty, and CloudFlare uses OpenResty a lot (and is now its main sponsor).

catwell··on VLC developers refuse to consider updates over HTTPS
This is almost what he said they block in the installer (downgrade attacks or replay attacks).

The difference is there might still be an attack where:

- User is at version N

- Version N + x is vulnerable

- Version N + x + y is latest

- User terminal asks for N + x + y and the attacker serves N + x

However this attack is much less critical than anything letting an attacker downgrade (only applies against versions updated infrequently).

Regarding VLC on Mac, which uses Sparkle, this issue could be avoided by using HTTPS just for the updates feed (AppCast), which is not mirrored.

catwell··on VLC developers refuse to consider updates over HTTPS
I am not an expert on VLC security, but here are a few things I can say.

1) The reaction is due to the fact that VLC developers know very well it updates over HTTP on Mac. It has been reported at least 10 times in the past.

2) The comment mentioned by eps about the ability to MITM the key exchange is probably wrong. The update code the poster was looking at is not the one used by VLC on Mac, as JB Kempf (president of VideoLAN) commented. VLC uses Sparkle which is a popular updater for Mac applications, not custom update code.

3) There may still be a vulnerability. Typically apps that update over HTTP and verify using GPG are vulnerable to an attack where the attacker serves an older version vulnerable to another attack, signed with the same key. There are mitigations for that but I don't know if VLC uses them. The Sparkle project itself advises the use of HTTPS for both the updates and the appcast (https://sparkle-project.org/documentation/).

catwell··on We won a CES robotics innovation award, then they took it back
A French sex toy for women (Little Bird by B. Sensory) already won a CES innovation award in 2016. I can't remember if it was in the robotics category or not.

We are already reading the arguments of one side here, I wonder what the actual justification for the rejection was.

catwell··on Browsers
There are visible elements on top of YouTube videos.

That's what this "empty div" is for if that's the one I think it is. It is the container for things like branding and annotations.

catwell··on Ask HN: Best Centralized Backup Solution
No idea why this was downvoted. I don't have recent experience setting up something like this but 10 years ago BackupPC was the answer, and I guess it is still good.

Does anyone have a different experience?

catwell··on Parachute use to prevent death and major trauma when jumping from aircraft
Key man insurance policies explicitly exclude parachute jumps.

I know because one of the founders of the company I work for used to jump, and he had to give up his hobby for that reason.

catwell··on Ask HN: What to do after $8M (all cash, post tax) exit?
Apparently you think you are average at everything, but it looks like at least once you were good at picking a successful tech company. If this sounds right to you, why not do it again?

I would set the money aside (invest it like others said in this thread) and join another company which looks like the one that just exited, but at the time you joined it. You should be valuable to them, especially since you have experience with hyper growth now.

If it works, you hit the jackpot twice, and you have learned that maybe you have a knack for this. If it doesn't, you didn't lose much, and you have $8M so does it really matter?

The only caveat is: avoid telling people at the new company how rich you are, and under no circumstance let them have you invest unreasonable amounts of money in them.

catwell··on Transitioning Google Cloud leadership after three great years
Given recent news, I would be surprised if the future of IBM's cloud was not based on OpenShift...
catwell··on Design Review: Key-Value Storage
Glad to hear that.

To be honest the only real corruption issues I had with LMDB in practice were dues to me using MDB_NOSYNC, and broken mmap behavior on some Android devices (on external storage).

catwell··on Design Review: Key-Value Storage
Things like closing DBIs, transactions and cursors in the wrong order, for instance.
catwell··on Design Review: Key-Value Storage
In case someone involved in this reads this thread: the document does not specify which LMDB version you tested. I suggest you run your tests with the `mdb.master` branch, i.e. the work towards a future 1.0, and not the stable 0.9 branch. The answers to several of your interrogations will depend on that: with `mdb.master` you can use the VL32 mode which greatly improves usage on 32 bit platforms, and Windows support is much better.

Regarding NFS: I have recently started testing LMDB on NFS v4 and had no issues so far, but with a single process using the database. AFAIK the warning at http://www.lmdb.tech/doc/ is only for multiple processes using the DB concurrently. I am still not entirely sure there won't be any mmap-related issues, but so far so good.

Regarding "being careful": this is a very important point. The LMDB API does not hold your hand, it lets you do dangerous things which will result in corruption of your database, which you will discover too late. I suggest writing a wrapper around the API to ensure you are using it correctly. (I wish there was a compile flag like LUA_USE_APICHECK [1] for LMDB, which could help detect problems like this, but there isn't.)

[1] https://www.lua.org/manual/5.3/manual.html#4

catwell··on Ask HN: What's your favorite elegant/beautiful algorithm?
Same here! I blogged about it over 5 years ago (time flies) [1]!

Amusingly, despite having done a ton of Computer Vision (I worked for an image recognition company for 4 years) I never used it for that purpose. The main practical use case I had was related to the use of Trellis modulation [2] for band-limited communication channels.

[1] https://blog.separateconcerns.com/2013-03-03-viterbi-algorit...

[2] https://en.wikipedia.org/wiki/Trellis_modulation

catwell··on Ask HN: What are some of the best technical talks you've heard?
The talk that had the most influence on how I write software is Robert 'Uncle Bob' Martin's "Architecture: The Lost Years" [1]. Being a Ruby conference keynote, it helps if you know how Ruby on Rails works, but the lessons apply to all software.

Another one would be "Let It Crash! The Erlang Approach to Building Reliable Services" by Brian Troutwine. [2]

I don't know if you would call it "technical" but Brett Slatkin's talk on Cohort Analysis is something anyone interested in tools to analyze how our users behave should watch. [3]

[1] https://www.youtube.com/watch?v=WpkDN78P884

[2] https://www.infoq.com/presentations/erlang-reliable-services

[3] https://www.onebigfluke.com/2013/05/video-cohort-analysis-ta...

catwell··on Why Can a Machine Beat Mario but Not Pokemon?
This is super interesting. I would like to see a real (learning, à la AlphaGo) A.I. play on Showdown OU someday, without cheating (i.e. about the number of matches per day a real human player would play).

I think there are a few challenges not found in most other online games, one being that strategies that win on different strata of the ladder are not the same (e.g. hyper offense is the most efficient on the lower ladder, but at some point around 1500 / 1600 you will start losing using it...). Also, I wonder how well an A.I. trained on the ladder would do in a tournament (e.g. SPL), where the metagame is a bit different.

Your code looks like a good entry point for that, all that's needed is to write a new bot using ML libraries...

catwell··on Ask HN: Best alternative to Gmail?
What do you miss in the Android app?

I thought the same for a while, until I noticed tapping the body of an email changed the top bar options...

catwell··on Ask HN: Best alternative to Gmail?
> all their servers are hosted in the US

Not true, they have a lot of servers in Europe (Amsterdam).

That doesn't make the issue less valid though, since I think they have a full copy of all the data on both sides of the ocean.

catwell··on Pallene: A statically typed companion language for Lua [pdf]
At work, I use Lua 5.3 embedded into a large-ish (a few hundred thousand LOC) cross-platform (runs on Windows, Mac, Linux, iOS, Android) C application as a way to extend it. We have bindings for a lot of the C functions and use Lua for prototyping. We keep the code in Lua in production if possible, or rewrite in C if performance issues force us to.

Personally, I use Lua for a lot of other things including Web development.

catwell··on Pallene: A statically typed companion language for Lua [pdf]
I strongly second that. We are more and more former users of LuaJIT who either don't use LuaJIT anymore, or think it is not a good long-term solution, because of those two issues (and absence of support of recent Lua versions).

In addition to that, people working on Titan say it could become an alternative to C for people who write applications in PUC Lua + C:

- It has an FFI so it can be used to implement bindings.

- It can also be used to extract performance-sensitive code from Lua into a compiled language.

- It should support newer Lua versions, being developed by people from PUC / close to PUC. Yay, 64 bit integers and bitwise operators!

catwell··on Pallene: A statically typed companion language for Lua [pdf]
A few details:

- Pallene is a friendly fork of Titan [1]. The reason for the fork is that the authors of Titan are iterating fast and adding many experimental features to it. The research group at PUC Rio needed a more stable code base and language definition. Improvements from Pallene will be merged back into Titan, which is probably what actual programmers should use in the long run (as of now neither is ready for production).

- There was a presentation of Pallene at Lua Workshop earlier this month. Slides and video should be available at [2] at some point.

[1] http://titan-lang.org

[2] https://www.lua.org/wshop18.html#Ligneul

catwell··on GitLab raises $100M from Iconiq, GV, and Khosla, at $1.1B valuation
> As Sijbrandij stressed, while most people still look at GitLab as a GitHub and Bitbucket competitor [...] GitLab wants to be far more than that. It now offers products in nine categories

So basically, instead of being a GitHub competitor, it is now an Atlassian competitor.

catwell··on GitLab raises $100M from Iconiq, GV, and Khosla, at $1.1B valuation
And so, the clock starts.

https://twitter.com/dhh/status/222444675116711936?s=19

← PreviousPage 3 of 12Next →