Hacker Newsnew | past | comments | ask | show | jobs | submit | rosariom's commentslogin

Issues I have at the moment are: 1) YouTube quota for using their search API is low so if i get lots of people searching for videos and creating competitions it might raise an exception 2) In the mobile view I am having a problem with the "Pull to refresh" section underneath the competition; it gets stuck and it hard to use on mobile. I suck at GUI design and css so that might be the cause for that comments section.


Hey guys,

Just wanted to share my 2 week project with you guys for feedback and hopefully some marketing tips :) Anyone out there having any luck with Android apps? I'm the male actor in the commercial despite my director's best wishes... He tried firing me several times indirectly and directly and I refused to be let go. I figured "I'm a developer, how hard can acting be?" Not so easy :(


I also think things like this should be blown up by countries impacted in their media and the UN. This will help highlight dangerous and over-reaching US foreign policy and potentially get US citizens and the UN involved which can then apply pressure on US officials to refrain from these kind of measures.

It is almost twilight-zonish to see the US government in favor of Internet censorship when speeches against it like this exist: http://secretaryclinton.wordpress.com/2011/02/15/secretary-o....

Why isn't the US media all over things like this? So much for being the vanguards of freedom...


Nice holiday hack! Are you planning to keep it up-to-date? I would like to visit it every now and then to track updates along side other sites I have been checking for SOPA related stuff


Yes...the low hanging fruit has mostly been collected. The fact of the matter, from what I can tell, is that on any given issue, most representatives won't say what their position is because they don't have to...there are very few legislators like Ron Paul who are just going to just say whatever they think when put on the spot.

So, other than the official co-sponsors, to determine someone's position, I just extrapolated from any historical information. For example, anyone who was on the judiciary committee who approved of PROTECT-IP's precursor (COICA in 2010) is likely, as far as we can know, a supporter of PROTECT-IP too.

I don't think such judgments of position can be made on campaign donations alone though. So it's an interesting challenge to think of ways to discern how engaged a Congressmember is on an issue based on the less publicized interactions he/she may have. Hopefully there's an easy way to collect such information that doesn't involve being a full-time researcher...but I plan to collect what I can and update for the time being.


Thanks sounds like you have a good plan... Amazing that officials can keep quiet on issues until they vote... I think your approach can at least provide hints and motivate people to call and get direct answers


This is the experienced developers dilemma: "To engineer or to not engineer"; engineering usually turning out to be over engineering. A more experienced developer friend of mine would always tell me: "build for today's requirements". I try hard to fight the design/architect voices in my head that always want to imagine this made up future where we will need X or else we cannot go live. These voices usually only stall real actual work, instill fear, and serve very little to no purpose.

I once had an argument with a Wall Street Java developer who was made the "lead" of one of our team projects. He decreed that every single class have an interface so that we can be generic and not tightly couple any of the components to concrete classes. I agreed that in some instances where functionality, i.e. methods that can be represented by different classes with the same method signatures made sense but not every single class needs an interface (if that is the case just go with a beautiful dynamically typed language like Python and avoid the code bloat). He got management on his side and we went off and built an overly engineered Straight Through Processing solution. It was a sheer nightmare to debug and the code bloat made me scream one day when we had a serious production issue. Even our manager (who finally had to look at the code when most of us were out on vacation once to answer some user questions) was flabbergasted at the amount of code he had to read through in order to answer the most trivial of questions. One extreme example was an interface for trade references. Our trade references were always strings with a date and some numeric value concatenated to it. The "engineer" decided that we needed an interface for this and added one interface and concrete class for our trade references. I told him that all classes needing trade references instance variables could just have a String instance variable named tradeReference or something like that and he went on to give me a design pattern lecture. We argued for nearly 20 minutes about this silly thing as he kept insisting that the future was unknown so we have to future proof the code from unforeseeable changes. When he said this I asked him to remove the Crystal ball plugin he had in Eclipse for predicting the future and get real. He got angry and we had a team call to waste yet another hour of developer time to discuss this. In the call I mentioned that our trade references scheme had not changed in 8 years and was unlikely to change... I lost the debate anyway. The ratio for most of the code base from interface to concrete class was largely 1-1 thus not justifying this code bloat approach.

Experienced developers (at least I think) seem to have these crystal balls in their heads or IDEs and usually try to be clairvoyant when it comes down to building a product. We need to get out of the business of overly engineering and just do as my friend said: "build for today's requirements". It is called software for a reason: it is soft. It can change (most likely will), can be refactored, redesigned, and/or incrementally made better or more abstract to accommodate changes. I am in no way saying no design, just limit it and get to work. A successfully built product is more satisfying then the imaginations of your head and the "perfect" engineering/scaling solution that never materializes. Users will like you, you will like you, and the team will get an andrenaline boost with each and every release keeping the spirits high. Remove the Crystal ball plugin from your head/IDE and stop trying to be clairvoyant and be a developer.


There's a reason why this happens more often in languages like Java. Because of the verbosity of the language, it's just painful to rewrite anything, even if the current solution isn't that much over engineered. So there might be a greater tendency to over engineer at the beginning, just to avoid any rewriting, which at the end isn't possible.

I'm a full time C++ developer, which might be a bit better in this regard than Java, but not that much, and a hobby Haskell programmer, and one of the greatest things about Haskell is it's brevity. It makes rewriting a lot less painful, so you're not avoiding it that much.


I disagree with your point that the verbosity of Java is the reason for over-engineering. The refactoring capabilities of modern-day IDEs help immensely with reducing the amount of work one has to do to make syntactic changes over the whole codebase. So the argument that developers tend to over-engineer when coding in Java to avoid any pains that may arise because of its verbosity doesn't hold, IMO.

I think that the over-engineering happens simply because it's a pain to do serious refactoring when working on large enterprise software in general, never mind what language it's written in. The sad truth of our profession is that the customer requirements may change quickly and drastically, requiring us to rewrite large portions of our code, and very often we find ourselves thinking "If I only engineered it that way instead of this way, I wouldn't have so much trouble right now". This is why we strive to create the most robust, flexible solution that will be able to handle any future customer requirement. So we basically turn our code into a framework that, we hope, will allow us to respond to change quickly. Unfortunately, we can never predict everything that the users might want, so this whole approach falls down like a house of cards when a user requirement comes in and we need to change a large portion of the code. I believe this is true for a sufficiently large app written in any language, Haskell included.


"The refactoring capabilities of modern-day IDEs help immensely with reducing the amount of work one has to do to make syntactic changes over the whole codebase. So the argument that developers tend to over-engineer when coding in Java to avoid any pains that may arise because of its verbosity doesn't hold, IMO."

Refactoring tools might be nice and will help you here and there, but there's a difference in the abstraction abilites of a language like Java compared to language like Haskell.

It's not only about the amount of code, but also about the complexity of the code, when building abstractions.

Yes, a refactoring tool might help you dealing with the complexity, but it's still there and makes it more difficult.

I never understood the point of using a less capable language and then using a tool to compensate it, e.g automatically generate code for it.


I never understood the point of using a less capable language and then using a tool to compensate it, e.g automatically generate code for it.

I definitely agree with you on this one :). Sure, it's better to use a language that lets you have less complexity even as your codebase grows quite large. You mentioned Haskell. Since I don't have any experience with it, what do you think is the reason that it's not used very often for building large enterprise applications (or maybe it is, and I just don't know about them)?


