HNHacker News
TopNewBestAskShowJobs

thomk

987 karma · joined July 13, 2014

submissionscomments
thomk··on Analysis of dev agencies with hourly rates, team size and tech stack
Agreed. So in that case, I would not use an outsourcer for that particular piece. The problem is American developers treat outsourcers like they are American developers. Don't do that.

Treat them like 1) there is a language barrier and 2) they will not know there is a language barrier and they will forge ahead in the wrong direction.

Some of the best developers and PMs I have worked with were born in a country you barely know about, it just took a little time to get to know them and their skillset.

thomk··on Analysis of dev agencies with hourly rates, team size and tech stack
The best way to combat that is to not design anything too far into the future. This is where agile and sprints can be very helpful. It also means you are checking the work of the subcontractors on a regular basis. After a while you will learn how to communicate very well, you'll see the strengths and weaknesses of the staff and you can operate within those constraints.

That is the real work here; discovering acumen. Once you know that, you can hand out work that fits within their wheelhouse.

American developers excel at this because there's less of a communication gap. If an American can not do something he will tell you. If you are wrong about the way you are doing something, an American developer will tell you. Outsourced subcontractors will blindly do what they understood they were supposed to do without questioning anything resembling rationale.

Just know that going in.

You know what else is like that? A computer.

GIGO, etc.

thomk··on Analysis of dev agencies with hourly rates, team size and tech stack
However if you have architects that design software properly in the U.S. and pass those specifications to outsourced staff, then it's akin to a NYT writer dictating his notes to be typed in and proofread by someone overseas.

My point being; there's an efficient way to utilize cheap labor.

thomk··on Noise, Cognitive Function, and Worker Productivity [pdf]
Music that is too enjoyable seems to take over the creative part of the brain. Try to do some deep focus work with your favorite music playing; impossible. Now, if you are doing a repetitive task, then that type of music is perfect. Creative energy gets sapped by any music you enjoy too much.

I've also heard that interpersonal intimate relations (lol, sorry) also will sap creative energy.

I'd also agree with others that a constant noise is much better than random/surprising noises as far as being able to ignore it. People bursting out in laughter in the office is definitely surprising noise, so are phones ringing and someone knocking on the door.

thomk··on Happiness is a freshly organized codebase
Bob can you give more details about this or is there a way to contact you? I am genuinely curious about this type of architecture and would love to learn more. If you would rather respond here could you give two simple, concrete examples of each case?
thomk··on Why does writing matter in remote work?
This.

Even if you are emailing an old friend for a favor, put your request up front then put the cordial stuff after, its much more sincere that way.

> Joe, we are looking for advisors to sit on our board. This is a non-paying position so I'm emailing all my old friends and asking for favors. Hey, how are you? How is your wife and son? Either way lets get together soon! --Aaron

thomk··on What Makes a Good Teacher? (2001)
Thank you and I appreciate your comments as well.

Obviously nobody can teach quantum computing to an infant. So how about this instead?:

> If you have the ability to learn something, and you are not learning, then the problem is the teacher.

My point is that students should not feel embarrassed because they aren't 'getting it' and they should take some comfort in knowing that unfortunately there are teachers who are bad at teaching out there.

thomk··on What Makes a Good Teacher? (2001)
I appreciate your perspective but I still stand by my comment, with a slight caveat. If you are in a situation where you are open to learning and you can not then the problem is the teacher. Even if you have a learning disability it is going to be the responsibility of the teacher to recognize that and move you somewhere else where you can be more productive.
thomk··on Signs that a business idea will probably fail
Yeah but almost all business (when starting out) must make decisions based on assumptions. If you didn't you would never get everything done, double and triple checking every single thing. You have to trust your gut. The older I get the more I believe that.

I'm sorry to hear you were not successful, that REALLY sucks to spend all that time and not feel good about it.

It sounds like maybe you waited too long to attempt to sell anything? That's what MVPs are for, to give you feedback to see which of your early assumptions were correct. Ditch the incorrect ones, focus on the correct ones and get better at making assumptions and grow your business organically, based on a positive feedback loop.

thomk··on What Makes a Good Teacher? (2001)
Great teachers come meet you where ever YOU are at in your knowledge.

Once they are next to you, they guide you to take the very first step, nothing more. Then just the second step, nothing more. Then the third etc.

If you are not understanding what is being taught: the problem is the teacher.

Soon you both see YOU have more confidence. That confidence is called learning and the best teachers know when to pull back and let you go on your own.

Great teachers do not judge you. If you are embarrassed in front of a teacher because you do not know something; the problem is the teacher.

The best teachers let me be myself and just showed me how to take the next step.

