skysight-inc/HackerNews huggingface dataset:
OK, i think (i have never done this before) that the following image should be public - ami-a97eaec0

it contains a basic 64 bit amazon linux image, with the extra code generated according to lgeek below http://news.ycombinator.com/item?id=3579531

to run, deploy the image, connect as ec2-user in the normal way and then:

- modify ~/tor.sh to change the port on which obsproxy listens, if you want

- change the security group to allow ports 9100 and 2189 (or whatever you change 2189 to above) (you may need to restart the instance at this point to apply the security group).

- modify the bandwidth limit in /usr/local/etc/tor/torrc (ie sudo emacs -nw /usr/local/etc/tor/torrc) - currently it's 50 KB/s which i think comes out as around $10-20 a month if it's fully used.

- start with the tor.sh script.

- check tor.log and note your external IP address.

- check external access using something like "telnet xxx.xxx.xxx.xxx 2189" (which generates a screenful of binary on success).

- contact tor-assistants at torproject.org so they can give the bridge location out to someone that needs it.

please post here or email me if there are any issues (a confirmation that you can access the ami would be cool too :o). also, are AWS external IP addresses permanent (if not, may need to use elastic IP + DNS)?
Samsung's Smart Window presented on CES
I love Jeremy Lin as a player and I really hope he succeeds. However, it must be said: Four games does not a statistically significant sample make. Read the NBA Playbook breakdown of his game:

http://nbaplaybook.com/2012/02/08/a-look-at-jeremy-lin/

In summary, he isn't good going left or shooting from distance. So far he hasn't played an elite defensive team. The true test will come if he can sustain his performance over the season and against good defence. Let's hope he does it!
I think it is about semantics and perspective, but a delighted user is someone that just saved money, or saved from an arduous chore, or got laid. Delight is the sensation derived from the usage of the product, not from any particular feature.
Front end Developers seem to disagree a lot. Some embrace the webkit prefix and sprinkle it all through their CSS. Others prefer not to resort to old fashioned site building techniques and instead aim to get the functionality working everywhere in one hit without coding like it's 1996.
>Now you're just being intentionally obtuse. When I write if (x) y += z and say that it should be implemented with conditional moves or predicated adds per your platform, there really isn't much room for confusion.

May be I am obtuse though not intentionally. If you wanted to say that if's can be replaced with predicated instructions why such a convoluted example (which is a nice piece of code, by the way)?

>Actually, all modern desktop-class GPU architectures have branch instructions.

Indeed, and as you say, they are not always executed because a single SIMD core executes threads in a lock-step and it's only possible to branch when all the threads yield the same condition. Besides there are still GPUs without branches, e.g. PS3 fragment shaders.
Show HN: Framous - Built with MongoDB and lots of jQuery
I wanted to show everyone our current iteration. New features are coming online soon.<p>Based on our previous post ( http://news.ycombinator.com/item?id=3431577 ) we did a ton of work to try and improve the expeance based on the HN feedback and feedback from our customers. We would love to hear your updated thoughts!! Share for free - Type in Friends2012 for 50% off if you decide to get one.
In response to the turnovers, I want to mention that there are a couple reasons for that.

The first is that he's playing PG and has to handle the ball a lot more than anyone else on the team right now. Combined with his minutes, that's generally going to give you more TO's just because of the amount of time with the ball and the probability of a player of his skill level losing it (although this point doesn't account for other PG's who average way fewer TO's).

Second, he's just started to play a ridiculous amount of minutes over the past week and hasn't had enough time to refine himself yet. Did you watch the first couple weeks of games this season? Because of the lockout this year, there were almost no preseason games and it showed. Turnover rates were extremely high for pretty much every team, so I'm inclined to think that Lin can get his turnovers down throughout the rest of the season assuming they keep playing him.

