skysight-inc/HackerNews huggingface dataset:
Agreed, it's easy to look back now and consider Java negatively, but 15+ years ago (which is a long time in our field) it caught on for a reason.

I suggest that Java mostly caught on for two reasons (from a purely technical perspective):

1. It had automatic garbage collection.

2. It had a batteries-included approach to its standard library.

In practice, both of these had caused much pain for C and C++ programmers for a long time, and a platform where things Just Worked was very appealing for a lot of those programmers. That in turn led to non-technical advantages that drove the widespread adoption of Java for server-side/enterprise programming.

I don’t see that either of those technical advantages has much to do with the type system, though. In fact, of all the programming languages and type systems I’ve used, Java’s is probably still the worst by almost any interesting measure.

I don’t really accept the original premise that static typing is making a comeback; it never went anywhere. However, if it’s gaining renewed interest in certain parts of the industry, I suspect that has more to do with increasing experience of where dynamic typing can have disadvantages as more projects using it grow larger and are maintained for longer, and perhaps to some extent with aspirational statically typed languages like Haskell showing that some of the perceived disadvantages of static type systems are not inherent problems.
I can't read APL but perhaps that is readable. I'm unsure that other common dynamic languages like Ruby or Python are readable purely in comparison purely for using http://en.wikipedia.org/wiki/COBOL#Verbose_syntax.
I wouldn't bother with the PayPal API because you can simply create a PayPal subscription button within PayPal and integrate PayPal's Instant Payment Notification (IPN) into your database - this is simpler than using PayPal's APIs IMO.

There's actually a useful tutorial/script here:
http://net.tutsplus.com/tutorials/php/using-paypals-instant-...
Every language with mutable variables and closures that I've used works the same way (other than ones like C++ where you have to explicitly capture by either reference or value). The behavior can be a bit confusing, but it makes perfect sense once you realize that closures are capturing variables, not values.
Fair play, I know what you're trying to say but what I'm trying to work out is if there is a service which simplifies the paypal subscription handling and rather than be free, just charge per transaction like paypal rather than monthly which holds risk
Bertrand Russell Logicomix
Thanks your awesome :)
It is highly expressive.
No, I got quite mad when I read the whole promotional article for his new node.js program without seeing a single argument against REST APIs.
>Rust sounds great, but after a day of playing with it I saw it's really not ready yet.

Well, they never said it was ready. Actually they say the exact opposite: that it's still a moving target. It's 0.5 for a reason. Hopefully around this time next year there will be a 1.0.
Has/will Ubuntu Mobile, Tizen or any of the other minor players announced anything similar?
Create Value, Dont Steal it
Realize you can't have everything...
Crime is an issue but shouldn't be a complete deterrent. The political environment is a bigger concern scares people off. The BEE/indiginization issues are very real and should be considered.

With that said, I would live in Cape Town in a heartbeat, great food, culture, people etc.
What's the problem? Don't like it, don't buy it. If it gives a more professional finish to the sites you build for your clients, and you think it's worth the (pretty low) price tag, then pay up.

Personally, I'd love to see more of a marketplace for OSS projects. Open, collaborative projects that still make enough money to fund continued developement seems like a pretty good thing all round to me.
True but this doesnt make it easy or rather possible for a user to upgrade or downgrade themselves
Really? Seems to me like Hypermedia APIs should move the problem from the wire protocol to the application protocol?

Hypermedia says "oh yeah, here's some markup, look there are URIs in it". For a human user, we're like "cool, I'll try and click these, see what they do".

But software is going to want "um...okay, how to I parse this markup, and how do I generate the submissions you want? And, okay, you can change URIs, but please don't change anything else about that operation, or I will break completely. That's right, we're not really decoupled."

So, even with hypermedia APIs, AFAIK you're still going to want some marshaling to/from host language. ...and so you're back to having a spec, and coupling, you've just moved it around.