"Since I don't have any experience with it, what do you think is the reason that it's not used very often for building large enterprise applications (or maybe it is, and I just don't know about them)?"

Well, I don't know if it's even clear why other languages are used for enterprise software?

I don't think that their technical or whatever superiority was the main reason. Sometimes it seems that everything that is needed is to push it with a lot of marketing into the mainstream and then just let it go.

At some point there're more libaries for a language, most people use that language, universities are teaching it, so that's then the main reason to use a language.

Java might been there, pushed into mainstream, at the right time, with the right features, which made it less complex and less error prone (garbage collection, no memory pointers) to use, compared to C/C++.

But perhaps there's something about "object orientation", how it's implemented in Java, which makes it for people easier to grasp, if I read all the hate about these strange scheme/lisp courses in universities, but perhaps they're just already used to much to other languages.

On Haskell, at the beginning it looks very strange, especially compared to languages like C/C++, Java or C#, but I think that most of the felt strangness is a matter of habit, because most of the mainstream langugages aren't that different.

I don't think that learning Haskell was that much harder for me than learning to program in C++ or Java. Sometimes people seem to forget the challenges they had, when they learned programming for the first time.


Depends if you are engineering an enterprise system/product, or building a smaller one off project.

In the case of the enterprise solution that will be around for the next 10 years, I would agree with your tech lead.

