skysight-inc/HackerNews huggingface dataset:
I'm the author of the original article. What about bloat? It's hard to compare java to C applications because people don't tend to write the exact same app in more than one language, but compare Azurus to utorrent. Sure, Azurus has many more bells and whistles than utorrent does, but are you willing sacrifice an entire machine's CPU/memory to a single app just to get some special features? I doubt it. utorrent is the most popular torrent client because of this very fact. If Azurus weren't just a resource hog, it would be the most popular because of its features, but it isn't. People don't need a million features. They want an app that runs quickly and efficiently and gets the job done.
The same thing with web app development. Just because you work for a company with a huge budget doesn't mean that you should squander the company's money on hardware when it could be done with less. If your whole programming department thinks that hardware is cheap, then before you know it you've got 500+ machines to run a simple website. We're no longer talking pennies here. We're talking hundreds of thousands of dollars and tens of thousands of dollars monthly. That would hire a whole staff of C programmers.
There exist many C libraries that provide the same functionality that java provides. You guys should just bite the bullet, commit yourselves to doing a little manual memory management, drag out your favorite debugger and try writing you next app in C or C++. I'd bet that you'd be very surprised at how very do-able, writing a current-day app in C or C++ actually is compared to java.
Come on, where are my fellow C programming brethren? I know you're out there! Take a break from your desktop app coding and back me up on this! :)
Not necessarily. Many can stop smoking without withdrawal.
Game Developers are Better Than Everyone Else?
Hmm, good point, there is quite a difference. But still, I think most software problems wouldn't exist if there were more engineers (=theoretical knowledge) than artisans (=practical knowledge). But that's another discussion.
> working with and learning from other people requires dealing with all sorts of "inefficiencies"; they're not optional.

I don't think he's all that interested in working with other people. In other words, he's not seeking to optimize his relationship with other people so much as he is finding a convenient excuse for not seeing other people at all.
3 Benefits to Having Diabetic Meals Prepared For You
Fantastic mad-evil-genius photograph they found of him. A red glow coming from his eyes would be the only improvement.
I'm the author of the original post. Sysadmins don't solve buffer overflows, that's a programmer's job.

True, my rant could be takes as a "lazy sysadmin", but I have a CS degree and have a programming background. Personally, I'd prefer to re-write this code myself in C than see this kind of hardware waste. That's not being lazy, it's being respectful of the power at my disposal. Use the machine's power on doing actual work, don't waste the machine's power on programmatic overhead that could be avoided by making a different choice.
middle click / control click does not work.

I do not know how others browse, but among my friends it is common to middle click when having a list of things to checkout.
C and assembly can be written very legibly.
How to hide files in JPEG pictures
Creating a New State of Matter
Tell HN: I will work for free ... part 2
Answers to questions raised on my previous post http://news.ycombinator.com/item?id=1207725

1) Why am I willing to work for free?
This is due to my two beliefs
(a) I must demonstrate value first. Also working for free will come at low risk to my employer.
(b) All people are intrinsically good. So, if I demonstrate value, my employer will pay me or give me recognition.

and one problem
(a) I am not the best marketing guy. So I struggle making myself look good.

2) Why not work on open source projects?
I am open to work on open source project.

3) Why not start my own open source project?
I did rather work on already existing open source project.

4) Indian billing rates and I am just another below average developer ?
Hmmm, I have worked in USA with billing rate of $150+ and in India with billing rate of $60. I am in India by choice!!
And I am not doing this for money alone

5) Why did I mention so many technologies?
As mentioned by several people in my previous post, I have mostly worked on web applications. On language front, I'm technology neutral. Every language has its advantages and disadvantages.
I can get work done on any of the technologies (c#, ruby & java) and working for 10+ years in software industry does put your hands on most of them.

I have never worked on iPhone or Android. I am currently learning it. Technologies like "NoSql" is very exciting, but I have not worked on any of them.

Yes, plinkplonk you have got it right. It is possible to work on several technologies and be effective in many, My experience has shown it again and again. Only issue will be how long does the project last and if it can handle learning curve (again depending on developer).

6) Do I know php?
I don't. But in one of freelance gigs, I had to write something on php web application to expose shopping orders and items to c# winform client. I did manage to get is done.

7) My contact Information
email:- swdev2010@gmail.com
Health Bill Would Add 3.8% Tax on Investment Income
I'm the author of the original post. The article isn't about optimizing every line of code, it's about not being lazy and choosing a language that you might have to do a little more work in for a massive decrease in bloat and execution time. One tool isn't always the right one for every problem. Don't use a hammer to screw in a screw. Sure, the screw will go in, but with just a little more effort (using a screwdriver) the task will be done much better. It's about wasting money & resources because a programmer doesn't want to write a little extra code to manage memory or watch return codes.
I personally strongly believe also that Googles actions were politically motivated. Google is not standing up for free speech or anything like that - they are just supporting the position of the United States government.