(Rant on coupling, people seem to think it's always bad and you can make it go away. Reality: you can't make it go away, and sometimes just accepting it directly is a whole lot simpler than deceiving ourselves about it's existence by over-applying abstractions.)
The danger and difference is that governments that use these capabilities are dangerous. Not only can they rightly or wrongly harm individuals, they can do so for whole populations.

If you were shunned (rightly or wrongly) by your village for some observed or inferred transgression, you could go somewhere else.

There is no longer somewhere else.
Hey, can you invite me please?
Thanks!
I'm just curious, so don't take this comment to mean or imply anything. What does "commitment" to a mobile OS from a operator actually mean? What do, in this case, Mozilla get from it?

As someone outside of the mobile phone industry (Just a simple consumer) I don't see the advantage of having a mobile phone service provider "committing" to your OS. Surely hardware manufacturers are vastly more important as they are the people who are actually going to create devices that can run your OS?
Reminds me of the central reason for the InGen Incident on Isla Nublar.
Complete this to get your elevator pitch
Vancouver? Not in the winter, unless you're crazy about skiing :)
fun/education/pleasure

Isn't this enough? You learn something and you'll probably get something useful out of it in the end, as well.
I think dynamically typed languages have become so popular because in simple examples they look great to novices. You don't need to know much syntax about defining variable types, you don't have to type as much, you don't have to figure out why adding an integer to the end of your string won't work, etc. Later, when they try to build something large enough to be useful they realize just how much they traded for that little bit of convenience. For example in PHP:

$id = 1;

$dbh = new PDO($connectionString, $user, $password);

$sql = ' SELECT column';
$sql .= ' FROM table';
$sql .= ' WHERE id = :id';

$stmt = $dbh->prepare($sql);
$stmt->bindParam(':id', $id);

if($stmt->execute()) {
// Do stuff
}

//This echos ID: 1
echo "ID: $id";

if($id === 1) {
echo 'This should be true, we set $id = 1 at the top.';
} else {
echo 'Instead we get here because PDO casually changed our variable into a string and "1" != 1.';
die('in a fire dynamic typing.');
}
I'd love one and I upvoted. What else should I do?
looking at how the galaxy nexus was treated on Verizon, I doubt they have much interest. Verizon would probably be for measures to prevent the bootloader from being unlocked and want control of updates.

Mozilla probably doesn't want to agree to those terms either, so I would be surprised if Verizon ever had one.

Just my experience with being a long time Verizon user and Android OS hobbyist modder.
BBC (http://www.bbc.co.uk/news/technology-21522713) says they will launch in "Brazil, Colombia, Hungary, Mexico, Montenegro, Poland, Serbia, Spain and Venezuela". All middle income countries, with the exception of Spain.
Some valid points there, at least for a newcomer to this language like me.
You should really read some of the replies from the other HN thread I placed in my reply above. It does a good job of removing the halo effect around VCs and their "decision making criteria"

>> The top-8 as a group make up 80% of all venture capital returns so maybe that should tell you something about their decision making criteria.

Perhaps, this is one possible explanation to that?
http://news.ycombinator.com/item?id=5271839

The problem is there is so much 'dumb' money out there 'smart' money is just noise. If you have 50 million to invest then investing 200k in 250 company's at random is a perfectly reasonable choice. And 50 million is a tiny slice of a ridiculously big pie, people spend close to that doing due diligence on really big deals.
I haven't written much in the last year or so, but I have a somewhat popular blog. The number of "cold e-mails" I receive have went down, but I still receive at least one or two a week.

Many of the companies I hear from have a "press release" type of "blog post" already written up that they simply want me to post, verbatim. More times than not, these companies and their products have nothing to do with my field (networking) and are not the types of things that I would write about or that "my readers" would expect to see on my web site.

That doesn't stop them, though. It's like they came across my web site and thought, "hey, here's a blog, let's e-mail them" without regard to "my audience".

Primarily as a result of some events I've been invited to/a part of, I've had the opportunity to visit and get to know many people in the networking industry in the Bay area (I'm just a networking guy from the midwest). While visiting and meeting up w/ folks from Cisco and Juniper is cool, I'd much rather read and write stuff about start-ups.

Basically, if you want me to write about your product, get it in my hands. Whether it's a web app, mobile app, or physical product, I, amazingly enough, want to actually use it for a while and form my own opinion. If you expect me to simply regurgitate the great things you've said in your "press release", you're mistaken.
That's a positive, as long as you don't confuse "reality" with "fear".

If you're more able to assess risk and determine whether your idea has a chance of working without actually having to build it, that can only help you. The problem is that many people swing from one extreme ("It's guaranteed to work! I'm gonna be a millionaire!") to the other ("It'll never work! I better keep my day job.") If you can understand shades of gray and make calculated risks, it only gets better with experience.
He probably will be, it's Australia -- not America.
Glad you like it, and thanks for sharing :)
How “Golden Eagle Snatches Kid” Ruled The Internet.
Any idea why? Too new or maybe because Mozilla is not corporate backed? I thought telcos hated the fact that just Android and iPhone were it
Radio Scanners
How does a hacker use radio scanners to hack into a laptop using a hotel wifi??
Is using a VPN service like Witopia , Hotspot shield a good protection or not?
or do yu need to spoof your MAC address too and stop Teredo and IPV6
And why would you say systemd is monolithic? Have you looked at the source-code for it? Have you looked at how services are configured with it? I would argue its far more modular than sysVinit.
What a great response. This should be expanded into a blog post.
How about Toronto, Canada?

http://blog.hypejar.com/post/42478443633/tech-alley-torontos...
Mobile operators tend to have strong distribution networks in their home countries, so they can help with marketing. They are also likely to have partnerships with local companies of various sorts. Their cooperation is necessary for improved billing systems as mentioned in the article. They also develop custom features and integrations with phones for additional revenue streams.
I agree. And that's exactly why there exist interface languages such as JNI so you can write your higher level code in a nice language and get down to C/C++ for the time-critical parts. I don't see much of a problem here.
How many phone OS do we need? I think the reason we have so many is the same reason we have so many different power connectors and screw heads. Because too many A$$hats are alive.
I confirmed it for fun. Got 2.746 over 10000 trials. Close enough.

(average (map-n (fn ()
(1+ (position-if (let1 x 0
(fni (< 1.0 (incf x (random 1.0)))))
(range 100))))
10000))
I agree Make is great at what it does but too many people really abuse their makefiles and don't use dependency management correctly. I suggest taking a look at
http://www.amazon.com/Managing-Projects-Make-Nutshell-Handbo...

Really well written book. You don't have to agree with everything but its a great look at some of the better ways of using Make.
Measuring one's individual performance is a lot harder in business than baseball.
Using make gets quickly really ugly. I wrote many Makefiles in my life and if you have to try to stick to GNU Make. At least it provides some basic functionality. But even that gets nasty quite soon when you need a simple thing like conditions with "and" or "or". If you have to write portable Makefiles ... well fsck.

http://www.conifersystems.com/whitepapers/gnu-make/

There were recent discussions about adding GNU Guile to GNU Make. I think this is a brilliant idea. Not only would a major GNU project not only use Guile. But it would make writing Makefiles much more enjoyable because you have a real programming language at hand.
Mass surveillance of individuals by governments in many developed countries is already done via the mobile phone system, and increasingly even by private companies via smartphones.

That cat has been out of the bag for a long time. Drones are just one more cog in this respect.
better to ignore than respond if it's not a lawsuit
I fought with Python for weeks before I picked up Ruby. It clicked perfectly and I've never had to fight with it.

I don't see how Python can be objectively better than Ruby.

I don't know enough about Lua to comment.
XML is more human readable than JSON, to my eyes.
Doubly confirmed. 2.71832 over 100M trials.

import random

totalsteps = 0
for i in range(100000000):
sum = 0.0
steps = 0
while sum < 1.0:
sum += random.random()
steps += 1
totalsteps += steps

print('AVG STEPS: ' + str(totalsteps / i))
I run https://openexchangerates.org essentially "from the road", so this is hugely relevant and I'm bookmarking it to read over once everyone's had a chance to weigh in :)

At the moment, I'm based between the UK and Jersey (Channel Islands – I'm resident for tax, which is nice), around Europe (recently Amsterdam, Berlin, Lisbon, back to NL in a few weeks) and planning a move onto South America later in the year. Previously it was Hong Kong, where the project began life.

From these, I got the best vibes in Berlin, and would love to spend more time there soon.

London, where most of my business took shape and which I'd consider my practical home, is fantastic for diversity of ideas, people and places. As of now I plan to spend 3 months per year here (maximum allowed unless I want to pay UK tax!) in the warmer months to really get into the city.

Still looking for the place, though, the one where I settle in for a year or two.
Yes, but the tax compliance is so complex now that many foreign financial organizations don't find it worth the cost to do business with Americans due to the paperwork. This is why the number of Americans relinquishing their citizenship has skyrocketed over the past three years.
I hope they don't do an Android I.e 18 fragmented broken rarely upgraded OS's with horrible carrier customisation.

This is the area that Microsoft with WinPhone 7+ and Apple with iOS have got right.
The Go runtime does nothing what a machine does. Compiled Go code consists of pure, native machine code instructions, no special opcodes. It's just that some additional functionality is statically linked in.
The subtlety sixbrx mentions used to be present in C#, but it has been mostly fixed by moving the declaration of the foreach loop variable inside of the loop [1]. Like Python, C# has reference semantics. I'm surprised that Guido van Rossum didn't make a similar change when he broke backwards compatibility in Python 3.

[1]http://blogs.msdn.com/b/ericlippert/archive/2009/11/12/closi...
REST architecture was introduced by this paper https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

'Semantics are a by-product of the act of assigning resource identifiers and populating those resources with representations. At no time whatsoever do the server or client software need to know or understand the meaning of a URI -- they merely act as a conduit through which the creator of a resource (a human naming authority) can associate representations with the semantics identified by the URI. In other words, there are no resources on the server; just mechanisms that supply answers across an abstract interface defined by resources. It may seem odd, but this is the essence of what makes the Web work across so many different implementations.'
"Unless closing the handle causes an exception to be thrown."

That is a straw-man argument. If the underlying file-closing API can throw exceptions, they must be caught from the destructor. If that means that they get ignored, then that is what it will have to be (much the same as most C programs ignore the return call from `printf`). Also in this case, the RAII wrapper should provide a member function which can execute the underlying close call early and expose the failure, for users who may be interested in guaranteed reliability.

In any case, provide RAII _safety_ does not intrinsically reduce reliability. If your destructor is executing code which _must_ succeed or be handled at a higher level, then a good developer will not put it in the destructor. No language feature can solve the question of "where should the program stop caring about failure?"
When people bring up places like this, it makes me wonder if they've considered the implications of inadvertently breaking the laws that are based on traditions/religion. Like being caught with a porn magazine in your bag or even crossing a province border with a bottle of booze (even that can be illegal there).
I agree - it really dependes on if you're going for the 'home-run' or for a lifestyle/bootstrap business. I should have mentioned that. Speaking of Skype, I'd really like to visit Estonia. Low flat tax, nice capital city, part of EU but lower cost of living, forward thinking government, etc.
I wish I had the karma to downvote you into oblivion.
Yep: http://codepad.org/gIaWdVY9

EDIT: Beaten to it :)
But that's what will happen. This looks destined to be a competitor to Android in the low-end space, allowing carriers and handset manufacturers to customize their offerings to differentiate them from the other cheap offerings.
Not ashamed to say I'm still working towards that ideal. My project is a start for me. It was too good of an example of doing that I couldn't point it out. It could have been anyone in my feed.
How (not) to validate your idea
> Its a dream come true.

