skysight-inc/HackerNews huggingface dataset:
I'm a build engineer at Intel (100,000+ employees), and we strictly use Python3. You act like it's a completely different language. It hurts the community when you blow the situation out of proportion. There are innumerable Python3 libraries, and while there are most certainly more in the Python2 camp, who cares? This isn't a dick-measuring contest; it's a change for the better in a language we all seem to like.
At the end of the article, it is demonstrated that this can happen even with strict equality by overriding the getters. Any language with getter/setter support can do this. Operator overloading can be used for even nefarious ends.

The point is that side effects in code are dangerous, and can be used to mislead a reader.

If this happens, it is not the fault of JavaScript. Anyone who writes code like that for purposes other than demonstration or learning is a moron.
Studies show that deadlines reduce code quality and increase overall time though - so the better solution is to modify the tasks so that "until 15 August" is not part of it.
In Android.Next it seems, as Dalvik was already disabled on the visible source code.
Can you elaborate how one can do this with IPv6? What hosts have this? How many IP addresses can you get?

Basically for web scraping. If you had multiple threads and each of them had separate IP addresses, you'd have a better chance than doing it with one IP address.
How To Tie A Necktie In Ten Easy Steps
If you're testing 3rd party APIs with sensitive data, you're Doing It Wrong.
This was refreshing. I'm struggling with the same problem...I've embedded Lua in my C++ engine for high-level scripting. Unfortunately, as my scenes became more and more complex, I found myself struggling with representing the inheritance hierarchies in Lua, as well as things like object ownership/gc (resorting to passing around shared_ptrs in Lua userdatas). And for each new data type, I had to write the same old C++ boilerplate to make it available in Lua the way I needed to. The complexity is getting to be too much.

I think this article is going to push me to strip out the embedded Lua from the engine and use plain old C++ as well. Great read!
> They certainly didn't supply the raw material which in programming would be time and effort so they shouldn't have any claim on it.

It's this last point where you might well run into legitimate disagreement. What is the "raw material" for a piece of software? If it's the knowledge that goes into writing it, then arguably the employer did supply that.

I can pretty much remember what code I wrote during a day. Not verbatim of course, but if I solved a problem at 10:00 AM, I'll be able to figure it out again at 6:00 PM. What is to prevent me from going to work for a small software company, working on their product during the day, cashing their paychecks, and duplicating my work at night? When I'm done, I just quit and sell my version as a competitor?
Yes, but for simple, personal rules that won't have any major repercussions if they fail (e.g. email me when I get 10 likes on my last Instagram photo), I can see how they'd be useful.

...not that my hypothetical rule is useful, but you understand what I'm getting at.
I disagree. Your employer is sponsoring a lot of your learnings in a specific area, so he's entitled to all your ideas in that area, that's what your paid for. It would be extremely easy to just keep your best ideas for "your" project and not use them in your work project.

The construction company would have a valid claim if you stole the blueprints at work.
Well, don't leave us hanging, show us the finished stitched image (and the individual images you started out with). :)

As it happens I'm doing something these days that'll require me to stitch a lot of images together. I'm taking a lot of images with a microscope by having the stage go in a snake-y, boustrophedon fashion (http://en.wikipedia.org/wiki/Boustrophedon) and capturing shots along the way... so I have a lot of images (about 10,000 of them) I need to stitch together. Would something like Hugin work for this? All the images are kind of similar to each other, and each image might overlap the next one a little bit (such that a small outer edge on all 4 sides would have to be trimmed). I was thinking of stitching them together with Imagemagick, with appropriate parameters based upon how much I'm moving the stage, but I'm wondering if that might introduce some error for the 10k images, ideally it shouldn't. I suppose I'll explore both options. If someone might have any insight into this, I would be very happy to hear anything.

And thanks for linking this dlsym, I learned of this at just the right time. :)
> Furthermore, there's some great tools out there to help prevent things like memory leaks. Combine that with good company practice, like code reviews, and it becomes a non-issue.

The security track record of applications written in C++ disagrees with you.
The modmakers don't suffer too dearly, blueprint can do almost anything a modmaker could want, and in the future perhaps we can drop the almost.

They didn't really drop the highlevel language, they just dropped the idea of a highlevel general purpose language, favouring a strict DSL.

There's still a bit of interop, but you have to be very explicit about it. In C++ you use macro's to tell the compiler what's accessible to blueprint, and to access blueprint from C++ you have to make weird queries that are very obviously highly dynamic and ill-performant.

So cool stuff all around :)
Money-making machine cashes in on currency trades
today's winner in BS bingo.

