skysight-inc/HackerNews huggingface dataset:
"Nowhere was there a comparison made to victorian textile workers."

Yeah, no kidding. I'm the one who made the comparison, because everything he's complaining about depends on an assumption of victimization that just doesn't apply to software engineers. You're exactly right that modern workers are nothing like victorian textile workers -- and that's my point. You're empowered to do whatever you like with your career, but the complaint is...that other people are exploiting you? No. If you're being exploited, it's because you made a bad decision.

Are there naive people who make bad bets and work hard for little gain? Sure. But as in all things, caveat emptor -- it's not your employer's job to second-guess your motivations, and make sure that you're always acting in your own rational best interest. And while we all make bad bets from time to time, I've never experienced the sort of Machiavellian scheming from employers that the rest of you are complaining about.
Single Axis PanGestureRecognizer for iOS
... has not yet delivered things like... Github

http://gitlab.org/

Open source software alone can't spin up hardware. It makes sense to pay someone for providing a physical service.

Github is getting paid already for developing what will someday influence a definitive open-source interface to git and collaboration.

Photoshop is really nice software. The GIMP is too, and perpetually improving. Closed-source programs are sometimes the vanguard to show the world that a particular idea is important and useful. Any sufficiently useful closed-source program will be cloned into open source in today's environment.

15-20 years ago, the world had a plethora of closed-source options for a gui-based OS. These days, open-source offerings compete on near-equal footing.

It's almost as easy as typing:

apt-get install debian

on any keyboard anywhere to get access to a functional GNU/Linux system. A lot of closed-source programmers earned a lot of money showing us what features of that system have mass appeal.

Is a government-funded public cloud not beholden to the government which funds it?
Indeed, I own a 2012 MacBook Air and I'm convinced they're the best line of laptop computers on the market right now. I severely underestimated how much I would enjoy the tremendous portability.

I guess I don't need both an MBA and a Surface, considering I also have an iPhone.

Honestly now that I think about it, I think my biggest concern with the surface would be the fact that it runs windows. As a hacker who grew up on UNIX/Linux I find that really limiting, but moreover as someone who has heavily adopted the Apple ecosystem, I feel like I could never use the surface to its fullest potential.

I think what I want is a Surface which runs iOS X. (You read that correctly.)
One reason would be that (particularly in light of some govt agendas revealed recently) that govt funding would inevitably steer and even corrupt the development of FOSS.

There's even talk about how the NSA, who contributes to open cryptography standards, may have been deliberately placing vulnerabilities in said standards.
Much better than https://www.youtube.com/watch?v=tr3dFSzh1yU
The last question isn't answerable; it's kind of like the question "have you stopped beating your wife?", the question presupposes a fallacy.

Actually a child almost never sends a signal to the parent process on termination; the signal is sent by the kernel from the kernel context.

A child could manually send a SGIC(H)LD by using signal(2), but then any wait(2) would block; this is why you should always use a non-blocking flag to waitpid(2) or its ilk in case some idiot program sends your program a SIGC(H)LD.
Didn't they ask you to sign a non-disclosure agreement at these kinds of interviews?
Research shows chimpanzees are ahead of humans in complex memory tests
From my personal experience, using such a method doesn't cause problems. I studied the kana using Heisig's Remembering the Kana, where it connects each character and pronunciation to a mnemonic story. I'm long past the point where I actually need the stories to read kana, the sounds are simply tied to the characters now, with the stories available for recall if i have a brain flub and can't remember one for a bit.
And Java's first attempt to implement UTF-8, the one they called "UTF8", is not UTF-8. It's almost but not quite CESU-8. It will probably fuck up your astral characters (like emoji).

The real Java UTF-8 is, intuitively, named "AL32UTF8".
Gibberish? Do you know what "vendor lock in" means at all? Your points have nothing to do with that.
Static typing gives you useful things (with a trade off), not having to write tests isn't one of them.