Every time you make a code change for something that is out of dev budget, you face a budget overrun in the project that was interrupted.

If you choose to deliver something that just works and as soon as possible, your total costs tend to balloon over the lifetime of the system.

Question to ask is: how long would it take for a new dev (someone who has never seen the code) to change the tradeReference naming convention to include the asset type, or some conditional tag, lets say to conform to reporting regulations or even an expanded business mandate?

Interfaces do help here, because the new guy can make a localized change, write a small unit test, and commit the code to source control before you can say "rebuilding search index".

Keep in mind that you do not know if something is well architected until AFTER its been in production for at least a year and had features built into it for another year or two, and has added new members to the team, and has lost a few of the original team members in that time,

I believe that most people who are able to look back and claim that they have delivered at least three large projects (>500k LOC c++ or >200k LOC java) or product releases that meet the above criteria, would agree with your tech lead.


Good points; we were building an in-house solution for an Investment management wing in a bank.

To give some context on the trade reference I referred to, it was an internal tracking within the STP system used solely for tracking state and for communication between IT and the business. It was a simple date + numeric value used in our STP system for users to use in our Struts web and C# front end to check trade state through the STP flow and communicate with us if issues arose.

We did have lots of interfaces where it made sense and relied highly on object composition to represent financial concepts more richly and for inject-ability via Spring and Unit testing (makes writing tests easier when you mock things out). Asset types, security identifiers, etc, were represented correctly from an OO perspective and were a part of the xsd layer/interface between us and the trading systems. To us these were read-only values we just passed through for STP.

You are right about interfaces and unit testing but this is one case I highlighted of many where I think the lead was going over board. The internal trade reference was the same for 8 years and still the same to this day (which gives it another 3 years since I left for a total of 11 years). It never had more than one concrete class. It is no big deal on its own, but when combined with the other interfaces that only have one concrete class, it just bloats the system for no good reason.

Design and architecture is good for the reasons you have mentioned and more but it can go over board as is the case here IMO. There were other instances of that in our code base but that would take an entire blog post to cover some of the atrocities this engineer created because of his forecasting ability.


This. A hundred times this. It is truly mind-boggling how many crimes against maintainability are committed in the name of future-proofing.


The rule of the thumb: If an extension point is used by only a single extension, get rid of it. It won't fit the next extension anyway so the work needed to maintain it in the meantime is a waste of time.


Ron Paul message resonates with people because he is talking about something none of the other candidates are talking about: returning freedoms and sanity to America. It would be hard to rollback all the damage done by the likes of Obama and his predecessors but I think it can be achieved gradually and with some culture changes in America. This is a great country and I hope to see its freedoms preserved and reinstated otherwise we will head down the road to god knows what and never come back. Freedom begets greatness and innovation.

The media needs to stop its blackout of Paul and the smear campaign and cover the issues he is highlighting which are of the utmost importance.


"sanity" being "what you agree with".

That's why we should flag political articles and leave them to other sites.


