skysight-inc/HackerNews huggingface dataset:
Ver La Reina Del Sur Capitulo 63 Online | Dona Manis
CERN Scientists Trap Antimatter for Almost 17 Minutes
As I said in my other reply[1], I suspect it seemed easier out of necessity. Today, you can turn on a computer and it can be useful and provide value without needing to learn to program or how the machine works. Back then, you more or less had to learn about the machine or about programming to really get much value from the computer. Necessity is the mother of invention.
I think I was much more inventive and creative with my programming when I first started out because I didn't know what was possible, so to do the crazy advanced things I wanted to do, I was forced to be creative and try weird and wonderful things and use my computer or programs in ways they weren't really designed for. I learnt a lot because of this. Now I can just reach for an existing solution and not learn a thing, because I now know where to look or what to try.
I'm not sure the raspberry pi can hope to achieve this. In fact, besides the low price point and the fact that they have solder points for general purpose I/O (which I think could be a huge selling point and benefit to learning - physically connecting things to it should help motivate and inspire kids), it is still a complex modern processor running a complex operating system (Ubuntu) and doesn't really have anything other modern computers don't have.

Either way, I'll ask this: Why do you think people found it easier to learn to program back then than it is now?

[1] http://news.ycombinator.com/item?id=2622880
There were multiple reasons but ultimately it was an interesting problem we were solving among various other factors. Your email is not in your profile but if you want to connect, I'm pretty open.
WWDC 2011 Prelude
I wonder. Since there are code snippets that can check to see if an app has been cracked/pirated, perhaps there is a way to inject an overlay serving ads on those who pirated. They can't exactly write a negative review on itunes because you can't rate an app unless you've purchased it.
You'd be surprised. I think it's basically what they're raised on. I recently gave an info talk at my old high school CS class where they use Linux, emacs, and learn C++ and (in the AP class) Java. One student in particular was anti-Python due to speed issues but it wasn't too hard to talk him down after examples and explaining ways to speed it up.
> Many bugs involve the specifics of your browser, such as what extensions you have installed, what DuckDuckGo settings you have turned on/off and in many cases what query you performed. I've lost count at how many anonymous emails I've received where I don't have enough information to do anything worthwhile in response.

Much of that information could be collected automatically when the support request is sent, assuming the user is logged in.

I greatly appreciate that DuckDuckGo doesn't track me. However, checking a (default unchecked) box "Attach my browser, extensions, and DuckDuckGo settings to this email (recommended)" would not break the user's trust, would be much easier than hoping that the user typed all this information into the email, and would increase your success rate at fixing these problems.

Sure, these data points (like font data) could potentially be used to identify a user who wanted to be anonymous, but users who care will be reassured by the empty check box that you won't.
Is it me or do prototypes seem more attractive then the actual glossed up $60 game?
Oh, come on. Jaywalking is nothing at all like doing a wheelie down the freeway at 90+ miles per hour and -- knowingly or unknowingly -- evading the police.
After some improvements to the code generator, LuaJIT git HEAD now wins on all SciMark sub-benchmarks:

ARM11 SciMark SMALL | FFT SOR MC SPARSE LU
-----------------------+---------------------------------------
LuaJIT git 4.48*| 2.73* 6.93* 3.96* 3.44* 5.36*
Dalvik 1.2.0+JIT 3.35 | 2.35 5.65 1.09 3.39 4.27
If you're looking for some language/translation help, then feel free shoot an email to the address in my profile and we'll see what we can do to help you guys out. :)
> In open source, nobody is entitled to someone else's time and energy. But that's what the word "irresponsible" implies. So, I think you should choose your words more carefully.

My words are chosen pretty carefully. Irresponsible implies just that - irresponsible. Taken to its extreme it would be irresponsible for Matz or Linus to suddenly retire from their projects without a trace. Nobody is entitled to have them continue to work on these projects unless they have a business engagement ("open source" has nothing to do with it.) That doesn't make it ok to abandon people who have come to depend on them, who have made them successful, and who have supported them. There are responsible and irresponsible ways to leave a project.

Case in point: _why left an awesome legacy, but screwed a number of people over by disappearing. People have reasons for behaving irresponsibly sometimes, it can be forgiven, and it doesn't mean they are bad people - but that doesn't make it any less irresponsible.

Even your employer is not entitled to have you finish projects you start before quitting, or to have you cooperate in knowledge transfer when you leave - you could quit at any time and provide the minimal contractually required information. Responsible? No.