My last point is a pretty obvious one, but he's still young. A few more years of experience and I expect to see turnovers go down. I watched his 38 point game last night, and while he played pretty amazing, he did have moments where he looked confused and flustered when running the offense.
The interface is really slick. Very, very nice. I am disappointed that Linux is not mentioned.

Barring Linux, I would love to see this on the iPad or other touch interface.
It is very intimidating for a starter. On the other hand, there's a lot of software like this floating about inthe Audio world already - Max/MSP, Supercollider, Pure Data and Reaktor being the best known, so for an experienced synthesist it's good to see that it can handle a whole project through a coherent interface, rather than seeing a small proof of concept and wondering whether it'll scale up.
I thought the 3d was rather gimmicky at first, but being able to see the automation projected onto the signal processing network is pretty neat, and it certainly seems fluid and responsive. It's very interesting, and $200 is not an unreasonable price if it fulfills its technical promise.

Two caveats: one, I think it will be important to offer a demo version of some kind (and I'm sure he's thought of this) as getting the most out of a piece of modular software like this really requires you to build a whole workflow around it. There's a ton of free and cheap products to do the simple tasks, so a product like this demands a certain level of commitment - and those who are already committed to a competitor may be reluctant to switch. Users of products like this are often the best sales team for the product and can be fanatically loyal, but are also fairly high-maintenance as a result. Technical support and backwards compatibility are the bane of small synthesis outfits, although that said synth users are a very nice bunch :-) The other caveat is that a modular tool is only as good as the individual modules - so if the oscillators or filters don't excite people, then the parallelism and modularity can be for naught, or at least much less. I don't want to judge the sound from a YouTube video or at this relatively early stage of development, and I do like that it's aimed very firmly at techno artists rather than pretending to be a destined for rock or pop. I just hope the author invests even the basic modules with character, rather than relying on the user to add it through additional complexity. Some synths offer a great variety of configuration and modulation options, but the base modules impose such a distinctive tonal signature ('ear candy') that everything you make with it sounds a bit similar - I used to find this a problem with Roland synths, in particular. Of course, this is very much a matter of taste, and it's probably much better to develop a distinctive sound of one's own than to be chasing the elusive qualities of other sysnths that people say they would like it to sound like. People like me, I have to admit :-)

