HNHacker News
TopNewBestAskShowJobs

no_future

-16 karma · joined July 24, 2014

The people on here actually READ BOOKS? No wonder everyone is so grumpy.
submissionscomments
no_future··on From Ruby to Go: a rewrite for the future
If you're so serious about your web stack and know it is going to need all these fancy and performance features, why build on Ruby in the first place? Why not use something that is performant with a history of successful apps behind it like Java?

It seems that everyone in web is just blindly following whatever flavor of the month tech stack tech bloggers who probably spend more time writing about software than they do writing software are hyping. CRUD apps(IE 90% of web based companies) are probably one of the most solved problems in tech. Why is it that every week there is some post by some inane startup nobody has ever heard of about "why we rewrote our stack from Ruby/Python to X shiny new language that people use buzzwords I probably don't even know the meaning of to describe"? This sort of lines up with that post from yesterday I think about companies just wanting to push out the product as fast as possible rather than caring about the actual quality of it. Why wait until you need to scale and hire 10 100k/year engineers to rewrite your app into a capable language and migrate it with 0 downtime instead of just doing shit right the first time? Seems like it would be a lot less headache, even if VCs were throwing piles of cash at you. Snapchat, for whatever other things you can fault them technically for like being hacked or whatever, did this right. They built on Java and deployed to App Engine and their application scaled right up.

I can understand extreme cases like Twitter(went from Ruby/Rails to Scala), where it was essentially a trivial CRUD application that eventually got so enormous that language performance features became an issue.

Also I don't understand why web people are so obsessed with "concurrency". How does concurrency help webapps that are just getting a request, doing some stuff with databases(which have their own well implemented concurrency mechanisms) and sending a response back so some tween can look at pics of their friends and send gossipy messages? Unless you are doing something that requires long running processes like video streaming or an online MMO type game, what is the point of it? Oddly the the parent posts' link's application in question is some kind of server monitoring service, so I really don't know why they chose Ruby.

no_future··on Scorpion Brings the Stupidest, Most Batshit Insane Hacker Scene Ever
Don't understand why people seem to think being good at chess is directly correlated with being smart. Chess is just a game that you can get better at through practice like any other game, you can be average in all other respects but still be a great chess player. Sure lots of smart people like chess, but lots of different kinds of people like lots of things. Guy I went to school with was dumb as a rock but was ranked among the top Junior league chess players in the country or something like that cause he was awesome at the game.

Even Bobby Fischer(who reportedly had an "astronomical" IQ), and is considered to be one of the best if not the best player ever, developed his phenomenal skill through countless hours of practice and devotion because he was utterly obsessed with the game - upon beating almost the entire Soviet team singlehandedly at the world tournament, one of the players remarked that Bobby put more time into chess than the entire team combined.

It isn't really something where you have to be intelligent to do it like advanced math or physics and whatnot.

no_future··on Watching Larry Ellison Become Larry Ellison – The DNA of a Winner
>Cat-Pictures-as-a-Service

Wait till le derpina hears about this one!

no_future··on Scorpion Brings the Stupidest, Most Batshit Insane Hacker Scene Ever
fake it till you make it I guess?
no_future··on TempleOS: 5 minute random code walkthrough
Terry is a goddamn hero and an inspiration to us all
no_future··on Stages of Accepting Your Design Sucks
>Engineering is about making things work, visual design is about creating an emotional connection. There are no formulas or rules that can be systematically applied to make a product feel right. People that think they are similar probably have never had the pleasure of working with a top visual designer.

Aside from the most broad of things(be concise, etc), what are some "formulas or rules that can be systematically applied" to make any piece of arbitrary software or solution well engineered?

They are both basically about "making things work". You can have cobbled together software that only does the bare minimum and just works but the actual code is a buggy clusterfuck or tackles problems that could be solved simply with needless complexity, just as well you can have a shoddy interface that allows the user to navigate/get whatever functionality out of the product that they need but is clunky and ugly, as the OP post in question in fact demonstrates; the original interface he designed on his own sucked by his own admission, but it worked in the bare minimum of the sense in that it facilitated access to the features of his thing. I'm sure you would agree with me that a great engineer/developer is not someone who just makes things work, but does it elegantly, manageably and efficiently as well. You could say the same of a great designer with the qualities I listed swapped out with whatever you think makes a great designer(makes things work beautifully, intuitively, whatever). Being an exceptional engineer and an exceptional designer both basically boil down to "design", be it in the software sense or the UX sense.

They are both somewhat subjective, lots of people have different opinions on software design principles as well as visual/UX design principles, but there are some basic guidelines which can be followed(most software people would agree that its good software design to get as much as you can done with as little code as you can, most designer people would agree that you should make functionality as intuitive for the user as possible).