I expect a company to which I entrust my data to be neutral politically. I don't care if my data is used to benefit someone, but I do not want my data to be used for political purposes.

Google, in towing the line of the American government, has shown that it is a political entity, and at some point, it could decide that anyone "anti-american" would have their data handed over to the American government.

A company that has so much information about me should not be making any kind of political statement. What if this were Nazi Germany and Google decided to take the side of the government, and provided my data to it?

I can understand a company when it says that it wants to make money, it's motivations are very clear to me. But when it says it "supports freedom", well, who is the person that defines freedom? Who is to say that that definition of freedom is the same as mine? Was Mandela not called a terrorist at some point and at another point a freedom fighter?
Plans for broadband: Pipe Dream
That wasn't true in my school. While there were lots of math classes to take, there were far more computer science classes required for a BS in CS and more electrical engineering and physics classes required for a BSe in Computer Engineering. Six or 7 math classes total, vs 12-15 computer classes
A strong password is nice, but using the same strong password every is not nice. http://supergenpass.com is a great solution.
Don't forget:

>String theory, the most promising method of modeling quantum physics

Still a bit controversial to make that claim, isn't it?
I'm the author of the original post. I agree that I/O is going to be slow in any language, so I agree with you there. However, your point about a single server being equal to the salary of 4 FTEs, in my experience, we're not talking about a single machine. Commonly, we're talking about dozens or racks worth of machines. Now we're not talking pennies anymore. We're talking tens of thousands of dollars. This is wasteful of our current massively-powerful machines.
I actually like his apology. It resonates with how I have been living of late. I don't expect to do things exactly like I this "forever", but if you have a serious goal, it can be extremely effective (and even necessary) to cut out distractions and refuse to participate in social expectations that you have realized add little or nothing of value but take away a lot from you in terms of time, energy, mental distraction and so forth.

I also like this bit from the article and very much identify with the sentiment he expresses:

Bundled up in parkas with fur-trimmed hoods, strolling hand in mittened hand along the edge of the Baltic Sea, off-season tourists from Germany stop openmouthed when they see a tall, well-built, nearly naked man running up and down the sand.
"Kalt? Kalt?" one of them calls out. The man gives a polite but vague answer, then turns and dives into the waves. After swimming back and forth in the 40-degree water for a few minutes, he emerges from the surf and jogs briefly along the shore. The wind is strong, but the man makes no move to get dressed. Passersby continue to comment and stare. "This is one of the reasons I prefer anonymity," he tells me in English. "You do something even slightly out of the ordinary and it causes a sensation."
Website's instant posts of Wall St research banned
Another HN'er is busy with something that comes close to this but has a bunch of twists.
Not Mashable
The Age Old Question: Can A Non-Technical Founder Run A Startup?
You're allowed to use it more than once. :-)
> If you know exactly what you are doing (i.e. you have a

> deep understanding/knowledge of these models), there is

> no reason for you to observe some unexpected failures.

It's not bugs that doom projects, it's misunderstandings.

Most software fails because it doesn't meet it's users' requirements. Because there's so many possible ways to write a program, and it's impossible to get an upfront specification that captures all of the needed detail, we end up building things that aren't fit for their intended use.

This is a big difference between us and other engineers. In most cases their requirements are well-understood by both the builders and the users. Build a bridge from X to Y that can carry 20,000 cars an hour, that will withstand a 9.0 earthquake, etc. That's why the models are so key, their job is figuring out how to make objects to meet those requirements.

Software's advances come through either better methods of capturing requirements, eg agile programming, together with better tools that make it easier to prototype and iterate on a product to figure out what users really want.
I'm the author of the original post. It's not difficult. Get a good debugger, and you're job is easy. Use a memory allocation tracker while you debug, then switch back when you're done. It's not hard, just takes a little more time. Don't be lazy. Use ccmalloc: No recompilation is needed to use ccmalloc; simply link it with -lccmalloc -ldl or ccmalloc.o -ldl When you've found and fixed your leak, stop linking with the library and you're done. Why switch to a GC architecture because you don't want to do something easy like this?
The Chinese Dollar Peg -- the New Chinese Opium
> The Telegraph is a tabloid

Seriously? It's not Times for sure, but on the other hand, it's not even close to The Sun, Mirror and others. I wouldn't call it a tabloid.
A Z80 can do almost everything that a modern CPU can do. Software is not quite so generic or fungible.
The Telegraph is not a tabloid, in either spririt or actual form factor. In fact, it's the only British daily remaining that is available exclusively in broadsheet.
I think the difference is that software is engineering that isn't treated like engineering. For example, if a new bridge is going to be built, years and years are spent building models, testing winds, and understanding the geography of the location. Models are tested in wind tunnels. Dampers are added for earthquakes that may or may not occur. Every truckload of concrete is tested. Metals are designed for exact specifications.

