HNHacker News
TopNewBestAskShowJobs

Peteris

1,824 karma · joined May 16, 2011

http://twitter.com/p_e
submissionscomments
Peteris··on Next steps for Yahoo
I must have missed it. Well, did everybody have a smartphone back then? Having a dashboard for a screensaver I think is something that would click immediately. I would use one on the desktop too, provided it's nice on the eyes and is easy to fill up with relevant things (like HN articles).
Peteris··on Next steps for Yahoo
Cheers, I really want a dashboard as well :). And perhaps Bloomberg needs a cheaper alternative too.
Peteris··on Poll: Do you select text while reading?
I just randomly select text as I'm reading. In fact I find it annoying when I cannot do so.
Peteris··on Logic Programming slides from #HNLondon
Thanks, yeah that was a bit of shame; I actually discovered logic programming through Clojure's core.logic. Definitely logic and probabilistic programming are some of the most useful DSL's that can be built. The power is there, it's perhaps the case that Prolog compilers have a much longer history of optimizations, so it might take a while to catch up even though core.logic has some convincing benchmarks too.

Another area is functional logic programming. I've played around with Curry, and it's great and it feels even better than just having a logic DSL. The way you can represent strongly typed bi-directional declarative regular expression parsers is simply magic.

It's an exciting decade for logic :).

Peteris··on The Best
Reminding me of that Motorolla Droid add with the guy living with his devices and bed in an open concrete square house. Thoroughly optimal design is neutral, soulless and impersonal, it is frightening.
Peteris··on Show HN: idea for the future of document editing
This is super amazing for writing Mathematics, if the context aggregation could be tweaked a bit.
Peteris··on HN, We Need To Talk
Yeah, let's just assume Apple was brave enough to launch an iterative product for once, forgetting to label it 'beta' and accidentally shutting out competition.
Peteris··on Ask HN: Why do Haskellers discourage FP newbies from learning Clojure?
There is a philosophical gap that is independent of typing. Clojure encourages functional programming, but does not require it. It is also littered with a lot of not perhaps arbitrary but definitely replaceable syntactic sugar geared towards short, clean and practical code. Haskell on the other hand is like an evolving paper on how to implement the world using typed functional programming. If two people figure out the same idea, in Haskell they will much more likely end up using the same syntax up to naming. It is the canonical language for concepts.
Peteris··on Collection Of Puzzles For Programmers
As you point out, Project Euler and other simple puzzles are good for picking up new languages. Of course, Euler actually has a broad set of tough problems, but many people prefer solving the first tenner using one-liners.

It's slightly vintage now, but there is nothing better for getting actual algorithmic problem solving ability per time invested than USACO at http://train.usaco.org/usacogate. It was developed by the US high school competitive programming coaches. If you can plow your way through the first couple of sections, even the toughest interview questions will seem easy.

Serious.

Peteris··on Show HN: My Resume 2.0
Hierarchy is key. Choose one or two paragraphs that are most important and make them pop. It shouldn't feel linear.
Peteris··on Stop Taking Yourself So Seriously
That's probably true. As a rower, I didn't need to be much heavier, just stronger. I put on about 4kg (almost 10 lbs) during those 3 months not even counting the fat I burned. And I didn't have the option to increase weights much, didn't eat that much either.
Peteris··on Stop Taking Yourself So Seriously
If you want suggestions for activities, this table rocks http://www.cdc.gov/nccdphp/dnpa/physical/pdf/PA_Intensity_ta....
Peteris··on Stop Taking Yourself So Seriously
I've always been quite skinny and my metabolism drives it very well, I sweat fast, etc. And I'm tall too, which means more muscle mass to get the same size. I also did the P90X doubles version, which starts at month 2 and adds 3 more endurance workouts weekly. All that taken into account, I still managed to get good functional muscle growth.

