HNHacker News
TopNewBestAskShowJobs

daniel_solano

473 karma · joined March 31, 2011

submissionscomments
daniel_solano··on Human Rights Record of United States in 2011
Just to be clear, this is a report published by the government of China.

I don't have the time to read the whole article, but here's a few thoughts:

Regarding On life, property and personal security, this section is about violent crime in the U.S. Indubitably, violent crime is particularly bad in some parts of the U.S., but is this part of the 'human rights record' of the federal government? In essence, the Chinese government here is implying that the fact that the U.S. government doesn't outlaw gun ownership results in violent crime.

Throughout most of the text, it just strikes me that the notion of what constitutes "human rights" is unclear. Some people believe that human rights are about the recognition of individual liberty and freedom from government intrusion. Others believe that human rights are about achieving equality and freedom from want. The Chinese government is certainly sympathetic to the latter definition, at least in this report. While this is a point of view favoured by many, in the U.S. the former view of human rights is still strong.

Finally, some of the points made by the Chinese are simply symbolic. For example, they criticise the U.S. for not ratifying the "Convention on the Elimination of all Forms of Discrimination against Women (CEDAW)". That is true, but the U.S.'s laws and enforcement are considered better than China with respect to CEDAW.

daniel_solano··on FB down 8% at opening
I disagree. If I understand things correctly, the purpose of the IPO is to raise capital for Facebook. As such, if they sell the stock for $30/share, that's what they get. If the stock then goes up to $34/share, they don't get the extra $4. That goes to whoever bought it from Facebook and resold it. In effect, they would have raised 12% less than they could have.

On the other hand, if they sell the stock to the public at $38 and it drops down to $34, it's someone else that's out the $4. Sure, it may create some temporary negative publicity, but, as you stated, they will recover.

daniel_solano··on TED and inequality: The real story
Well, it's not something that I have definitely concluded, but in my opinion, the speaker has lost significant credibility. If someone is willing to lie and bully in order to voice a particular opinion, why should I not expect them to lie or bully in trying persuade me to that opinion? No, it isn't a given, but that's the way I see it.
daniel_solano··on TED and inequality: The real story
Perhaps, and I accept that it is possible that the facts as stated in the article are wrong. However, if we accept them as true, the speaker:

1. Hired a PR firm in an attempt to threaten TED into publishing his talk. 2. When that failed, he misrepresented TED (by selectively quoting private correspondence) to the media in order to create the subsequent firestorm.

I will accept that the speaker may be passionate about his views. However, he is not interested in open discussion, at least not if you mean honest by open. The ends does not justify the means.

daniel_solano··on TED and inequality: The real story
Whether or not the talk was politically motivated, if this article is correct about what the speaker did as a result of rejection, the speaker is an attention-seeking demagogue that uses threats and deception for self-promotion.
daniel_solano··on Apple dominating Android with 84 percent of mobile gaming revenue
At our local Android developer's meet-up, we had a local game developer who has released several paid and ad-supported games. There are two relevant observations he made:

1. He often made more money from the ad-supported free versions of his games rather than the paid versions.

