HNHacker News
TopNewBestAskShowJobs

tomg

317 karma · joined August 17, 2010

The meaning of life is to be kind.

14 years of doing full-stack web development.

submissionscomments
tomg··on 2600: Spring Issue and Important Update
https://en.wikipedia.org/wiki/2600:_The_Hacker_Quarterly
tomg··on New Yorkers consider relocating post coronavirus
I'm one of those people who live
tomg··on Ask HN: How to rediscover the joy of programming?
As someone considering leaving the web development industry after 12 years:

JavaScript is a never ending grind.

Callbacks, then Bluebird, then Promises, then a sync await.

a new testing framework every six months. a new web framework every couple of years. aimless, massive changes to the language (classes in a prototyped language? Why not).

JavaScript then coffeescript then three versions of typescript. too many UI libraries to mention.

JavaScript on the server? the people making the most popular web framework abandoned it 5 years ago but who cares?!

paradigms that make no sense (react morphing from a UI library to the full app). a million ways to manage state.

then you have a few big players calling all the shots (FB, MS). I guess we use functional components now. Eurasia has always been at war with Oceana.

It’s tiring. I’ve spent my entire career doing this stuff; and I’m never quite good enough before The Next Big Thing comes along.

I know things change over time everywhere, but it’s hard to imagine anything moving faster with less purpose than the JS ecosystem.

(Apologies for typos and grammar; I’m on my phone)

tomg··on Ask HN: Freelancer? Seeking Freelancer? (October 2019)
SEEKING WORK - NYC or Remote

Full Stack Web Developer - Jack of all Trades

12 Years of Experience. Have worked with major brands (ebay, MLB, Red Bull, Playboy) and architected systems for startups.

Portfolio / work history: https://tomgraft.dev

tomg··on Ask HN: What are some more authentic online forums?
I believe HN will remain as it is, thanks to the behind-the-scenes work of the moderators.

https://www.newyorker.com/news/letter-from-silicon-valley/th...

https://drewdevault.com/2017/09/13/Analyzing-HN.html

tomg··on I Hate Puzzles: Am I Still a Programmer? (2011)
> A few weeks ago I was contacted by a recruiter from a fairly high-profile San Francisco-based startup — if I was interested in joining their team. Sure! Great! Could you please solve this algorithmic puzzle within half an hour? I failed. Hiring decision made. End of story.

I didn't realize how bad this Google/Facebook cargo-culting had gotten until looking for a new job the last few months (I'm approaching my 9th year in the industry). It's quite pervasive.

tomg··on Ways to maximize your cognitive potential
Joining a Board Game Group or getting together with your own friends (and not just playing the same few games over and over) checks off many of these boxes and is a lot of fun!
tomg··on Mistakes Beginners Make When Working with Databases
LIMIT / OFFSET should be avoided from day one for a realtime app. It's not too difficult to build a future proof solution, and in my experience you run into problems rather quickly if you're building a realtime system (user generated content especially).

LIMIT / OFFSET problems:

- There are portability issues with some other kinds of datastores and can be a mess to keep caches consistent (removing an item from one page requires invalidating every page set after it)

- It makes caching at the request / cdn level more complicated.

- Any update to the data while the user is paginating results in duplicate or missing items (especially noticeable with any kind of infinite scroll).

You can instead use something like ?object_id=123&page_size=50 to get the next 50 results after item with id=123 (assuming some default order, you could also pass in an order param). To keep your client code clean, you can return a pagination object with the response so you don't need the client to figure out the id of the last object and build the url.

tomg··on Google Home
> And today, I basically see the tech giants as colossal enemies.

I think it's important to note that in-house voice recognition is simply the Nth iteration of a general trend away from privacy that has been going on for many many years.

Eg: Our emails are scraped, and use to target ads. I see ads for specific things that I've only mentioned as a 'reminder email' from myself, to myself. SMS can be read as well, at least on Android if the user allows it. And even if you are very careful to avoid this (using iMessage, hosting your own email, etc), the people you interact with may be sharing this info. People upload their contacts to random services, and if you avoid doing that yourself, your friends may not. These are just trivial examples in the wild now which don't include state-level surveillance (legally mandated ISP web history tracking, license plate tracking, etc).

I'm happy that having a microphone always listening in your home is bringing so many people around to this idea that maybe having companies know so much about you isn't an OK thing. But another part of me feels that short of strong privacy laws, the privacy ship sailed a long time ago.

tomg··on Artificial intelligence: Ten things you need to understand
https://en.wikipedia.org/wiki/History_of_artificial_intellig...
tomg··on [dead]
Security through obscurity is no security at all!
tomg··on The Rise of Renting in the U.S
http://www.nytimes.com/interactive/2014/upshot/buy-rent-calc...
tomg··on How a Legal Journalist Got Fired for a Non-Compete
> After you sign something, it's not important if it's reasonable or not: you have to uphold it.

This is simply not true. Trivial examples include a contract without consideration, or an apartment lease with clauses that attempt to restrict rights granted by local law (very common in NYC). Most non-competes in the state of California are not enforceable as well, even if you agree to it.