Basically, manager can push you in any way and you'd not have any structure to hold for.
> If these numbers are true, it might well be true. Objective-C might not suffer from such a significant slowdown.

Kinda. I imagine that if these benchmarks were run on idiomatic Objective-C, they'd be an order of magnitude slower than Java. All method calls are un-inlineable and often require a hash table lookup to resolve.

However, the nice thing about Objective-C is that it's ridiculously easy to write performance-critical stuff in C or C++, then expose it with a nice OO interface. Which means that you (or, more likely, the people who wrote the library you're using) are more likely to bother. That and the lack of GC making latency easier to reason about.

So while it is probably easier to write performant UIs in Objective-C than Java, it isn't because of the reasons mentioned here.
From my experience with working on Android internals, I also get the impression there is a ridiculous amount of IPC happening during normal operation, much of which involves Dalvik components (such as the activity manager) as intermediaries. I've sometimes wondered if this could contribute to a noticeable performance degradation.

Quantifying this IPC might make an interesting experiment and blog post...
> - His personal project is directly related to his work.

He worked on the same thing in his work is very different

> - His personal project conceivably competes with his employer's products.

As far as I can tell, his former company is not in the CI business and do training and consulting, I'm guessing they wanted an internal CI for their client projects and stuff, there's no competition (not to mention there are already a billion CI out there)
> [4] http://lazytechguys.com/news/google-dev-explains-why-android...

Man that was a weird read. Guy spends a few months interning and all of a sudden talks about his profound connection to the campus, the fundamental flaws in the product architecture, but watch out! He may be biased since he will be interning on a competing product the next summer!

Regardless of the facts of the matter this seems like a very non-authoritative source.
> They have no right. None at all.

Depends on where you are. In germany this is actually enshrined in the Arbeitnehmererfindungsgesetz. The employer has the right, even without the contract clause. Good luck opting out.
> Your employer is sponsoring a lot of your learnings in a specific area, so he's entitled to all your ideas in that area

No, he is not on either count.

> that's what your paid for.

I don't know you, but I'm paid for the work I produce, I'd be really happy if I could be paid for learning stuff and not doing shit.

> The construction company would have a valid claim if you stole the blueprints at work.

Yes. It would not have a valid claim if you built stuff on the side, even if it's better stuff. Your company does not own your knowledge, which is why non-compete agreements are invalid in just about all jurisdictions unless very heavily compensated (in Germany it's at least 50% of gross and no more than 2 years, and clauses can still be found unreasonable and invalidated).
Hugging at work
Are there any successful, self-taught lockpickers here? I have tried to learn a few times, and I think I understand the theory, but it is hard to put into practice. Every time I need to open a lock I don't have a key for, I still grab a drill.
Another 'big guy bully small guy' story, there seems to be a lot of these nowadays. Again, the law doesn't protect the small guys at all does it. Shame Really.

appendTo on the blacklist of companies to work for, someone should make a site with a collection of companies with these kinds of behaviour, so people are aware. last one I read about was Goldman Sachs.
Well, sometimes what you do in your personal time is your employers business. Would you feel the same way if rather than working on open source, he were doing the same work moonlighting for a competitor of his employer? Its fine to say that the technology stack is different, but certainly he carries with him, perhaps unwittingly, certain proprietary information including but not limited to feature lists, customers and leads, marketing strategy, performance characteristics, etc.

I don't think this guy is a necessarily bad guy by any stretch, and I don't think he was intentionally trying to harm his former employer, but he's a little clueless.
Awesome thank you very much.
I'd actually welcome a new post about this issue, which I haven't known much about before. However, this is the wrong thread. Good luck.
He was paid to work on a CI tool, by a firm that sells development services. Even if we assume that tool would never, ever be sold to customers, releasing a product that erodes their competitive advantage is still foul play. It's dirty pool.

We don't know exactly what contract he signed with his employers, but this would not be permitted by any reasonable contract.
The iteration count used by TrueCrypt [in its PBKDF2 key derivation] is either 1000 or 2000, depending on the hash function and use case. In both cases, this iteration count is too small to prevent password guessing attacks for even moderately complex passwords.

Until TrueCrypt gets patched to use scrypt for key derivation, roughly how long should a volume password be to put it out of reach?

Edit: There's a table in the scrypt paper from 2002 [1] that estimates the cost of various brute force attacks. Back then, a PBKDF2 iteration count of 86,000 and a password of length 40 would cost $200K to crack. TrueCrypt's choice of 1000-2000 iterations look staggeringly low in comparison. And that's not even accounting for hardware advances in the last 12 years.

