HNHacker News
TopNewBestAskShowJobs

jonluca

1,729 karma · joined August 2, 2017

emergence at openai. previously founder @ weights.com
submissionscomments
jonluca··on Ask HN: What is your blog and why should I read it?
https://blog.jldc.me/

Most of my articles aren't opinion pieces or tutorials - they're explorations of topics and events I found interesting. I'll work through my logic and steps to discovering something new, or reverse engineer something that someone smarter than I did.

Some of my favorite posts:

https://blog.jldc.me/posts/illegal-streams?ref=about - Illegal streams, decrypting m3u8’s, and building a better stream experience - An article on exploring illegal sports streams online, building a client to watch them, and seeing how the streamers are piggybacking real services.

https://blog.jldc.me/posts/deobfuscating-amex-scammer?ref=ab... - Obfuscated javascript, scam emails, and American Express - An article on reversing and decompiling obfuscated javascript, tracking spam emails, and finding the root command and control server for a scam campaign.

https://blog.jldc.me/posts/ryan-air?ref=about - Ryanair, Hamiltonian Cycles, and using graph theory to find cheap flights - An article on how I routed my European vacation, writing an NP hard problem solver, and releasing a tool to help you do the same.

jonluca··on Sleeve cap ease is bogus (2005)
This is an example of one of those rare posts made by an expert that is generally understandable by anyone, but still gives glimpses into the mastery of the work by the author. Great read, love old posts like these. I have never even thought about how it's a challenge to get patterns to line up correctly on clothing.
jonluca··on How much space would it take to store every word ever said?
That's my bad, accidentally left in some earlier wording. All the numbers are correct except for references to 10 billion - those should all be 420 million. It should be updated in the text soon.
jonluca··on How to SSH Properly
The title of this doesn't properly match the contents. This is basically a how to set up an enterprise SSH environment using certificates. This doesn't tell you anything about "How to SSH Properly".
jonluca··on Making high-fidelity audio sound like it came through the phone (2018)
Looks like Firefox has issues with playing wav files in HTML5 audio blocks? Not sure actually.

Added an mp3 version, should work across browsers now.

jonluca··on Show HN: Goodreads Data Pipeline
As an aside, good reads is the slowest site I use on a regular basis. It's genuinely shocking how there are 5 to 6 second page load times. I'm not sure what their stack is but I'm always blown away by how any continues to use this. It feels like a competitor could beat them by just being faster.
jonluca··on The Simpsons in CSS
This is really cool. Everyone looks a bit... wispy? though
jonluca··on Ryanair, Hamiltonian Cycles, and using graph theory to find cheap flights (2018)
I don't believe in this exact format, no.

The code is fairly trivial though - Cytoscape does most of the heavy lifting https://github.com/jonluca/blog/blob/master/js/ryanair-graph...

jonluca··on Changes to Uber in California
Screenshot of email here https://i.imgur.com/3kSiNQs.png

Full text:

What’s changing?

From upfront price to estimated price range You will now see a price range rather than a set price before you request any non-Pool ride, which is our best estimate of what the trip will cost you. The final price will be calculated at the end of your trip, based on the actual time and distance traveled. You can see the final price on your receipt or in the app.

Schedule rides with your favorite drivers After you give a driver a 5-star rating, you can now add them as a Favorite Driver. Next time you request a scheduled ride, your favorite drivers will have the opportunity to accept your reservation. If you give a driver a 1-star rating, you won’t be matched on future rides.

Changes to Uber Rewards benefits We unfortunately have to discontinue some Uber Rewards benefits, like price protection on a route and flexible cancellations, for trips in California. To learn more, see the Rewards hub in your Uber app. We’re actively working on new benefits for California riders, so stay tuned for future announcements.

jonluca··on Flight stats, entertainment, and trying to crack Widevine
Interesting, you're right. I wonder why - They're just `iframe`s from Google Sheets - no custom rendering or html.

I'll do some research, thanks for pointing it out.

Update: added a fallback to images using:

``` const iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;

// iOS doesn't load google sheets embeds for some reason :/ if(iOS){ const toReplace = document.querySelectorAll('.aa-image'); for(const image of toReplace){ const imageUrl = image.id; image.outerHTML = `{% include image.html file="${imageUrl}" alt="${imageUrl}" %}` } } ```

jonluca··on Flight stats, entertainment, and trying to crack Widevine
Yeah for a while a few years back some airlines would include the camera view of the aircraft from the in seat screen.

With the transition to wifi entertainment that seems to have been lost, but would be pretty interesting to make a timelapse or be able to create a personalized dashboard from the raw data.

jonluca··on Node.js 13.0
The timezone fix is pretty nice. It's one of those issues that seeps into the institutional knowledge of a project and people tell you to "just fix it in your code". I suspect stackoverflow questions on node runtime timezone changes will plummet :)
jonluca··on Reversing Safeway's private APIs to automate coupon collection
I did that for a while too, but realized the mental overhead wasn't really worth it - occasionally I'd get the super generic coupons of "Spend $20, get $2 back" and those were worth it, but most of the time I was adding coupons I'd never use.

The mental effort of going to the site at all was what I was trying to circumvent - now I don't even need to think about it (the clearer abstraction is that going from "2 to 1" is a much less drastic jump than going from "1 to 0" - completely removing the overhead is what makes this worthwhile, IMO, not the actual speed of the actions)