So yes, the stewards of open source project do have some responsibility to their user base. "Fork it" is the standard, poorly thought through, open source geek answer. It is far more beneficial for everyone to work within the community and voice concerns than it is to fracture the code base. Additionally, there are many layers of software all of which no one is an expert in, and forks introduce their own management headaches. I for one would not be comfortable supporting a fork - I depend on the MRI team for that. We all depend on each other, and anyone claiming they have no responsibility to their user base should let their users know they feel this way so that the users can choose a different library or platform.
This is a serious "citation needed" assertion. What language doesn't verify types? Python does. Lisp does. ("TypeError: cannot concatenate 'str' and 'int' objects" or "wrong-type-argument: stringp 42")

I think the problem that people run into with types is when storing values for future use. Imagine that you have a data structure that looks like:

data Foo = Foo String

And then later on in your application, you have a function like:

frobnicate :: IsString a => a -> a

Then, you write a program that looks like:

program :: String -> String
program = frobnicate . preprocess . Foo

This is all well and good as long as you only want your program to operate on Strings. But if you want to change the type of your string data (perhaps to a more efficient "ByteString", or something like that), then you are kind of out of luck. You pigeonholed yourself into using String when you defined Foo as "Foo String", and now you have a lot of work to do to feed that ByteString to the function that actually cares about the type, "frobnicate", which can already handle ByteStrings.

The problem here is not type checking, but rather that you built your program in terms of an abstraction that was not generic enough, namely the "Foo" type. If you were just using Python, then your program would have been:

class Foo:
def __init__(self, string):
self.string = string;

def frobnicate(whatever):
return whatever

In this case, there would be no trouble using whatever type you wanted as the "string", because you decide what type is OK at "frobnicate" time, instead of at compile time.

The downside is that with your too-specific Haskell program, you know it's too specific before you run it (because the compiler whines at you), but with the Python program, you may only find out when your pager starts making a loud noise at 3 AM, because Python has no idea what you're trying to do.

(Personally, having worked on a huge Python app that does no type checking anywhere, I have to say I hate that technique. I prefer what I do in Perl, which is to type check on object creation, but use type classes instead of concrete types. You can still "late bind", but you also get errors when you're making a mistake rather than deferring a decision. You can do the same thing in Haskell, too, but with even better guarantees that you won't be waking up in the middle of the night to unfuck your code.)
In other piracy discussions I've always viewed piracy as organic-marketing.

Meaning if you wanted to nurture the piracy (e.g. no DRM, easier install paths, etc.) you would probably get your software in the hands of more people and just redirect what you would have spent on marketing to keeping it in the bank and track the piracy as marketing costs.

I'll admit that is a rosy way to look at it, but I'm definitely one of those "The people that pirate your software, never would have bought it in the first place" believers.

Look at Windows, remember when 95/XP had 96% domination of the world's computers? That only started to come down when they got draconian with their DRM/activation/genuine windows/etc. I saw about half my friends move to Mac/Linux in that move (techie crowd) and I have to imagine they likely moved friends/family to their new platform of choice in the process.

The people that were never going to be their customers went looking elsewhere for alternatives.

Imagine how many of those pirated copies of Windows ran legit copies of Office or IIS (or any Windows-specific software) that were paid for as the result of the machine operating in a Windows-only environment.

Them Microsoft clamped down on those users and squeezed them all out of the eco-system completely. No ancillary sales anymore from those folks; they are now permanent customers of other platforms.

It seems to me that if you can accept that your software will be pirated up-front, you can get some mileage out of it.

Put a mechanism in your game to check for announcements on a web server and display them. Maybe your game is 90% pirated, but when you released your NEXT game (or piece of software) you are suddenly announcing the release to 9x the audience you would have had if it wasn't pirated so heavily.

You suddenly have direct access to all those customers that didn't cost you Google Adwords money or SEO to find. They already like what you do, they pirated your game.

I really see this as an opportunity for this guy (and anyone facing the issue) if you stop thinking about every pirated copy as a lost sale... just like I wouldn't think of every egg I eat in the morning as a chicken I murdered.

They were never your customers and those eggs were never full-grown chickens.
"...that is similar to your mark and used on related products or for related services."

That is directly from the USPTO. In other words, if you have a company named "A" that writes software and I have a company name "A" that makes shoes.. I can't sue you for trademark infringement.

A website doesn't matter.. it's the type of business that matters.
I was wondering about the same thing.. If there was a way to identify the pirated copies, how could one possibly add some advertisements to those apps..
Social Proof, The Enemy Of Innovation?
> You can run the charts through Google's closure locally

It talks to google chart server.

goog.ui.ServerChart.CHART_SERVER_URI = 'http://chart.apis.google.com/chart';

It won't work without talking to the server.
I looked at the source for goog/ui/serverchart.js and checked the documentation(yes, in that order:)).

There is no way to make it work without going through the Google chartserver.
Just a clarification : I'm not the original poster and this isn't a "Ask HN". I sent a message to the OP on reddit so he can find this thread.