When software is built, the first prototype becomes the production version. People don't think about the future. Algorithms aren't chosen they are hacked together by someone who may or may not understand the system from beginning to end.

The problem with software, most times, is precisely that it is not treated as engineering. We build software to be thrown away. We don't build it to last. This article from Dan Bricklin changed my perspective on software.

http://www.bricklin.com/200yearsoftware.htm

He argues that we should treat software more like engineering projects and design and build it to last.

Furthermore, we require civil engineers building bridges to have degrees in civil engineering. For software, anyone can create it. People who never went to college even. But you'd never allow someone with only a history degree to design a skyscraper. We've become accustomed to software written by people who are not engineers. We don't spend the same kind of money on it and the users of it don't really care, because unlike a bridge, their lives don't depend on it not crashing.
One thing that he did (dunno if he takes it for granted) is get a URL that matches with the top search phrase. If he'd named his company "GridFriend Creator", we'd be reading a VERY different article. Every time anyone links to him, it's like the George Bush "miserable failure" googlebomb [http://en.wikipedia.org/wiki/Google_bomb ]... Except that it's not frowned upon by Google.
This.

The non-MySQL RDBMS people that I know, know when their RDBMS of choice isn't the right tool for the job. Most of the MySQL people I know, seem to think that you just shove everything into the DB, and let Eris sort it out.

Because no other member of the pantheon is crazy enough to even look at that mess.
I don't know what you need to do to straighten out the situation you are currently in, but in the future (or for anyone else listening), it is bad form to brag about side projects where your boss can "hear" you while doing your job only half-heartedly.

The job sucks? So what. Do it excellently anyway and work on your side projects and dreams of escape without calling undue attention to those things. Keep a low profile. Don't give your Facebook link to your boss. If he has it, don't post your side projects on it. Don't post anything anywhere that your boss would likely have an easy time finding it. Especially don't do so in a fashion that could be interpreted as bragging or which could threaten the company in some manner.

Not sure if something is "dangerous" to say/do? Then play it safe until you are sure how to handle it. When in doubt, err on the side of caution -- at least until you have a few months salary saved up and it won't be a big deal to suddenly lose your job. At which point, if a little bragging/sharing leads you to be jobless, you can philosophically take it as a hint from the universe that it's time to pursue this seriously as a business venture. It's a lot harder to take that philosophical attitude when you fear 'starvation'.

Good luck sorting this out.
I agree with these tips generally except for this one, Tip #4: Don't mention a naive algorithm to fill time.

When confronted with a novel and tough problem it makes perfect sense to start out from the most obvious solution and think your way through its problems. Good algorithms don't come from divine inspiration, they come from familiarity with the problem domain, which includes understanding of the naive solutions.

By all means, start out with the first algorithm that pops into your head, just don't linger on it.
Sorry, I accidentally upmodded your pointless ad hominem comment. I hate how you can't undo that.
I disagree with what you are saying. For each item you mentioned that is irrelevant, the same is true in electrical engineering or mechanical engineering. It should be obvious why a Turing machine isn't relevant to modern programming. It should also be obvious why Einstein's models of the universe aren't relevant to automotive engineering.

There are many computer science principles that are relevant to even a CRUD business application, encryption, hashing, caching, parameterization, abstraction, design patterns, and more are all applicable to problems for those kinds of applications -- they're just rarely used.
Downmoded for you.
Correct - losses during the startup period are good so as long as the revenue potential down the line is there.
A lot of people would disagree with #4. There's nothing wrong with saying the naive algorithm and then refining it to the correct algorithm. I got the O(nlog n) algorithm for the longest increasing subsequence problem, but it wasn't the first algorithm I came up with. Also, asking about capitalization in the reversed words problem seems stupid to me -- I'm not really sure why the case would change, and if the interviewer has random addenda to the problem they should state them up front.

FYI, I just completed the Microsoft internship interview.
need to host this script on a viral application on facebook(200,000+ MAU)? I can also help on this project. If you are interested in 20,000+ Daily Active Userbase please email me chenosaurus.. contact@tjoozey.com
I'm the author of the original post. Re: login, sorry, it's drupal and I turned off anonymous comments for spam reasons. :)

I'm sorry that you think that I'm naive. I'm 41 years old and have a CS degree. I've been a linux programmer and sysadmin since 1993, before linux had a 1.0 kernel (0.99.9.45 or something like that when I installed my first linux machine). My background is in programming and I spent my college career in 1990-1994 writing mostly C code.

Java is slow, although most java programmers don't want to admit it. When you take into account resource bloat, java is still a horrible choice for almost any application unless you work for a company with a lot of money that's willing to just throw money at hardware because the software developers say it's needed.

