HNHacker News
TopNewBestAskShowJobs

uriel

1,466 karma · joined January 25, 2009

I love cuddly space rabbits. http://glenda.cat-v.org
submissionscomments
uriel··on Go App Engine SDK 1.5.5 released
Go for Windows: http://code.google.com/p/gomingw/downloads/list
uriel··on Google Wave and the mythical man month
Or write your initial version in Go, and you wont have to do a rewrite ;)
uriel··on Google Wave and the mythical man month
According to comment in this same thread by a member of the Wave team, the problem is that they used Java the way it is supposed to be used, and that is why they ended up with over a million lines of idiomatic Java code when the same project would have been under a hundred thousands if written in another language.

http://news.ycombinator.com/item?id=3102493

uriel··on Why Dart is not the language of the future.
One of the reasons Go still doesn't have generics is reluctance to 'bolt them on', and that the current language works surprisingly well without them.

Of course that wont't stop people who have not written any Go code from claiming Go is worthless without them.

uriel··on Why Dart is not the language of the future.
> And it badly needs generics.

Everyone I know who has actually used Go strongly disagrees with this claim, they are very happy with Go's interface system and most of them don't notice the lack of generics at all.

Go is not like other languages, and 'features' are not interchangeable across languages.

> But you see, Go got all this attention just because it is a language released by Google.

Yea, that it was created by Ken Thompson and Rob Pike had absolutely nothing to do with it. /a

uriel··on "Hello World" in Dart, compiled to JavaScript
I still have trouble understanding how anyone can take something like GWT seriously.

Whole books could be written about everything that is wrong with GWT, but here is one post that barely scratches the surface: http://ryandoherty.net/2007/04/29/why-google-web-toolkit-rot...

uriel··on "Hello World" in Dart, compiled to JavaScript
> Many googlers I've spoken to firmly believe that you need a strongly typed

Dart might be many things, none of them come remotely close to _strongly typed_.

Also, I never understood why Google ever started GWT, the idea itself is like a bad Apr 1st joke that got out of hand. I guess that the legions of Java programmers google has been hiring have started to take over sigh

uriel··on Dart Disappoints Hackers
Or Go-flavored.
uriel··on "Hello World" in Dart, compiled to JavaScript
Go is awesome by default because of Ken Thompson, not because of Google.
uriel··on Go version 1 proposal
That sounds like a problem with the packaging for your distribution.

If you install Go the way golang.org instructions indicate, you can install everything as a non-root user just fine.

uriel··on Dart language
I have used `class` less and less in my Python code, and when I still use it, it is as little more than a struct.

I never use inheritance.

Since I started to do this, my code has become much simpler and cleaner.

uriel··on Merging In The GNU D Language Compiler To GCC
One thing to remember is that AFAIK no D2 compiler implements the whole language, and even DMD, which is the 'canonical' implementation seems to be well known for its copious bugs. This is not surprising given how huge and complex the language is.

Go's compilers (like all code) also have bugs, but you rarely if ever run into them, even given their youth and the blinding rate of improvement, they are quite stable.

