HN user

cbo

155 karma
Posts4
Comments44
View on HN

SEEKING WORK - Toronto or Remote

Student currently completing my final year at the University of Toronto. Very experienced in web programming, especially Java/GWT, with some personal work in Django and Rails. Multiple years of industry experience. Worked in the past with Google Summer of Code, Rypple, and Salesforce. Big fan of functional programming as well (Lisp and Haskell, mainly)

Relocation might be an option in a few months.

conradbowen at gmail dot com

My Github profile can be found here: http://github.com/cowen

Google Racing 14 years ago

The Future Uses section certainly has a joke-y tone, but if it's an April Fool's Day joke, then NASCAR has given them a huge amount of leeway.

Usage of NASCAR trademarks, hosting videos, and even linking to the video on their homepage.

I'm more inclined to believe that it's real. But I've fallen for more Google April Fool's jokes then I'd care to admit.

Sure, I guess we aren't in a post-PC era. Yet.

I don't even own a tablet of any kind, but the reasons the author gives for dismissing them are extremely short-sighted.

The reason people still use PCs for email, office applications, and graphics applications has absolutely nothing to do with how suited tablets are to those domains, and everything to do with market inertia. It takes time to convert to a new system of doing anything. As more and more people move to tablets, you can expect all of the author's points to change overnight.

There are plenty of office applications for iOS and Android. Off the top of my head, I know that much of the iWork suite and Google Docs both have native apps for their respective OSes, and I wouldn't be surprised in the slightest to find Microsoft Office on WP7. As people start to use these more at home, they'll slowly start to creep into offices as well. I don't know if Photoshop (or anything like it) exists on a mobile OS, but the Photoshop interface seems like it would translate almost perfectly to a touchscreen. Again, as more people start to use it, more offices will start to use it.

Games like World of Warcraft and Skyrim are targeted towards the PCs because that's where the hardcore gamers are. But games like Angry Birds and Cut the Rope are on tablets because that's where everyone else is. But as hardcore gamers move to tablets, game studios will start building their games for mobile OSes. John Carmack has already moved Id in this direction, releasing their latest game on iOS, and it's only a matter of time before others follow suit.

Ergonomics are almost a non-issue. Almost every tablet owner I've ever seen has a stand of some sort or another, and many who do serious work also have a keyboard.

Which brings us to his last point that a tablet with a keyboard is "basically a desktop". This is about as useful as saying that a mobile phone with a bluetooth headset is just a phone. That hasn't stopped bluetooth headsets or mobile phones from selling like crazy, and the same can be said for tablets and keyboards.

I doubt the computer is going to leave wholesale, but I think it's crazy to believe that tablets won't start taking huge chunks out of their market share within just a few short years.

First, let's be clear that the term "brogrammer", tongue-in-cheek or not, is downright misogynistic.

But equally problematic are the common beliefs that spawned the term in the first place; that programmers must always be obsessed with technology above all else, and to appreciate things like sports, fashion, or fast cars is somehow "bad" or "uncommon" for programmers.

There are a whole host of programmers who despise guys like DHH for enjoying fashion and cars. They seem to believe that somehow, those traits detract from his skill or significance as a programmer. That Rails is a "bad" or "fashionable" framework because of those things and is thus to be avoided. This kind of thinking is just plain ridiculous.

The spectrum on programming ranges from a hobby, to a career, even to the lengths of an obsession. But no one should be expected to act like the "norm". A programmer that cares more about the latest Ferrari than the latest web framework is not necessarily an undesirable programmer. They're just a programmer with different interests, and no one should be treating them differently because of that.

I don't know a lick of iOS or Obj-C, but this line is absolutely true:

> The biggest boon to closures, for "regular" programmers, is the dramatic simplification of async code.

Consider the way it's currently done in Java:

    listener.addCallback(new AsyncCallback<ReturnType>(Parameters ..) {
        public void onSuccess(ReturnType returned) {
            System.out.println("Successfully returned!");
        }
    
    
        public void onFailure(Throwable thrown) {
            System.out.println("Unsuccessfully returned!");
        }
    });
