HN user

SethKinast

160 karma
Posts1
Comments36
View on HN
Ord Phone 3 years ago

Submitted by user `walz` 2 hours ago.

The site pulls in an analytics script from the domain `route.run`.

Going to route.run redirects to routeshuffle.com.

routeshuffle.com/about :

   Made by a teenager
   
   I'm Riley Walz, a distance runner from New York. I made Routeshuffle to help
   with my summer training in high school.
Not only is the credit card form not actually hosted by Stripe even though it says it is, this isn't from an "experimental product studio in New York", it's a random teenager from New York that just slurped up your credit card info.

Haha, I was on the other end of this call around 2004-2005. Someone had a nice portfolio of iconography, UX constructs, etc., and I reached out to commission a theme for our software.

She had to ask her parents for permission because it turned out she was 15. I had to talk to her mom and convince her that we were an actual company trying to hire their daughter.

We used that theme for the life of the product, though!

I feel like this sort of broad-brush can be applied to almost all communities larger than a trivial size. Guns, cars, collectibles.

There are pockets of elitism where people are comfortable in their insular group and use it as a status symbol. But there are plenty of welcoming subgroups; it's just that they may take a little digging.

For keyboards, RGBKB, customMK, and Zenclack have been some of my favorite little Discord communities.

My first company's primary product was a CMS-like system that integrated with some archaic backends for inventory management. The CMS was likewise relatively barebones and inflexible. Most of the pages involved placing a selection of widgets that could query backend data in fixed ways into fixed positions on one of a handful of templates.

We got a client whose brand and web presence was relatively more-modern. I soon found out that the sales and design teams landed the client by promising much more than what the CMS could deliver-- responsive, hand-tooled pages with flexible layouts. The timeline was a few weeks.

I took a walk and despaired. The way that CMS pages were implemented meant that even small changes to page layouts required database changes, which themselves required DBA review (which only happened when the DBAs deigned to descend from the mountaintop). There was no way that we could also support arbitrary layouts with the fixed database columns.

An idea finally came to me and I found one of the only backend devs that was willing to play along. We reused one of the existing templates, a simple one with only one large content area. I wrote a frontend that injected itself into that page and rendered a canvas with slots to place arbitrary widgets. The entire configuration was then JSON-encoded and stuffed into the single text database column, and when the page was loaded from the CMS we hijacked the load to decode the config and render our widgets instead of the CMS field.

The company actually won an award for the system and gave out beer steins at the holiday party with the system's branding on it. Over the next few years, they retooled the entire CMS to actually support the concept as a first-class idea instead of my hack, although I moved on fairly shortly after that moment of triumph.

When they released the COVID vaccine for under-5s, my wife got my son the first appointment she could find, which was 2.5 months away and after preschool started.

I looked at the appointment site the hospital used, and saw that the way it populated its appointment calendar was to load an endpoint that accepted a date range and just returned a JSON array of appointments. I built a quick bash script and pointed it at Pushover, and a day or two later my phone notified me that there was an appointment available for the very next day.

He ended up getting COVID shortly after starting school and it was ultra-mild, so I'm doubly grateful that a little script might have saved him some suffering as well as freeing us to go out in the world earlier.

I built a web-based game that integrated into a popular MMO. The game was free to play but I monetized through an affiliate agreement with the MMO company.

Eventually they realized they could just copy the game and run it inside the MMO itself, so they terminated the partnership. At the end it was grossing 20k/month, but it literally consumed every moment of my free time so in some ways it was a relief to shut it down.

This was early in my career so I learned an incredible amount about scaling, catching, etc. that I was able to leverage at future jobs.

I actually added them to my "spammy recruiters" Sieve rule because I was getting so many. The combination of these rules catches a LOT of recruiter spam; most importantly, it seems that most of the recruiters that configure their tooling to automatically nag 3 times (once per week) use one of these packages, so I get to ignore them as well.

Filtering ant.amazon.com keeps order emails and such while discarding any mail sent from recruiters (though it would likely also filter mail from non-recruiters if you actually correspond with someone at Amazon).

    if anyof (
      body :text :contains "znsrc.com",
      header :contains "user-agent" "Nylas",
      exists "X-Ashby-Stage",
      header :contains "message-id" "ant.amazon.com",
      exists "X-ZenSr-ID"
    ) {
      fileinto "INBOX.spam";
      stop;
    }

I used a legacy GSuite free account for many years until it just got too painful because of how Google actively prevents those accounts from using its ecosystem (can't use Nest, can't use Family Share or family YouTube plans, and the latest one: you can no longer add such users to Google Homes for voice match).

