HNHacker News
TopNewBestAskShowJobs

jamestenglish

81 karma · joined February 3, 2016

submissionscomments
jamestenglish··on Facebook Is the AOL of 2021
I had the exact same reaction to reading those lines. Everyone I knew was more than happy to use AOL to surf the World Wide Web it was only when their cost and speed stagnated next to competitors did people jump ship.
jamestenglish··on Panasonic sells its $3.6B Tesla stake
Buried beneath the sensational headline is the fact that Panasonic has been slowly divesting over the past year. They did not just "dump" the stock today, they simply reported that they had finished selling all their shares today.
jamestenglish··on Panasonic sells its $3.6B Tesla stake
Even more appropriate: Over the course of the last year Panasonic has divested from TSLA and used the gains to expand car battery operations.

The currently headline makes it sound like it just click sell on $3.6B shares, the article makes clear that they have been selling over the year and this is just the final report that they are fully divested.

jamestenglish··on The anti-pattern of responsive design
> web designers need to think long and hard about how they implement responsive design.

No, web designers need to do their best to balance cost/value of changes. While this might be a hot button topic here, I doubt the general public knows or cares much. Silly and self centered to DEMAND everyone needs to change to fit a niche group of users

jamestenglish··on Open source “split-flap” mechanical display
Subscribed to all 3 of those, one of my new fav's

Stuff Made Here: https://www.youtube.com/channel/UCj1VqrHhDte54oLgPG4xpuQ

jamestenglish··on How Uber Deals with Large iOS App Size
Important to a user in 1 region/country.

https://news.ycombinator.com/item?id=25376346

Uber is a global app, so the other 9/10s of the code is for all the features and functionality you'll never see outside your region since there is currently no way to split up binaries by region.

jamestenglish··on Firefox 85
Not on ubuntu but looked up in my settings how it is handled:

Preferences -> General -> Applications

Content Type: slack

Action: Use Slack

Do you have that setting?

jamestenglish··on Show HN: Friendly Fire – Open-source, Metroidvania-style game in the browser
Appears like it may be experiencing the hug of death. https://play.friendyfire.com/ is returning 404
jamestenglish··on Evgeny Kuznetsov practices with Bauer stick that has hole in the blade
https://www.usahockeyrulebook.com/page/show/1084649-rule-605...

The penalty here isn't because your equipment fell apart, it is if you keep playing with broken equipment then that is a penalty. If your stick breaks and you drop it on the ice then you are fine.

Broken sticks are sharp so playing with one is a safety hazard.

jamestenglish··on Kissat SAT Solver
Thank you! I clicked all the links on the page and still had no idea what SAT or the SAT Competition was!
jamestenglish··on Sandboxing and workload isolation
Anyone else having a hard time even reading this article because of the lack of contrast from text to background?
jamestenglish··on Amp your remote meetings with BWAMP
My experience: The first thing I see is a big in your face "please accept our cookies so that this will work!"

Uh, what is it? Do I want it to work? I tentatively click "YES COOKIES"

Big cookie plea is now replaced with a big "Sign in with Google/Slack"

Hold up! What the hell is this thing? I am not just going to potentially link you to my slack or gmail!

There is a sandbox mode button? What is this thing, why would I need to run it in a sandbox?!?!

The only way to know what this is or will do without actually trying it is to watch a youtube video and the explanation doesn't even come until 20 seconds into the video!

I imagine this would have gotten more traction on HN if your page contained even a single line of text explaining what this is: an interactive sound board. Rather than forcing users to watch a video or try out some unknown thing first.

jamestenglish··on Kpt: Packaging up your Kubernetes configuration with Git and YAML since 2014
I don't understand why I would use this over Helm? I am even further confused when I go to the docs and it has guides for creating a kpt package from a helm chart: https://googlecontainertools.github.io/kpt/guides/ecosystem/

If you are going to introduce a new tool into an already crowded ecosystem the least you can do is describe why anyone should use it.

