HN user

SoylentOrange

560 karma

University of Toronto alum ex-IBM, Yelp, Symantec

Current startup founder / CTO

Posts10
Comments119
View on HN

Great article, well written, and good analogy to chess. I’ve been playing competitive chess most of my adult life and I think that the solution lies in how chess dealt with this problem:

Explicit ELO measurements with some cheating detection. AI assistance wholly banned. As you climb the ELO ladder, detection gets more onerous. At top level during online events, anti cheating teams require the use of both monitoring software and multiple cameras.

Idea is that you can cheat pretty easily at the lowest levels but it gets less easy the higher you go. This allows for better feeding into the truly elite competitions.

I think chess’s very firm stance that AI is never allowed in competition (neither online nor in person), rather than CTF’s acceptance, was the right call.

Reffie | Multiple Roles | Toronto, Canada & Austin, Texas (ONSITE/HYBRID) | Full-time

Reffie is the next-generation workflow and data analytics platform for residential real estate owners, operators, and property managers. Antiquated software causes renting to be a painful experience for everyone involved. Our mission is to streamline rental communications and house families faster. https://reffie.me/

Our backers include some of the most well-respected early-stage VCs and investors, including Haystack, Redbud, and Trust.

Open roles:

* Full-stack Eng (all levels as long as you have the requisite exp): https://reffie.me/jobs/swe-fullstack-toronto

* Applied Machine Learning Eng (all levels as long as you have the requisite exp): https://reffie.me/jobs/swe-ml-toronto

* Growth Lead: https://reffie.me/jobs/growth-lead

Tools we use: TypeScript, React, Python, FastAPI, AWS, Docker, Lambda, Terraform, FCM, Postgres

Why us: For engineers - we are among the most interesting companies building in person in Toronto today. We bring a Silicon Valley speed to Toronto's startup ecosystem.

For growth/sales - we have been growing 18% MoM for the last 10 months straight. It's an exciting time to join.

Apply by emailing careers [at] reffie [dot] me with role + HN in the subject line. More instructions in each job link.

This looks very useful for Mac setup!

I just wish there were a Linux option. Like in the example config doc, I have a dotfiles repo in Github. It includes some basic settings for vim and tmux that I like to install on servers such as jump hosts or EC2 instances when running long-running development tasks. I have a file `linux-install.sh` which will install dependencies (e.g. newer version of vim, silversearcher, ripgrep, tmux) and then another `config-install.sh` that will sync config files for both Mac and Linux (tmux config, zsh config, install vim plugins, ...). A declarative syntax would be really nice for that usecase, though not sure how common that is.

Please forgive the clickbait title.

My team and I have been using every AI tool under the sun but have found them making the same mistakes on our codebase and I thought I would sit down and distill my thoughts. It turned into a bit of a rant.

I’d like to add to the reasons for why you want an SPA over something with SSR:

* You have a large number of users compared to your resources and you can’t afford for your user base to always hit your server. Comparatively, deploying API-only apps is far cheaper when you’re resource-starved (eg early stage startup).

* You don’t care about SEO, for example you’re building internal tooling. You then don’t need to care about hydration at all. Much simpler to separate concerns (again esp at the beginning).

* Offline mode (eg PWA or reusable code in Electron) or cases where you want to be resilient to network failures. In the case that your app is dependent on the server for basic functionality like navigation, you can’t support any type of offline mode.

Just a small note about mypy and python - annotations are first-class citizens in Python3 and are not tied to any particular type checking system such as mypy, but are instead a core part of the language and actually serve vital functions in frameworks and libraries that are used to check interfaces such as Pydantic and FastAPI (eg URL params).

Mypy is just one type checker for Python, but there are many others including pyright. In fact pyright is quickly becoming the dominant checker over mypy.

This comment reads like a culture problem not an LLM problem.

Imagine for a moment that you work as a developer, encounter a weird bug, and post your problem into your company’s Slack. Other devs then send a bunch of StackOverflow links that have nothing to do with your problem or don’t address your central issue. Is this a problem with StackOverflow or with coworkers posting links uncritically?

I don’t understand this point. The project under scrutiny is Android and people are detecting vulnerabilities both manually and automatically based on source code/binary, not over commit logs. Why would the commit logs be relevant at all to finding bugs?

The commits are just used for attribution. If there was some old lib that hasn’t been changed in 20 years that’s passed fuzzing and manual code inspection for 20 years without updates, chances are it’s solid.

I was really excited for this - I’ve been saying to all my friends that I wish I could use my kindle for more. Obviously the kindle is quite slow so it’s not a good fit for reading on the web (I use Instapaper a lot and wish I could have that experience in eInk). I also read scientific papers and those often have figures that are very hard to read on a small black and white display, and I tend to scribble in the margins when I referee for conferences.

For these tasks I use my iPad Air, but the eye strain problem is real if you’re reading for hours at a time. Since I bought a small laptop, I exclusively use my iPad for reading and writing. The writing experience could be better, with the surface feeling a little too glassy.

My big worries are the app support. I use notability to write notes, which has OCR and allows syncing to my laptop and phone. My bookmarks sync across browsers. My reading list syncs with Instapaper and my citations with Zotero. Can I get a similar syncing system?

Another perennial problem with such devices is the stylus. I’ve lost 2 apple pencils at conferences. It’s horrible - you now can’t write anything until you get a replacement. At least with an Apple Pencil you can walk into any store and pay the exorbitant $120 to buy a new one (imagine if you could never borrow a pen from anyone ever again and each pen cost over $100 - that’s what it feels like). How will I get a replacement pencil for this device if it falls down in an airport or out of my bag in some conference center far from home?