I moved email to MXRoute and spent some painful time migrating to standard Google accounts-- imapsync to copy some email over to the new account, hacking Partner Share to get photos moved over, resetting all the Home devices.

It worked great with a couple caveats. All my store purchases and $75 of credit are on the old account and they cannot be migrated. This means I keep my GSuite account as a secondary account on the phone, not a huge deal. I lost location history and other such unmigratable metadata.

I use K9 Mail and Thunderbird and am generally pleased with them. After a week of tweaking I see better spam handling than Gmail, which was a surprise.

Overall very glad I got it done.

On a properly-configured network, all DNS requests are intercepted and routed to the desired DNS server. I do this to make Google devices respect my DNS preferences (send DNS through PiHole) instead of using their hardcoded setting.

I used NameCheap for around 10 years, until they bungled up an order I made.

I renewed a .com for an additional 9 years. When the order processed, it turns out domains can only be extended out to a maximum of 10 years, and this domain was still a few years away from expiry.

The order didn't go through and I wasn't charged.

The next day I got an email from NameCheap saying that they had manually charged me $80ish, renewed the domain for 3 years, and put the rest in the NameCheap wallet. None of which I asked for.

I went back and forth a couple times with support saying they would cancel my domain if I wanted the money refunded, when all I wanted was for this transaction I didn't ask for to be undone.

After they "made an exception" I transferred everything to PorkBun, which works just as nicely.

I have a Laura Davidson chair (clone of the Herman Miller Sayl)

https://www.lauradavidsondirect.com/products/bowery-manageme...

Some things are definitely not to the standard of the original (armrests) but the lumbar support and adjustments as well as the general fit are excellent for what I paid (~$200).

I had an armrest break and they sent me a new one the same day. And speaking to your request, they give you a 60 day trial.

I would buy another if I needed one. I spend 6+ hours in it regularly.

I think this is somewhat of a deceptive trap that people fall into. It's difficult to trial something like React unless you set up all the tooling around it, so Ember appears easier because it is blackboxed and sets things up for you.

However, that means that six months in, when your app has outgrown the constraints of the blackboxed starter, you are trapped.

There is absolutely more of a startup cost to something like React and that makes it hard to evaluate its fit for your project, but I would suggest it pays ridiculous dividends to understand the stack you're going to have to maintain for the next X years instead of having it hidden away from you.

Fiber Optic Bliss 11 years ago

I'm curious what the monthly cost is for the line (not considering the upfront cost).

Dust.js (http://www.dustjs.com/)

Dust is flexible asynchronous templating for both the browser and server.

The project languished for awhile, which I think led to it falling by the wayside popularity-wise. I picked up development last year, and the last nine months or so have seen rapid improvement of the language and documentation.

I feel like Dust would fit many use cases way better than people's current templating solutions. Because it's asynchronous, you can put Promises and Streams right into your template variables, and Dust will handle them properly.

So for example, you can pass ReQL cursors straight into Dust, and it'll stream them into the template, so you get progressive rendering in the browser without buffering the whole result set in memory.

    r.table("messages").orderBy({index: "date"}).run(conn, function(err, cursor) {
      dust.render("inbox", { messages: cursor }).pipe(res);
    });

Yep, I've been using a post-receive hook alongside "receive.denyCurrentBranch ignore"

  read oldrev newrev ref
  branchname=${ref#refs/heads/}
  git --git-dir=. --work-tree=$PWD/.. checkout -f ${branchname}
  git --git-dir=. --work-tree=$PWD/.. reset --hard $newrev
Cursors 12 years ago

The level that really made me smile was one with about twenty "exits", only one of which was real.

One of the cursors sat by the real one and danced invitingly until everyone noticed.

I can't believe anyone would put their Amazon password into a third-party site. I clicked on the link, started through the login funnel, realized what I was about to do, and stopped.

When I got the "Are you sure?" message, I started thinking that the site was specifically crafted to show how easy it is to get people to give passwords to a "reputable-looking" third party.

I expected to get some sort of congratulatory message after saying no, like "You're smart enough to not give us your password!" When I didn't get that, I came back to the HN comments, expecting to see an explanation from OP about this proof of concept.

Then I see it's supposed to be a real site. Well then.

The /css route is being served with the correct MIME type-- "text/css". That's all that really matters, despite the unconventional name.

This is likely a route that aggregates a collection of CSS automatically and outputs it.