Overall I'm impressed. I'm not sure if I would use it or not, as I've been trying to do less and less in the computer and more in hardware, and with fewer pieces of gear at that. I've owned some 20 or 30 different synths over the last 15 years and probably used twice as many software products, so I've been trying to slim things down to doing everything in only 2 or 3 devices and using the computer as a tape recorder and occasional supplemental tool. Too many options on the computer means I spend too much time editing rather than creating, but this product does seem to strike a nice balance between the two modes of working.
IE has had an icon-less tab forever. But it is connected to the tab bar, which makes more sense. I thought this was a bug, too.
I wanted to show everyone our current iteration. New features are coming online soon.<p>Based on our previous post ( http://news.ycombinator.com/item?id=3431577 ) we did a ton of work to try and improve the expeance based on the HN feedback and feedback from our customers. We would love to hear your updated thoughts!! Share for free - Type in Friends2012 for 50% off if you decide to get one.
I work with python daily. I find that when I first started I avoid a lot of the "fancy" constructs such as list comprehensions, dynamic arguments, and decorators as well as meta programming.

The great thing is the bar to being effective in the language is so low. You can pretty much pick up most python code and just read it and get a general feel for what it does. Not only that but it is much easier to read because of whitespace delimiting.

I can generally tell the quality of a python program but how nicely indented it is. If there are lots of indents like 5 or 6 levels deep I know something is wrong. For a newbie if your code is hard to understand and it is in Python you are writing it wrong.
Monkey Island inspired game to be developed.
I think with Firefox 10, which doesn't have the extension problem when updating anymore the market share could rise again. It even has no-restart-required extensions now. This is really nice, I hope people who switched because of the changed release cycle come back now. A lot of problems that came into existence with FF4 have been fixed now and most of the problems disappeared or disappear soon.

In my opinion it would have been better to wait with things like the rapid release cycle until now, but well... at least that's fixed now.

Also I use Aurora (Firefox 12) and it feels really nice. Quick, nice features not feeling bloaty at all. If that direction remains I am sure many users switching to Chrome could come back. It's also doing pretty well when it comes to web standards. The only problem I still see on the web is that developers sense for UserAgent strings instead of features, which is just plain stupid and incompetent.
Google: Google Wallet is safe, but we will disable prepaid cards – just in case
I'm not 100%, but I think that WebSockets (for now) do not support compression.
> If you wanted to say that if's can be replaced with predicated instructions why such a convoluted example (which is a nice piece of code, by the way)?

That's not what I wanted to say; it was a side note to a piece of code. Anyway, sorry if it was confusing. It was a spur-of-the-moment comment on Hacker News, not a carefully wrought essay.

> Besides there are still GPUs without branches, e.g. PS3 fragment shaders.

The RSX is ancient at this point, a turd in a box. It was a turd even at the time when, in the eleventh hour of the PS3 project, Sony begged NVIDIA to give them a GPU after their fantasy of Cell-based rasterization had proved ludicrous. It's so bad that you have to offload a ton of work on the SPUs to get acceptable graphics performance.
Protecting your payments with Google Wallet | Google Commerce
I'm generally forced to purge my accumulated tabs (using Aurora on XP) once I get to around 400 or so. Glad to see people who are just as tab-happy as me. :)
I really should have refreshed the comments page before shortening... seems like we think similarly: https://gist.github.com/1803557
All is public, since doesn't have password. I took a pastebin list, a free geolocation API, and I made this to play: http://big-brotha.appspot.com/static/index.html
The magnetic strip will sadly rule the day for a few more years. QR and bar codes are the closest thing to ousting this out dated technology and consumers are still years away from being able to adopt them in a more wide spread way.
I worked with expect (tcl based automation tool) for a while back in the 90's and while I really liked expect for what it could accomplish, tcl itself annoyed me. I can't really articulate why (perhaps just the overwhelming prevalence of {} characters?) I also found pass by name semantics sort of weird, but on the other hand, I was much less mature then than I am now, so I can't really trust my own impressions.

Expect is still pretty neat:

http://expect.sourceforge.net/
Different types of businesses need different growth rates to be successful.

Yes!! This is the essential point, and I'm surprised pg didn't bring it up. It depends on the nature of the opportunity. If it's a large market that has recently opened up for some reason, you have to attack it aggressively or you will lose. Conversely, if the market has to be educated about the virtues of your product, you're better off going slow, because educating a market takes time.

I'll agree with DHH to this extent, though: I wouldn't be surprised if there were a lot more bootstrap opportunities out there than fast-growth opportunities.
An "Intro To ClojureScript" interactive preso in ClojureScript and [:enfocus]
That button never looked right to me, but this looks worse. I even reinstalled Chrome. This makes me wonder about how much thought and attention they give to UI details.
See also: http://xkcd.com/353/
Alternate-Reality Intrigue is the Key to The Hacker's Charm
[Founder Lessons] Interview with Joseph Ansanelli,Co-founder of ZangZing
It's important because it reminds me I should keep looking.

I should keep looking instead of turning it into my Blub. I love Python but its boundaries have been hitting me frequently for years. There probably never will be a total sweet spot between functionality, syntax, compatibility, support, and platform-crossing but I know I have to keep looking for a language that's more sophisticated yet more practical.
Studio History - Delta Versioning in JS
It’s Official: There is an App for Everything
I could not agree more with this comment and just wanted to thank you for expressing this so clearly.
Yeah, that talk got me to set up a tor node. Watching it is a time well spent.
Many good things in CSS3 started out as a vendor prefix. Don't be silly.
The Importance of Interface Language: Clicks, Taps, and Buttons
An oft overlooked point of MVP / lean methodology is that companies should try to minimize time through the build -> measure -> learn loop. Spending too much time on the build phase (to get impecable design) can delay critical learning.
It doesn't look anything like a tab to me. It has a different shape, size and placement.
Really don't get the point.

Bootstrap is open source. Most of these themes would be paid. (not good for me)

Don't have much in support of my point, but I would not use this service unless some really _amazing_ designs are put up.
I want to make what I think is an important qualification which conflicts with a reading of your comment: Python is readable to people who are familiar with conventional Algol-based programming, i.e. every modern programmer. That does not make it readable to an arbitrary English-speaker, which is an assertion I sometimes hear: "Oh, Python is so much like English, people who aren't even programmers can read some of it!" Which I can say from experience is not the case in the slightest. If it were, my job—which involves teaching Python to non-programmers—would be inestimably easier.

Python is simple and easy because it takes everything you know from other languages and systems and makes those things simple and easy and pleasant to do. I've even seen Python used as a kind of runnable pseudocode for projects that would eventually be written in other object-oriented Algol-based imperative languages, which is a testament to how well it distills those concepts down and makes programming simple. But it is not "readable in English." It is readable in pseudo-Algol.
True. The real magic: The basic constructs are so simple, so how the output is so robust? And picking old or library code is always easy!
Where can I interact with it?
I find a great way to avoid deep nesting is to move code to functions, and bail out when some conditions are not met.

As an example, this deeply nested code:

def frob(someargs):
if something > 2:
... # do some processing
if that == "CONNECT":
... # some more processing
if verdict in blessedsolutions:
... # even more processing
print "Happy birthday!"

I tend to write like this:

def frob(someargs):
if something <= 2: return # Not our concern.
... # do some processing
if that != "CONNECT": return # Not handled here.
... # some more processing
if verdict not in blessedsolutions: return
... # even more processing
print "Happy birthday!"

I do the same thing in loops, using 'continue'. The above second example looks rather flat, but in practice the 'do some processing' statements often need identations due to conditions and loops.

I added the processing to demonstrate that it's not always possible to combine conditions. And, of course this way of 'bailing out early' vs. 'nested ifs and processing' is not Python specific. The dogma that a function should have only one exit point (as proposed by 'structured programming' adepts and Pascal afficionados) often leads to deeply nested control structures and convoluted testing. Brian Kernighan has written a paper on this[1].

[1] http://www.cs.virginia.edu/~cs655/readings/bwk-on-pascal.htm...
I agree, you're much better off just reading up on Adwords yourself. These advisors tend to waste your time.
Perhaps the 90's generation is just as depressed as any other generation, but it is more socially acceptable to discuss and share it with others.
I seriously want one; with the touch interactivity so any guest can play with it.
I think this post is confusing two stages of development. I would argue that MDP is a step beyond and MVP.

MVP is not about marketing, word of mouth, promotion (although it's always welcome). MVP is about building the absolute minimum you can test against your target market to validate your assumptions.

I just finished a Lean Startup Machine weekend. You know what our team's MVP was? Us walking the streets of London, approaching our target market, explaining our offering and completing the service we were promoting (it wasn't a virtual goods or saas obviously!).

That's right, we didn't write one line of code! But we went through the exact motions that we would have done if a website existed i.e. attracting interest, taking details, fulfilling the service and receiving payment.
To this day I still feel very very dirty about this hack, but it was needed to achieve the objectives and harmed no-one :)