What are the pros besides low cost of living? Can you elaborate?
iMessage Should Have a Dead Battery Auto-Responder
You can actually create a button to "modify" subscriptions (allowing them to upgrade/downgrade packages).

There are more details here:
https://www.x.com/developers/paypal/documentation-tools/payp...
and it also opens it up to a rich set of well-known problems: sharing between processes and memory management, lock issues, system-call latencies, not to mention dealing with the monolithic environments that are almost definitely changing between each instance of your program you want to run (this 'environment' includes the shell, userspace services, kernel version and features...). Decomposing a program into multiple programs isn't always a good idea, there is a very broad trade-off here that needs to be evaluated for the needs of every program.
This is frakking awesome. This means that a considerable part of the world will get access to Firefox OS and afforable phones.
My problem with make for data pipelines is that a lot if decisions have to be content based instead of timestamp based. Multiple platforms is also an issue, I usually don't bother installing the whole Cygwin just for gnu make. I end up with custom python scripts which may be more verbose but more flexible and almost always cross-platform.
You should use CMake.
It depends :)
This article isn't so much "Why Use Make" as it is "Use a Build System". It even says so in the sidebar.
Heh wrote about this (on my blog) a long, long ago. Was a fun numerical experiment to break the boringness of my own numerical experiments with fractals
I'm not disagreeing with you in any way, shape or form. JavaScript is an AWESOME language for both productivity and results. But I think we're doing ourselves a disservice if we assume that anyone jumping right into the language is going to immediately understand it.