jonluca··on Reversing Safeway's private APIs to automate coupon collection
This is a great analogy. I was a little worried in writing this that it might be "ruining" a good thing, and that publishing it would kill it, but I figured enough people over time have tried to take advantage of coupon-ing (and the fact that it's inherently people trying to get deals) that it was ok.

Interesting way to compare this auto script to adblocking.

jonluca··on Reversing Safeway's private APIs to automate coupon collection
I agree - I actually built the thread pool stuff for work while I was testing, since I had the code from a previous project.

If I was more worried about Safeway catching on I'd probably do something as you suggested (at the very least I'd add user agent headers and the other cookies expected from a real session, as right now it's trivial to detect my requests).

Sneaker bots do this exceedingly well - it's a constant cat and mouse game to make the requests look as human as possible, very interesting space right now.

jonluca··on Compensation in 2019 – new grad tech offers
B.Sc. from a top 20 university, 10+ competing offers from FLAAG and various unicorns, and no doesn't rhyme with Midas
jonluca··on Compensation in 2019 – new grad tech offers
I can outline my rough budget. Rent is roughly $2400, recurring charges and utilities is roughly $200, and then other expenses and "fun" is about $1200. Luckily all 3 meals are paid for from my employer 5 days a week.

Once all is said and done (all stock accounted for and distributed on a weekly basis rather than on the vesting cycle) and the expenses above are taken out, there's ~11k left over a month. This is post tax.

jonluca··on Compensation in 2019 – new grad tech offers
It is LinkedIn, and no Netflix because they don't do new grad.

Might make more sense to change it to FLAAG

jonluca··on Compensation in 2019 – new grad tech offers
That's interesting. Yeah most of my FAANG offers had no cliff (quarterly or monthly). All my unicorn offers were 1 year cliff though :/

I wonder if they'll bake the bonus in. Getting those $100k signing bonuses are pretty nice, especially since some companies give 25% or 50% before you start, which allows you to do a trip. Plus $100k added into a 4 year vesting schedule is a pretty large opportunity cost (assuming you could grow at 7% a year, which is admittedly aggressive, is leaving ~$30k on the table).

jonluca··on Compensation in 2019 – new grad tech offers
I'll look into it! I wasn't sure how in depth I wanted to go (especially since the Halloway guide that has been posted here on hackernews before is way more comprehensive) but I'll add a note in the 401k section. Thanks!
jonluca··on Compensation in 2019 – new grad tech offers
I'm actually not that sure about the rationale. It wasn't optional - their offer said "$52.88/hr for the first 12 months, $110,000 a year after the first year". I'm not sure if it's to incentivize working more the first year, whether it's "probationary" (in case the person doesn't work at all?) or if there is some other form of logic to it.
jonluca··on Compensation in 2019 – new grad tech offers
As Tyler said that's first year TC only (although with average SWE tenure reaching ~18 months, it's not unrealistic to hop around and integrate a signing bonus into your comp every other year - also depends what stage company you like working at and how comfortable you are with accepting risk). After that it's "only" around $200k, without any raises, bonuses, or stock refreshers.
jonluca··on Compensation in 2019 – new grad tech offers
Quite a few friends at Apple have offers that were paid hourly for the first year, and switched to salaried after that.
jonluca··on Compensation in 2019 – new grad tech offers
Nope, just another one of those people that accepts higher TLD risk by locating it internationally in exchange for a cool domain. I'm actually Italian!
jonluca··on Compensation in 2019 – new grad tech offers
Apologies if this wasn't clear but these are California-centric offers (and can probably be extended to include Seattle and New York). They are not across the US, or across all software jobs.
jonluca··on Show HN: PasteEnabler – reenable context actions on sites that block it
I made this after seeing the n-th bank try to limit me from copy+pasting my account number in. As if me typing in 16 numbers is going to be more accurate than copy and pasting from 1pass.

It reenables the following functionality on sites that disable it:

* Ability to paste content * Ability to copy content * Ability to cut content * Ability to right click content * Ability to autocomplete certain inputs * Ability to select text * Ability to drag and drop text to/from inputs

If a website does not allow you to copy and paste simply click the icon and try again.

Source code here: https://github.com/jonluca/PasteEnabler

Let me know if you see any sites where it does not work or that do more complicated JavaScript limits - it's very rewarding finding ways to break their "security" implementations.

jonluca··on Pathfinding.js – Visualizations and Playground
The last commit on the repo https://github.com/qiao/PathFinding.js/blob/master/visual/in...

says "Remove Trace finder as it is the same as BestFirstFinder"

jonluca··on Experiments and leaking company secrets through your testing infrastructure
The real life equivalent would be if a company wrote their secrets on the back of a letter they sent you in the mail, and just relied on you not looking at the back.

There's no security breach, or even unauthorized network request - their service is requesting this data to your machine, from within their client. I think they just aren't thinking about potential repercussions in their testing names.

jonluca··on Experiments and leaking company secrets through your testing infrastructure
My memory must have failed me, you're correct. I used to use [iOS kill switch](https://github.com/iSECPartners/ios-ssl-kill-switch), and for some reason assumed it overrode openssl! Thanks, I'll correct the article.
jonluca··on Experiments and leaking company secrets through your testing infrastructure
This is a pretty common thread with a lot of my blog posts - with the rise of SPA's and the ubiquity of REST APIs, all the difficulties of "scraping" are gone - these services will often open up a route that lets you pull everything in an easy to digest JSON format.

https://blog.jonlu.ca/posts/ryan-air and https://blog.jonlu.ca/posts/uber-stats are two blog posts of mine that follow a very similar path.

← PreviousPage 2 of 3Next →