(Disclaimer: I'm not from US).

  That's why we should flag political articles and leave them to other sites.

Except that at other sites, politics equals name callings and rhetoric. I understand that that is the primary reason you want politics to stay out of HN.

But if all scientists, techies and reasonable people stay out of politics and common people are distracted by media, how can we expect things to change? If readers of HN cannot discuss political beliefs in a rational manner, I wonder who can.

No wonder legislation like SOPA has reached to the doorsteps of congress in US.


I don't understand how you can equate keeping politics off of this site to not being involved in politics.


I'm not. I'm saying signal to noise ratio of political discussions on political sites is so low that any rational discussion drowns out in the noise. Plus, most political sites have a clear and strong bias, such that opposing ideas are rarely discussed based on their merits.

Also, many techies who otherwise would not engage in political discussions (due to aforementioned reasons), can bounce off ideas here. I'm not claiming that HN becomes a political discussion forum, I'm saying downvoting legitimate political discussions for being political is taking it too far.

[Edit: missed a word and it bothered me enough to edit the post.]


> I'm saying signal to noise ratio of political discussions on political sites so low that any rational discussion drowns out in the noise.

And you'd like to bring that here?


I'm not trying to be rude or condescending here, but if you read my reply in its entirety, you'll find the answer to your question.


The connection you aren't making is that politics leads to flame wars, on the internet. "Politics" regards deeply held beliefs people hold about how the world ought to be run. Also, the same discussions tend to be run over and over on ad infinitum. Hacker news doesn't need it. It does well by having a tight focus.


Your point is well taken. But tech discussions can also lead to flame wars and HN seems to handle those rather well. I for one am interested in what this community thinks about many subjects. Including politics.


The site has guidelines. Please reread them.


It's confusing that you would direct posters to the guidelines while willfully disregarding the guidelines yourself, and call the guidelines "stupid."

https://news.ycombinator.com/item?id=3405357


The guideline I'm referring to here is not stupid.

The "don't comment about flagging" guideline is. It's meant to eliminate pointless arguments about what is or isn't germane to the site, much like how you're asked not to comment about being downvoted. But flags are invisible, and the number of people flagging is dwarfed by the number of people upvoting threads about Ron Paul's newsletters, so that the only way for it to leave the front page of the site (precipitously, if you didn't notice) is admin intervention.

Commenting on this post in the first place was stupid, since the story already got buried. I just felt bad for 'davidw, and I'm a nerd, so when someone says "I think HN is in fact a great place to talk about politics", it's hard for me to resist commenting that it's by charter not a place to talk about politics.

I'm answering in detail because you seem to follow my comments, and I don't want you to think I'm blowing you off. I'm not. I don't know you or have any problem with you personally.


"sanity" being "what you agree with" is generally a truism in any context.

HN is in a unique position to offer high quality discussion on topics that have become extremely important to hackers, much more important than some nostalgic ideas on what HN is 'supposed' to be. This is no time to stick our heads in the sand. We have a powerful platform and a powerful community here and it would be very foolish to waste them given the seriousness of what we face.


> it would be very foolish to waste them

Which is why many of us do not want politics here.


when I said sanity maybe I should have been more clear: political sanity against tyrannical crap like this: http://en.wikipedia.org/wiki/National_Defense_Authorization_... .. this bill silently passed without any substantial media coverage and grants the president unprecedented powers the kings of old would envy.. I know no politician or anyone for that matter is "perfect" (really no such thing exists) but I like a lot of what he is saying not everything. I would leave it at that to avoid any diatribe that may arise on HN over political discussions.

Maybe this should be a tech-only forum to avoid getting people charged up and polarized.


> Maybe this should be a tech-only forum to avoid getting people charged up and polarized.

Well, technically, it is supposed to be limited to tech, startups, and 'things hackers might find interesting'. Politics is generally considered off topic. SOPA is directly relevant to many of us, so it's gotten a pass, but this discussion doesn't seem to be much about SOPA, but about Ron Paul.


I don't understand why davidw has been downvoted. Ron Paul maybe a principled politician, but his views/past actions on the issues of racism, homosexuality and science and technology policy don't stand up to scrutiny. While some of his policies may be laudable, he also has plenty of stuff that can be categorized as insane.

I don't want to start a political flamewar on HN, so all I'm trying to say is that there are valid reasons to believe what davidw believes and he shouldn't at least be downvoted for it.


I didn't make any comments about Ron Paul; I just pointed out the use of "sane" to mean "things I agree with", which is indicative of a debate that's not headed anywhere good.


I don't understand how you can attribute "sane = I agree with" to that poster. What evidence do you have for that?

I think it would also be reasonable to attribute "insane = courting disaster by inviting unintended consequences".

I would posit that "insane" and "broken" are problematic in civil discourse, as these words tend to evoke strong emotions. However, if one ascribes to, "insane = courting disaster by inviting unintended consequences," and also to, "broken = fails to filter insanity," then SOPA/Protect-IP are clear indicators that something in the system is broken.

In a way, this is much worse than the "Indiana Pi Bill" since that bill wouldn't have had any impact on practitioners who understood math. On the other hand, SOPA/Protect-IP has a huge impact on practitioners of computation and programming on the Internet.

In Indiana they were lucky to have a mathematician in the legislature, and a legislature humble enough to listen to him. The US House of Representatives and the Senate apparently don't meet this standard.


> I don't understand how you can attribute "sane = I agree with" to that poster. What evidence do you have for that?

His original sentence:

> he is talking about something none of the other candidates are talking about: returning freedoms and sanity to America

It's a cheap rhetorical trick. "Sanity" is defined as what his favored candidate wants to do, no?

> I would posit that "insane" and "broken" are problematic in civil discourse, as these words tend to evoke strong emotions.

Exactly.


It's a cheap rhetorical trick. "Sanity" is defined as what his favored candidate wants to do, no?

It depends. If Ron Paul were to reverse his views on positions where individual rights and freedom are the foundation, do you think the original poster would still support Ron Paul?

If your answer is no, then he's clearly not defining "Sanity = What favorite candidate wants."

If the answer is no, then the original poster is guilty of ineloquence and inadvisable word choice. By the same token your position is misattribution of the other poster's motivations.


My above phrase was not quite correct: it's not about the candidate, per se, it's about labeling as 'sane' those policies that he agrees with. Presumably, he could have a great time trading 'insane' and other verbiage with the people who view the lack of universal health care in the US as 'insane', as one example, and no one would be the better off for the whole exchange.

By the way, you, too, are insane for not agreeing 100% with me:-)


By the way, you, too, are insane for not agreeing 100% with me:-)