I disagree; static typing is, effectively, having an automatic set of tests automatically run for (by the compiler) you that you don't have to run/create/maintain yourself. As someone who's moved from statically-typed languages to Python (2.x), I can't count how many times I've made errors that "should/could have been caught for me by the compiler", if there were such a thing in Python. It slows me down in nontrivial ways. It would be good if we could use 3.x-series annotations to achieve much of the same thing, but the world hasn't gone 3.x yet.

Your point about the value of unit testing in general is well-taken, however.
" it feels like real computer,"

Could you expand on this please - why would anybody believe that a laptop running a 1.7 GHz Intel Core i7 with 8 GB 16000 MHz DDR3, OS X 10.8.5, and a very snappy flash based storage system wasn't a "real computer?" I think you were trying to say, "It's a real computer with great battery and portability" - right?

I continue to be intrigued by the surface pro - Apple has been slow to bring a stylus capable tablet to market - and there are times when sketching is really important - and it's painful on the "crayon stylus" that you have to use on the iPad. Also - Windows has a lot of great Games. :-)

Multitasking/task switching and lack of a real shell make the iPad a non-starter for me for getting real work done - I would never consider going on a trip with just my iPad.

I think Microsoft is onto something - I just wish they had a decent Terminal App (something better than putty) and bash (cygwin always just feels like it's been tacked on).
Phase 2, which I'm implementing tomorrow, consists of basically that. I'm figuring at least Microsoft, Amazon and Google. We'll see what else I can find. Any recommendations?
When Steve Jobs announced that the devkit would be JS only, he was booed on stage. This was WWDC, the self-selected apple fans were hyped (a real internet browser on a phone!), the reality distortion field was in full effect, and when he made the "JS is the API" announcement the room went silent, save for a few brave souls more actively voicing their displeasure.

It might not have been part of the plan before the iphone was launched, but it certainly became part of the plan on day 0.
Everything on the page is 'awesome'.
Are you fucking kidding me? This thing actually sent a shock through my body that reached my toes. 3 Minutes later and I'm still feeling unnatural, with an elevated heart rate and a VERY agitated mind. If you were in the same room as me I'd probably shove you pretty damn hard for exposing me to this.

This thing is a fucking health risk.
An important day 180 lesson :)
Privacy is dead.  Long live Trust
Well, Hackbright's out. Women only, but you bring up a good idea. I may just go and do what I did when I first started C#. Pick up 4 or 5 good books from Amazon and step through them and code up something.
My understanding from reading the abstract is:

1. The author demonstrates that page faults on the IA32
architecture are Turing complete. Or more precisely,
the automatic memory caching, address translating,
interrupt handling, etc, which the CPU does behind the
curtains while executing programs.
2. This means that if you carefully arrange the contents
of memory, you can write "programs" that don't have any
instructions.
3. This has implications for various sorts of (static?)
analysis which people do on programs. For instance,
you might analyze a program as a series of
instructions, and think it does one thing, when the
above side-channel is actually doing another thing.
Did you watch the Surface Ads - they look pretty damn confident of their product. Their strategy for the last 18 months has also been consistent, "Tablets are great for portability, but the iPad is not a knowledge workers tool, it's a media-consumption devices for most people - the Surface gives you the portability, and the knowledge worker flexibility"

Great Ads.
Show HN: The ugliest MVP ever because I know squat about coding
http://bit.ly/18Aybks - right click save as to save .mov file or click to open in browser. Quicktime needed. It is interactive.
Hmm, since the demand is > 0 now, I guess I will!
Not too sure how to get reply notifications on HN though, I always lose track of responses.
It is hardware related. USB has a maximum rollover limitation of 6 keys + 4 modifiers. Though keyboards can have n-key rollovers (i.e., greater than 10 keys simultaneously), you have to use PS/2.

See https://en.wikipedia.org/wiki/Rollover_(key)
Here's How Twitter Can Track You on All of Your Devices
SEIZURE RISK!!!

That's horrible. I had to look away asap before that thing fried my eyeballs. That warning is tiny. It totally needs to be an alert box.
This. Although all of what the author wrote and jonnathanson wrote is perfectly sound, most human beings don't get it right because the temptation to hide relevant details is just too big.

I've seen it happen time and time again, and anything but full transparency only works if everything goes well.