jamestenglish··on Thank You, Guido
Just because the outcome of the code (i.e. obfuscated code) is "clever" doesn't mean that the code that does the obfuscation is clever
jamestenglish··on Katie Bouman, the computer scientist behind the first black hole image
Not OP, but I too am confused. I understood the sketch artist analogy but that didn't seem related to this point:

>They also trained the model with non-blackhole images. Since the output of the model was approximately the same, this indicates that the resulting output picture doesnt look like what we think a black hole looks like just because it was trained with black hole images. It likely really looks like that.

If you are feeding non-blackhole images in and getting blackhole results out, wouldn't that be indicative of an over-trained model? Her other analogy was we can't rule out that there is an elephant at the center of the galaxy, but it sounds like if you feed a picture of an elephant in you'll get a picture of a blackhole out?

jamestenglish··on Making Video Games Is Not a Dream Job
This was my thought exactly! It is awfully pretentious to tell someone else what their "dream job" is. People value different things and there are a ton of people who value the ability to work on a game over better working conditions.

As a society we do want to protect people from exploitation, but a game developer is significantly different from the other 2 examples you used: amazon (I assume you meant warehouse) worker and uber driver. Those are low skill jobs so employers have all the leverage, I don't think many of them want to be an uber driver or warehouse worker.

Contrast that with a game dev, which is a very high skill job. They can take those skills into many other fields and make money, but they don't want to. Is that exploitation? I don't know, but it doesn't feel like it is to me.

jamestenglish··on Interactive example of how Facebook leaked access tokens
I can see the messages from Minea as Lark, but when I click "SUBMIT FLAG" I get "Invalid Flag Submission"
jamestenglish··on Sickness absence associated with shared and open-plan offices (2011)
Paid Time Off, so vacation time
jamestenglish··on Slack Calls: Now with video
You're correct. Fixed.
jamestenglish··on Slack Calls: Now with video
Wow quick to the low effort Slack is just IRC comment.

In my opinion Slack does something that is often very undervalues and easily overlooked, it is like the opposite of a death my a thousand cuts - superiority by a thousand minor improvements.

When taken individually or even in handfuls none of the features are that impressive, but cumulatively it creates a much better product. This was very apparent to me at least when I switched from HipChat to Slack. Just reading features or looking at screenshots they are nearly identical, yet with actual use Slack seems like a significant step up.

So yes IRC is to Slack, as the Ford Model T is to a Mercedes S-Class.

jamestenglish··on Microservices? Please Don't
This was poorly worded on my part, Kubernetes does not in anyway solve this problem.

Instead I meant to use Kubernetes as an example of the work being done to standardize and abstract these sorts of microservice issues. Kubernetes solves a lot of orchestration issues and I expect there will be greater work with other projects into solving other problems like distributed transactions in the future.

The current thoughts on microservices is that you should really re-evaluate how critical strong transnational guarantees really are to your application.

jamestenglish··on Microservices? Please Don't
Very true, but decoupling is only 1 of the benefits of microservice. Polygot environments, scalability, etc also come with microservices vs modules.

As with everything its about the right tool for the job and a lot of organizations are more than happy to trade network overhead for the other bullet points microservices offer.

jamestenglish··on Microservices? Please Don't
I am an older dev that did a lot of "SOA" work back in the 2000's and I disagree that microservices are a "reinvention". In my opinion they are a further refinement of those SOA ideas (which is a good thing to keep moving forward as an industry).

A lot of the SOA work I did was putting REST/SOAP interfaces on various monolithic APIs. This was generally a good step forward and decoupled things (especially the front-end) but it was far from perfect. You still had the monolith and a lot of the code-smell that gets built into a monolith of spaghetti dependencies making it hard to write new features and move forward.

Now the argument is always "well if you and your team were just better coders and more disciplined that wouldn't happen" but in the real world it is shown to be incredibly difficult to actually have a team that is that disciplined and microservices give a real hard barrier to enforce that discipline.

I very rarely see things that are truly reinvented, and I think that is some serious ego bias essentially saying: back in my day we did it right and you dummies are just figuring it out.

Instead I see every new generation of developers refining good ideas over and over again which improves our industry and products.

jamestenglish··on Microservices? Please Don't
Some counter points, especially with fallacy #1:

> Fallacy #1: Cleaner Code

> “You don’t need to introduce a network boundary as an excuse to write better code.”

I see this all the time as the argument against microservices: "but if you are just disciplined you don't need them". It seems pretty clear to me that a large body of programming history has shown that it is incredibly difficult for a whole team to be disciplined all the time. If everyone was perfect drivers we wouldn't need seat belts. Some artificial "barriers" can be very helpful to tackle people working in the real world.

> Fallacy #2: It’s Easier

> “Distributed transactions are never easy.”

This argument I'll buy, but there is a lot of really good work going into orchestration like kubernetes which makes a lot of these concerns much lower.

> Fallacy #3: It’s Faster

> “You could gain a lot of performance in a monolith by simply applying a little extra discipline.”

Again with the discipline... But another point he makes really misses the mark:

> Additionally, many of these stories about performance gains are actually touting the benefits of a new language or technology stack entirely

When you have microservices it allows you to use the best tool for the job for each individual service. If you have a Java monolith and you want to add new functionality that say GoLang would be better suited for, chances are you are still going to develop it in Java because it has to fit with the rest of the monolith. His example counters his claim.

> Fallacy #4: Simple for Engineers

> “A bunch of engineers working in isolated codebases leads to ‘not my problem’ syndrome.”

This is pretty subjective and I really think depends on culture and buy-in. Almost all these same things could be said about a well architected SOA monolith.

> Fallacy #5: Better for Scalability

> “You can scale a microservice outward just as easily as you can scale a monolith.”

Again his example, seems to counter his claim. Yes you could segregate the API calls to your monolith but you are still going to have the overhead of those un-used APIs. Unless you are doing some really clever dynamic loading that code is still going to be loaded into your executable package at the very least redundantly increasing RAM load, making for wasted resource utilization (which converts to real dollar and cents in the VM world). Additionally the author completely ignores any potential start-up costs of needing to load a larger monolith over a smaller microservice.

jamestenglish··on North Korea’s Naenara Web Browser: Weirder Than We Thought (2015)
I believe the author did cover this in point 13:

In looking around at the certificates that they support, I was not surprised to find that they accepted no other certificates as valid – only their own. That means it would be trivial to man in the middle any outbound HTTPS connection, so even if they do allow outbound access to Google’s JSON location API it wouldn’t help, because the connection and contents can be monitored by them.

jamestenglish··on Giving up on test-first development
When I finally decided to really decouple and mock dependencies and create "pure" unit tests was the major "Ah ha!" moment of TDD. I had been trying it out here and there but never really saw the benefit because I wasn't really creating nice testable units.

It is hard to say for sure, because the author doesn't give any specifics but wording like:

"You therefore are more reluctant to make large-scale changes that will lead to the failure of lots of tests. Psychologically, you become conservative to avoid breaking lots of tests."

make me think the author wasn't actually making unit tests, instead they were likely end-to-end tests, or partial ETE tests that were running inside a unit test framework. I have had many disagreements with other developers that just because your test runs inside a unit testing framework doesn't actually make your test a "unit" test.

jamestenglish··on Creating a Microservice? Answer These Questions First
In my opinion they are the same thing, unfortunately the term SOA has gotten a bit poisoned.

SOA mostly refers to "Enterprise SOA" now and Enterprise SOA has skewed many of the decoupled principles of SOA.

For example Enterprise SOA heavily focuses on middleware, of course all these middlewares are vender specific and create vender lock-in. Microservices mostly focus on just HTTP for their middleware.

Another example of Enterprise SOA is using SOAP and most people configure their SOAP services to have very rigid contracts. So if you update your SOAP service schema to add a field, even if none of your consumers need that field they all need to update their consuming schemas which is very tightly coupled. Microservices should focus on consumer-driven contracts for services.

Language evolves and I would say a lot of people now consider SOA to mean heavy middleware and SOAP with strong contracts creating the new term "microservices" help to differentiate.