If you'd like to compare apples-to-apple, it's going to be hard because people don't usually write the exact same app in more than one language unless they're doing benchmark tests of something simple (usually hello world, or a matrix operation or something), but not real world applications.

I realize that I'm sticking my neck out there for criticism, but I'm ok with it. A lot of web programmers are java engineers - young kids coming out of school with a java background and they don't want to even deal with C because they don't want to do the manual memory management or watch for return codes, but instead just wrap the whole function in a try/catch handler. To me, it's laziness. C and C++ are almost the same syntactically to java. You guys can write C or C++, you just choose not to. For me, being a sysadmin for a living now, this is just a lazy and wasteful choice.

If you were to write your code in something more "close to the metal" just think how much more awesome your programs could be!
Disclaimer: I'm not a doctor, a neurologist, or an endocrinologist. I'm in no way qualified to be talking about this.

I have a fairly severe form of delayed sleep-phase syndrome: left to my own devices, as when I was on summer vacation back in school, I would gladly stay awake for 24 hours and sleep for 12. I've long noticed anecdotally this pattern is associated with geeks. Ask yourself: if a 6:00 AM Twitter update says your geekiest friend is waiting for his code to compile, is it because he woke up early or because he hasn't been to bed yet?

It turns out there's a reason for this. There's a gene called the ASMT gene, which codes for enzymes responsible (in part) for the synthesis of melatonin from serotonin in the pineal gland. This gene is often deleted in individuals with autism or Aspergers syndrome, which results in extremely low levels of serum melatonin. The effect is so strong that even family members of autistic children, even those not themselves diagnosed with autism or Aspergers, have been shown to have abnormally depressed melatonin levels. More information: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2199264/

Melatonin is one of the biggest chemical regulators of the sleep cycle in humans, and increased melatonin at night has been shown experimentally to reduce the time of sleep onset. I'm not aware of any studies comparing the effect size between autistic/Aspergers patients and healthy controls, but it stands to reason that the former group might stand more to gain.

I've personally experienced tremendous benefit in my sleep patterns from taking melatonin. I spent my entire teenage life showing up to classes in a sleep-deprived haze because I wasn't aware of this. Hopefully I can save someone else from that.

Now, for the catch: We have no idea why Aspergers symptoms are associated with reduced melatonin synthesis. Melatonin is a regulator of neural plasticity during fetal and early childhood brain development. Melatonin is synthesized from serotonin, and serotonin levels at various stages of development are drastically different in autistics/Aspergers compared to healthy children. We don't know to what extent these are causes or effects of autistic symptoms, and what effect there might be on development from long-term melatonin supplementation during early childhood. However, in healthy adults, the safety of long-term melatonin use, even at doses many dozens of times higher than the maximum clinically effective dose, has been shown to be completely safe. How you generalize from that is up to you.
It is amazing how obvious these instructions are. I own a prius and have been setting up a plan for if/when something like this happens to me. I have never worried about a stuck accelerator, because such an event is a possibility in any vehicle and has been reported in many more models than just Toyotas since before I began driving. If you don't know how to react in such a scenario, you shouldn't be driving a car.

The procedure boils down to,

1) Put your foot on the brake, then
2) Disengage the engine.

The Toyota fiasco has been completely overblown in my opinion.
You could just respond or state this in the previous discussion. No need to open another one.
I was going to make much the same point (before skimming the responses to see if it would be a duplicate).

I will add that maybe some people felt not only 'owed' something but an urge for vengeance. The stricter test condition is not merely one requiring 'self control' but is rather draconian in the degree to which it requires self-control. There is a difference between expecting self-restraint and imposing hardship on people. "What goes around comes around". When you crap on people for purposes of your so-called experiments, don't be all shocked when they crap on you if given the opportunity.
Ruby Scales, and It’s Fast – If You Do It Right
Dealing with the negative consequences of overloaded operators in C++
I'm the author of the original post. cross-platform benchmarks like this typically don't represent real-world apps. They're usually tiny benchmarks that test one or two things, but don't really hit the nail on the head when it comes to resource bloat or garbage collection or things that happen to an application that runs for days, weeks or months at a time. Yea, startup time is going to be faster in C or C++ because there isn't anything to start up. C just starts running and after the OS has the application scheduled, it starts doing real work, not pre-allocation of things and all of the overhead that's involved with languages like java, python, ruby, perl, ... For small applications, startup time is important. In unix/linux, when you string a bunch of apps together on a command-line, startup time is very important. So, don't dismiss startup time.

Secondly, let's talk socket pools, file handle pools, garbage collection, and all of the many things that java gives you to get better performance out of a language that is literally the elephant (bloated, slow thing) in the room.