But if things don't go well, which happens in the vast majority of start-ups, I've never encountered a CEO who could resist the temptation of hiding essential bits of truth after they already justified to themselves that they were "shielding employees from the emotional burden of the full truth".

And when the shit does hit the fan, those employees will no longer trust the founder/CEO, with two consequences:

a) If there is still an opportunity to save the company, the employees will choose to run rather than fight. After all, who fights for a leader they don't trust?

b) When the ship does go down, they will not only never work for you again, they will tell all their friends and colleagues to avoid working for you.

Trust is a fragile thing. Unless you know how to get it exactly right (which usually comes from getting it wrong a few times), don't mess with the truth. Hire people who can handle the truth.
a) not all signals can be caught, blocked or ignored c.f. SIGKILL, SIGSTOP

b) in acutality when it comes to the kernel code if a process/thread/task has a signal ignored (the blocked semantics are slightly different) it is not actually delivered x.ref. prepare_signal() in kernel/signal.c in Linux.
Geek To Pro: The Inspiration
Not quite as tech-y, but the inspiration part of why I'm a web developer with plans to try out for the NFL.
I am using Pleco on my phone as an SRS for Mandarin. (Setting it up to be a proper SRS hurts, though.)

The absolutely great thing about Pleco is that it is a great dictionary app and a document reader in the same app. When you see the solution of a flash card, it usually includes a handful of example sentences. You can then tap on words in these sentences and see their definition again... It is a little like getting stuck in Wikipedia - sometimes I spend half an hour only reading examples starting from my current flashcard.

I have no solid statistics on this, but I feel that the context really helps me to memorise things :)
If Ken Thompson is Newton of Computer Science (as opposed to say, unix), who is Niklaus Wirth?
I'm not saying static typing/compilation doesn't give you anything or that it doesn't catch errors for you. My point is that static typing/compilation means you don't have to worry about code coverage with your tests is a false assertion.
For reference on how this is tech related, read the first post.
> But using 0 to terminate strings means you can never have a string that actually contains codepoint 0, as the terminator isn't part of the contents of the string.

This is indeed a tradeoff. The only alternatives are to either store the length of the string explicitly somewhere (the Pascal solution is to prepend the string with a fixed-size length parameter, which can be as awkward as it sounds when you get to really long strings) or to do something nasty with the string's actual contents, such as saying that the last byte of a string has its high bit set.

I think the C solution is the most reasonable when storage is really tight, and more flexible than the Pascal method in general, but I agree that it's potentially dangerous and it's annoying to have a byte which you can never represent in a string.
The thing is, however, that when you actually try them out, the MB air leaves a hugely better impression.

The MB air is light, sleek, elegant, it feels good in your hands, it makes you want to use it and carry it around—and that's despite it being a notebook, not a tablet.

The Surface Pro 1, however, is exactly the opposite: it's heavy, thick, uncomfortable to hold because of the weird sharp-edged shape, and insanely hot during operation. The Surface Pro is exactly what a tablet shouldn't be. I suppose MS has all but admitted that with their strong marketing emphasis on using it with a stand and a keyboard.

I certainly hope for MS's sake that the Surface Pro 2 is better, because the SP1 was a disaster...
I would have preferred somewhat more content, but the article still had this absolute gem at the end:

> it's diversity of thought and experience in a team that makes a Rockstar Team

People who complement (and cover) one another's skills, are mostly self-directing and are not afraid to ask "stupid" questions - they are incredibly valuable, together more so than as individuals. I've had the joy of working with/in such teams twice in my career. Problems didn't just vanish, they very rarely materialised.

Eventually all good things must end. Projects end, priorities change, people move on and teams get disbanded. The reality check after such a joyful experience can be shocking.
Now the next challenge 1 website in 180 days.
So, he was learning to kiss? the 180 web project was about learning.
Why not just implement the delegate method for whether to begin the gesture recognizer?

It's much cleaner.
That sounds very interesting! May I ask which Lisp dialect you're using? Parenscript and Sibilant look quite polished, just wondered if there are others I might have missed...
http://dustycloud.org/blog/field-guide-to-copyleft/