This is unbelievably ugly, and yet this is about as easy as it gets in Java. In order to make asynchronous callbacks "easier" you have to instantiate an anonymous class with very precisely named methods.

It's not only wasteful, but the potential for error is huge. Closures could make this much, much simpler.

Echoing rileya, GSoC was the shimmering star on my resume when I applied for my first internship two summers ago.

Mine wasn't at Google, but at a startup that decided to keep me on and just got acquired, so it all worked out pretty well!

If you want to learn the entire Linux ecosystem, I can't recommend Arch enough.

From personal experience, don't try to install Arch on your machine unless you have another internet-capable device in hand. You're going to reach for ArchWiki several times.

Of course, ArchWiki is an incredible resource with great examples, so as long as you have it, the process is mostly painless.

Arch is kind of an intermediate Linux in terms of how much it will rely on your configuration. Not quite Gentoo, but far, far, far away from Ubuntu.

I find Wikipedia's blackout to be lacking in expedient information, and I see those tweets as evidence.

No where on that first page does it say "SOPA", "PIPA", or anything about censorship. I think the use of bigger, bolder text would've gotten the message across better than the more aesthetically-pleasing splash page they have now. Imagine how much more backlash there'd be if it had a look more inline with that have http://smbc-comics.com

It comes off as an issue that Wikipedia cares about, but doesn't explicitly tell me why I should care about it.

I'm no expert on debates, but I was paying significantly more attention to your message simply because he was being so rude and obstinate.

For your part, you did extremely well to not even acknowledge that he was trying to interrupt you at all.

But of course, I walked in with a bias on the subject.

No one likes the tactic of interrupting every dissenting opinion, but without a doubt it's extremely effective.

I know that having everyone at podiums or at a table is a very human thing for debates, making them seem like they're open discussions, but tactics like this prevent such discussions, and are fairly obnoxious for people who are actually trying to listen.

I'd rather just put everyone in sound booths with cameras and then mute them when it's not their turn.

Startup or Pokemon? 15 years ago

I can't decide if the fact that I scored 10/10 means I follow startups too closely, or that I played too much Pokemon when I was younger.

I love email and IM and all that of the reasons you stated, but...

Picking up the phone gets all of the necessary information to both parties involved several orders of magnitude faster than email and IM.

PostgreSQL 9.1.2 15 years ago

I agree, but I never see these kinds of posts stay up very long.

If it gets too bad, it shouldn't be too hard to add some code that would accelerate their trip off the front page.

It's impossible to know what you'll need in the future. No one should be wasting too much time trying to figure it out.

How could Zuckerberg -- or anyone, for that matter -- have predicted the kind of rampant success Facebook has had? Who thought in 2005 that Facebook would become the largest photo sharing site on the web? Or that they would need to handle almost 140 million unique visitors per month?

If the largest problem of your business is your application stack, you are in a very good place. Most businesses have much larger problems like, say, cashflow.

Python Facts 15 years ago

Not just PEP8-compliant. Some of these are just plain bad.

The first one I was greeted with when I opened the site was:

> print eval('+'.join(map(str, [1, 1])))

If I ever saw this in production code, I would lose my mind.

It's the kind of one-liner I'd expect to find in an obfuscated code competition. It's not intuitively understood, shows a lack of basic Python functionality (the builtin sum() function), and most of all, it's SLOW. As in, 54 times slower than a simple sum -- tested on xrange(1,10) -- on my development Macbook Pro.

That said, clicking through some other examples, there are a lot of great Python examples on this site. Just beware of some of them, and always make sure you test new code yourself.

> What is Google's core business? Advertising.

While this is true, I think Google understands it well enough that they take it a step further: growing internet usage as a whole.

Google will gain advertising revenue as long as it's used, and it's used literally almost every time anyone uses the internet. Even if people don't use Google Search directly, than there's a good chance that the sites they visit use Google Adwords or some other Google product, which in the end will earn money for Google.