It is very easy to modify the program to suit your needs. If your friends do not care that much about endurance, I would suggest not doing the doubles version, keeping rep counts low (eight or less) and trying to increase the weight from week to week. They should also take in enough protein, perhaps through whey protein supplements, but definitely no steroids.

What's more important than anything of the above is how much effort you put into every workout. If they push themselves hard enough during the resistance training parts, there will be nothing to worry about and there's plenty of massive after-pictures from P90X online to prove this.

P90X will give you massive performance improvements for almost every physical activity. If you just want to bulk up, look up hypertrophy training. That will be much easier mentally if you don't necessarily care about fitness.

Peteris··on Stop Taking Yourself So Seriously
I did karate in grades 2-8, but I was never very keen on the fitness stuff and didn't push myself very hard. I enjoyed doing sports recreationally, e.g., soccer, volleyball, basketball. But then all through high school I would only have a PE class once a week and maybe do some cross country or cycling occasionally. So very little exercise. When I started P90X last summer, it was very much the discrete switch you describe. I was about to start working at a startup that summer, so I aligned the two to start the same day and committed to both.
Peteris··on Stop Taking Yourself So Seriously
I agree with the general principle. Interestingly though, for fitness, the opposite worked for me. I threw myself into P90X, which is on 7 days a week, sometimes even two workouts a day. I've been exercising with similar or higher intensity ever since. The integrity of the program and the trust you can have knowing you will get better if you stick to it makes it hard to quit. If you start slow, you'll just lose time.

And there is nothing like seeing and feeling results three weeks in to take one through and beyond.

Peteris··on Show HN: Gistlicious, hot or not for code
Search by language would be lovely, if you ever get to it.
Peteris··on How I Would Design a Programming Degree
Functional programming falls within the realm of declarative programming, so he's got that covered actually.
Peteris··on How I Would Design a Programming Degree
Completely disagree about excluding algorithms and data structures among other things. In fact, I would say current curriculums feature much too less of design skills in these departments.

Algorithms and Data Structures needn't be about existing ones, although they are great examples. Algorithm design skills are a prerequisite for getting anything done efficiently, quickly and readably. Design patterns and software development models are secondary.

The case of data structures being available in libraries will lead to confusion as students will lack the ability to select the one with most appropriate performance characteristics. To them the only difference will be syntax. You could argue that one can look up complexity characteristics, but then how can you teach someone what is complexity without doing algorithms and data structures?

Algorithms and data structures are so prevalent, that they drive design issues that on the surface seem unrelated. Why map reduce is the query format we are using; how Clojure can have immutable, persistent yet still fast data structures; why public key cryptography is safe? And more importantly, algorithms and data structures teach us about tradeoffs.

It's not by accident that top companies test algorithm skills in interviews.

Peteris··on Eurovision statistics: final predictions
I wonder if there might be a difference between viewers of both semi-finals. People have more intent to watch the semi-final where their own country participates.

Also, some countries will have failed to advance in the first semi-final. Would they be even less likely to watch the second semi-final and the final?

If there would be a way to estimate the viewer's distribution for each show, it could improve the accuracy under this model.

Peteris··on Most popular browser missing (Chrome)...
In this case all it means is that Facebook thinks it's harmless.
Peteris··on I'm Not Employable, But That's OK
Haven't read that one myself, I learned mostly from Introduction to Algorithms and online tutorials. I would suggest having a go at TopCoder problems. It's a bit of a pain to set up, but once you have, there are practice rooms with problems from past contests. Written up solutions are available too. It helps you learn to design algorithms for unseen problems, which is ultimately what we're after. There are a lot of essential small tricks and methods that these problems contain and algorithm books don't get to cover at all.

Also, competing is a good idea. It helps you evaluate yourself and there's more motivation to do well. Having a rating of 1500, say, would place you in a good position to crack even the most competitive phone interviews.

I did TopCoder for a few years in high school, and now I can confidently and quickly get most of the algorithmic questions that companies ask. It takes a while to get there, but it's worth it.