I don't think that they are really a result of rote skill honed by practice, more a state of mind(though this can be reshaped through experience).

I just don't like it when people assume people who program are some kind of autistic robots who can only understand machines and not other people, or assume designers are some artsy-fartsy type who hasn't the time or will for the perceived rigid structure of coding. Or when people just want to stay in their bubble all day and never try anything new because they think they are afraid of failure or have preconceived notions about the task.

I do agree that I would rather have 2 people on my team, one who was an exceptional engineer and one who was an exceptional designer rather than one person who was so-so at both - but I be most pleased with someone who was exceptional at both, and I see no reason why one couldn't be.

Some great PG essays that are sorta inline with what I'm saying(I've been on a big PG kick lately):

http://www.paulgraham.com/hp.html

http://paulgraham.com/langdes.html

P.S. I apologize in advance to those upset by my use of engineer synonymously with software developer/programmer, I know some people get their panties in a bunch about this.

no_future··on The Pirate Bay Runs on 21 “Raid-Proof” Virtual Machines
There are almost no MPAA-proof countries, its pretty hard to hide from billion dollar companies with lobbyists and legal teams who are effectively above the law/make the laws. Countries that do ignore international copyright laws(Russia, China, Iran, pretty much any South American country) are usually very expensive to get a dedicated server in and have unreliable networks and piss-poor speeds. On top of that they have their own set of content laws(Russia and China censor anything that they perceive as against their government and jail/execute those who create and facilitate its distribution, good luck hosting anything in a muslim country that opposes Islam see:pretty much anything fun).

Sweden and Holland used to be considered anti-copyright havens, but the movie/recording industry mafia eventually pressured them into passing legislation that squashed this.

The only countries where you could operate in and be reasonably copyright resistant are Iceland and Switzerland, because they are non-EU members and have great data protection laws as of now. Dedicated servers there are quite overpriced though.

no_future··on Stages of Accepting Your Design Sucks
>Realizing you’re a software developer and not a designer

I hate when people pigeonhole themselves by giving themselves and others labels like this. What's stopping someone from being both a great designer and a great software developer? Visual/UX design is actually very similar in its principles to software and engineering type of design in my opinion.

no_future··on Winter Is Probably Coming Soon
I have to disagree with you here. Elasticsearch has a "more like this" feature built into it, which would give you pretty much the desired functionality you're describing that Facebook and LinkedIn have. It's a free and open source technology that I've installed and maintained on my servers. All you have to do is feed it some JSON, which you can modify as you choose to bias it to your exact specifications. Google and AWS offer cloud search and database features which already have this type of functionality implemented for you - all you have to do is wire it to your app. I'm not saying that these problems were trivial to solve in the first place, but THEY HAVE ALREADY BEEN SOLVED BY GOOGLE AND AMAZON AND FACEBOOK AND A MILLION OTHER COMPANIES' ENGINEERS, and made available to you in a nice and easy to use package with a bow on top.

See here: https://cloud.google.com/products/bigquery/ https://cloud.google.com/products/cloud-datastore/ http://aws.amazon.com/cloudsearch/

no_future··on Winter Is Probably Coming Soon
>Heh, if it's that easy then, ummm, go build it?

I did not mean to say that I could build a product like these to demean or belittle them in any way. The vision, ideas and UX execution behind them were clearly thought up by inspired and talented people. What I mean to say is that from a purely technical standpoint, they would be trivially easy to build, so I don't see why you would need to raise millions to pay for "software engineers" to build and maintain your initial product. They are just simple CRUD apps, a class of system of which there are a deluge of accessible and easy to pick up resources and frameworks available to learn how to work with, and a huge pool of cheap developers available. The technical problems that they solve are not novel in any way. While some of the Silicon Valley brogrammer types like to paint themselves as these renegade code wizards hacking on these super hard to solve problems(probably because it helps them get a paycheck), the truth is the problems imposed by CRUD apps are some of the most already solved around. I don't mean to say that there aren't plenty of code wizards hacking on hard to solve problems, but I bet they sure aren't CRUD related. Hell, I don't think its unreasonable at all that 1 or 2 completely non-technical cofounders could team up and learn Ruby on Rails or Django in a couple of months and put a viable product together. If you use an IaaS/PaaS system, Google or Amazon or whoever handles scalability problems for you - its literally as easy as moving a slider and paying more money. Why pay $230k a year for a "scalability/reliability engineer", when I could pay exponentially less to Google or AWS and not have to worry about anything? Even if those didn't exist, have you ever heard of a user facing web company failing because their tech stack wasn't efficient, because it was built by someone just average at coding who chose an easy to work with system with a fast dev cycle and not a "Full stack Javascript distributed scalability Guru"? No, because by the point where the efficiency of their tech stack became a problem, they would have enough capital to hire 10 engineers to rewrite the whole system in Scala or whatever flavor of the month stack tech bloggers happened to be writing about if they so chose.

