rosariom | 6 years ago | on: Show HN: Video Competition Website
rosariom's comments
rosariom | 14 years ago | on: Show HN: My YouTube commercial for my Android project
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 :(
rosariom | 14 years ago | on: Show HN: My (late) holiday hack: SOPAOpera.org
rosariom | 14 years ago | on: Spain threatened with trade blacklist for not passing SOPA style law
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...
rosariom | 14 years ago | on: Show HN: My (late) holiday hack: SOPAOpera.org
rosariom | 14 years ago | on: There's no shame in code that is simply "good enough"
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.
rosariom | 14 years ago | on: There's no shame in code that is simply "good enough"
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.
rosariom | 14 years ago | on: Ron Paul speaks against SOPA
rosariom | 14 years ago | on: Ron Paul speaks against SOPA
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.
rosariom | 14 years ago | on: Ron Paul speaks against SOPA
Maybe this should be a tech-only forum to avoid getting people charged up and polarized.
rosariom | 14 years ago | on: Ron Paul speaks against SOPA
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.
rosariom | 14 years ago | on: Amazon Will Pay Shoppers $5 to Walk Out of Stores Empty-Handed
rosariom | 14 years ago | on: Startup School 2011 Live Stream
rosariom | 14 years ago | on: Startup School 2011 Live Stream
rosariom | 14 years ago | on: How My Lifestyle Business Became a Startup
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
rosariom | 14 years ago | on: Ask HN: Small product, single founder success stories?
rosariom | 14 years ago | on: Enrollment for Stanford's online DB class now open
rosariom | 14 years ago | on: Ask HN: Small product, single founder success stories?
rosariom | 14 years ago | on: Ask HN: Small product, single founder success stories?
rosariom | 14 years ago | on: Show HN: We made a spam-free lyric search engine