HNHacker News
TopNewBestAskShowJobs

spotman

802 karma · joined May 24, 2011

submissionscomments
spotman··on Dripcap Packet Analyzer
I would take a modern QT app over an electron app based purely on memory usage alone. It is no comparison from the potpourri of apps I have tried using both technologies.

Yes QT is more work. But it's kind of like the old adage, you get what you pay for.

Both platforms can be made to look ugly or pretty or inconsistent.

spotman··on My Most Important Project Was a Bytecode Interpreter
A distributed database.

Same category of probably not a great idea to use and claim is better than what's out there ( it won't be ) but boy howdy will it teach you about distributed systems and pitfalls that will absolutely help you when you are working on one at your day job.

spotman··on Nootropics
Completely agree. I prefer to run at night, because running before work means I have some kind of timeline that has to occasionally be accounted for, like another thread running.

So after work is done, I love going on some kind of cardio adventure for 30-60 minutes. Running is my favorite but biking also works.

When I get home, all steam is blown off, and I manage to fall asleep in most cases.

Naturally, I am not really a great sleeper. Cardio helps a lot.

spotman··on Browser History (2013)
> Today, the only option for ensuring an XHR request is made when the user re-visits a page via the back button is to (1) add an unload handler then (2) use cache busting.

I'm sure there is exceptions, but in general, the last thing I want my browser to do when i press back, is to start making requests. I expect the requests to have been already made.

spotman··on CouchDB 2.0
On their site they do say however: "And we care a lot about your data. CouchDB has a fault-tolerant storage engine that puts the safety of your data first."

So, yeah, I think even if eventually consistent, and not immediately consistent, they want you to feel they have taken care of your data when designing the thing, so seems prudent to do.

spotman··on Dear Al-Jazeera: thank you for doing the right thing
With all the kerfuffle, I would not have imagined it would be so easy to replace.

So, after poking around, it looks like pageflow is the actual creators of this stuff, and scrollytelling, has built a business around supporting it and hosting it?

While concurrently, it appears pageflow can also be paid to support and host their own product?

Weirdly, pageflow appears cheaper too!

Am I missing something? Would this be equivalent of someone opening up a competitor to wordpress.com, powered by wordpress?

spotman··on Api.ai is joining Google
Google does this too. There is exceptions but they are rare.
spotman··on Ask HN: How can I convince people that UX improvements are valuable?
A/B testing and measuring specific goals. If the goal is to frustrate people less measure how much time they spend on things. If the goal is revenue measure if the ux change converts better or worse, etc.

But it is hard to get people to listen when it's just one opinion or the other. Arm yourself with data.

spotman··on People in Los Angeles Are Getting Rid Of Their Cars
West LA has a great bike trail system and you never need to go out of a 1-3 mile radius for anything. Venice, Santa Monica, culver city, Mar vista etc
spotman··on [dead]
Chalk it up to just a normal lesson you learn in life, be very grateful you have a way to make money.

Meanwhile plan your escape to your next job more thoughtfully, and make sure that when you leave with the latest gig you feel they would speak positively of you. This is important to build a network of healthy resources.

Doing something that is not passionate is a place we all find ourselves in. Some people end up staying there for a long time and find other things in their life to excite them.

Personally over the years I have gone back and forth from extremely grueling passionate work to some jobs are more 9-5 slinging code for money.

In either case learn the most you can from where you are and paddle towards a happier situation, but set this one down smartly.

spotman··on Facebook Hired Me at 18. But My Story Isn’t as Perfect as It Sounds
Overall this reads like a nice coming of age story under extraordinary circumstances. Much more positive than negative here, but it sounds like the author sees more negative than positive.

A key takeaway is stress, stress management, growing up too quick, and this young mans wading into having to learn about these quite young.

Having said that, to publish an app at 13 and work at Facebook when your 17 is amazing and I hope the author takes some solace in that and continues to share the 'you can do it' attitude and not only see the obvious mismanagement of the family resources which I'm guessing the parents played a large role in.