Just read it. If you want total abolition of copyright and proprietary software, fine. If you think proprietary software is ok, you are a total hypocrite to criticize copyleft. Period.
I think I read somewhere that he was actually the first person to die on flight 11.
Actually, that could provide really valuable scientific data.

Refine the nuclear waste to separate out the different radioactive elements and isotopes. Drop a distinct cocktail (of short-lived and long-lived isotopes, not reusing any isotopes between cocktails) into each crevice. Measure subsequent outflow from around the world, looking for traces of the cocktails.

This could provide a lot of interesting data on the speed at which materials are recycled, how liquid the upper layers of the crust are (are any of the materials returned, or do they just sink towards the center?), what directions the under-plate currents flow in, how much mixing is going on, et cetera et cetera et cetera.

Hell, we need to begin injecting nuclear waste into the sea bed.
100% Authentic Reduce Weight Fruta Planta Slimming Diet Pills
New Chinese Fruta Planta Diet Pills,100% all natural effective diet pills to eliminate excess fat.Chinese weight loss, Belly Fat Diet, No Side Effects, Not a Fake, Chinese Diet Pill, Best Weight Loss Pill, The Real Fruta Planta. Authentic Fruta Planta
It's not cheap, but SecureCRT is a fantastic terminal app.
Yeah, but remember, as long as others don't agree, it's tough. There's "free" "libre" and "open". The only answer is to say: THOSE THINGS. So, use "free/libre/open" i.e. FLO
Exactly, and moving from ASCII to UTF-8 means you get to keep that consistency: 0x00 means 'End of string' in ASCII and it means 'End of string' in UTF-8. No change. Never a miscommunication. No possibility of old software getting confused on this issue. Any code which had its last buffer overrun flushed out in 1983 is still free of buffer overruns in 2013.

And, if you really need to represent codepoint 0 in strings, you can use Java's Modified UTF-8, where codepoint 0 is represented by the byte sequence 0xC0, 0x80. (This isn't valid UTF-8 because in straight UTF-8, every codepoint must be represented by its shortest possible representation.)

