skysight-inc/HackerNews huggingface dataset:
Macros are bad, but in order to understand why they are bad it helps if you are not a language nut. Most language nuts have one shortcoming: they do not understand their consumer.

If you want proof you only need to look at the error messages generated by most compilers. They probably make perfect sense to someone who is trying to debug the compiler, but they usually leave the consumer, ie the programmer using the compiler, somewhat confused.

Macros are bad because they redefine the language. The point of having a language in the first place is to make it easy to communicate. This is only possible if the semantics are understood. If you do good language design the semantics are clear. If you do sloppy language design people have to look things up all the time.

Now, if everyone gets to extend the language in arbitrary ways, you have suddenly unloaded a massive burden onto your programmers. It is no longer enough to say that you know language X. In order to understand the software you have to understand the specific dialects (plural) of language X -- because for a non-trivial project with lots of people extending the language in various ways, you will end up with multiple dialects.

When you can no longer bring up a piece of code in your editor and see what it does without having to reference dozens of other files that may modify the semantics of the language (sometimes in non-obvious ways), you are going to be a lot less productive.

I think Joshua Bloch was absolutely right when he said that one of the really good decisions of Java was to NOT have macros. He made some of the same points I made above.

Now I understand that people think macros can lead to elegant code, but that code only has value if other people can understand it. If you need to re-learn the language, in big or small ways, to understand it, its value is very limited.

And again: what excites language nuts and what has real value is not always the same thing.
What do you guys think of this?

http://api.rubyonrails.org/classes/ActiveSupport/HashWithInd...

http://api.rubyonrails.org/classes/ActiveSupport/Cache/Compr...
Pair programming is the only reason that team's still going, after what management's done to it, with the employee turnover it's gone through amidst idiotic hiring constraints. But even before that, it was doing pretty well.

How about you run your team the way that works for you, and if someone else does pair programming and it works for them, maybe it's okay? :)
> Here in Canada where the oligopoly of telcos locks you into 3 year contracts many people in my family still use their 3GS.

Yep, can't stress this point enough and I don't know if its specific to Canada or not.

I just got off my contract with a 3G iPhone in September of this year. That phone was really starting to show it's age.
New Tees Concepts by Glennz
If you're in San Fran, take Steve up on this. He's an amazing guy who is going to really break through. The only questions are how, when, and on which fronts.

I'm actually tempted to take him up on his offer & ask him to do remote work for our Madison, WI company. ;7) Guess he foresaw the loophole: "SF area startup".
Is pagination of the data (as shown in those examples) mandatory? It seems kind of annoying to have to limit the amount of data actually in the browser at one time, especially if it's done for "performance" reasons.
Motorola’s Gimmicks
>She was also asked on a couple of dates.

Maybe things were different in the 90s (well, I know they were) but celebrating the success of your support offering based on gender isn't great advice to offer others.
good job!

