HNHacker News
TopNewBestAskShowJobs

thothamon

457 karma · joined October 23, 2013

submissionscomments
thothamon··on Dad and The Ten Commandments of Egoless Programming (2012)
I don't think egolessness means not participating or taking the lead. See the point about not being the programmer who only comes out of the office for soda. If you take the lead and deliver good results, you can definitely be promoted, especially if you have good social skills. Also, people definitely notice when developers work on their own time to improve their skills. They may not say anything, but they notice, and that translates to promotions.
thothamon··on Dad and The Ten Commandments of Egoless Programming (2012)
I follow this advice because I've found from experience that often there is a good reason, or at least _a_ reason, that I don't see. Maybe the loop does somehow terminate, through an obscure mechanism. Or maybe it's not supposed to terminate. Or maybe I missed something obvious.

I make mistakes all the time. I probably make mistakes more often than I do things right. Therefore, asking questions rather than making bold claims is usually betting the right way.

This doesn't mean you have to be a pushover. If you don't see something, you can say, "I'm sorry if I'm being a little slow here, but I still don't understand. Can you explain how XYZ works in more detail?" Most people are very happy to help you understand.

thothamon··on Rubyspec is dead, long live Rubyspec
Of course it's very much a subject for debate, but I personally don't know a web development platform that is as fast to get off the ground and as complete as Rails. Some people are certainly trying, but I don't think anyone beats Rails in these two areas yet.

You specifically mentioned starting a new project. I think that's where Ruby and Rails are the strongest. Maintaining a large system might be better done using some other language and framework.

thothamon··on Ask HN: How do I get my team to write better code?
Lots of good advice, but I suggest having the whole team review each others' code 100% of the time. In other words, each commit gets a random or rotating selection of two people who review the code.

Reviewing other people's code is almost as valuable as being reviewed. Even if it's not perfect all the time, it builds a good culture of coding and gives your developers valuable experience.

The culture of the code review should be a careful examination with Q&A. You need to take as long as you need to get it right. This is a great investment in your product and your team that will pay off starting right away and extending into the long term.

thothamon··on Mac App Store: The Subtle Exodus
I agree with your point about the time scale, but OS 9 and OS X are entirely different OSes with basically nothing in common but the name "Mac OS". It's more like releasing an entirely new OS, not shifting an OS by 180 degrees. Maybe the difference between DOS and NT is a similar comparison.

At any rate, if having a program run unchanged for the longest period of time is our gold standard, then I think MS wins. They have harmed their platform significantly by their total dedication to backward compatibility. By comparison, Apple has emphasized the quality of the platform at the expense of convenience to developers. I think Apple made the better choice for consumers (and even for developers in the long run), but it's certainly arguable.

thothamon··on The Future Programming Manifesto
Rather than just agreeing to disagree, you could defend your beliefs with the best arguments and examples you have. You're opposed to expressiveness, flexibility and power? That's a somewhat surprising view. I'm interested in why.
thothamon··on Why Working at Google Is Not My Dream Job Anymore
I work at a great company now and the hours are very reasonable. But in the past six years, most of the companies I worked for pressured me in various ways to work (unpaid) overtime. Direct management pressure is only one kind of pressure, and was not the predominant one for me.

Was it a cage, gilded or otherwise? It was certainly unfair and unpleasant.

At some point in one of the companies I worked for, when the hours became truly insane, I just decided not to do it anymore. I was still working a lot, but just chose not to work 60+ hours a week. I would say this choice led to some discomfort at that company, and I might eventually have been fired if I had not moved on.

The point is you can't negotiate your way out of everything. Some places are just bad news, and your best option is to leave, if you can. My experience tells me this is fairly common, especially in a bad economy when employers think you have limited alternatives.

thothamon··on Why Working at Google Is Not My Dream Job Anymore
Google is like a corporate supermodel. Their brand is legendary, like Apple or Facebook. They have so many guys to choose from, and they can afford to be very picky.