It would be seem we agree on many points, but you've thought a little more about the meaning and implications of (un)civil discourse. At first glance, maybe one would feel compelled to label insane proposals as such. But the lack of a clear arbiter of what is sane and not sane is a bit problematic.

Everyday life has always involved a bit of insanity and unreality, yet somehow we all muddle through.

But what if a person's value system defines certain ideas as wrong, and unsupported adherence to those ideas as insane? Is it wrong in a society that supposedly values free speech to express this belief?


> Is it wrong in a society that supposedly values free speech to express this belief?

Absolutely not! But there's a difference between expressing it here and on some other site. There are plenty of sites for political debate, from free-for-alls with all included, to various flavors ranging from neofascists to anarcho capitalists to communists and of course everything else in between.

I'm skeptical of many such sites producing anything other than volumes of vitriol, because many people do believe other people's positions to be 'insane', and if that's where you're starting from... it's difficult to find common ground.


I absolutely agree: things have gone in that direction and this simply isn't the forum for it, as such I've flagged the submission.


My understanding is that Ron Paul's idea of freedom is to limit the role of the Federal Government by moving the legislative burden to each State. I can relate to the frustration that most Americans seem to have towards “Washington”, but would this really be in the best interest of the country?

It's 2011, not 1787. The US is a vastly different country than it was when the idea of States Rights was created. Would the level of innovation that you describe be possible in a country that does not have a strong central government? Could an individual State put someone on the moon? Would sectors of the economy that are closely associated with a specific area (Technology – CA etc) still be as prosperous without a central government? I am skeptical.

Abandoning the Federal Government because it is dysfunctional seems short sighted. Personally I do not see how the US can prosper in the modern world without a central government. We need more political compromise and a more consistent government agenda, not a shift towards one political agenda. Government should represent everyone, not just the 51% of constituents that elected them this term.