tomg··on M, a personal digital assistant inside Facebook Messenger
The PA does not work for you, it works for FB. It has only FB's interest's in mind. You are not it's employer as you do not pay for it.

It's not in FB's interest to make honest recommendations. If Bob's Burgers is paying $1000/mo in FB ads, but Karen's Burgers keeps being recommended as the "good burger joint", how long before Bob stops buying ads? And why would Karen start buying FB ads since she's getting exposure for free?

tomg··on M, a personal digital assistant inside Facebook Messenger
Have an ad network buy products on my behalf? No thanks.
tomg··on Last Task After Layoff at Disney: Train Foreign Replacements
"According to federal guidelines, the visas are intended for foreigners with advanced science or computer skills to fill discrete positions when American workers with those skills cannot be found."
tomg··on How Betty, Who Is 89, Gets Her News
For the web: https://readability.com/
tomg··on Brendan Eich Steps Down as Mozilla CEO
It's important in the context of your comment to remember that Mozilla Corporation is owned by the Mozilla Foundation, a 501(c)(3) with a political mission of extending an open internet.

The Mozilla Foundation accepts donations and in turn provides grants to many political (or quasi political) causes, including:

- Creative Commons

- Free Software Foundation

- Open Video Alliance

- Personal Democracy Forum

- Public Knowledge

- Software Freedom Conservancy

Mozilla is not a normal company. It is a politically-motivated, donation-accepting non-profit. IMO, it is completely in line for them to ask the CEO to step down for their political opinions.

References: http://www.mozilla.org/en-US/foundation/about/ http://www.mozilla.org/en-US/about/manifesto/ http://www.mozilla.org/en-US/grants/

tomg··on Secrets of running a six-figure Airbnb business
Heh, yeah I mean people do get locked out though sometimes... gotta do the neighborly thing.

Calling the LL / Calling the cops are a bit more of a nuclear option that I'm looking for; I just want to find out who's doing it so I can discretely ask them to inform their renters of a few things. I don't want to see airbnb go away :)

tomg··on Secrets of running a six-figure Airbnb business
Someone's renting their place out on airbnb or similar in my building (in NYC) and it kinda sucks. Most people are just rude but otherwise uneventful, but some are noisy, some smoke outside my window, some can't figure out how trash works. Some lock themselves out at 4:30am and buzz and bang on my window until I let them in since my buzzer is the only one that works. Not sure what to do.
tomg··on [dead]
lobste.rs seems like a good alternative, but you need a referral from a member to get in. Still worth browsing in read-only mode but it lacks any real discussions. [The sum of the comment count for all front-page articles on there is 15, though most of the links are less than a day old and the oldest is 4 days.]
tomg··on I'm learning to code by building 180 websites in 180 days. Today is day 115
If you're at all familiar with the command line / Linux, then VPS could be an easy way to go if you don't expect a lot of traffic. Nginx is easy to configure for this kind of thing: http://stackoverflow.com/a/11778085/1301376

The minor downside is that you'll be responsible for keeping your server up to date, but with a bit of upfront work you can mostly automate it.

tomg··on An App Store Experiment
I'm surprised the author isn't putting ads on the free version.
tomg··on Cowards
Even a suspected terrorist deserves a trial. If they are guilty, if they are a terrorist, then they will be given the punishment they are due.

The problem with deciding that suspected terrorists don't deserve the same rights is that those rights are/should be inalienable. If we decided to start making exceptions, then those rights are no longer inalienable and it's just a matter of degree.

What is a terrorist but a murderer with a political agenda? So perhaps we shouldn't give murder suspects a trial either. And what about a suspect who's attempted to murder? Why give them a fair trial? And so on.

The degree of heinousness of the crime should determine the punishment, not whether the accused deserves a trial.

tomg··on Our Django Book is Launched
Thanks!
tomg··on Our Django Book is Launched
I didn't see it in the chapter list, so probably not, but is there anything in your book about writing (good) tests?
tomg··on Change your Last.fm password
You can get rid of a huge amount of password-related frustration by using a good password manager (not the rinky-dink ones that browsers come built in with).

I've been very satisfied with 1Password and I can't imagine going back to not using it.

tomg··on HTML9 Responsive Boilerstrap JS
If anyone's wondering what the JS code in the .zip does:

http://jsfiddle.net/N9TNy/

tomg··on Aspirin Really Is Kind of a Wonder Drug, Studies Continue to Show
Yes, please ask your doctor. Daily aspirin use can cause some problems in some people, such as stomach bleeding, which can be deadly.
tomg··on I don't have 404,722 users but I do have a great app. How do I get to 404,722?
Would it be possible to provide a free version? Perhaps one that prevents you from saving your notes, or only lets you make one page, or some other limitation that lets me try it out before committing $9?

I say this because $9 is, IMO, a pretty steep price for something that for a lot of people is replacing the free/included TextEdit.app or Stickies.app.

However, it may totally be worth it (and $9 is definitely an acceptable price for quality software), but I feel like you might be losing out on a lot of sales because people can't experience the "wow-factor" first hand. I've spent a lot of money on todo/notes/GTD style apps and have yet to find the right "fit" so for customers like me it'd important to be able to see if it's right for me before buying.

Good luck!

← PreviousPage 2 of 4Next →