Fortunately for those of us who do not work for corporate supermodels, being married to the supermodel is not always the heaven one imagines. Maybe it has its upsides, but a lot of the allure is just image and marketing, and the reality is much less pleasant than the fantasy.

If working for Google or Facebook or Apple is important to someone, then they have to take whatever crap these companies dish out. But personally, I'd much rather work for the NEXT Google than the current one. And if I was going to work for the current Google, I'd much rather do so by way of them paying me millions of dollars to buy the amazing product I created, rather than by way of begging and hoping for a job. Guido van Rossum and Ken Thompson created amazing things, and because of that, Google hired them.

Therefore, instead of seeking a job at Google directly, a more profitable approach might be to immediately start creating whatever you really care about, and let the question of what company creates your W-2 take care of itself. This is no guarantee that you'll eventually work for Google, but it is the most likely path to eventually being legitimately in the company of the van Rossums and Thompsons of the world, and it will probably be a lot of fun getting there.

thothamon··on Russia offers $110,000 to crack Tor anonymous network
Great news. $110,000 from Russia to find and (although they did not intend it) patch Tor bugs. Thanks, Putin!
thothamon··on Image Protection on the Web
While clever, the items in the article merely accelerate the DRM arms race; they do not deliver a war-winning weapon to any side. All the tricks here can be defeated with technology, even the interlace idea.

This whole line of thinking is an attempt to re-fight the music DRM battle, and the conclusions are the same now as they were then. First, if you deliver media to a user, then given sufficient technical means, the user can copy it. Either your users don't care to copy your content, in which case it didn't need to be DRMed, or they do wish to do so, in which case it can be copied, so DRM is a waste of money. Second, the cost of such technical means drops exponentially with the popularity of the DRM that is being used, because only one person needs to develop the circumvention technology and then everyone can share it. This last principle holds regardless of laws such as the DMCA, and regardless of lawsuits such as the thousands of lawsuits filed by the RCAA and MPAA.

In a way, this is all good. Entities that seek to control when and how other people copy data will waste their money and time they are weak enough that wiser competitors can remove them from the ecosystem. Sony is a good case in point. While they were wasting resources with DRM, Apple was eating their lunch in the music market. I now think of iTunes when I think of music, way before I think of Sony.

thothamon··on Tell HN: I want out
You founded the company. So take control.

Set 6 pm as the going-home time for EVERYBODY. If something is late because of this, that means the company should not have made commitments it can't keep (and you should take a strong interest in not making the same mistake again).

As someone said, don't answer the phone past a certain time. Most phones have some kind of do-not-interrupt mode. Use that. If people have an emergency, at the very least they can call and leave voicemail.

How about bringing a refrigerator and some beers into the office? Lead by example. If you're drinking beer at 2 pm, that tells everyone else this is the kind of startup where drinking beers at 2 pm is OK. People who are too uptight to deal with that will leave: let them.

It's _your_ startup. Run it the way _you_ think is best. What's stopping you?

thothamon··on TrueCrypt developer says no to license change for forking
I'm happy to leave the dev alone. I don't really care about the dev one way or the other.

What I don't like is to have some piece of infrastructure I've come to depend on yanked out suddenly, being mislead about the reasons, and being left with only onerous alternatives (rewrite the whole thing or stick with 7.1a indefinitely). That these two options are onerous is not speculation or simply some kind of bad attitude. It is a fact.

Whether this action was deliberate or just incredibly clueless and negligent, treating TrueCrypt users this way is crappy, and I think it's OK to say so publicly. I'm grateful for the development of TrueCrypt. But that gratitude doesn't translate to a free pass for all subsequent terrible behavior afterward.

If the dev's identity was known, he/she might take a lot more heat than a few harsh words. Considering the needless trouble he's putting people through, a strongly-worded letter of protest is a pretty mild reaction.

thothamon··on Clever piece of code exposes hidden changes to Supreme Court opinions
I'd have to agree that randomly finding something on the Internet proves little. However, for a definition of a term like "non-fiction," you're not necessarily looking for an authority, but rather just something that makes sense. (Even if you found a definition in Webster's, it carries no legal weight at all. Nor does WikiAnswers.)

Your concern about changes seems valid. Maybe this could be solved by actually copying the original cited material so the original could be viewed later by interested parties? I'd hate to make the entire Internet off-limits to legal authorities just because of the potential for change.

thothamon··on Letting go
Seems like he's given up on listening. No wonder it seems so hard to do. He's got his way and he's sticking with it. Oddly, even whilst plugging his ears and ignoring others, he says he thinks we too should be like him. So we should not follow his example and ignore him; we should pay attention to his message.

Shedding the unimportant is actually a really good idea, but I think OP has taken it too far here by a mile.

thothamon··on Don’t follow your dreams: A commencement speech for the mediocre
I'd say if you feel you can be happy in typical or standard career path, then by all means save yourself a lot of trouble and do that. Some people really are happier that way. If you're one of those who can't be happy in that lifestyle, you probably know who you are. If you're one of those people, then I think you have to keep trying for what you really want. Nothing else will ultimately satisfy.
thothamon··on Functional Programming Principles in Scala with Martin Odersky
I also fit your criteria. I learned a lot, however I would say I didn't really "get" functional programming until after reading some more books and taking a different course that emphasized functional programming. In this course, I was trying to write imperative programs just as much as I could. However, without this course as a foundation, I doubt my other reading (and the other course I took) would have been as valuable.
thothamon··on All the Western companies you’d have to combine to get something like Alibaba
It's not clear to me how it's good for me as a consumer to have one company providing me everything. That seems to go wrong more often than it goes well.

As an investor, I can see how a monopolistic behemoth might be good, assuming we ignore possible legal problems. But I'd also worry that a huge company like that would not be able to focus effectively on the probably hundreds or thousands of products and markets in which they must be involved. Huge companies like Exxon, say, are at least focused primarily on energy needs; Amazon on online retailing; Apple or Sony on consumer electronics and software. What is Alibaba focused on? (And yes, the same question could be asked about Google, although search and ads are probably the biggest things.)

What is Alibaba currently really world-class at, OTHER than owning the Chinese market from top to bottom? Owning the Chinese market is probably caused as much by cronyism as by being really good at anything.

thothamon··on The Developer is Dead, Long Live the Developer
It's always good to have a wide base of knowledge, and it's always good to avoid ivory-tower silos. But at the same time, it's economically inefficient to use a specialized developer to do tasks that could be done a lot cheaper by others. It's like using jet airplane to haul a tractor-trailer. Maybe you can do it, but eventually someone will exploit that inefficiency and out-compete you.
thothamon··on Clojure 1.6 released
People always doubt this, and then new languages always come along that improve developer efficiency. It was a lot easier to write a program in C than assembler, Perl than C, and Python than Perl, at least for me. I've seen some amazingly sweet code in some of the functional languages like Clojure and Haskell. My current main language is Ruby, and while it is not perfect, I would never trade it as a general-purpose language for assembly. I'm sure I'm well over 10x more effective than I would be if it was all assembly, all the time -- assuming I wasn't allowed to invent a new language as part of the solution.

So why doubt this same thing can happen again? It's like doubting that MD5 will ever be broken, or questioning whether something like Roman numerals can be improved upon. Of course it can, and will.

thothamon··on It’s impossible to work your way through college nowadays
There aren't very many people who can do complex CS jobs. Or rather, there are a lot of people who claim they can do it because they read a "Teach Yourself X in 24 Hours" book, but who actually can only do the job poorly or not at all. I know because I've been one of these people and I've known many of them.

Everyone has to start at zero in any profession, so this is not a negative. I respect everyone who tries to learn something, and God bless "Teach Yourself" books. But becoming a good computer programmer takes many years of hard work.

A raw student who didn't already have a few successful projects using technology X would very likely cost an employer more than he/she would benefit the employer. Hiring such an intern has to be thought of as pro-bono work, or perhaps an investment in a future employee. With very occasional exception, undergrad interns in any profession don't deserve much above minimum wage.

thothamon··on Surfing the Modern Web with Ancient Browsers
I don't see the point of providing a life-support system for these old, insecure, outdated web browsers.

It's not really analogous to, say, driving old, restored cars. These browsers are rootkit magnets. The people who use this unmaintained software are inherently less safe.

thothamon··on Why I Never Hire Brilliant Men (1924)
I appreciate the author's intentions, but I think the best outcomes happen when you hire brilliant men (and women) and manage them well.

In the case of the sales executive, it sounds like the author allowed his team to basically say "good luck doing this yourself, don't expect help from us." And he allowed the guy to move into an ivory tower far away from where things were happening.

If you decide you're moving in a certain direction, you need to make clear to the team, if necessary, that digging in their heels is not a response you're going to tolerate. Some people will probably have to move on.

I'm not surprised the article is anonymous. The owner sounds like a problem to me, as much as the "brilliant" sales executive. He's good at making a mediocre business, and his comfort zone is there. Trying to shake that up is a losing game for anyone, brilliant or otherwise.

thothamon··on What Happens to Older Developers?
As a former hiring manager, and a middle-aged guy myself, I see hiring as (basically) a two phase process. The first step is to get noticed, and the second step is to close the deal (get hired).

You get noticed by appealing to what your prospective employer is looking for. In this context, everything on your resume either helps get you noticed, or it's a nice-to-have, or it's a negative.

Extraneous technical experience and a great college background are pretty much always nice-to-haves. Recent, relevant experience and accomplishments are generally the real things that get you noticed.

Once you're in the door, you close the deal by demonstrating that you can kick butt on whatever your prospective employer needs to get done, and fit in well with the team while doing so. It's true that different people want different things, but if you can show you're an expert at what your employer needs, and if you are pleasant to be around and work with, your odds of getting an offer go up tremendously.

The OP is right that if you fall off the job ladder, it's much harder. Your first priority should be to get some kind of job doing what you want to do, at the best salary you can negotiate. But, you're negotiating from a position of weakness, and that probably means you won't initially make as much money as you want. I don't have a magic bullet here. You have to get back on the horse, put in your time, build your resume, and from there you have much better prospects in future job negotiations.

Note that all these things are true regardless of your age. No doubt, age is a factor sometimes (just like, say, ethnicity is a factor sometimes). But if you sell yourself right, and if you can really do the work in an awesome way, ultimately that will carry the day, regardless of age.

thothamon··on We Have Luxurious Jobs but We Are Not Aware of It
It's old-fashioned, but give this a try. The hack is simply to write down (typing is OK) five things you're grateful about.

For example, related to your job, you may work with technology that is fun or hot in the market, or better than what you were doing 5 or 10 years ago. Your co-workers no doubt have at least some positive qualities, so write "I am grateful that my co-workers have a good sense of humor," for example.

You may be fortunate to be making as much money as you are, or working in the conditions you have.

This is especially good for things that are an important part of your life, but which you may feel frustration or anxiety toward, such as your job, your relationships, the initiatives or projects you're working on, etc. But even for things that are a downright negative, such as sickness, you can still be grateful. For example, a sickness might have given you perspective on the important things in life, or helped you behave in a healthier manner.

Try writing down five things to be grateful about every day, and maybe again if you're feeling strong negative emotions about the subject, and see if your overall emotional posture toward the subject improves over a period of two weeks.

thothamon··on Atom
Are you suggesting that it's OK for a private company to collect any data they wish? Do you feel this collection must be disclosed to be proper, or is it OK to just do it? Would "OK" data collection include keyboard logging, password and account info collection, video (camera) and audio collection?

If you do draw a line somewhere -- anywhere, really -- then I'd suggest you're just like everyone else who thinks that privacy is a right and it can be violated. You just draw the line in a different place.

If you really do think that any kind of data collection whatsoever is fine, then I'd just say I don't think many people would feel comfortable with that, not even serious law-and-order types. You're entitled to give away your own rights, but not mine.

thothamon··on You might not need jQuery
jQuery provides a uniform API that is guaranteed to work on supported browsers. The jQuery team does all the work to back that guarantee. If I rely on raw JS, then I'm one glitchy browser implementation away from being broken.

Even worse: suppose you build a product with the approach you recommend, it's very successful, and then your sales team makes a major sale to a stodgy old bank that still uses IE7. Or maybe you just never make the sale because you don't support the browser they use.

OK, let's say we should all turn away money from IE7 users because it's insecure and old. For OP's strategy to work, we have to assume all browsers we care about will be compatible going forward. I think this is a very unsafe assumption to make. While one small incompatibility would only be a minor annoyance, once you have more than a handful of these, a compatibility layer like jQuery again looks very nice.

And none of this even speaks to the fact that the jQuery implementation in the source article is generally at least as short and readable as the alternative, or that most people are more familiar with the jQuery version.

The only reason I can think of for dumping jQuery is maybe speed optimization, and even in that case, well-implemented jQuery should be no slower than the native speed plus the cost of a function call. If it's slow and you want to optimize something, why not optimize/bug-fix jQuery itself and help everyone, not just your one project?

thothamon··on How do you tell managers that having good developers is a privilege?
I'm not sure what you mean. All managers are paid to ensure better outcomes, where "better" is defined by the company (not by the engineers, except insofar as this enables the company's goals). Some managers are more effective at this, and some less. As a manager, sometimes it's better to have a cohesive team with consistent rules, even if some engineers will opt to work elsewhere as a result.

Although I am sympathetic with OP's feelings that a strict 9-5 rule is most likely unhelpful for everyone, I do think if the engineer took a confrontational tone, the manager would have no choice but to call his bluff. Any other move, and no one would take that manager seriously again. Therefore, the top answer in the original post is correct: ask nicely, and if compromise is impossible, start interviewing elsewhere. If he can really get a 40% bump, it's probably worth taking that.

thothamon··on Are Your Programmers Working Hard, Or Are They Lazy?
Never had a boss you did not completely trust? NEVER? I'd say you're beyond pretty lucky and into extraordinarily fortunate, and congratulations to you. I've only had two bosses I completely trusted, and one of them is myself. And now that I think of it, I don't even completely trust myself.
thothamon··on The Fair Price of a Bitcoin is Zero
Hmm, "Death of the Internet Predicted"? Seriously, are there one or two succinct points to this article? Is it saying:

- The author thinks Bitcoin users are either irrelevant crackpots (anarchists/libertarians) or criminals?

- Gold is valuable and Bitcoins are not because digging in the ground is fundamentally more valuable than discovering large prime factors of numbers?

- The author doesn’t like the properties of Bitcoin, or Bitcoin is not useful to national governments because they can’t control it (not a monetary instrument, can’t reduce supply, etc)?

- The author believes Bitcoin is doomed to collapse to essentially no value?

- The author believes people who engage in Bitcoin trading are involved in a Ponzi scheme?

I’m not sure what the point is, but to be fair, I’m not sure it matters. Bitcoin is useful for those who value its properties, and there are many people who do. No one can wave off these people by labeling them as money launderers, anarchists, or Ponzi schemers (which I don’t think is even true); nor will such statements, or analyses such as this article, prevent anyone from trading Bitcoin, buying or selling with Bitcoin, or holding Bitcoin. And since Bitcoins are fungible and becoming ever more so as time goes on, regulations and laws will prove difficult-to-impossible to enforce, in a manner very similar to P2P file-sharing (but with all the technical lessons of P2P sharing now learned).

You might bet against Bitcoin specifically because of one or more technical flaws, but digital currencies in some form, and specifically currencies not controlled by any nation or corporation, are here to stay.

thothamon··on Lime – Experimental Sublime Text clone
Or if you don't like the dev's approach here, fork the code and turn on issues. I bet if you're more responsive, people will use your fork rather than the original dev's.
← PreviousPage 4 of 4