http://en.wikipedia.org/wiki/UTF-8#Modified_UTF-8
This is truly awesome. I have been wanting this semanticto supplement my queues for a long time and was dressing adopting an operationally more complicated tool like Kafka, not to mention all the effort that would be needed to port code.
Perhaps the title should be "Why Python is good enough." Between this post and the preceding one (http://roscidus.com/blog/blog/2013/06/09/choosing-a-python-r...), the takeaway for me is that the author didn't find sufficient benefit in any of the candidate languages to justify switching an existing product--perhaps not even a new product.

It's true that Python can leave you with hidden crash bugs in unusual code paths, but the language brings so many benefits that it's easy to forgive this. And there seemed to be a vague concern about performance at the beginning of the article, but I didn't see anything substantive in that regard.

So yay, let's all just keep using Python. Back to work.
It depends on what your motivations are. If the team is such a hold up for you that you have to ask the internet's opinion, then you already know this is not the right fit for you. Move on. There are other startups in hotter industries with a team you can enjoy working with.
I'm not claiming the youtube interface is not functional, I'm claiming it's ugly. It's not about whether interface elements are animated or not (I am criticizing however how hard it is to make them move). And I understand us techies like a really simple design. The difference is that I don't see the world as sharing my opinion. Simple websites are good for various technical reasons, and I understand that. Scraping them (not that ggl makes it easy), interacting, using the website as an API, all things that matter to techies.

But let's be honest : they're ugly. Youtube, for example looks like an ancient file manager, at best.

Let's compare, a native application with a -somewhat- similar purpose versus youtube.

XBMC: http://www.youtube.com/watch?v=34h_sQ7-G1s

TiVo: http://www.youtube.com/watch?v=GNvgoLVzijE (I realize it's an irritating commercial. But look at the interface)

Netflix on ios: http://www.youtube.com/watch?v=F-4_ADXYT3E (sorry about the reviewer, and already much worse than XBMC or TiVo)

Youtube: http://www.youtube.com

This is a very nice animated interface (imho): http://www.youtube.com/watch?v=vCw0eWa-LkA (not related to videos though)

The sad part is, that you're right about Youtube as compared to some of it's online alternatives. Compared to those, it's not bad. But the whole point was to criticize online development tools like HTML and Javascript, as compared to offline ones. Flash versus HTML and the quality of interfaces they enable.

I would even go so far as saying that, when it comes to native apps XBMC and TiVo count as "good". They don't quite match my standards for "great" at all. Youtube ... euhm ... is at the level where I'd have trouble accepting it from a first-year programming student. Certainly wouldn't merit an A.
> You might be interested to learn that out of your list (vi, Python, mySQL, Postgres, sed, and awk), only MySQL is released under a free software license (GPL). The others are released under BSD or BSD-like licenses.

The BSD license (and "BSD-like" licenses) are free software licenses. "Free" does not mean "copyleft".

http://www.gnu.org/licenses/license-list.html
In a similar vein: "Is the Network Turing-Complete? EPFL Technical Report 187131" - http://infoscience.epfl.ch/record/187131/files/report_1.pdf
He never said anything about not writing unit tests. Rather, his claim is that--even with unit tests--refactoring is not safe in Python et al; in Haskell and OCaml, by contrast, many of the same actions are guaranteed safe by the type system.

Static types do not mean you don't have to write unit tests. But they do mean you can write fewer. (And, looking at libraries like QuickCheck, a static type system can make writing tests easier.)

Quite a bit of the safety you get in Haskell especially comes down to controlling effects. Mutable state implicitly couples all the code in a given scope--unless you've read and understood all of it, distinct parts might have effects on each other that you're unaware of. In Haskell, on the other hand, this is impossible, so refactoring like extracting variables and reordering your code can be entirely safe even if you haven't looked at exactly what the code does. The refactoring actions are guaranteed not to change the semantics of the code by the language itself.

The best way to think about it is that refactoring becomes a purely syntactic action. You just remember a few rules akin to algebra, and you can rewrite Haskell code in a bunch of different ways all preserving the original meaning. Regardless of what that meaning really is. This also extends to library code--most good libraries come with algebraic laws, which ensure you can rewrite their code in logical ways. Once you learn these laws, you can start doing things like changing multiple passes over a datastructure into one with the same confidence.

If you make a change that could break things, the type system will often help you find every place that does break. This extends beyond just type mismatches: Haskell also ensures that you consider every possible case in your functions; if you forget an option, it will give you a warning. This means it's safe to add a new alternative to an existing type: you will get a warning everywhere you haven't considered this new option.

I've found this to have a profound effect on how I program. With Haskell, I actually follow the rule of making any code I visit look better than before, simply because refactoring has very little mental overhead. I can move things around liberally, break them into multiple modules, condense them into fewer functions and even change the types, knowing that any mistakes I make will be caught by the type system.
Except in the end, the author switches to OCaml[1]. So Python might be good enough, but he certainly found OCaml better.

And since when are we willing to settle for good enough?

[1]: http://roscidus.com/blog/blog/2013/09/28/ocaml-objects/

(In fact, the author writes that he's basically willing to move to OCaml in the conclusion of this post.)
"open source should, even to RMS, be a lot better than Windows, but he never acknowledges it"

He does.

http://www.gnu.org/philosophy/open-source-misses-the-point.e...

"Nearly all open source software is free software, but there are exceptions."
I used Surface Pro for my graduate thesis extensively. It left a huge impression on me. Metro side apps were all fun for me, while a swipe to desktop meant all work business. Yeah 1 kg is not a big deal for me, i taught classes with it, took notes with it, ran IBM SPSS doing ANOVA, wrote papers in LATEX and did some SolidWorks, and heavy MATLAB work on it. It is hot, yes. But then, it remained in my lap for around 5% of the time.

I find your claims ("heavy, thick, uncomfortable to hold because of the weird sharp-edged shape") to be without merit, since I used it extensively for some major work. Going forward, Surface Pro is the future for me and my household.