spotman··on Ask HN: Taking a few months off?
Was in an extremely similar situation a few years ago and I kept asking the same question but continuing to burn myself out while I considered what to do.

Finally I just snapped and was unable to work or really communicate with anyone. I stopped showing up and felt horrible for my totally unprofessional exit. I had been barely sleeping and while sure the money was amazing I had no time to spend it.

In hindsight I should have worked on my communication skills and rapidly tapered down my efforts to a sane place. But I waited until I was just broken and had to bail.

However, it was in the end a much much needed rest. I took 4 months off work, got outside a ton, lost a bunch of weight, got my personal life and friendships recalibrated and jobs and work started showing up as soon as I was ready to work again.

Since then I have made healthier habits, and people actually respect me the same amount or more for having those habits. I also have learned tricks to still get an amazing amount of stuff done without burning out, which is largely communication, diet, exercise and sleep, all things I used to be awful at.

Take the break, it will be worth it!

Edit: and with 9 years of experience you already know how to learn, don't make the focus just more technology, at least make it a partial computer break.

spotman··on Context aware MySQL pools via HAProxy
All kinds of reasons. A few quick examples:

- say one of the slaves actually has some monitoring system break and now runs out of disk space, and stops the ability to write locally, so the lag will go up and/or health check will see its replication is failing, and it will automatically be taken out of the pool.

- say you run a site where a user has a list of songs they like. some users have larger libraries than others, but there is a few outliers that have 100x the amount of songs. your growing fast and you have some code paths that are not optimized for this, and some features that folks barely use that you don't spend time on. one of these users goes on your site and uses this feature and now you have 1 slave that is lagging because the overly intense query landed on it.

- say you have a high traffic site, or you are in a datacenter where you are sharing networking gear with a very high traffic neighbor, and the datacenter has over provisioned the networking gear, so there is no headroom for bandwidth. now you have slave lag if your replication is passing thru a switch at saturation. maybe this is only present some times of the day, on some slaves, so they will be taken out of the pool so servers with better network paths are prioritized.

spotman··on Walking a mile is 3x more expensive than driving, from a fuel perspective
This is a good thought exercise, but kind of comes across like a random equation looking for an explanation rather than interesting observation in search of an explanation.

I can't imagine the person driving doesn't spend as much or more than the person walking on food.

If we are saying that this small amount of money VS drinking oil is where the line is crossed, then are we not all comfortably well past this zone anyways?

So another way of saying this is listening to music is most efficient if you listen to a pre recorded song or you whisper only.

spotman··on Google Compute Engine Incident #16015
Your correct, but this is combatted in practice through UX usually. Doing work in the background, doing retry w/ decay, bubbling up things that didn't go well to the user at the right time, etc. For a client to just spam 300 requests the moment there is a hiccup that is generally not good. At scale its indistinguishable from a DDOS (been there, hah!).

Also for it to be that jarring we are talking about a failure at the exact moment you are using the data-heavy app, and not 1 minute before. Every time you go to use the app its likely the dns is re-queried.

So, at the end of the day if you have a mission critical thing running where you need to try very hard and can't tolerate 60 seconds of failure, you would bake multiple paths to a backend in the client configuration at some point. So the client would know if backend A is down it can do client side failover to backend B.

Sometimes this technique is used in conjunction with a highly fault tolerant server stuff, and not as a replacement for it.

spotman··on Google Compute Engine Incident #16015
There is a few things possible here. You can do global load balancing which will serve a DNS entry for a hostname based on business rules. Those business rules can contain things like geo targeting, and/or they can also contain health checks. So you could direct traffic via dns based on if a region is online at all, or more granular things like is it meeting performance criteria, etc.

Even more simple, is DNS round robin (just putting more than one entry in the reply for a dns request). So in terms of failover, if one of these servers in the reply stops working, generally another one is, and browsers and other devices generally understand that they can try all addresses listed for a given host.

spotman··on Update on Maintaining and Running the Pokémon GO Service
Your analogy might be fair, but to continue it all the way, it would be like them turning off ability for others to upload pewdiepie videos so that they have the resources to give him his own you tube branded channel.