So it follows that Google should devote resources to ramping up internet usage, and they have. That's why they built and maintain Android and Chrome, and why they're building Google Fiber. They even reduce the amount of resources they have to devote to some of these products by open-sourcing them, and also -- especially in the case of Android with the Open Handset Alliance-- sharing the workload with groups that have similar interests.

To help ensure that people have no barriers to using the internet, which means that people will have no barriers to using Google.

"Save the world" is such a broad term. It really depends on what things about the world you find to be most important.

If your primary concerns are safety from hazardous ocean-based weather, security of offshore energy generators and fisheries, and a better understanding of the ocean's effect on climate change, Liquid Robotics' technology would certainly qualify as "saving the world".

This article doesn't really describe what the title implies. It states issues and concerns for several languages, names several that have large ML libraries written for them already, and even gives his own approach for how to implement new ML algorithms, but it doesn't actually give real options for "Programming Languages for Machine Learning".

I've found that Matlab/Octave is a decent substitute for a "high-level language" to sketch out new approaches with. They're significantly fast, as well as significantly suited to matrix algebra that they can give decent results, even though they have some less-than-beautiful code. Matlab appears to be the language of choice for AI at the University of Toronto.

Personally, I think the best option would be to roll with a functional language (or at least, a language with functions as first-class objects), since a lot of ML algorithms can be reduced to recursion on several matrices, often using very similar functions. For example, ANNs frequently have very similar structures and training strategies, but simply use different learning functions.

Everything can be done in C/C++ though, and while it'd be harder, ML is an area where the gain in speed and efficiency is so significant that extra development time pays boatloads in terms of ROI. Even basic ML examples often involve dealing with 300x236 dimensional data, so you can imagine how much that data would scale up significantly in production environments.

Warren Buffett once said (paraphrasing) that you should only invest in what you know.

Most American VCs don't know all of the legal and cultural intricacies of building a startup in another country, which can both be huge factors.

It's way safer for their investment (and possibly even safer for the startups themselves) if the VCs only invest in startups in environments where they do understand those things.

They're two very different ideas, even if they're often shared by the same people.

The singularity is all about AI surpassing human intelligence. On this front, I can tell you after having studied a lot of AI for the past three years, we are not close. We're a lot further than many people think, but still not quite that far.

As for extending lifespans, this is something we've been doing from the dawn of medicine. We've been making significant strides here for thousands of years, and as Aubrey DeGray puts it, we've become very efficient mechanics on the car that is the human body, and we're only getting better at it. There's a lot of research being done on slowing the aging process and beating genetic disorders, which are two of the largest barriers to extremely long lifespans for humans.

At first glance, it looks like a good library for starting out with Vision. It's a very Pythonic library. I especially like some of the blatant honesty in their docstrings.

https://github.com/ingenuitas/SimpleCV/blob/master/SimpleCV/...

> def _makeCodebook(self,data,ncodes=128):

> """

> Do the k-means ... this is slow as as shit

> """

It certainly looks easier than starting with OpenCV alone.

Moreover, Ingenuitas looks like an interesting company. Open source solutions for manufacturing is certainly nothing I've heard of before. Definitely something to keep an eye on.

Building this bot should get a job for the right person.

It's not only a coding project in its own right, but it's also a very clever form of lateral thinking that shows a certain cheekiness and savvy that can be appreciated by plenty of businesses out there.

The trick is that you have to make sure you're not hiring for any of their plagiarized projects. What if they plagiarized the bot itself?

In theory, "real democracy" says that if the latter condition isn't met (i.e. people in power do not have public approval), then the former condition (rigged elections) must be true.

No one should be in power if the majority of the public doesn't approve of them. If they are, then the elections were rigged.

Partially historic, yes. It was faster/easier for students to write their AI programs in lisp than in any other languages for a long time. Between functional programming, an REPL, and macros, you could find yourself doing a lot with a little.

Prolog is also partially historic, but it has the added benefit of being logic-based, which is the direction that AI focused on for several years. Around that time, it was believed that AI could be done with pure symbolic logic, and that's exactly how programming in Prolog works. This approach eventually turned out not to work very well, but Prolog is still used in some places because it's a very easy language for interacting with graphs and decision trees (which are big things in AI).