Like you said, bad code is somewhat inevitable when you drop a classically-trained OOP programming into JavaScript. And that specifically is not a fault of the language. But I think we can all do a better job of pointing newbies in the right direction.
Competition is good.

If you're worried about connectors, it probably has a MicroUSB-b port, and you don't have to get it.
I've never seen the movie but that extended quote just seemed outright racist
> And if I didn't want to take $26k debt what then?

If you want to trade anecdotes: I'm 25 and have been out of college for about two and a half years. I spent two years at TripAdvisor and now oversee mobile development at a funded startup that actually, unlike certain TechCrunch favorites, has a thing called a "revenue model". I have about $3K left on my student loans which I haven't paid back because the interest rates aren't high enough to bug me; I would rather have enough in easily liquified assets to take a year off on a whim.

I went into college a "pretty good" programmer. I came out a better hacker due to side projects and a better thinker because of the stuff college, both inside of CS and out, threw at me. I recommend it to pretty much everyone going into software development because without it you literally don't know what you're missing. College opens doors. It sounds trite, but it's true: it forces you to broaden your horizons in ways you may not have considered, it encourages you to build social connections among people not like you (which, sure, you might do, but let's be honest, most hackers don't), and, if you go somewhere with a decent CS background, puts a pretty handy layer of formalism on top of what a decent developer knows intuitively. It's the stuff "outside the lines" that I feel makes college so valuable.

You sound like you're doing well for yourself, and congratulations! That's not an easy road. But I'd say that while the 0.1% probability outcome for college and no-college is about the same, I'd also suggest that delta at most other points tilts very hard towards college, even factoring in opportunity costs.
The flaws and blemishes are less meaningful if you can see everyone else's flaws and blemishes as well.
That is correct, and has nothing to do with my original statement:

No second point of failure => no native push notifications.
My current theory is that this is an arbitrary one. Its really, really, really easy to cross a megabyte with statically linked libraries.
openexchangerates looks useful for something I'm planning - bookmarked.

Curious, what's your technical stack? I'm researching ways to build a Restful api to be consumed by web apps and mobile apps.

Quite nice to be a resident of Channel Islands! Seems that everyone likes Berlin. Maybe checkout New Zealand?
Ken nails it. The only thing I would add is that I've seen more software failures because of insufficient product management than anything else.

Product management is particularly important in non-software companies where the obvious product isn't software. Your e-commerce website is just as much a product as your hipster glasses. Failure to manage it results in the classic IT dept. dysfunctional relationship where everyone hates IT and IT develops a thick skin and says no a lot.