With all the talks about the benefits of the Apple Store, I just found this story interesting. Before, I thought that jailbraking was a niche practice and that the iPhone/iPad were relatively spared from piracy.
I wonder how the cervical cancer fits in, because it was ultimately traced to a virus as a trigger and then they developed a vaccine for it. The same may apply to other types of cancer, in which case "debugging" the condition without removing the root cause does not make much sense.
People are worshiping x86 ISA?
Thank you for your reply. It helped me grasp my feelings personally and gave me some great ideas. I'd like to give a quick response to some of your points.

To your point on manipulation: I agree and I'm using the word "manipulate" a little cynically here. What I used it to mean is a frictionless way to convince my client.

Regarding educating: I agree again, but I suppose a good portion of my question boils down to how to put myself in a position to educate, given that my client feels design isn't something I ought to have much of an opinion about. I fear that trying to educate without first having overcome that will lose me a lot of political capital.

On finding alternatives and gathering feedback: Great suggestion. I'll definitely do that, thanks.

On working within the client-defined parameters: I try to stay aware of that. As I pointed out in my post, I'm going along with their decision and changing the font without making a fuss. I still would like to find the limits of those parameters.

On disassociating myself: I regret that's the way it came across because it isn't how I feel. I never considered walking away - I'll definitely finish the project. My comment with regards to putting it on my resume was more related to my skepticism about how much professional benefit I might receive from the project once I'm done with it if things aren't done right.

Thanks again for your reply. It helped in more ways than one.
How are they pirating it.. unless they jail-break their phone?

I don't do iphone apps, but I was under the impression Apple controlled the distribution?
Make a Mess
"IV) Use the Intel Model. Do not have one product that you iterate on indefinitely. Rather, start over from scratch every so often. ... Intel learns its lessons and carries them over in spirit to the next model each and every time. Even though they start designing the implementation from scratch each time, they in essence remember the important bits from before, and have a Science for reproducing their implementation from their principles and learned lessons."

The whole article is worth thinking about, but this is the gem for me.
But there isn't much to learn while parsing JSON. It nicely maps to high level languages. It does make your knowledge of XML useless, but it doesn't has the cognitive overhead of learning something which takes time and effort.
There are state trademarks and national ones from the USPTO. If his is a state trademark and he is in another state, it shouldn't affect you at all and him harassing you would be malicious interference with a business.

If it is national, you should just change your business name.

As far as the other guy needing to work, that should have been figured out before. I take it you must be independently wealthy to be able to self fund for a long time? You are fortunate, but it's not realistic to assume this is true of everyone. Obviously his debt is related to not getting much if any income after 7 months of working on this venture.

I think your advice is very premature to say the least. You have not successfully executed yet. So you don't have working advice to give. It's strange when this happens, but seems kind of common. So many business books written by guys who don't have experience creating or running successful businesses. A lot of wild eyed speculation presented as fact.

Here is some advice. I see in your explanation you have a list of blaming other people. It's the cofounder's fault for not working more and wanting to earn an income after 7 months. It's the other guys fault for having a trademark. But if the cofounder worked with no salary longer you'd still have run into this trademark issue. The thing is, if you suspected your product had any chance of working at this point you'd not be giving up on the trademark. You know that the business is failing for other reasons, yet you come up with this other stuff. It's a denial of reality. Figure out why the company really failed. It wasn't the cofounder or the trademark that did it.

Now I know you are reading this and getting ready to press reply and type, "Bugsy you big dummy, didn't you see that I accepted blame? The title of this article is 'How I messed up'." Right, about that. Let's look at your numbered list of the four ways ways you are taking responsibility. #1 says your cofounder is to blame. #2 says the trademark is to blame. #2 says your cofounder situation is to blame. #4 says your cofounder situation is to blame. So you don't actually admit to doing anything wrong. Saying "I made a mistake depending on all these other morons!" is not taking responsibility. It's blaming others, while not even taking responsibility for blaming others.

