HNHacker News
TopNewBestAskShowJobs

tieTYT

796 karma · joined July 22, 2010

Software Consultant who specializes in improving software quality. http://www.sleepeasysoftware.com
submissionscomments
tieTYT··on BBC staff ordered to stop giving equal airtime to climate deniers
Devil's advocate: When's the last time a fringe* conspiracy theorist's agenda has been able to effect legislature?

EDIT: Added the word "fringe". As in, a conspiracy theory that doesn't get media coverage.

tieTYT··on Show HN: Massively Multiplayer HTML5, Node.js, MongoDB Game
Nice. What libraries/technologies are you using to render the front end?
tieTYT··on Zetes: A lightweight cross-platform GUI application framework for Java
> Zetes is a crossplatform lightweight framework which allows the user to develop console or native-looking GUI programs, written in Java, that could run on a machine without any JVM installed.

Awesome, sounds great.

> And in addition it has a beautiful GUI (based upon SWT).

Hm, I had a bad experience with SWT (which was over 10 years ago, so probably irrelevant). But what annoyed me is that if Windows could do X and Y, and Linux could do Y and Z, then SWT could only do Y. I found its lack of features a problem. I felt like I had to create my own components by hand a lot of the time. Swing, on the other hand, would let me do X, Y and Z and make sure they look decent on both OSes.

> The main feature of the library is that it makes a thin wrapper on SWT and basic system libraries that makes it possible to make an app which has a native look-and-feel under different platforms. For example, the "Exit" item is in system menu on OS X, but in "File" menu under Windows; about box has "OK" button in Windows, but doesn't have any on OS X and so on...

Mind, it's been over 10 years, but how is this different from plain SWT? Is it just that it can run without a JRE?

tieTYT··on Is TDD Dead?
> The problem with integration tests as discussed in the talk it they take a long time to run and give imprecise results.

I think you left out the main complaint: It's impossible to cover a majority of code paths.

tieTYT··on Is TDD Dead?
> it's interesting to see that testable code and good design kind of line up

They can line up, but I'm not sure there's a causation. There are many different ways to write tests the wrong way. It's taken a lot of trail and error for me to get better at it (I can't even say I'm "great" yet). I'd have given up long ago if I wasn't a passionate developer. A less passionate developer would think the whole concept is BS and give up long ago if he took my path.

One of the first mistakes I made was using a mocking framework to test my implementation. The test read like, "first call this method, then call this, then call this". Needless to say it was worthless. I was just writing my code twice.

Then you can use mocks inside-out and end up writing code you don't even need to call, etc.

I'm sure there's many ways to do TDD right, but from in my personal experience, there's more ways to do it wrong.

tieTYT··on Is TDD Dead?
I believe that's called BDD. Behavior Driven Development. It has a separate name because TDD-ers kept making this mistake.
tieTYT··on Is TDD Dead?
I test your way, but if you're not aware of it you might want to watch this talk called Integration Tests are a Scam: http://www.infoq.com/presentations/integration-tests-scam It may explain why the "gearbox shit the bed" and how to fix that problem.

If you want a talk that preaches to the/our choir, check out this one: http://vimeo.com/68375232

It's interesting how different they are. Mutually exclusive in fact. But is one wrong, both or neither?

tieTYT··on Things You Love are Made with Code
Where'd you get these numbers?
tieTYT··on In Defense of Recruiters
I hate the ones that require you to give an in person interview with them before they'll suggest you for an in person interview with a company. Can someone explain the reason they do this?
tieTYT··on Netflix responds to Verizon
I don't know how Netflix figures out that it's Verizon that's slow, but lets say it's with some software that anyone could use. Wouldn't it benefit the entire Internet to open source that software so that anyone could use it? Or, barring that, provide an API that anyone can query.

This way, any company can use the software and report the same thing to their customers. Lower the barrier to entry for Amazon/Google/Hulu/your startup to join the fight and inform the people.

tieTYT··on Bitucket is down (again)
Is doing this against policy or encouraged? I don't see it mentioned here^1, but maybe I'm looking in the wrong place.

1: http://ycombinator.com/newsguidelines.html

tieTYT··on A Year of Functional Programming
I'm pretty ignorant of both languages (but I have novice experience in both): Moving to Haskell, don't you miss Lisp macros? How do you deal with that?
tieTYT··on Reasons to use protocol buffers instead of JSON
> There do remain times when JSON is a better fit than something like Protocol Buffers, including situations where:

> * You need or want data to be human readable

When things "don't work" don't you always want this feature? Over a long lifetime, this could really reduce your debugging costs. Perhaps protocol buffers has a "human readable mode". If not, it seems like a risk to use it.

tieTYT··on WebGL on iOS8 Safari and WebView
No, i assumed that these problems also applied to the Web Audio API. Thanks for the info
tieTYT··on WebGL on iOS8 Safari and WebView
I'm a hobbyist game dev, and although I appreciate this, I'm disappointed that sound works so poorly on mobile in html5 and I actually consider that a bigger issue than this (after all, my game already renders fine in the 2d canvas). Why don't others seem to care about this issue? Is it because they plan to use WebGL for something that doesn't need sound or is it because they know of some sound workaround that I've never heard of?

Here's the details of my complaint: http://stackoverflow.com/questions/19365175/with-html5-audio... and http://stackoverflow.com/questions/19365931/does-phonegap-co...

tieTYT··on Defensive Bash programming
I should have mentioned that

  1. I am already using set -e
  2. That `err` function has an `exit 1` as its last step, 
  which forces the program to stop running when combined with the first point.
> Now, on to your shell script example: in practice you'll never see an error because both grep and sed return true even when no matching or substitution is done.

That's not what I'm seeing:

    > echo "hi" | grep "bye"
    > echo $?
    1
I'm typing that into my shell.

Thanks for the reply, it was very helpful.

tieTYT··on Defensive Bash programming
I wrote my first shell script that actually matters a few weeks ago (in other words, I'm a total newb). Its purpose is to validate the configuration of another app. It seems to me that "set -o pipefail" would get in my way, because I'm often doing things like this:

    adapter_properties_home_community_id=$(cat ${EXTERNAL_VARIABLE}/adapter.properties \
    | grep -P '^HomeCommunityId=' | sed 's/HomeCommunityId=//g' \
    || err "line $LINENO: Could not find HomeCommunityId in the adaper.properties")
If I "set -o pipefail", won't any failure in this chain of pipes halt the program? That will prevent the user from seeing the useful error message that says "Could not find HomeCommunityId in the adaper.properties"

I'm also concerned about "set -u". That EXTERNAL_VARIABLE is set external to my validator script and available to the shell. Any appliance with the app should have that variable set. I have a check to make sure it's set and it's valid, but if I had "set -u", wouldn't that prevent me from checking its value because it hasn't been defined in the script? What's the work around to this, because I see how "set -u" would be very useful in most other situations.

tieTYT··on Google's XSS game
How is it doing that?
tieTYT··on Google's XSS game
I probably should be too embarrassed to ask this question, but why can't I use script tags in the second test? I don't understand what's preventing me from doing that.
tieTYT··on Haskell, and Why It Might Be My New Favourite Language
Sure, but like I said, "Long story short, I tried installing ~10 libraries with Cabal and only one installed smoothly."
tieTYT··on Haskell, and Why It Might Be My New Favourite Language
Personally I had so many issues using Haskell libs on Windows that I gave up on the language.

I've documented the details of my complaint here: https://news.ycombinator.com/item?id=5615516

tieTYT··on A Hacker’s Guide to Git
I've got the right level of understanding of Git to grok this article. I really liked how you talked about cherry picking before you talked about rebaseing. I'd like to request you include a section on why/when you need the rebase --onto argument.
tieTYT··on Haskell, and Why It Might Be My New Favourite Language
> I believe the Haskell investment is one that every serious programmer should like to make as it should make your both work easier _and_ more fun.

As long as you're developing on linux. IME, trying to use haskell libraries on another OS is hell.

tieTYT··on Dragon’s Lair – An Arcade Story
> Maybe that’s what streaming games on Twitch is like for the current generation of kids. But even knowing that 60 people from around the world are watching you set new records in Call of Duty, I wonder how it stacks up to an actual crowd of people standing directly behind you, as you listen to them whispering to each other about how good this kid is at this game.

This is still the case depending on the genre. If you go to a fighting game tournament (street fighter, tekken, soul calibur, etc.) you fight in person because at a high level the lag over the internet is not acceptable for competitive play. In that situation, you have people looking at you over your shoulder and thousands of people watching you on twitch at the same time.

Bonus Justin Wong vs Diago Clip: https://www.youtube.com/watch?v=XeM0rH_4ung&feature=kp

tieTYT··on Jest – Painless JavaScript Testing
Nice. When will there be a grunt plugin for it? I'm using the qunit plugin right now and I notice that it's 10x slower to run than viewing it in the browser. This 10 second feedback loop is driving me crazy.
tieTYT··on Firefox Developer Tools – Editable box model, Sublime Text keys
> Console stack traces

> console.error, console.exception, and console.assert logs in the console now include the full stack from where the call was made

But what about if I use `new Error("something");` ? That's how I let errors bubble up in my app. Am I doing it wrong? According to this, that won't show a stack trace.

tieTYT··on I don't love the single responsibility principle
I deleted my comment after realizing I missed that sentence.
tieTYT··on Hangout with Martin Fowler, Kent Beck, and DHH: May 9th, 11am ET
Is this going to be recorded so I can watch it later?
tieTYT··on Why I am excited about Clojure
> Your first issue with Haskell is a plus! Everyone in #Haskell on freenode are incredibly helpful, and well, if they're all professors you likely to get some quality help, right?

Eh... The Haskell community is amazing and always willing to help. They get an A for effort, but they often have the curse of knowledge[0].

> The curse of knowledge is a cognitive bias that leads better-informed parties to find it extremely difficult to think about problems from the perspective of lesser-informed parties.

[0]: http://en.wikipedia.org/wiki/Curse_of_knowledge

tieTYT··on Why I am excited about Clojure
shrug Just different experiences I guess. I should note this isn't exactly an apples to apples comparison. I am using a lot of discipline in my JS project. I'm writing the code test-first most of the time, and I only have one global variable in the whole project.
← PreviousPage 4 of 14Next →