[1] page 14, http://www.tarsnap.com/scrypt/scrypt.pdf
If in one browser an asm.js compiled Unreal Engine 4 game loads in 5 seconds, and in Safari it loads in 2 minutes, you better believe users will notice. JS performance matters.
Which claim is that, exactly? And are you implying that the author's original solution is more indicative of real programming?

Both solutions work the same way - when accessing the value of "b" for the first check, b is mutated such that the next check will return a different value. Both of them are equally bad practices.

The == vs. === issue is the part that's actually irrelevant, it served as a red herring.
I remember reading about it in an article where they got their hands on a "guideline document" for an expo (One of the big Java ones) for Sun/Oracle people.

In it it basically talked about the need for constant low-level differentiation and playing-down of scripting languages.

The link you posted above is the kind of thing this encouraged. Don't be actively hostile but more "Oh, a scripting language? How cute"
I don't know how you can create a better mousetrap if you can't use your knowledge of the industry gained on the field to build it.
I obviously don't know what I'm talking about, but my main concern is the landing legs. Building deploy-able landing legs strong enough to handle a landing but light enough to make the concept viable isn't going to be easy.

The leg frame on Grasshopper looks massively over-engineered, which is fine for a test vehicle but would be far too heavy for an actual launch vehicle. We have still to see the final leg design, and the ones in the CGI mockup video look, to my untrained eyes, very skinny. Grasshopper has proved the basics of the maneuvering and landing capability, but there's still a fair way to go.
Yes, Hugin should be able to help with that. Check out some of the tutorials on the site, specifically http://hugin.sourceforge.net/tutorials/scans/en.shtml

If you have enough overlap you might could even batch stitch them all automatically. You might have to do them in batches, though.
and maybe add some basic features that are missing, like a forward button in their browser or port important missing apps like Firefox or fix broken features like when you lock the screen rotation in landscape, many screens like the home screen is not available in landscape.
Erlang String Handling
That's cool. Added (https://github.com/tiimgreen/github-cheat-sheet/commit/b4142...).
Dank u.
And then "she went to police - police should told her to keep quiet and all would be well, right now I have to beat her up and it's all the fault of police - gave her funny ideas".
<i>13) "In August 2013, the Goldman automated trading system generated a bunch of crazy and embarrassing trades that lost Goldman hundreds of millions of dollars..." Yes, but this was on the Options market, on Options exchanges, and has nothing to do with the rest of the book.</i>

I'm beginning to suspect the author is flat out dishonest. The Goldman cock-up is used as a <i>defense</i> of Goldman. Lewis says that unlike other firms they had a legitimate excuse for not trading with IEX - they didn't trust their systems. So, no the cockup had nothing in particular to do with HFT, but Lewis never implied that it did, and it is impossible to read that paragraph and come to another conclusion honestly. The review author is not shooting straight.
Heartbleed bug responsible for theft of 900 Canadian tax ID numbers
He's at least safe from IP infringement because it utilized a completely different approach.

I guess it's understandable the legal dept would be upset, because this different approach would be hard for them to see. It's also understandable that some pitch-forks might come out.

Perhaps a resoluion is to get independent confirmation of his claim that it is a "completely different approach".

Of course, the legal dept's concern might be more on stopping a potential competitor/alternative.
What about Lowe's Home Improvement YouTube channel? A friend and I were considering starting a similar site and selling the parts to complete the project, but we found Lowe's did a pretty good job of covering any routine project we thought of.

I'd be interested to hear what projects you couldn't find helpful information for.
The Most Dangerous Word in Tech
> Socialism ends in death and misery, every single time.

Leninism and its descendents might, but every country in the developed West -- where the 19th Century socialists criticism of capitalism was focussed, and whose conditions their program was largely designed for -- adopted, between the late 19th and mid-20th centuries, a substantial portion of the socialist program, and its generally not ended in "death and misery", indeed, compared to those same countries experience under the system for which the name "capitalism" was created, its alleviated the "death and misery".

You can't really judge "socialism" by the results of a particular family of efforts to implement it outside of the context for which it was designed, which is exactly what judging socialism by Leninism and its descendants is.
"That even our submission on HN will get many up-votes" Err I don't think a startup's success depends on the number of upvotes it gets on HN? Right?
Show HN: Momentum – Get customers for your app
The term "sanitizing" is not used to reference this, as commented on, what you are describing is "validating" the user input. That should, of course, happen. Many validations will result in only accepting input that happens to be safe for many uses - i.e., if it's a valid number between 1-100 you could of course send it to an integer field in a database without doing any special encoding, but I wouldn't rely on my input validation doing this in my model layer.