But as others have said, the iPad is a tried and tested device. It has a powerful ecosystem and great resolution. The base model comes with 128GB of on device storage. And it’s $600, significantly cheaper than this device. I find the price tag hard to justify in comparison .

The Americans is a highly sensationalized and fictionalized retelling of the life stories of Elena Vavilova and Andrey Bezrukov. From a historical/accuracy perspective, there’s basically zero resemblance of the show and the source material beyond the premise.

As drama, it excels in the drama around the marriage rather than the actual fact of them being spies, and has been praised as “fundamentally a show about a marriage”. If you’re looking for a spy thriller, you might look elsewhere. It’s very “American TV” and doesn’t really stray from the formula

Unfortunately in this case the answer as written is completely wrong. See the top reply.

If you do not have a fiduciary relationship with Boeing and you have no confidentiality obligations with respect to the information, you are not trading on inside information.

Specifically this part. One of the first things you learn when doing mandatory insider trading training is you can easily run afoul of the law if you act on non-public info you overheard, or happened to see by accident, even if it has to do with some company with which you are not affiliated. A common example is you’re in a coffee shop and see an upcoming earnings report on someone else’s laptop screen, then trade based on that information.

Negotiation is always a two way street. I’m a startup founder. Your investors, when they invest, will send you some documents on key provisions (e.g. pro rata rights) and you and they will go back and forth on what is acceptable. You, as a founder, will not have the ability to unilaterally turn down all requests. Especially in early funding rounds.

Q: if this is the equivalent of a password, what’s the mechanism for resetting the password? For example, you are selling a used car. Or you have many cars each of which you don’t use too frequently. Or you have a tractor that you use seasonally. In those cases, it’s totally reasonable that you would have forgotten the password. How do you reset it if it’s wired into the power line?

Because it takes a lot of time and because the comments can get outdated. I also want this for all my code bases. But do I always do this myself? No, especially on green field projects. I will sometimes go back and annotate them later.

In the computer science academic sphere, the conferences at which one is a reviewer is among the top items on a CV. It implies that you are such a pillar and expert in that community that they would ask you to referee the merits of incoming academic work. Usually to be invited as a reviewer at a top venue, you should have a history of successfully having your work accepted to that venue. That's very difficult as acceptance rates for top CS venues are generally around 20%, and even experienced submitters often have papers rejected. My paper was actually recently rejected from Oakland (a top CS security venue).

This seems much more like a problem for the journal and reviewer than it does about ChatGPT. I am a reviewer at several computer science publications. This behaviour is likely against the publication's code of conduct for reviewers. If the author complains to the chair then it is likely their paper will be re-evaluated and the reviewer banned from giving further reviews for that conference. Being a reviewer for a top conference is a highly sought-after honour so the chair knows that it's (a) better for the prestige of the publication if reviewers are discouraged from this type of action; (b) replacing any reviewer is easy as there are many qualified applicants to choose from.

In the future, I anticipate that codes of conduct will more explicitly specify that while you may use automated tools to assist you, you must ultimately write your own review.

There are many well known problems with C++, not least of which are the long compile times, exception handling, and dependency handling. Anyone who has worked with a sufficiently large C++ code base has run into these issues.

The overwhelmingly negative comments here on HN remind me of the pushback that Rust Linux kernel modules received on HN when they were first announced around 2015/2016. Now they’re seen a much loved feature (I understand they solve different problems so the analogy isn’t perfect). I’m not confident that Carbon can be used to solve the issues that arise in large C++ projects as I’ve never tried it but that’s very different from pretending C++ is some kind of perfect language that doesn’t have these flaws and doesn’t need fixing.

I can’t speak to this, but I can say that many of the Japanese-born students I taught expressed many of these same concerns to me. My female students felt discouraged that they would not be as successful as their male peers after graduating university. Many of my brighter students lamented the job culture and the lack of startup chances.

I also lived for a time in Germany and in Canada. I want to note that West != USA.

These countries are not without their own problems but I see no need to paper over them. Rather, we can be honest about their faults and their positive qualities so we might learn to build a better society or inform others who may want to try living there.

I also spent some time in Japan. I want to push back on this:

- my wife found her job opportunities and career growth severely limited by the heavily patriarchal culture, beyond anything I have ever seen in the West

- there is vast discrimination against foreigners in housing and many other aspects, more so than in most Western countries

- like the author mentioned, students in Japan (I taught at a university) were less worldly and less knowledgeable about things going on outside Japan, extending into even their direct professional activities

- there is an abnormal amount of nepotism. It is incredibly difficult to start your own business without connections (there is basically no startup economy) and it is equally hard to advance in a large company without being related to someone important

I would stay away from writing any program in C unless it is absolutely 100% necessary for your use case. For example, if you’re working on a large existing C code base like the Linux kernel.

There are much better modern alternatives to get comparable speed for new projects. Many projects that used to be written in C are being rewritten in either C++ or Rust for better memory safety and reasoning about the memory model.

Disclaimer: I did my PhD (several years ago) in a systems and networking lab and most of the code I wrote was in C. Now for example modern kernel modules tend to be written in Rust if possible, while such an option was not available while I was working there

That dictionary is the same dictionary used by Wordle. It was extracted from the Wordle app. I’m pretty sure all of them are valid English words, which ones do you think are not valid English words?

Author here - I saw a few analyses of Wordle on here over the last few days, but it didn't seem like the strategies others used were optimal. They managed to get very good results usually by only training on the "target" set, which is the list of solutions, rather than on the more correct list of all words, which is how a human approaches this problem. I believe that this solution is indeed optimal with respect to the problem.

This solution feels a little like cheating because it's using the "target" list to train. The target list contains all the solutions, while the larger list contains all 5-letter words. A human would not know the target list. For a more fair solver, it should add the two lists together to train, and then test on the target list.