If your company required some kind of technology that only someone with specialized skills could work with, I would understand. Robotics software? Sure. Biotech? Sure. Life-critical systems? Sure. But I won't be told that photo sharing and social media apps in this day and age require that much capital to build.

And networking? It seems to be that tech, is one of the fields in which this matters less than others to build a successful company, which is why it attracts so many of the engineer types who hate dealing with bullshit. They don't want to deal with bureaucracies and market analysis, they just want to build awesome stuff. I'm certainly not saying it doesn't matter at all, but I find it hard to believe that people would sell away stakes in their companies just for "networking opportunities".

Google was unlike these companies, in that the product was unique in both idea and technical implementation. The idea was original - organizing search results by relevancy, and the algorithm behind the PageRank implementation required a bit of high level math. The actual engine was implemented in C++, not exactly the easiest language to work with. But like I said, Google was pretty much bootstrapped until they really did need the money. They didn't immediately raise millions prelaunch and headhunt the best engineers in the valley. The founders were bright CS people who built their thing, ran out of a garage, and solved problems on their own for as long as they could. When they received their first investment they hadn't even incorporated yet - they had to go file the papers and wait a week before depositing the money in an account. It would seem that the average founder has gone from being the type who is a tinkerer primarily interested in tech and doing stuff that hasn't been done before(think Sergey and Larry, Bill Gates, Wozniak, Paul Graham, Zuckerberg)- but with a side interest in business, now to the type who is primarily interested in business and sees tech only as a means to an end, and raising as much capital as possible and throwing it at developers and marketing people as a means to achieve that end. I don't mean this to sound condescending or whatever, I'm just trying to come up with reasons here.

no_future··on Winter Is Probably Coming Soon
But it isn't free, free implies that they don't demand anything in return. You sell investors an ownership stake in your company, so it is the same as any other transaction. That means that they get a portion of whatever profit you make, and depending on how large of a stake they own, a say in decision making and executive matters. Forgive me if this is a bleak outlook on businesspeople, but the last thing I would want to do immediately after founding a company is sell a portion of it to some suit with a $400 haircut(smart technical investors like Paul Graham seem to be few and far between) who probably doesn't know or care about the product or technology outside of the possible return on their investment from the profit made from it, and let these people tell me how to run it, or even worse conspire against me and oust me from my own company(see: Steve Jobs).

I'm not denouncing VC as a whole, and I'm sure it is very beneficial when your company is becoming too much to run with your initial resources, and can be a big part of what accelerates big things to huge things. I'm just curious as to why the trend today seems to be to acquire as much early stage VC as possible, some companies even trying to get it before launching their product, through means like accelerators and such. $100k investment for 10% of my company? HELL NO. As I said before, if my web/software company is becoming too much for me to run with my initial group of founders, that probably means it is somewhat successful, and at that point I have more authority to dictate terms to investors. This means that I can get a larger investment from them and give them as small a piece of the company as they will accept for their investment, rather than being completely at their mercy because I haven't even launched my product and have 0 pull. Larry and Sergey as well as Zuckerberg were pretty smart about this. When their companies had users and pull they could afford to be picky about who they accepted funding from, and for good reason - they were control freaks(I mean this in the best way possible), and didn't want anything put out by their company to be not to their specifications. Obviously this worked well for them. This is my very basic understanding of how this stuff works, so once again correct me if I'm wrong.

P.S. here is a fascinating article on Page that was posted here a few months ago if you haven't read it - it brings up some of the points I made about him: http://www.businessinsider.com/larry-page-the-untold-story-2...

no_future··on Winter Is Probably Coming Soon
Correct me if I'm wrong, but I remember reading that Snapchat was originally pretty slow to acquire users, and conducted almost no marketing campaigns. According to the founders, they focused on building a great product, and this paid of in the long run as the product gained traction through word of mouth.

Actually using them as an example was a mistake on my part, I remember reading in that same article that Snapchat actually only got VC funding when the server costs were about to become too much to pay. Spiegel, who is the founder and CEO isn't a technical person, but it looks like his cofounder is.

Here is a link: http://techcrunch.com/2012/05/12/snapchat-not-sexting/