Was there a product? Were there customers? Was there growth? None of these questions are addressed at all in this essay, and these are the real questions to have been asking. If the company has a viable product, a customer base, and is making sales after 7 months, the co founder wouldn't be walking away due to becoming destitute after 7 months of no income, and the other cofounder wouldn't be abandoning the business over a extremely minor branding issue.
The application already costs 99c and arguably the bookmarklet the author created did go viral (to the point where I'm still having friends send me links to the asteroids 'web site killer' every few days).

One question on my mind is whether the stats are legit. If it's not some quirk in Apple's reporting system, maybe someone is maliciously hitting the link to the 'site of the day'. Wonder what the logs for that webserver look like - is every user agent an iOS device as expected?

I haven't spent much time digging into the iOS app pirating community, but my expectation is that users are less likely to pirate if there's a free version of the app. What exactly does prompt someone to crack a 99c app and make it available to other users? Why would someone go through the trouble to get it that way when it's so cheap?
I looked at it now, and it seems like you can mark forums read, but once inside a forum, like http://iwt.mikevitale.com:8080/gaming/forum/show.iwt?forumid..., you can't mark messages and threads read - they all show up. Or maybe I missed something. Anyway, it still gives me the same feeling as virtually every forum - here is a space in which people converse 99% of the time in plain text, and the technology they use to structure and follow these conversations is far more primitive that what we used in 1991 (when threading really came into its own) and very arguably worse than in 1981-1990, too.

And all this while the technology used to zip their messages around the globe and display them is the stuff of fantasies.
"Overall, placebos were 82 percent as effective as the drugs"
My first inclination on seeing this post was to look for a "report spam" link. Then I realized it's actually quite informative. :)
Yes, the most common way to get jailbroken apps on your phone (Cydia) does not distribute pirated apps, but there is software that will allow you to sync pirated apps through iTunes.

I don't know the details of what you do to crack an .ipa (maybe they're not cracked and are just copied from a legitimate purchase?), but I know if you install something that blocks the iPhone's checks, you can install anything through iTunes.
How? Via liquidation? Or scraping operational money? VCs also double down. If it blows up at the wrong time, they lose, right?
This is my number one pet peeve, right here:

>>>>>>>>>>>>>>

# Force all clients that hit this host to www.nintendo.com

RewriteEngine on

RewriteRule .* http://www.nintendo.com/ [R,L]

<<<<<<<<<<<<<<

Nothing is worse than trying to go to foobar.com/something/I/know/exists and being redirected back to the homepage. What's wrong with deep linking and respecting URLs that a user has been to before?

More importantly, doesn't this interfere with bookmarks?
Isn't "signed queries" the same as 2-legged OAuth?
My biggest problem with Emacs today is responsiveness. This is partly due to lack of threading, partly due to slow execution of Elisp code, and partly due to poor data structures/database use in the back end (e.g. for maintaining indexes). I have to throttle semantic analysis from CEDET just to have a usable system and I avoid other features because they just take too long to run.

My Emacs session has been running for two weeks and I have 560 open buffers, which amounts to a memory usage of 620 MB. I don't think it's unreasonable for most every interactive operation to be instant.

I don't blame Lisp for the slowness, except insofar as the language promotes the use of data structures like simple lists that eventually create bottlenecks, and that the Elisp implementation is not very fast compared to something like SBCL.
A big advantage of CANVAS is to display charts on Android phones. Most of today's Google charts use SVG that, for some obscure reasons, can't be displayed on these devices out of the box.
No source. Just look at every new product they release. All of them that started post GWT are based on GWT as far as I can tell. The new AdWords interface being the latest and Wave coming before that. Even small apps, like their new discovery API browser are GWT based. It makes sense too. They need to support long-run development of large applications. That just becomes much easier given something like GWT and all the associated tooling that comes with it.
I wish EA would figure that out. I won't buy another EA game because of their DRM. Not so much that it has it. but it's garbage.

I was one of the idiots that brought a legal copy of Dragon Age 2. Only to be locked out of my account (and game) for a 1/2 week due to the DRM.
I have JavaScript disabled by default, and selectively enable it for the sites where I feel it is worthwhile. I'm a longtime NoScript user, and these days I use NotScripts with Chrome.
Which would just be circumvented with another jmp.
We used to have an optional checkbox that sent some of this info, but in practice the times when it was needed did not correlate with the times when it was checked.
There is nothing inherent about HTML5 can't do this, it's just a lack of tooling and libraries. The Windows 8 demo shows that the performance is already there. Look at GWT for a possible development model. It's very possible that MS will deliver something that looks very much like GWT UI Builder or Blend but targeting HTML5 and scriptable by Javascript if necessary. I'd be very surprised if MS didn't have a drop-and-drop designer solution given that this is their bread and butter.
I'll see your emacs as "best proof" and raise you node.js - sure it's C++ underneath, but few people are going to argue that interpreted javascript is "close to machine code". For some tasks, elisp is a clunky and slower than writing a shell script or small python/ruby/javascript process to do the same work. I don't even want to mention the horror that is finding correct documentation for a given version of emacs lisp compared to any other software or language.

disclosure: I'm currently writing a small node server in emacs. I'm happy with both as they are very responsive, but emacs does chug occasionally like a bro at a frat house.
You will never win the fight. So chalk it up as cost of doing business.

And everything is pirated. I once had a friend of mine hand me a pirated copy of the PDR (the Physicians Desk Reference on CD). I still have it.. though it's out of date by now.
Well, thats a hornest nests with some bad queen bees armed with more dangerous stuff than stingers.