uriel··on Merging In The GNU D Language Compiler To GCC
Go is specially a huge step backwards from C++ in convoluted insanity.
uriel··on Go version 1 proposal
Yesterday in #go-nuts we were discussing better names for close() which currently causes so much confusion, my suggestion was end(), but done() is a good one too.
uriel··on Go version 1 proposal
There are Go packages for Debian and Ubuntu at least ( http://go-lang.cat-v.org/packages ) plus a binary distribution for Windows, and installing in other systems is quite trivial:

  $ hg clone -u release https://go.googlecode.com/hg/ go
  $ cd go/src
  $ ./all.bash
uriel··on Occupying Wall Street
Glad that you are quite open minded and ready to listen to new points on this topic, most people seem to prefer to ignore logic and evidence and instead follow what feels good.

> How I define a living wage: Enough income for a 1 BR apartment, 3 square meals a day (from a grocery store, not a resturaunt), and health care. Basically, the bare minimum.

The "bare minimum" is quite different if for example you are a student living with your parents that is working to help pay for university, or if you have children, or a working spouse, or savings.

Not to mention the HUGE differences in cost for the things you mention in different locations within the same country or even state.

For more info and links to many studies on the topic see: http://harmful.cat-v.org/economics/minimum-wage/

And yes, I'm the same uriel as in reddit :)

uriel··on Go version 1 proposal
Recent releases are already available for Windows, see http://code.google.com/p/gomingw/
uriel··on Merging In The GNU D Language Compiler To GCC
You could as well say that now that gcc can compile C++, it can drop support for C (and no, C is not a subset of C++ anymore).

Go aims for a very small and clean set of features that work well together and produce code that is easy to write and read, D seems to aim to include every C++ feature and a few more.

uriel··on Adobe Flash 11 is now stable for 64-bit Linux
When will it be stable for Windows?

And i'm not joking either. Flash is the main cause of browser instability and RAM hogging.

And this without even getting started on security.

uriel··on Occupying Wall Street
> Perhaps, but is minimum wage actually a living wage?

What is a 'living wage'?

> just because someone is employed doesn't mean that they are in a good position.

They certainly are in a better position than somebody who is unemployed.

As Thomas Sowell pointed out: The real minimum wage is always zero: unemployment.

All the minimum wage does is distort the labour market to favour automation and highly skilled workers over the inexperienced and low skilled.

Basically, it hurts precisely the people it was supposed to help.

uriel··on Occupying Wall Street
> A bunch of dumb decisions? Not necessarily. Sometimes life just happens.

"If you wind up with a boring, miserable life because you listened to your mom, your dad, your teacher, your priest, or some guy on TV telling you how to do your shit, then YOU DESERVE IT." — Frank Zappa

uriel··on Occupying Wall Street
> Why was unemployment so much lower five years ago than now? Did people just get really lazy?

Could the raise of the minimum wage have something to do with increased unemployment?

uriel··on Rob Pike comments on Ryan Dahl's rant
OS X design is still a horrible mess, a monolithic BSD kernel bolted on top of a monstruous Mach 'micro'-kernel. Not to mention things like the new XML-based init system, property list files, hacks around 'extended attributes' (or whatever they call them) and many other aberrations.
uriel··on Rob Pike comments on Ryan Dahl's rant
Any program that manipulates or traverses file trees is affected, and a few more, in an OS that is built around the concept of hierarchical file systems, this is quite a few.
uriel··on Rob Pike comments on Ryan Dahl's rant
> Plan9 keeps being mentioned, but do regular users understand it? (Is there a "this is why we do things, and this is why that's good" written for people who haven't written their own compiler?)

Yes, you can start with the main Plan 9 paper: http://doc.cat-v.org/plan_9/4th_edition/papers/9

And follow up with The Organization of Networks in Plan 9: http://doc.cat-v.org/plan_9/4th_edition/papers/net/

And The Use of Name Spaces in Plan 9: http://doc.cat-v.org/plan_9/4th_edition/papers/names

This will give you a good overview of the basic design decisions in the system and their rationale, for further details on how Plan 9 deal with issues from toolchain design to authentication and security see the rest of the papers: http://doc.cat-v.org/plan_9/4th_edition/papers/

They are a wonderful read even if you never touch Plan 9, they are full of insights, ideas and criticisms of existing approaches, and many even include discussion on how to apply them to existing nix systems (sadly most of this has gone almost completely ignored by the nix community).

uriel··on Rob Pike comments on Ryan Dahl's rant
That is a somewhat silly comment from Linus given that ken and rob designed and built Plan 9 together. (For example, ken designed UTF-8 while rob helped write the code: http://doc.cat-v.org/bell_labs/utf-8_history )
uriel··on Rob Pike comments on Ryan Dahl's rant
There are other problems with symlinks too: http://harmful.cat-v.org/software/symlinks

Every command that operates on files needs an extra flag to tell it whatever it should follow symlinks, or operate on the target, or on the symlink itself, etc.

uriel··on Rob Pike comments on Ryan Dahl's rant
And this is so sad.

By the way, Plan 9 doesn't have sockets, it has /net: http://man.cat-v.org/plan_9/3/ip with the dial API built on top: http://man.cat-v.org/plan_9/2/dial

This means that for example, Plan 9 applications that do networking are not tied to a specific network stack, you can mount multiple network stacks concurrently, you can have 'virtual' network stacks (for example running in user space and proxying to a remote host, or doing other neat tricks), and the apps don't need to care.

Also when Ipv6 was added to the Plan 9 stack, no application code had to be modified, because the API nicely abstracts network addresses.

uriel··on Rob Pike comments on Ryan Dahl's rant
But mount -o bind is not very useful when only root can use it and when it doesn't include proper union mounts.

Same problem applies to one of Plan 9's key design features: private namespaces.

uriel··on A Tour of Go
> The problem with having three ways of declaring a variable

Three ways? I only count two, and the rule for what to use is very simple: any time the type can be inferred from the initial value, you use := (obviously you can't use := in other cases, so there isn't really any ambiguity).

← PreviousPage 2 of 14Next →