Also, suggesting that human rights should be legislated at a State level is absurd. It astounds me that a Libertarian such as Paul can so proudly proclaim that government intrusion is wrong, but then defer to the State on issues such as gay marriage and abortion. Legislating religious views at a State level is no different than doing it at the Federal level. Rob Paul style libertarianism only brings “freedom” for some.


I do not think people or Ron Paul are talking about dismantling the federal government just limiting its powers. As the old saying goes, "Power corrupts, absolute power corrupts absolutely". It is extremely dangerous to give power over to a few in central government and not distribute the power evenly to all of its participants as history has shown us. I fear governments that want more power in the name of providing for my welfare and giving me security. I will do most of that on my own no thank you.

Innovation coming from a strong central government? What happened to the Soviet Union's innovation? They had a strong central government and collapsed... almost zero innovation came from them. What about China? Largely a beneficiary of treaties like NAFTA and GATT which gives them a great opportunity to ship in products made with substandard wages or as some would argue, slave labor wages. They also appear to be manipulating their currency and have a copy-and-paste business model. I see little innovation here as well.

I do agree that states and the fed can collaborate on issues of national interest that apply to all parties but I am totally against shredding the constitution or increasing the size of the fed because we are not in 1787. This country got to where it got because of freedom and allowing the people, like hackers, to tinker, fail, experiment, succeed, and do whatever they wanted as long as they did not infringe on the rights of others. SOPA and the NDAA are acts of central government that are appalling. Centralize government did not get us here, free people did.


Sorry, I should have been more specific. I did not mean to imply that Ron Paul or the average Libertarian intends to completely dismantle the Federal Government. However, it does seem that for many important issues, they wish to defer to the State level.

By “strong central government” I did not mean an economy centrally managed to the point at which Washington would be dictating how many widgets are made in a given month. I meant to imply a government that acts in the best interest of the population. Is it unreasonable to have minimum national standards for education, welfare, safety, and pollution? Every successful OECD country has these because they are necessary to prosper in the complex modern world. Would the US be more successful if we had policies such as centralized healthcare? Insurance is a HUGE burden on business in the US (not to mention on the individual – my wife was seriously ill earlier this year, even with insurance the total out of pocket cost will be ~$30,000. I can assure you that this burden is NOT helping my own attempts to start a business).

The freedom for people to tinker, fail, experiment and hopefully succeed comes from living in a society that educates, has some form of a social safety net, and provides reasonable economic legislation – i.e. the stable conditions necessary for capitalism to flourish. It is disingenuous to ignore the role that government has played in the success of the US and every other successful country.


No one is down playing the role government has played in helping liberty flourish and prosper in certain conditions we just do not want it to be to become to big and threathening to freedom.


> What happened to the Soviet Union's innovation? They had a strong central government and collapsed... almost zero innovation came from them.

Yeah, what was that "putting the man in space" thing anyway?


This is what I was kind of doing for books in Barnes and Noble: check the contents, read a few pages, then buy the e-book or physical book online. With this app it would make it super convenient to compare prices and order instantly after doing such a thing. I would imagine this will extend to clothing and other things, i.e. people will try the clothes and look at stuff in physical stores then order online if there is no rush to have the item. Who would have thought the online world would be such a force to reckon with?


Will this be recorded and available later to watch? I missed the beginning


probably, yes :)


thanks


Thanks Clint... I love reading posts like these that emphasize that sustained commitment and hardwork pay off and the fact that it also departs from the traditional build-a-redundant-cool-product group think movement. Too many niches are being ignored and unexplored by us tech-wanna-be or already made entrepreneurs because we keep looking at the cool guys in TechCrunch and other tech sites talking solely about tech industries and cool socially appealing products.

So many businesses/niches are in pain because they do not have software solutions or have to use substandard solutions to get the day to day going. Your advice to go work for another industry is solid and I would even go further and say volunteer on a part-time basis just to make the contacts and see where the problems are. If us tech guys did this more, we would uncover an abundant source of opportunity in need of addressing from people willing to pay to have the pain go away! I am currently looking to do this in the construction industry where some of my friends work.

Great post


Thanks man this is an ultra cool subject!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: