skysight-inc/HackerNews huggingface dataset:
> 2. Do no work in the constructor

> Are constructors still used? All services are wired using dependency injection. Models are either DTOs or Hibernate POJOs - both dumb and anyways don't do any work.

Guice encourages constructor injection.

> 3. Program to small interfaces:

> Interfaces are dictated by functionality they provide and not size. They can have hundreds of methods. This is how it looks: DocumentService - put every document related method in here, FinancialInstrumentService - put every instrument related method in here

Surely, by the point you reach hundreds of methods, you can refactor your service into several different, smaller services.
Agreed. I learned the Russian alphabet in a day - you learn the sounds for each symbol and you're done. It took a long time to speed up, of course, and i had the background of already reading in English, but Spanish isn't Chinese or Japanese (or English for that matter).
It's funny to see this level of attention to detail. I've always found Amazon to be one of the worst designed websites outside of the checkout process, and not from a prettiness point of view. I'm convinced their success is purely due to a smooth checkout process, superior customer service (easy refunds, Amazon Locker, etc.) and price.

Amazon never makes we want to buy anything. I only buy if I go there knowing what I want. Browsing (as in shop browsing) is broken, the suggestions are inane (you've just bought a white 3m network cable, why not buy a blue 5m one?) and the search tools are lacklustre (can't sort by price until you choose one of three plausible departments your product falls into).

I have a Kindle and often go to their website looking for a book to buy. This experience sucks. If I go to Waterstones on the high street, they have both a relatively good depth of inventory but also attractively laid out tables of books grouped by subject. I invariably find 2 or 3 books that I like the look of. Unfortunately for Waterstones, physical books are not what I want (I live in London. Space is not plentiful).

Amazon the store front sucks. Amazon the check-out is awesome.
Another article about stop thinking investment and do something that magically will work without the initial money inyection.

I think these articles are good motivators but they don't fit in the real world. Let me sumarize my view point:

1. You can develop your MVP at home with your buddies, yes, but maybe you need money to make something crucial that requieres some expert contracting to get it done.
2. You can make a web app, yes, but maybe you need money to get some important licences to operate in the real world.
3. You can launch your project with a pitch, but, it will take ages to reach profitability without proper advertising campaign.

I guess some startups became important businesses in less than a month without money inyection, but they're not the rule and, in most cases, they've managed to get important attention from the press.
The New HTC Flagship Has Arrived
It is a bad thing for us (software developers) too: yes, we would get a contract to automate these low-skilled guys jobs, but then who's going to pay for these low-skilled guys' unemployment?

Besides, our automated solutions would still deliver higher-than-before prices, because if automation was cheaper, then low-skilled jobs would have been automated away without government's legal help.
http://cynix.org/tools/superpwdhash

http://supergenpass.com/

https://www.pwdhash.com/
Build scripts for iOS, Android and Windows (using MingW under MSYS):

https://github.com/jedisct1/libsodium/tree/master/dist-build

The end result on Windows is a native DLL library.
Those are not bait and switch unless the buyer is told that the introductory price was the permanent price. Bait and switch is a form of fraud where an offer is made and accepted, technically constituting a legal contract, but then the offerer reneges on the deal, claiming some sort of snafu beyond his control. Having not made the offer in writing and having apparently made some sort of honest mistake make the buyer unlikely to hold it against him, even though it is often technically a breach of contract. Oh, well, the buyer reasons, I may as well trade up and finish this thing, now that I've put so much time and energy into it. And that completes the bait and switch.

Simply offering "first three months free, then we start charging" is not bait and switch. It's a perfectly valid offer.
Port 22 is SSH. Telneting to it wouldn't do much good aside telling you which sshd was listening.

I'm also a little confused by what you mean when you said your system doesn't support "HTTP protocol", curl has been a staple for Unix and Linux for over a decade. Or are you trying to run curl from cmd.exe in windows?
Re >2. Do no work in the constructor

The author doesn't propose a solution here, so I'm worried he's thrown out the baby with the bath water. Yes, it's true that you should have no File IO in a constructor when it violates the SRP. At the same time (and as the author notes), it's very convenient to have Foo.fromFile(String path) or similar.

Here's what I think the compromise looks like:

public static OptimizedPage fromFile(String path) throws IOException {
return OptimizedPage.from(path, FileReader.readFile(path));
}

Which seems like having your cake and eating it too.

Or to put it another way: that File IO needs to happen either way -- forcing the caller do write:

OptimizedPage foo = OptimizedPage.from(path, FileReader.readFile(path));

whenever they mean

OptimizedPage foo = OptimizedPage.fromFile(path);

Is a subtle violation of DRY.
You are exactly describing Freakonomics, with its two authors.
I think overall better move would be to reduce the number of hours people work. Reduce weekly hours from 40 to 30, and make overtime really pricey. That will increase employment. It will reduce profits of companies substantially though.
I meant port 23, sorry

And maybe you're too young to understand the joke ;)
Video games are mostly grinding. Internet forums are a better example.
I will buy your game, really fun and unique!
Puppet & Vagrant : Smarter / Better / Stronger
Hello wallunit,

In Spain (where I live) there is specific contract model for hiring people working abroad in a permanent contract. However, this contract model does not provide any health insurance for the worker in the "destination" country. This contract model is only useful so that they don't have to pay taxes at Spain also. I guess that probably no country will have any contract model that provides people with health insurance or anything alike in a different country than where the company is located. I guess that working as an external contractor as suggested in the other answer is the way to go.

May I ask which source are you using to find those jobs?

cheers
This game reminds me the integrated circuit creation :)
If you are going to shut down some businesses, where would more money (to low income workers) come from?
Yeah, you're right, that was grouchy. My bad. I get frustrated when I see someone post something I find interesting, and then the top HN comment is just someone ignorantly tearing it down.
Intro to the Python Framework Pyramid
A couple dozen letters, but lots and lots of words.
Sadly, innumeracy is increasing among NYT writers and editors.
I hoped this would work:

$ telnet cueup.com 80
GET /jobs HTTP/1.1
User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
Host: cueup.com
Accept: */*
<blank line>

but it redirects to Location: https://www.cueup.com/jobs, so this is necessary:

$ openssl s_client -connect www.cueup.com:443
GET /jobs HTTP/1.1
User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
Host: www.cueup.com
Accept: */*
<blank line>

And there you go (^D to stop).

Unfortunately things get munged up since it's using Transfer-Encoding: chunked, so there's the chunk size and blank line in between each content line.

Bonus points for cueup.com if they update the thing to not chunk it if User-Agent: telnet (I did test this and it doesn't work)
Does this require that my apps users each have a dropbox account?
Does Blockchain allow you to buy Bitcoin from them directly?
Possibly. I know good jokes are ruined if they have to be explained, but would you mind on this occasion :)
Do you mean you have trouble with seeing what's going on inside a long function composition? I wrote a cool function to examine it with almost no code changes:

module TraceCompose where

import Debug.Trace

-- | Trace a value, resulting in the value itself
idTrace :: Show a => a -> a
idTrace x = trace (show x) x

traceCompose :: (Show a, Show b, Show c) =>
(b -> c) -> (a -> b) -> a -> c
traceCompose f g = h f . h g . h id
where h f x = idTrace (f $ seq x x)

-- Replace "normal" function composition using traceCompose.
test = (+1) . (*10) $ 4
where (.) = traceCompose

When you run "test", it will print:

4
40
41

(i.e., the outputs of each function at each point in the composition in order of execution.)
>> Eh, they're just logos

shakes head in dismay and wanders off
Intuition and feeling are often all we have to start with, and we can often make great leaps by combining intuition with our best facts, observations, and reason. There is nothing wrong with proposing hypotheses based on intuition as long as those hypotheses don't contradict known falsehoods. This is especially true in fields such as consciousness about we which we know so little and in which great advances can be made. As much as possible, we should try to use reason and science to support or disprove these hypotheses, but we must accept that at some point we may not be able to, or we may have to wait until we understand more.
They already know all the words (they speak them) and they don't need to spell (especially when reading).
Isn't it free for a certain number of attendees, and not free if you go above?
Dave, I really want to use Path, but my closest friends and family either don't have an Android or iOS device, or can't be bothered to join a new social network.

You know what we use instead? Whatsapp. If it were pitched to us as a social network, we'd have passed but free international messaging (at a time no other app did)? Sign us all up!. It's fast, it's simple, it's our private social network.

Maybe with Path's addition of messaging, things will change. But if you could bring your app to Blackberry, that would be a huge help.
This is a great answer to all this "open up the papers" movement, and going forward a much better solution than those apps that cropped up for asking for a given research paper. If things remain open, that is. A github for papers sounds great, and an actual natural extension of the idea of github. Whereas github is pragmatic projects, authorea is the step before that.
doesnt bother shaking head in dismay, just wanders off
The contract would be priced using paper money like USD. At least until the BTC volatility calms down.
I am also genuinely puzzled how such an article made it to the front page of HN. Who upvoted this?
Thanks, I see. Any plans to add static lib generation for Microsoft tools (an nmake script) or is there some gcc-isms in the code? DLLs aren't exactly the most desirable arrangement in a heck of a lot of cases.
It's actually been remarkably similar over the past 50 years.

http://en.wikipedia.org/wiki/Wage_share
May I ask at what point do you say "hey everybody, this is not working". But rather spend 4 months at a task which you were frustrated daily?
Because the particular style of OO you're describing has turned out not to work very well. It turns out that often you can't effectively encapsulate state in a class such that no one else but the class itself needs to know about that state.

As the size of a class grows, mutable member variables approach globals. If you wisely break the class into smaller ones, classes will still contain instances of other classes, so to reason about the behaviour of your class you often have to understand the possible state of its sub-instances. This is especially true if multiple classes reference the same instance.
Yes! From their "Getting Started" section - " you'll need to add snippets of code in the right places to successfully link a user's Dropbox account to your app"
The Spring 2013 Mac Bundle, un concentré de superbes logiciels
You should have created APIs on Mashape.com too
Looks like it: https://www.dropbox.com/developers/sync/docs/android#com.dro...
Its not that niche eg TED.
All you had to do was click the button to expand it and open in a new page, which takes you to this: https://docs.google.com/file/d/0B_j33dtkT8LLNzhWZnhNb1hWYWs/...
Saving the explanation, try this:

$ telnet towel.blinkenlights.nl
I never understood this, the tutorial shows how to authenticate.

mDbxAcctMgr = DbxAccountManager.getInstance(getApplicationContext(), APP_KEY, APP_SECRET);

So anyone with some basic Android knowledge will be able to extract my applications key and secret?
Wow. The vic-20 was my first computer, and I did not think tht was possible on it. At the time I remember thinking I should have asked for a Spectrum instead but I didn't think my parents would take it seriously :-)
Sentiment, the Canary in the Coal Mine for Investors?
The e-mail address and undo button on the unsubscribe web page would help. Or maybe add a title, something like:

----
HOW TO SUBSCRIBE OR UNSUBSCRIBE
----

If your friend or colleague has forwarded this to you
and you would like to SUBSCRIBE to our mailing list,
click here.

If you are the subscriber and would like to
unsubscribe THEIR@EMAIL.ADDRESS, click here.
----
The most interesting jobs I've found here on Hacker News. Every month there is a "Who is hiring?" thread.

http://news.ycombinator.com/item?id=5304169
Cool. I just signed in, but couldn't find any of my FB friends (obviously none are connected) but can't I invite them?

Is this just using the FB/Google maps APIs?

Good luck with it!
Show HN: Random cat generator
I agree, I think that there shouldn't be parties. Representatives should be individuals serving their people.

However if you do away with parties, you are not that far removed from China's one party system. Which isn't heralded as a utopian government by any stretch.
1. Make sure the process of payment is clear and electronic.
I used to get paid by cheque fedexed I've and it would take two months to get paid

2. You need to register for an EIN with IRS - it's pretty painless
This is really neat, a good combination of Markdown & LaTeX.

As one of the founders of https://www.writelatex.com, one of the interesting differences is the fact you're editing the "output" file rather than the source - takes a bit of getting used to! Looking forward to seeing it develop :-)
a cve is not worth that much. (nothing?)
It Is Never Too Late To Launch A Simple Website
Oh yes, very much so. As I use it, a Ticket can carry, as necessary:

o A discovery and progress narrative, useful to regain working context after long interruption, fit neither for inline comments nor VCS commit comments.

o A research and reference document list

o A related Ticket reference list

o A summary recovery plan and record

o A summary integration plan and record
How did apps that used Dropbox handle it before this? Did they have to write a mechanism to sync data themselves?
But its not control over the binary executable file, its the control over the event?

Or am I really missing something here, and you set up the object with the security token used on the binary file?

My question (sorry if it's super dumb and I'm missing something) is what permissions are needed to communicate via the event?
The APP credentials are for each app that integrates this Dropbox sync. The app keeps those to itself (probably hard-coded in the binary) and using them, it requests access to a Dropbox account.
Well, here goes:

Once upon a time (around 1995, first time I tried this 'internet' thing) the internet already existed. But this newfangled http protocol was not very popular (it existed since 1991)

You see, Curl was created in 1997, Wget in 1996

The way to access systems was through telnet mostly. Some modern clients, like lynx, also supported Gopher http://en.wikipedia.org/wiki/Gopher_(protocol)

(Yes, lynx got http support at a later time)

So, their choice for a page readable from a terminal ends up being kind of an Anachronism =)
That's fairly dangerous advice - sacrifice if he has a sizeable chunk of equity (>20%) then yes as the upside is big. But an early stage hire will have to work as hard as the founders for basically sod all equity reward if things go well.

There is nothing wrong in working hard and making a name for yourself in a start up that does well. But be aware it is deferring actual real money for the next start up.
Is there a way round that thou?

Surely you need to grant your app to be able to indentify itself, that means it has to have its secret baked in?
Tech City Startups - A considered diagnosis
5 Reasons why we didn’t go for Crowdfunding
I sent you an email to adrift@tackmobile.com , copied it from your footer, and got a Mailer Daemon error :)
Maybe not as cash. But on a resume?
Latest Prenda Filing: John Steele Knows Who Alan Cooper Is, But Won't Say
Programming/administering SQL based DB apps is just such a hassle and pain that anything to replace that paradigm (NoSql,Hadoop,..) is such a welcome change. I hope that the open source community keeps leading this space, so we don't end up with MS, Oracle,HP, etc buying up the space and get us back to square one.
Indeed. VCS commit messages speak first to me in distinguishing the major "synch points" of a particular version's (branch's / shelf's / trunk's / tag's ) life cycle. Some of those synch points summarize an achieved goal (a concise "what" and "why"), but you have it spot on: VCS comments, at least as I write them, cannot match the finer granularity of inline comments.

In writing VCS commit comments, I'm finding it most useful to compose these major-event commit events beginning with a <what> word written in all caps:

o COPY out to SHELF <name>

o MERGE in fixes for Ticket <id> from <what node>

o RELEASE to TAG <id> as copy from <TRUNK | BRANCH <name>, MERGE back to TRUNK >

o REVERSE MERGE my bad in Commit #<Rev>, detail in Ticket <id>

Daily commits for work in progress don't get the all-caps treatment. My VCS (or perhaps my understanding of it) doesn't allow me line-level or block-level commit comments; those would reduce my inline comment density.

That said, it's worth noting that the code base has been maintained through three VCSs, and independently annotated by two disjoint Ticketing systems, one of which went through an involuntary Ticket renumbering that was self-overlapping and irreversible. That taught me to prefix my Ticket references with a few "character constants" identifying the Ticketing system "du jour". A bare Ticket ID number has an implicit context; a "fixed prefixed" number communicates context whose value takes quantum jumps in value and user gratitude when the Ticketing system gets changed out.

A cumulative top-of-the-file change log, in reverse chrono order. increases in value with age. Some of the judgement errors I made in years past become clear now, many times tripped across while looking for something else. Candor in commenting pays.
This is terrible. Costco can get away with a higher minimum wage because they sell at a higher end. All this is doing is forcing Walmart to stop competing at the lower end of the spectrum of goods. The only people harmed by that are the poor.
Almost Sinatra (in 6 lines of code)
Is there anyway one can use it for a web app? I only see Android and iOS support.
A good response :)

I think we just lie on different sides of the fence on whether to apply best practice early and suffer the initial time cost upfront versus getting a rough around the edges product in place and refactoring later.

Do you have links to articles about companies whose business failed due to lack of technical agility? I was thinking about this recently and don't believe I've ever read about such a case, but its highly likely I'm looking in the wrong places :)
Yes. This is also how Twitter's authentication works. Twitter say that client developers should protect the secret in the binary by reasonable means, but the key from Twitter's own iOS and Android apps have already been extracted. (on a side note, why haven't any client devs who ran into token limited tries using the official keys yet? will they be taken out of an app store?)
> this makes it possible to have many data access/manipulation functions that work on all objects.

This is not actually true. Add proper type inference and structural typing, and it's perfectly possible to have all those generic data manipulation functions while also having strong static typing.
Jolla CEO Marc Dillon: “Tune the system, instead of managing the people”
There isn't really a way around it other than implementing authentication in a remote server. In that scenario, the app doesn't authenticate directly with the service, but with a private server. This way you can, for example, authenticate your users and create sessions before they can access the Dropbox API.

It can still be abused, but at least you can know who did it.
From what I know most apps directly wrote to your Dropbox via their API, so not to the local file system first.

That meant you either had to be always online, or you had to write your own caching & syncing mechanism.
I'd like to see this baked into Mac/Win applications since I'm not using Dropbox but would still like to use sync capabilities without having to install the whole desktop client.
This is the classic "we will make a position for the right person" tactic.

Some firms put ads out just to get a constant stream of applicants through so they know what the current job market is like, plus they get the benefit of looking like they are "growing". In reality they will only hire scalps from competitors or glowing recommendations from current employees - neither example in the article appears to be one of these cases.
Essentially no client side app can be considered able to keep secrets.

I would be interested in the implications of this from the authorising servers perspective. Here is the main mention of it in the OAuth spec: http://tools.ietf.org/html/rfc6749#page-52 and google's interpretation: https://developers.google.com/accounts/docs/OAuth2InstalledA.... Even though google say "t is assumed that these applications cannot keep secrets" I can't quite infer the actual implications of this?
Totally agreed. I'll simplify this even more - people need to pay bills.
> So anyone with some basic Android knowledge will be able to extract my applications key and secret?

Yes:

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

http://stackoverflow.com/questions/4419915/how-to-keep-the-o...
ACLU, Some Democrats Support Rand Paul In Mini Filibuster Over CIA Head
That's all I need? No H1B or other form of visa?
It'd be nice to have the API also for platforms like Windows Phone/Windows 8 and a pure javascript implementation.

Still, this is quite good.
Semantic release notes
We've seen Java bugs in the news lately for use in co-ordinated attacks against large companies.

A nameless firm (not the one I'm working with now) that happens to be one of Europes largest banks has insainly locked down versions windows, everything disabled, some custom thing that has hooked NT kernel functiosn to check which image is being loaded to be executed.

And then it has Java. A very old, un-patched version running a vendor risk system (yes it is that french one your thinking of).

This means that despite the frankly anoying parinoid security there, you can pwn any of the machines easily. As we see more targeted attacking, remember that Java is heavily used by a lot of rich, often inept due to size, firms.