Great story! Next time just make sure you wear gloves.
As a commenter on the article wrote: what about Ruby?

I say this as a happy Python user. Ruby seems very similar but I'm reminded of a pg essay on language power: looking up the power curve, you see '$Language plus a bit of weird stuff that is probably irrelevant.' So I don't trust myself.

As someone who loves Python and doesn't know any Ruby beyond a few bits of syntax and the obvious bits that are common to most languages, what am I missing?
I think he meant that more as an english statement than a mathematical one. It is indeed the number of rebounds, steals and blocks PER 40 minute interval.
I recently started using Toggl (https://toggl.com) and have been enjoying it a lot so far. Type in a description of what you are doing, hit start button. The usual features like multiple clients/projects, billable vs. nonbillable, reporting, etc.

Harvest and Freshbooks also get a lot of love. If you just need a really simple timer, SlimTimer is lightweight and easy.
It would be easier to just learn the language.

Can you conceive the existence of a language that has got some parts wrong, and maybe awfully wrong?

Well, my point, and that of a lot of others, including Cockford and Eich, is that Javascript is such a language. And that the fucked-up scope it has, is one of such parts.

JavaScript I not c. JavaScript is not Java. JavaScript is not python. If it was one of those languages it would be named that and there would be no JavaScript books, just dom and browser books. But it is not those languages. It is different. If people don't learn the language they cannot be expected to write code.

People don't want Javascript to be Python, C, or Java. The want it to be a better Javascript and shed some of the BS that was added at its' conception due to a tight deadline. Being "different" than other languages is OK. Being brain damaged is not.

People must learn the language, but that doesn't mean they have to put up with mistakes in its' design and not correct them. Just like people corrected bad stuff in K&R C with ANSI C, Python with Python 3, Ruby with 1.9, etc.

You seem to have the wrong impression that people complaining are lazy programmers who don't want to bother to learn the language. They are not. Brendan Eich is a JS guru and implementer. Douglas Cockford invented the damn language! And he admitted that there are bad parts in it, that need to be corrected. He even made a book on how to work around those, called "Javascript, the good parts".

People always bring up var for some reason. Why var? Why not closures? Javascript is often the first place programmers come across this concept and it always causes confusion and bugs at first. Should we get rid of them? Of course not!

Because discussing what must be corrected is not about whether it's confusing to newcomers of not, it's about whether something is nicely designed OR a kludgy disaster.

Closures, while confusing to some, are a standard programming feature and a nice addition to Javascript. In contrast, var (and JS's scope rules) are just things that the JS creator gotten wrong. They need to be corrected.
I agree. Generally with smart basketball players, there TO's go down as they get familiar with the pace and level of play. A comment struck me the other day by an announcer, Lin has never played against 7 footers before. Whether that's true or not, he may have seen a few while at Harvard, but to consistently play against these behemoths has got to be a new feeling. Regardless of skill, it'll still take time to get use to the size and style of the NBA.

What I love about Lin is he is a smart player and a smart person. It's not a surprise to him that he's turned the ball over. Guess what he'll be working on in the future.
I like Python the language, but the standard library can often annoy me as there is no unified style. thereAreMethodsLikeThis or_there_are_methods_like_this orevenworsefullylowercase. Gah.
I do love Python, but I often wish there was more rigor for some things. I currently work on a large project (>500K LOC) and have started to see it fall apart with a bigger team. Lack of enforced typing in function arguments, inability to create strict interfaces, inconsistency in standard library conventions, and package management would probably be my biggest gripes.
Cambridge scientists boost solar PV efficiency by as much as 25%
http://www.planettechnews.com/hardware/item635
The Ruby slim templates get compiled to an intermediate language (Temple). That is then compiled into an end form and everything is cached - the performance is all the same.

RoR didn't pick Haml because Haml abandons HTML. Take a look at the Hamlet language which give the best of both worlds.
https://github.com/gregwebs/hamlet.js
https://github.com/gregwebs/hamlet.rb
Wrong. What makes JavaScript popular is how good it is. You can't explain its mass popularity growth in non browser setting (node js ) with its ubiquity.

Sure you can. Node.js is not even that impressive: similar solutions exist in lots of other languages, Ruby, Python, even Java. The Node guy wrote Node in JS for two reasons: V8 was a good and fast environment, and JS didn't have much existing libraries, so people could start making new async libs.
In my opinion Ruby has a slightly more obscure syntax with custom symbols, and it's C API is not as clean and well put together as Python's.