checkout my project about Tomatoes (http://tomatoes.heroku.com) when the site will be available again: http://www.weekendhacker.net/projects/WP181-Tomatoes
Not sure when you plan to start her on programming but I just started my girls on CodeAcademy (I'm not affiliated) because its super easy, teaches by doing, and there's gamification/rep system in place. I'm following along with them. Personally, I wouldn't want to choose a language for them to learn, rather, get the principles/fundamentals of coding and let them explore languages from there.
Founder Weekly: A Free, Weekly E-mail Newsletter for Entrepreneurs
You make some valid points, but they would be better made if you toned down your rhetoric about people who work on programming languages.
That's only 7.5 million per corrupt official, which is about the cost of the houses they buy in Shaughnessy, North Vancouver and Point Grey.
Travis CI now supports multiple Node.js versions
Walmart Goes Mobile With New Apps For iPhone & iPad
Great idea - hope you get to meet some great startups when you're out here! (Would invite you over but we're an enterprise software company - AS/Java/Python/C++)
At the end of the day I don't think customers care whether it's a script, person or alien solving their problem. All that matters is a great experience and a resolved issue.
What's this user trying to achieve?
Yes, but one of them means that you're thinking about the problem backwards.
What he (probably) means is that the following query returns the same result as your query:

select
sp.Name,
sum(s.Amount) as TotalSales
from
Sales s
RIGHT join SalesPerson sp on
sp.SalesPersonKey = s.SalesPersonKey
group by
sp.Name
order by
TotalSales desc

EDIT: Formatting.
Calling Bullshit On The Series A Crunch
WP7 and 7.1 have just a few apps. Do you think WP8 won't use something like winjs ala Windows 8?
I pretend nothing, HTML is for structured data and CSS is for presentation of that data. Just because it doesn't do what you want doesn't mean the definitions are wrong.

CSS was never intended to manage layout, thus it has very little tools to do so. The HTML was intended to manage the layout. CSS changes the presentation of the document as structured by the underlining HTML.

HTML controls the order of elements on the page quite well. What you are wanting is a reliable method to CHANGE the order of elements on the page. That is what I mean that CSS was never intended to do in the first place. HTML/CSS were developed on the idea of structured documents that do not change in real-time.

You are wanting to take methods from a totally different set of standards and force-feed them onto this standard. Web pages were created to be static documents, much like printed pages, not applications.

If you are wanting to control the order of elements on the page in real-time then I would suggest you look into having all your elements absolutely positioned inside a container. Then you can use javascript to move and hide elements all you want. Just keep in mind the pros and cons of doing that.
Surf The Matrix?
I worked for a company where there were queries somewhat like this, however they were obscured because they would create views on the fly. So a query would look deceptively simple only to realize (not exaggerating here) there were four levels of views underneath it. Bugs were a pain, but the worst was trying to optimize those queries. Just untangling what the actual query was made life really difficult.
1991 Internal Memo at Disney on Recapturing their Creative Roots
Gaming in HTML5: the future is now
My wife still uses the original iphone. Still works great, but can no longer be upgraded.
Backbone.js: Object Literals, Views Events, jQuery, and `el`
We provide immediately an invitation for our users to interact with us, such as having a 'click to call' button on our login site at all times and having start page that asks them to contact us. Before we made it obvious that we actually have a great support team, there was certainly less interaction and our users have responded well to these changes. Can you put a splash screen on your app that makes it clear that you're available to help?
Your old picture of skateboarders was better. I would assume that some new visitors visiting the site would be thrown off/confused by a tiger.
The performance problem with using multiple queries comes mostly from the network latency and query overhead that happens every time your application needs to make a call to the database. Prepared statements minimize the later and connection pools help with the former. The primary thing to worry about when writing queries is whether the logic behind them is efficient and doesn't for the database to do stupid things or fetch the wrong information. (Like using count( * ) where exists is what you mean.) Paying attention to what your queries will make the database actually do is more important than following any guidelines.

At least that's my experience.
Was just hopping in here to post this -- Xbox.next got named (Loop for now) and details leaked about how it is an ARM-based design with dedicated chips for each major process used in modern gaming (video, physics, audio, etc.)[1]

After seeing the specs on the Tegra 3, I can't help but think that Tegra 3++ or "Tegra 4" will basically by the Xbox-next.

[1] http://bit.ly/ue2nvb
Except that I cannot create an account for my son who's 6 months old. I have to create an account with a false birthday.
hope you get it fixed soon
Can you explain each of them, when they are typically used and why they matter? I've used them before but honestly, I am not that comfortable with them and don't ever think about using them.
Excellent point.

I am near the start of my career (3 years in or so) as a programmer, and I spent much of the first part of that working remotely. Though I enjoyed not having to get dressed and drive in traffic to be at the office by 8am, this severely stunted the development of my work skills. Now, when I was working for a startup, I would spend hours and hours at home on projects and remained fairly disciplined, but that was due to the passion I felt for my work. When that startup folded I had to enter the regular workforce for financial reasons, and I found it much harder to be motivated about what I was doing. When working remotely, I found myself constantly distracted and unfocused, and even though I felt I had fairly strong communications skills, my ability to communicate with co-workers did not develop.

There are numerous problems with younger employees working remotely, but the way it stunts one's development as a professional is probably the worst. Now that I'm in an office, I am constantly exposed not only to people more knowledgeable than I, but also people who have learned how to be a professional and how to work in a team.

One thing in particular that struck me is that I didn't really know how to behave in an office. True, there are a lot of ways that the modern office is kind of depressing, but developing decent working relationships based on mutual respect with your co-workers does a lot to make a workplace tolerable and even enjoyable. This respect is not developed in most cases unless you actually observe and learn some office behavioral norms.

Working remotely can be awesome, and stodgy companies should learn that flexibility has its advantages. But these advantages are often strongest for experienced employees who know how to organize themselves and motivate themselves to get a job done wherever they are for little reason other than professional pride and a paycheck.
There is no mailto: link anywhere on that page. If you don't reduce friction for people to contact you, they might not bother.
Port Two Apps And Microsoft Will Give you a Windows Phone
The Developer's Code: What Real Programmers Do
Ask HN: Learning through freelance work
Hello,

I recently read an article I think I found on HN, about somebody doing freelance work and learning as they went, until they had become pretty knowledgeable and a strong programmer. I thought I might try to do this, but when I went looking around on some of these freelance sites the jobs were over my head, I didn't even know where to begin.

I'm interested in web and mobile development, I've learned a few different languages (c, c++, java) but I really have only been using java outside of school. I'm trying to expand my knowledge, but I'm just not sure where to begin. I've been working on an android app currently, but I feel I only learn what I need to.

I was hoping to get a broader understanding of web and mobile development, and then from that I could learn whatever I needed. Any advice, ideas or comments are appreciated. Thanks!
I had a boss one time who, rather than write a CGI, would write SQL statements against oracle to format the results as HTML.

Things like

select '<table>' from dual;
select '<tr><td>'||column1||'</td><td>'||column2||'</td></tr>' from dual;
Ladies Vs Ricky Bahl Movie Wallpapers, Photos, Release Date, Pictures & Images
One more time this couple Ranveer Kapoor and Anushka sharma come back with new Bollywood Yash Raj Film or movie "Ladies Vs Rocky Bahl". Both these persons has done very well performance in earlier movie "Band Baaja Baaraat" the movie was Bollywood hit film and for that movie actor Ranveer Kapoor also has won Award. This movie "Ladies Vs Ricky Bahl" presents by Yash Raj Bannar. This movie would be very interesting and entertaining for people because in this movie included romance and comedy.
Short film pays gorgeous tribute to Blade Runner
I have a slightly stupid question. How is it that we've come to a point where we think of application and database development as separate things? I think this sets the stage for a lot of the problems you're getting at.

On the one hand we make-believe that all you need to know is how to sling code and as long as you can somehow get your data into the database and out, then you've done your job as a developer. I think that's bullshit. No one would use your application without the data, so the database is as much of your responsibility as any other part of the system. You should know how to use it well and should take responsibility for its quality.

On the other hand, there are things that belong in application code, rather than, for example, in a stored procedure. Most things you could do with a stored procedure probably belong in application code. The app is where the business logic is, the database is where the data is. As a DBA you aren't doing your job right if you feel OK about implementing business rules in SQL. It's much poorer at expressing intent than an OO language would be, it's less readable, and doubles the number of places you need to look for domain logic.

The WTF's go both ways.
OAuth with OmniAuth and Twitter
I love you. Lets play videogames forever.
Isn't XAML another name for Silverlight and/or WPF?
As a female, I wouldn't necessarily wear this but I approve of the research and the appeal to sexiness to get attention. I'm not sure how more objectifying this is than a pair of high-heels? (equally useless but can be fun to wear in the right environment).
Google -- that's what happened. They enabled crowd-sourced customer service.

The chances someone else has already encountered a similar problem? Good or better.

The chances someone else already commented online about the problem? Good or better.

The chances somebody else posted about how to address the problem? Good or better.

The chances of a Google query's response time being better than direct customer service? Whatever the maximum of "good" is.

Combined with most companies lack of decent customer service, it's obvious it has come to this.
I'll tell you what happened: trolls who instead of helping out, will post a smug "let me google that for you" reply and assume everyone else is as big a know-it-all as them.

Trolls, reinier, trolls killed 'asking' on the internet.
Dumping the schema from the database itself will reveal the table type. Knowing the physical organization of the schema is required for optimization work. If you only used the logical organization information (UML diagram for example) you were doing it wrong.

In real RDBMS systems, tables can be clustered (index organized in Oracle-speak) or not, nested or not, in different tablespaces, with many different parameters that do not change the semantic of DML/queries but change the performance significantly.
We just had this problem. Someone posted a 1-star review on the App Store saying:

> I create puzzles under the username: [---]. The editor is designed to allow you to upload an increasing number of puzzles as a reward for earning high ratings on those puzzles you've created so far. However, if the rating drops, the puzzles you can upload may actually drop. This is lame and unfair. Numerous times I've trashed a puzzle with the intention of replacing it with a new one, only to find that I am now not allowed to upload a new one because my max number of uploads has dropped. Fix this and I will give you 5 stars. Otherwise I will stop uploading puzzles altogether.

The annoying thing is, he's absolutely right. We didn't think of this use case, and we're fixing it right now (it should be rolled out within a few days). But it's so frustrating that he felt like he had to threaten us ("otherwise I will stop uploading puzzles altogether") and didn't even think to contact us first.

And what's more, he decided that our game deserves 1 star, even though he's clearly played it for many, many hours, and presumably has really enjoyed it.
I think I finally understand what a neural network is
The point about "There was a discussion about removing the version number" is about the only appropriate response I got that somebody actually got my rant.

However you are Assuming "The latest is the Greatest".

There was one of the versions 5 or 6, I forget. I didn't want it. But when it came time to reformat my computer I didn't have a choice and had to get an older version from a friend. It was buggy and slow. Crashed with Flash all the time. You could blame Adobe, but I want to wait till it gets worked out to upload.

I'm just wandering why not 4.1 - 4.2 with an automatic update especially if it's a security issue. People are much more likely to download an update then a full version upgrade. You can't tell me you don't automatically click "Update" when it pops up vs load new version where you think twice.

I can tell you my friends have a variety versions of firefox 3-7 (Not all of them are tech savvy). But I guarantee they all have they most up to date sub version of what ever they are on.

Also as a rule with version releases I usually wait a month or 2 to let other people "beta" test it to make sure their are no major bugs. It's something I have applied in my career and has protected me from various software issues that come with new version. XP -> Vista -> 7 is an example for why I never used Vista but now happily run 7.

I'm sorry but Mozilla is not using versions right.

I'm just shocked people don't get this and my comment was taken with such backlash. And don't get me wrong, I love mozilla and what they've done. I love firefox.
Amazon is expanding, not forking, Android
IKEA lamp mod – STRÅLA | Open Electronics
Wow, 10s of CPU? This is just for intersecting and slicing polygons? How many polys are we talking about, typically?
maybe not "this", but I can see a market for bio-feedback apparel. Brings a whole new meaning to wearing your heart on your sleeve.
I'm actually surprised no one has mentioned Rainbows End by Vernor Vinge yet. He actually presents a vision of a very natural, expressive near future UI.

While he doesn't go into technical details about everything, he does describe interacting with "Ubiquity" through small gestures throughout the body, whether small shrugs or interacting with hands. Further, he touches on the issues surrounding flat interfaces and even the virtual 3D interfaces.

And that's just the UI side of the novel.
plug I'm also working on a video annotating web app. I've followed popcorn.js for a while and was never happy with their direction. I've focused more on having users generate textual comments, timelined to the video. You can demo it at

http://www.thevaldmans.com/quip

when the app is more fully featured and less buggy I'll submit it to hackernews. If you are interested in following the progress, email me (dave@math.ucsb.edu). Thanks!
The Greatest Data Thefts in History
The comparison is also faulty because we don't know how the demand will change after Kindle Fire gets more apps and games:

Just like with movies and TV shows, music, books, and
magazines, Kindle Fire offers a fully-integrated Android
apps and games experience - purchase or register for an
app or game once, enjoy it on your Kindle Fire and other
Android-based devices - and all apps and games are backed
up in the Amazon Cloud for re-download anytime

http://phx.corporate-ir.net/phoenix.zhtml?c=176060&p=Rss...
About 5 million pageviews / month. The website is quite processing intensive.
I didn't really understand until I learned with Pascal. I was 16?
Ask HN: How can a community website make money to sustain itself?
I am thinking of creating a community website to undertake community improvement intiatives. I am curious to find out what options are available in order to make sure that the site is able to sustain itself. The possible options I am thinking of are -

Asking for donation
Google Ads
Referral links to Amazon etc.

Are there any other means of making some small revenues for these types of websites.
Really? You think charity is better or more efficient than productive work?
Would the water produced be like distilled water? If so, it would present health problems to people drinking it on a regular basis, from my understanding.
Running multiple Rails applications is easy with Pow
Comcast begins IPV6 deployment
I think MySQL 5.5 onwards the default would be InnoDB.
Let's be clear.

"The version number is too high" is one complaint.

"I have compatibility issues across releases" is another. They are not the same. They are not interchangeable.

What happened here perfectly exemplifies what happens every time a release is brought up. One of these complaints is brought up, then in the next breath it's switched to the other, as if we're still discussing the same thing.

We are not.

Conflating the two by bouncing between them multiple times in a discussion, every time the discussion occurs results in massive, unproductive churn.
The Latest Fashions in Islamic Clothing
Islamic Clothing offers you with wide variety of Hijabs. It includes new plain hijabs, aroub hijabs, Al-amira, crinkle hijabs, cotton hijabs, easy-wear hijabs, party wear, square hijabs and summer hijabs.
"You don't have to have your advisors ready yet. Set-up your profile as fast as you throw your Launchrock page up."

This strategy won't work for everyone. Angellist actually reviews every new published profiles to determine if your profile is worthy of being syndicated to their angels. This only happens once, when you hit publish.

If you just publish your profile w/ just a name and phone number, you put yourself in a hole where you now have to climb to get out.

So unless you are a "rockstar" and can easily get followers and the likes, I would advise not follow this approach.
It won't even run on OS X so that's a pretty big plus for HTML UI components, given that modern web UI frameworks are all pretty reliably cross-browser.
Remember the way America plans to compete with China is to wait for China to fail. So there are a lot of Americans straining their eyes for a glimmer of salvation. That is the context for pretty much every American story on China you see.

The reality is that Chinese rich are hedging like all the rich do. Putting 20% of your wealth in a safe investment outside your home country is not unusual. And they are gearing up to send their child overseas to the best schools they can find - just like all the other tiger economies did.
Data mining algorithms usage poll: cloud analytics is still not common
What happens to the IP of these products? Something like this, if open-sourced, could be incredibly beneficial, but I wonder if this doesn't just allow Dyson to create a business out of this (which is great for the inventor, but is this really helping those who need it most?)
Yes i know, but it just never cross my mind that my tables have been InnoDB all these while ... among all the optimization, this is one i overlook, well i'm not a DBA afterall.