Peteris··on I'm Not Employable, But That's OK
The good news is that indeed many companies nowadays would show interest based solely on a GitHub project. But you do need the ability to finish things off.

The truth is that many of the bigger coms out there have multiple requirements, and will care more about your degree, problem solving ability and familiarity with formal computer science. Perhaps because they get so many applicants, they need to rely on metrics at some stage to cut down the bulk.

Even so, these things are worth knowing anyways and, speaking from experience, you can pick them up comfortably outside of a CS degree.

Peteris··on Please don't let gaming consume your life
Regular exercise really is the solution. I know exercise makes me more hungry to the point where everything tastes good. And if you've put in enough effort, you will not want to waste that by eating junk. Solid exercise involves a lot of physical pain and once you learn to deal with that your willpower will be off the charts and sticking to the right food will be a breeze.

I was out of shape until I did P90X last summer and now I'm a different person altogether. You would be surprised how much can be done in three months of proper hard work. But it does not have to be a full blown fitness program. People aren't always aware of the options. When thinking of weight loss, jogging is the first thing that pops to mind. I have always found it extremely challenging mentally and I was never even overweight. Commit yourself to a few basketball games a week, or a cycle, a climb, a hike, skiing, whatever you enjoy. If you push that little bit harder every time and get some sweat going, get your heart racing, you will be surprised what it will do to your body.

Also a tip for motivation is to focus on performance. If you can run faster and farther, jump higher or feel better, just keep progressing and the weight will come down naturally.

Peteris··on Leap: A new gesture based interface for devices
Agree that it can't provide the precision we need for arbitrary complex actions.

Disagree about the physiological concern. Provided your elbows are resting on the table, it would be easy to get used to. Humans would adapt and it would be healthier than our current much talked about static postures.

Peteris··on Thiel on 60 minutes
Did you apply yourself equally at both? Without making any assumptions, many people do sail through college hardly putting enough effort. If people half-assed startups the same way, starting work on the prototype two days before an investor pitch, say, that wouldn't be much of a learning experience either.

In your own startup, it feels like every stroke counts, and you are doing something you find exciting and meaningful. It's likely not that startups offer more teaching experience, it's just that you're bound to get more out of something you really dive into.

Having said that, most (all?) college curricula do not cater for people intending to do startups, but they still have a lot to offer.

Peteris··on How do I get started with Node.js
That's pretty much what I meant. Node is relatively flat, you won't have to learn a framework, most modules are sets of functions. And once you're comfortable with the platform, you find their interfaces very similar, even obvious. Languages like Python and PHP have a lot more variety among libraries that do the same thing. And you will often be faced with heavy objects with specific initialization schemes.
Peteris··on How do I get started with Node.js
I would recommend a hands-on approach as well. There are a lot of articles on the philosophy of events, callbacks, etc., but it will click much faster if you figure out the patterns yourself just trying to write something useful.

Instead of a chat or a todo app, why not create something cool? Try a small game, a remote control app, cloud music player, etc. Node won't slow you down.

Peteris··on Didn't see this coming: The Goldman Sachs Github Account
Reminds me of the completely Open Source financial analytics company Open Gamma (http://www.opengamma.com). They also have a GitHub account with (in their own words) functional java code https://github.com/OpenGamma.

This Java paradigm of "private final static" all over the place and its ugliness is one of the prime reasons Rich Hickey considered creating Clojure.

Peteris··on Poll: What is your favorite programming language?
What about Clojure?
Peteris··on Natural Language Processing with Python, free online
When looking into NLTK to support a Twitter classifier, even though I had no NLP experience, the NLTK syntax/interface was sufficiently self-contained.

I was mostly interested in tagging and chunking and found it easy to reason about and use the relevant NLTK features with little auxiliary reading.

The only issues I found were with NLTK itself, e.g., Python version support, loading time, packages.

← PreviousPage 2 of 3Next →