Which we know, hasn't happened yet, but it's an important part of the direction they are going.

spotman··on Update on Maintaining and Running the Pokémon GO Service
How much did you pay for the game?
spotman··on Ask HN: Do you still play with VR actively?
Cool. I definitely want to try one. Especially if the eye annoyance is less.
spotman··on Comma.ai open sources driving data used to seed its company
Best of luck to George. Have always been a fan of his work. Favorite line from article:

"Ultimately, Hotz says, the comma.ai philosophy is simple – tell people exactly what they’re doing, but remain confident in the startup’s ability to do it faster, smarter and cheaper."

The confidence of hotz is astonishing but I'll be the first to admit I'm still cheering him on. This is such an incredibly hard trying to get right, but he is either going to knock this out of the park or die trying.

spotman··on Ask HN: Do you still play with VR actively?
Former oculus owner here. I wear eye glasses and it's just a giant hassle. Ended up giving it to a friend. The times that I got it up and running and having fun could be counted on one hand.

Most of the use I got out of it was introducing friends to VR for the first time. Everyone thought "cool!" No one asked for me to pull it out a 2nd time.

spotman··on Thoughts on Uber’s List of Postgres Limitations
Just because you may not always use the database with the BEGIN/COMMIT semantics, that absolutely does not mean that "MVCC has almost no bearing on what they are doing".

MVCC and how it has been implemented in the two storage engines in discussion here absolutely has a lot to do with it.

spotman··on Show HN: Noms – A new decentralized database based on ideas from Git
So if nom takes off would you see 'download a nom dataset by clicking here'

or would it be 'use this hostname to sync the nom to your own computer'

Or would it be a dsn sort of and you just instantiate a client and your on your way?

Or, some combo?

spotman··on Show HN: Noms – A new decentralized database based on ideas from Git
After more reading it kind of sounds likes better couch db?

And cool if so, but the CSV analogy is really confusing.

When I think of CSV I think of a ghetto data exchange format that I can send or receive to a less technical person. As I understand nom, it does not sound like its for non technical people.

spotman··on Show HN: Noms – A new decentralized database based on ideas from Git
Yea and then a paragraph about git under it, made me double take to think maybe they meant CVS, but then realized they really did mean CSV.

If this is supposed to replace CSV cool, but there is a lot of ways to cross that bridge.

Curious however, what the target use case is. Is it a format, or a database , or both?

spotman··on Why we lost Uber as a user
Yea would be amazing to see an innodb backend for PG!

( I'll let myself out ;)

spotman··on DevOps tools in a nutshell
This might be better titled as a random list of tools that you may know about or be curious about.

Sure there is some overlap with the already loosely defined 'devops' but this doesn't really make any headway on defining it.

Where is bash, awk and sed in this list?

spotman··on Looking back on Swift 3 and ahead to Swift 4
Wow quite intriguing and exciting that swift 4 may have a rust inspired memory model!

Can definitely see the use case for swift expand a bit with this in its wings.

spotman··on Google acquires LaunchKit
Congrats to the team. I <3 Launchkit, and use a couple of its features.

Seriously bummed that this sounds like the end, however I imagine your amazing skills will be used to enhance the google play store, which is great for you guys.

Anyhow, this is not a shocker considering how well L.K's features worked. Enjoy your time at google.

Finally, thanks for the code, here's hoping someone picks up the torch, or at least uses it for inspiration :)

spotman··on Real-World Redis Tips
These are good. Some more:

- along with multi use, use pipelined calls when you don't need a transaction but are going to need more than one reply rapidly. This can increase performance literally 10-100x if you need it and your not using it.

- check replication buffers of your running more than a few gigs size data set. The default won't let for example a 30gb dataset to sync from master to slave and you will end up in the dreaded replication loop.

- instead of not using 'keys' command, disable it in configuration.

- remember to run twice the ram you need.

- setup monitoring based on the output of redis-cli info replication and redis-cli info persistence.

- it's better to run a handful of small to medium redis sharded than a single huge one. Safer, faster, easier to backup, easier to recover, and higher performance.

← PreviousPage 3 of 10Next →