2. The Play Store is not the only place to download/pay for Android games. According to him, there are hundreds of alternative markets (such as Amazon's), some of which are much more prevalent outside the U.S.

daniel_solano··on Android Ported to C#
This is really interesting project, and after taking a little bit of time to look it over, there are a couple of things that I have noticed:

1. It's not entirely clear how to use this. Is XobotOS a replacement for Android, or is it something that can be shipped as a standard application? In my limited time reading the documentation on the GitHub page, this was not clear to me.

2. It looks like a it is a terminated research project, to quote the README:

This code is provided as-is, and we do not offer support for any bits of code here, nor does Xamarin plan on continuing evolving XobotOS at this point.

From the blog post, it sounds like they are integrating some of this technology in their products, but XobotOS is otherwise just a code dump. As such, unless someone is really interested in this, it doesn't seem like it's going to go anywhere.

daniel_solano··on Getting started with Scala's new macros
Really? I haven't heard of that.

In my experience, most of the alternative compiled JVM languages, i.e. Scala, Clojure, Mirah, and JRuby, seem to run fairly comparable to each other once they have started. The biggest differentiator between them with respect to performance seems to be in the way of start time and heap overhead ranging from none (Mirah) to substantial (JRuby).

daniel_solano··on Getting started with Scala's new macros
If I am not mistaken, any JVM language that has immutable data structures and closures is probably going to generate a fair bit of garbage. I believe this also applies to using Scala functionally.

My understanding is that there is greater interest in making Clojure more suitable as a library and with a leaner runtime requirement. If you have a situation were you don't need a dynamic environment, having the option to compile functions to static methods instead of classes should result in a big performance increase.

I have only briefly looked at Kawa Scheme, but I have not had the time to do much with it beyond a "Hello, World!" sort of project. Mirah is another interesting option. It uses a Ruby-inspired syntax but requires no runtime library.

daniel_solano··on Getting started with Scala's new macros
Yes, Scala is currently the best alternative to Java for Android development, but I am hoping that Clojure can close the gap significantly.

The main drawback to Clojure is still the start-up time, but that's getting better. For example, the metadata elision introduced in Clojure 1.4.0 speeds things up a bit and makes a significant cut in Clojure’s heap use.

However, one thing that Clojure gives you that Scala cannot, is the ability to do REPL-driven Android development, i.e. sending code directly from your editor to a running application and seeing nearly instantaneous results.

One thing I hope will help Clojure significantly is that it has a Google Summer of Code student who is going to be working on improving the tooling support for Android and Clojure. This should make it much easier for Clojure developers to start creating Android applications.

daniel_solano··on Rethinking Programming Language Tutorials
That's an interesting observation. Not long ago I was talking to an editor who thought that books 150-250 pages in length were an ideal sweet spot.
daniel_solano··on LightTable detailed critique: Concept vs Reality
Is the demo a bit contrived? Sure, but it's an inspired vision that was whipped up inside of a week. I don't think the creator has any illusions that making the vision a reality will be easy. However, it is clear that this vision is inspiring to a lot of developers and has some traction.
daniel_solano··on Light Table Is On Kickstarter
You get to be a 'sponsor'. That's obviously twice as good as a 'backer'.

Honestly, I have no idea. In the end, these levels are primarily oriented at companies or other groups (education?), not individuals. What's one person going to do with 25 licenses?

daniel_solano··on The Crisis in American Walking
Well, the ‘gated community’ as such may exist by virtue of the automobile, but the overall concept is much older and can apply even in high-density urban environments. What about a luxury apartment building that hires a doorman? It is the same thing in spirit as the gated community.
daniel_solano··on "Linux switch saved city millions and reduced user complaints"
For example: in the K-12 sector, I heard schools are getting 90% discounts. Ninety percent discounts.....

If I recall correctly, according to the director of IT of a large, local non-profit, they get access to the full suite of enterprise Microsoft products for something on the range of $1000 per year.

At that price point, saying 'open source can save you money' is meaningless, because they have already made investments in Microsoft IT expertise.

daniel_solano··on Martin Fowler: The Fallacies and Reprocussions of Diversity Imbalance
This footnote drew my interest:

Although female programmers are rare now, that wasn't the case in the 70's. That shift is another argument against the natural balance hypothesis.

I am too young to know, but is this the experience of others as well?

Again, this is based purely on anecdotal experience, but I wonder if women programmers tend to concentrate into particular industries (for whatever reason). My wife was a programmer at a contractor for a large government agency, and it struck me that there was a higher concentration of women there than in other industries or in the start-up scene.

If this is generally the case, I am not sure to what extent this would support any given hypothesis.

daniel_solano··on Programmers: The New Political Elite
Just yesterday, however, we had Newt Gingrich of all people saying that capitalism shouldn't benefit the few at the expense of the many, and that the reckless pursuit of profit at the expense of people is a perversion of capitalism. Were it not for OWS, we would never be hearing that (and certainly not from Newt).

I disagree. I think it only has to do with Romney's status as the front-runner. Romney portrays himself as a businessman that knows how to create jobs. Newt is trying to paint Romney as an 80s-style corporate raider. I am fairly certain OWS has nothing to do with it. If Newt was the front-runner, he wouldn't be bringing it up.

daniel_solano··on Dianne Hackborn responds again about android graphics
Yes, you can run arbitrary code using the NDK, but you're still sand-boxed into your application's process. Android relies on the Linux security model where each app runs in its own process as its own user. As such, just like with a Linux application, you'd have to find some sort of privilege escalation exploit before you can start mucking around at will.
daniel_solano··on Dianne Hackborn responds again about android graphics
It all depends on what you mean by "safe". It is certainly possible to create input methods that behave as spyware, that's why Android puts a big fat warning telling you so whenever you switch to a third-party input method.

I think what is meant by safe in this context is that an that is not an input method cannot pretend to be one. Likewise, the interface between the input method and applications means that an application cannot normally wire itself into the input method and monitor everything the user types.

daniel_solano··on Scala's version fragility makes the enterprise argument near impossible
As both a Scala and Clojure user, I believe this is primarily a Scala-specific issue. The one caveat to that is that, if you're using Clojure and AOT-compile your code, you can run into some issues if you are trying to use AOT-compiled code from different versions (or using a different version of Clojure than the one used to AOT-compile the code).

Now, there have been some source-level incompatibilities, especially going from Clojure 1.2 to 1.3, and this seems to have been a bit of a headache within some parts of the Clojure community.

daniel_solano··on Follow up to “Android graphics true facts”, or The Reason Android is Laggy
I think it the takeaway is slightly different: When many of Android's fundamental design decisions were made, specifically making UI animations take place in a normally-scheduled application thread, the prime competition/inspiration was the keyboard- and trackpad-driven interfaces of competitors such as Blackberry.

Apple, on the other hand, decided that a touch-based interface was the way to go. As such, Apple designed iOS to make rendering in a special, real-time priority thread to ensure responsiveness.

daniel_solano··on Yammer moving from Scala to Java
You're right, it's not quite impossible. However, the idiomatic ways of doing things in Scala tend to be very bad for performance if you're in a tight loop. For example, if you have two arrays that you need to iterate through simultaneously, you need to zip them together. In order to regain the performance, you end up having to do something like the while loop or use recursion. This is similar to the problem of doing heavily numeric code in Clojure before release 1.3. You could get Java-like numeric performance out of Clojure, but you'd have to abandon doing it in any sort of ideal way.

One example where something was impossible in Scala is that to implement a Parcelable for Android. This requires the creation of a static field, which Scala doesn't allow. Now, I won't argue that an API that requires such a construct is good, but it might be necessary for your application. I believe Scala now contains special code in the compiler just to support this peculiarity in the Android API.

daniel_solano··on Yammer moving from Scala to Java
While I haven't used Scala on an "enterprise" scale, I can certainly agree with many of the criticisms. However, in my experience, Scala is still worth it.

I don't deal with training a team of developers, nor do I have to integrate with enterprise-scale infrastructure, so those things just don't apply to me.

What are the benefits of Scala? I can think of a few, off-hand:

1. Traits: I really like traits and the way that you can use them to encapsulate cohesive and reusable functionality. In some ways, traits allow you to do a form of aspect-oriented programming.

2. Case classes are a nice, simple way of creating basic data structures. In Java, creating a data structure that should have a proper equality implementation and a nice toString is a tedious chore. Granted, I think Clojures record's are better since they give you immutability, too.

3. Closures. Other languages also have them, but Java does not. Being able to use closures can really help deal with things such as handling events. In Java, you have to resort to creating inner classes, some of which end up instantiated as members of the class.

4. Judicious use of implicits can give you some half-decent DSLs.

5. 3+4: A nice implicit conversion of a one- or two- line block into an appropriate instance of a ManagerAdapterEventListener can really simplifiy the code.

6. The mixed paradigm approach can be a blessing sometimes. I do prefer the functional approach. However, if you have integrate with a heavily object-oriented framework, being able to be object-oriented can be helpful.

Overall, I would generally prefer Scala over Java for my projects. However, I do prefer Clojure over Scala.

daniel_solano··on Yammer moving from Scala to Java
Yes, Java is generally fairly simple. I generally find that the most difficult part of Java is generics.

On the other hand, anything that you want to work at a slightly higher level, such as closures or higher-order functions, Java just gets in your way since you have to it all by hand.

Thinking about Scala, there are a couple of problems with its simple/complexity balance:

1. Some things that appear fairly simple actually explode into a huge mess of complexity under the hood. Often, that's not a problem. However, sometimes it becomes a problem because you don't really know what's going on.

2. Some things that should be simple and straightforward, like iterating through an array, are impossible. These are cases were the language is actually removing some of the power of the underlying platform.

daniel_solano··on Ask NH: How to stop Android app piracy?
I am also interested in this topic as I plan to be publishing an Android app for a client in the near future. In case you haven't seen it, here's 'Evading Pirates and Stopping Vampires' from Google I/O 2011: https://www.youtube.com/watch?v=TnSNCXR9fbY
daniel_solano··on Amazon reviews: Pepper spray "amazing human arm de-linker"
I was honestly a bit confused by this headline. For a bit, I thought it was something about about a JIT/heap sprayer for the ARM platform, or something to that effect. Oh, well.
daniel_solano··on Xmonad 0.10 was released
I am an Xmonad user that tried Awesome, and the main thing that didn't work for me is that it seemed that Awesome workspaces (tags) were tied to particular monitors. Perhaps I just didn't take the time to figure out how to do it properly, but that was a deal-breaker for me.

In Xmonad, I have configured twenty different workspaces, and I can easily swap them in and out of any given monitor. With a triple-monitor configuration, this is quite handy.

daniel_solano··on Scala Feels like EJB 2
Interoperation with Java from Clojure is generally fairly painless. The largest exception that I can think of is if you are trying to integrate with a library/framework that is heavily object-oriented and requires class inheritance. Clojure is very opinionated on the functional programming aspect, and although it is generally possible to extend classes, it can be relatively painful.

However, if you are only using objects, calling methods, or even implementing interfaces, interoperation for Clojure is quite nice.

daniel_solano··on RBarnes & Noble reveals Microsoft's patent strategy against Android
Link to the submission with the original Groklaw story: http://news.ycombinator.com/item?id=3233029
daniel_solano··on Ask HN: Who do you bank with?
I do all of my personal and business banking at a local credit union. I like the fact that the shareholders of the credit union are the same as the customers. For investments, Vanguard also uses the same approach. This doesn't guarantee that it can't be poorly run, but at least then there is no conflict of interest as far as doing what is best for the business against doing what is best for the customer.

In general, the best advice that I have heard and read all points to going with a local bank or credit union. Unless you have millions of dollars, you're just a number to a large bank. With a local institution, you can develop relationships with the people in charge.

← PreviousPage 2 of 5Next →