no_future··on Winter Is Probably Coming Soon
Can somebody explain to me why every startup company(or at least every one that articles are written about) feels the need to raise as much VC as possible ASAP? There are so many options for developing scalable systems relatively easily and the cost of running an entirely web/software based company(read: 90% of the hot startups) today is comically low, especially with pay what you use PaaS/IaaS systems like those offered by Google and Amazon. If your product crashes and burns, you will be out a couple thousand dollars MAX + whatever time and effort you put in. If your product is successful, by the time running it on one of these platforms gets too expensive to pay for out of pocket(meaning you have a lot of users running up bandwidth/infrastructure costs), I'd guess that VC firms would be coming to you rather than you to them, and you would basically have more authority to dictate investment terms, and wouldn't have to slog around pitching to firm after firm - most of who will probably reject early stage investment in anything that isn't some rehashed social media dreck made by the white boys from Stanford. I've never pitched to a VC firm, but I don't believe that any pitch is better than "Hey my thing has 10,000 fucking users and we get a metric shitton of new signups every day". I don't think they would care if you were a hobo clown from Latvia who dropped out of elementary school if your product had users and pull, they'd throw money at you since they all want to jump in on the next big thing.

This confuses me as it would seem to be a counter trend to what I'd expect based on what stuff was like a few years ago, when infrastructure costs were much higher, there were much less options, and development was more difficult. Google and Facebook - both of which are practically the model now for successful web companies - were fairly bootstrapped(run out of garages and dorm rooms by a few friends who had scraped together money from friends and family) before getting VC funding, which they got after their products had received somewhat widespread hype/adoption. I don't even think it would have been difficult to raise money or make VC connections before the product even launched for these people, they were practically the definition of the white boys from Stanford - but they didn't. The founders of both of those companies still retain massive shares and control in them compared to what you would expect from almost any other type of company of their calibre. Neither of them had to resort to advertising before their companies got big. The excuse that seems to be given is that by getting VC you don't have to worry about profits and paying costs for a while and you can just focus purely on the product, but as I said before, the costs are minimal - if you had even a small amount of savings or hit a family member up for a loan, you could run for quite a while on Google App Engine and such and not really have to worry about cost. If your founders are even remotely technical, I don't see how you would need more staff members in your early stages, successful web/software companies love to brag about how early on their team consisted of 3 people who worked a million hours a week on the product subsisting on nothing but cocaine and melon rinds because they were so dedicated to the company. As a person who I guess would be considered technical(though if you ask me I'm just a monkey who doesn't have a clue what they are doing and just bangs rocks together and hacks at stuff till something working comes out), I simply don't see the appeal of begging a bunch of of suits - most of whom probably don't know a shit about computers - for venture funding, and having to sell large stakes of your company to get it when you don't absolutely need it at the time.

The only reason I would postulate for this trend is an increasing amount of non-technical founders who need to pay for developers to make and maintain their product, but don't want to give these developers significant equity in the company. Almost all of the cofounders of Google and Facebook were highly technical and very driven and intelligent from what I can see, so I could easily believe that they were able to chug along on their own for a while without hiring more technical staff. I've put a couple of fairly popular and highly trafficked web projects(nothing huge, current one pushes about 2TB of bandwidth a day from 30k visitors, and costs about $100 a month to run on a dedicated server) together with some friends and am currently learning iOS dev, and I don't believe its a stretch at all to think that me and a buddy could build something like Snapchat or Instagram in a couple of weeks and throw it up on App Engine.

I know almost nothing about finance and haven't ever managed or worked at a for really reals startup, so let me know if I'm way off here. I would just like to get some people's perspectives on this. Sorry for the rant.

no_future··on Swift Has Reached 1.0
Can anyone tell me about the interop situation? I'm working on my first iOS app and doing it all the old way with Obj-C, and some things have been a little difficult to grok even though they've been around a while(AVFoundation). I'm very interested in the new Metal graphics API that Apple showed at their presentation. Not sure if I should just switch to Swift for everything now or continue learning/working in Obj-C and slowly transition.
no_future··on Ask HN: Any ideas on how to thumbnail 2M images?
I wrote a simple CUDA based image thumbnailing dongle with OpenCV a while back. https://github.com/NealP/cudathumb It's pretty fast but doesn't expose a good interface via console so if someone would like to contribute that I would be not unpleased. Also you need to have OpenCV compiled with CUDA to use it(which is kind of a nightmare). GraphicsMagick with its multithreaded thing(it should just werk if you enable it) is pretty fast if you run it on a decent CPU, it shouldn't take nearly 115 days. If thats still not fast enough for you you could try to make something with the Intel Performance Primitives package(if you're on Intel CPUs), though the cognitive load imposed by writing it might not be worth whatever speed boost it grants.
no_future··on How to Build a Million Dollar Business
A million dollars isn't cool. Know what's cool? A billion dollars.
no_future··on Ask HN: Why does the enterprise have such a strong affinity to Java?
Lies. Python and Ruby are older/as old as Java.
← PreviousPage 3 of 3