thomk··on The power of admitting ignorance
To be clear, simply asking an earnest follow up question is simple and efficient way to do this.
thomk··on 68 Bits of Unsolicited Advice
Like?
thomk··on 68 Bits of Unsolicited Advice
That's a good way to look for a person in a crowd too. Think of what, exactly they were wearing and look for that, not their face.
thomk··on Customers do not ask for software complexity
Is there a title for a person who asks the the technical questions and designs a solution without coding it in your view?
thomk··on Customers do not ask for software complexity
I love it when I get the "just figure it out" because then my response is: So you want me to design the software for someone like me? Because that's exactly what I am going to do."

That usually gets them to rethink that one.

Some Agile here is also a good way out of these kinds of things. Quickly build something they can complain about, then fix it. Either they will start to take responsibility for their software (that is clearly theirs) or they will just keep burning money and that will put an end to it too.

However, who you are describing is actually a bad customer. So make sure you get PAID very regularly as you are on this death march and if you ever do not get paid, stop work immediately.

Indecision and abdication of responsibility are hallmarks of an incompetent customer.

thomk··on Customers do not ask for software complexity
Your comment is funny. Have an upvote.
thomk··on Customers do not ask for software complexity
Slightly offtopic of this discussion but I am wondering if you (or anyone) knows why Home Depot does not set up every single store the same, identical way? Sometimes stores are mirror images of each other and sometimes electrical is in the front and sometimes its in the back.

It seems so inefficient. I can sort of understand having the garden center on either side of the building depending on the lot but the inside of the store being different from location to location is baffling to me.

Wouldn't the entire ecosystem from people who stock shelves, to customers to store managers benefit from an identical layout in every store nationwide?

I'm picking on home depot here but the same question could be asked of any big box store.

thomk··on Best Practices for Working with Configuration in Python Applications
I appreciate the thoughtful response and I respectfully disagree.

I agree with your point about non-technical users, I addressed that in the top level comment on this thread.

Limiting what is accepted isn't hard at all, here's how you do it:

In your config.py module, have a Config class that subclasses a superclass named, say, ConfigBase. ConfigBase implements __init_subclass__ and in there, you can dictate how a subclass is configured and raise descriptive errors if your rules are not followed. You can do the same thing with a metaclass.

With this approach the class does not have to be mainline executable. You can pluck out what you need and use those plucked items however you see fit.

You are essentially consuming a python script as a config file and not actually running it.

thomk··on Ask HN: What website, from your early days on the net, do you miss?
https://ilovebacon.com/
thomk··on Ask HN: What website, from your early days on the net, do you miss?
No sir, was there such a thing?
thomk··on Ask HN: What website, from your early days on the net, do you miss?
https://everything2.com/ which, amazingly is still up and running.
thomk··on Best Practices for Working with Configuration in Python Applications
Configuration, by definition, modifies the software.

How much it modifies the software is determined by the software author. If there aren't limits imposed in your example (json) you're still going to get unexpected results. You'll have to limit what's accepted.

Also, what if I allow a config.py file then translate that to .json then back to python? That is no better than just allowing the consumption of a python source file and simply ignoring any disallowed code (again, limiting what is accepted).

I know it's vogue to say configuration as code is bad; that simply has not been my experience.

thomk··on Best Practices for Working with Configuration in Python Applications
Who is the targeted editor of a config file? If it's another programmer, just use config.py and make life easy on yourself.
thomk··on Best Practices for Working with Configuration in Python Applications
Unless the end user is not technical, use a .py file and force them to subclass your Configuration class which has an __init_subclass__ method so you can enforce rules.

When you are ready to move to a more generic solution, your .config or .yml file can generate these.

The advantage here is both flexibility (it's Python) and control (allow/disallow whatever you want).

If you need nested items, use nested classes.

thomk··on Why Japan’s rail workers point at things (2017)
I do this as well. I wonder if anyone else has made this mistake. The habit of the 3 tap has become so subconscious to me that if I have to remember another object, like tickets to a show or something I'm bringing to someone, I will then do the 3 tap and forget my phone.
thomk··on A Guide to Pricing Plans
Can you expand a bit? I'm genuinely curious about your experience helping customers price products.
thomk··on House cats have more impact on local wildlife than wild predators
Probably not much. However if it was aggressive toward us or pissing on our patio furniture seats and did not appear to belong to anyone, that might be a different story. I'd actually probably just call animal control or trap it and release it somewhere far away.
thomk··on House cats have more impact on local wildlife than wild predators
Are they causing a specific problem? They are probably keeping your house rodent free.
thomk··on Thousands of coronavirus tests are going unused in US labs
Why? Who else would enforce the quarantine?
thomk··on E Ink smart screen puts a newspaper on your wall
Or if they were ever in the paper..
← PreviousPage 3 of 10Next →