Encoding a "safe" value doesn't make things any less safe. Failure to encode it, however, leaves potential holes in your application. Something may bypass input validation and be given to the database as an unsafe, unvalidated value. Usage of the value may change (new functionality using it differently, changed storage in database, etc) and in the new usage the value may not be safe.

Input validation is obviously something you want to do, but it should never be relied upon for protecting from injection attacks.
Watch Your Privacy with Google Glass
they still do, but everyone (including the windows DDK) offers a "secure memset" that casts to volatile and preserves the call. in Windows, it's called RtlSecureZeroMemory and I would think that know about this would be one of the pre-requisites for writing security software on that platform...
The employer is not "sponsoring your learnings", they're purchasing your time and labour (if you're a regular employee). What you do outside of the scope of the contract of employment is your own.
That would imply that they own the ideas that give birth to the code you write, rather than the code itself, right?
How and Why Spotify Uses Storm (Tech Talk)
Dragons on the far side of the histogram
I see the exact same with .png images exported (as web files) from Fireworks. The size reduction varies though—it's not always a 3x reduction with Fireworks. I'm guessing they are both storing a lot of non-image data inside the .png files even though I haven't peeled any of them open to see.
ah I was tricked by having it installed as a gem, thanks for the clarification.
thanks for your feedback, it is on my todo list!
I quite like the model where you get a year of major updates but can continue using the software after the year ends.

Seems to be popular with making developer tools for some reason. MonoTouch, RubyMotion and Apportable all use it, for example.
Welcome to my world :)

14. Intellectual Property and Related Rights

￼14.1 All records, documents, papers, databases (including copies and summaries thereof) and other original matter, work or creation (collectively “Creations”) made or acquired by the Employee in the course of the Employment shall, together with all copyright, database rights and design rights both registerable and unregisterable that subsist in all such Creations worldwide, be and at all times remain the absolute property of the Company.

14.2 The Employee hereby irrevocably and unconditionally waives all rights granted by Chapter IV of Part I of the Copyright, Designs and Patents Act 1988 that vest in the Employee (whether before, on or after the date hereof) in connection with the authorship of any copyright works in the course of the Employment with the Company, wherever in the world enforceable, including without limitation the right to be identified as the author of any such works and the right not to have any such works subjected to derogatory treatment.

I wonder if I can teach my 2yo daughter alphabet or counting 1-2-3 or would she become property of the company?
What about working for a competitor? Presumably a company can ask that you not actively undermine their product while cashing their paychecks?

From that I would argue that by building a similar product in his free time he was effectively working for a competitor.
To be fair, you can work on something and wait until the evening to commit it.
Injecting Resources into Sitecore Content and Page Editor
Yes — in fact, it's arguably more natural in most cases to write your performance-critical stuff (e.g. math in loops) in plain C. There's rarely any reason to start boxing values up in NSNumbers and then unboxing them again.

In addition, Apple's Accelerate framework makes it easy and natural to take advantage of SIMD for further speedups — you can get powerful vector operations with single function calls. This seems to have no Android equivalent.
Your mileage will definitely vary on this one. I've tried this a couple of times, and the result was always the same: "Sign an unmodified employer agreement or go find another job."
I disagree. Your employer is sponsoring a lot of your learnings in a specific area, so he's entitled to all your ideas in that area, that's what your paid for.

Absolutely not, you're paid for your time, not your thoughts!
I finally began to retain vim knowledge by using vim adventures, a browser-based game that teaches vim commands: http://vim-adventures.com
"None of the web companies are doing anything" to protect you says security pros
You might as well put a "buy the dead tree version" link on the site - it's a potentially useful resource for start ups to buy and put on the shelf, and it might make you a few extra quid?

What are you working on now?
A Statistical Analysis of the Work of Bob Ross
I think this technology might be even more useful for trans men, where unlike trans women there's less flesh available to sculpt the structures you want.
I made this panorama of Ascot Racecourse with Hugin.

https://commons.wikimedia.org/wiki/File:Ascot_Racecourse_pan...

The image appears on the Wikipedia article about the racecourse.
I guess, then, that you weren't part of the Battlefield 4 team [1]. I've discussed the issue of the "no decent programmer" fallacy in the past; yes, in theory if programmers were careful and alert, they could create flawless software, yet this never happens in practice because humans are prone to errors (i.e. not understanding a subtlety of the language or library, thinking that a validation is done at a different level of abstraction, failing to imagine what could be an error scenario and how it could occur, etc.). Languages like Rust offer the same capabilities as C or C++, while eliminating entire classes of bug sources.

[1] http://en.wikipedia.org/wiki/Battlefield_4#Technical_issues_...