If companies interviewed translators the way they interview coders - <AUTHOR> https://medium.freecodecamp.com/welcome-to-the-software-interview-ee673bc5ef6 <comment><USER2> I was once asked a very very specific question about a conflicting setting in an nginx config and the dude actually wrote the config on the whiteboard and asked me how I would make it work.

I stared at it for what felt like minutes and then said, if I looked in your search history would I see you looking this up on stackoverflow?

The guy said "yes" and I said I would make it work by asking you to send me the link to the stackoverflow answer.

He laughed and said "you got me".

Same company different interviewer asked me to explain the "pros and cons of Java vs Rails."

I turned the job down.

<comment><USER3> I don't understand how Stack Overflow is so popular for these types of questions. Usually the documentation is a much better source. So yes, using Stack Overflow instead of the documentation is a red flag for me.

<comment><USER4> I think it's because Google somehow manages to index stack overflow better than the documentation. That, and stack overflow only answers real-world questions while the documentation tends to give equal weight to rarely and commonly used features.

<comment><USER5> The reason is the text of the questions, which is what people type into the Google search bar. Documentation never has questions worded in the way people would commonly ask it.

For this reason, I wish they would allow redundant questions to be asked, if the phrasing is even slightly different. But the rule-mongering mods always remove it if they can.

<comment> stable-point Perhaps SO could include the titles of questions marked as duplicate somewhere in the markup so that Google indexes it?

<comment><USER6> Which is exactly what they do:

 _Should duplicates be deleted?_

 _In general, no: most duplicates stay around. Having multiple copies of the same question with different wording is useful as search fodder, because people looking for an answer may use different wording too._

[https://meta.stackexchange.com/questions/10841/how-should- du...](https://meta.stackexchange.com/questions/10841/how-should-duplicate- questions-be-handled)

<comment><USER5> That's good to see that they actually have the right rules, but I've used it many times where my questions were closed simply for appearing similar to others (when I did not even find the others in my search results). I suppose the mods can be overzealous.

<comment><USER6> Being closed is not the same as being deleted.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> For better or for worse, I've now become abrasive when asked interview questions in such a scripted, artificial manner. Because I no longer want the job at that point, I can respond more boldly, e.g.:

 _" Where do you see yourself in 5 years?" "I don't know. Are you reading these questions from a textbook? FYI they're not very effective if you want to find someone who will do the job."

"What's your greatest weakness?" "Trick questions in job interviews."_

This is obviously not good advice; I have just reached a point in my life where I will not be made to dance to the whims of the interviewer, despite which the job would likely go to one of the employee's friends rather than it being given to me anyway.

One of the few merits of this approach is it tests if you can be frank with them or not. If they get offended at your lack of sucking up, then you probably wouldn't want that job anyway, because I find that if you suck up during the interview, you will find yourself struggling to maintain that ideal forever if you do get the job. It's better to be upfront about what things you actually care about.

<comment><USER8> Don't judge a company by the interviewer though. Most would rather be coding or whatever their _real_ job is, so yes they read canned questions from a textbook. In a way, bad interviewers may be a sign that the work itself is far more interesting!

Still, the approach has its advantages. _" Listen, I know you'd rather get back to doing whatever you were doing before this. Let me tell you why I'm a good candidate .... "_. And then go on having "developer-to-developer" conversation, ask them about their work, talk about your own. Obviously only do this on the canned questions, not the actual technical questions, unless you've already aced a few tech questions and are getting bored. Unless it's a hugely bureaucratic organization, this will probably receive a good review.

Another thing I've noticed is that it allows the interviewer to lower their guard as well, so you can usually get some more real "what's great, what sucks about the job", and I've even scored on "what's the pay cap of this position" multiple times.

<comment><USER9> Oh, by all means, DO judge the company by the interviewer(s)! Those are likely to be your colleagues. Your managers. If you have no respect for them after the interview, chances that you'll like them on the job are slim.

[edit] Also, the interview process should tell you a little bit about what kinds of candidates make it past the interview, to become employees.

</comment></comment></comment><comment><USER10> One of the interview questions I've used in the past is "reverse a linked list".

Indeed, you (almost) never need to reverse linked lists in practice - but you often need to chase references of one kind or another (database, pointers, etc.) and do some manipulations on them that would result in a different list. If you have 20 data points, it doesn't matter what you do, but if you have 100M or 10B points, it makes a great deal of difference whether you do O(n), O(n log n) or O(n^2) or O(n!).

I think this is a good question, because it is an abstract version of the kind of problems that any non trivial code has to address. It is easy to describe, and easy to solve if you know what you are doing. I don't use it anymore because it's too common to be useful.

And yet, through the years I've gotten the feedback[0] that it is "far detached from real work", "tests how good I did in school rather than how good I am" and various other comments -- and almost always from candidates who did poorly; I've never gotten this feedback from anyone I would consider competent.

[0] I try to get feedback through whoever referred the candidate, whether it's the friend-of-acquaintance, or the recruiter. I don't, in general, trust direct feedback from someone I turned down (or hired, for that matter).

<comment><USER11> > I think this is a good question, because it is an abstract version of the > kind of problems that any non trivial code has to address. It is easy to > describe, and easy to solve if you know what you are doing. I don't use it > anymore because it's too common to be useful.

This is precisely the problem the OP is talking about. When's the last time you ever did anything as low level as reversing a linked list? It's a solved problem, and something an employee would NEVER do in your company, let alone search for the optimal solution in 10 stressful minutes while you breathe down his neck.

> And yet, through the years I've gotten the feedback[0] that it is "far > detached from real work", "tests how good I did in school rather than how > good I am" and various other comments -- and almost always from candidates > who did poorly; I've never gotten this feedback from anyone I would consider > competent.

Major red flag. I don't mean to be rude, but this sentence comes off as very arrogant.

> I don't, in general, trust direct feedback from someone I turned down (or > hired, for that matter).

Why? Because they're in a lower caste? If you can't handle direct feedback, you're a terrible manager.

<comment><USER12> > When's the last time you ever did anything as low level as reversing a > linked list? It's a solved problem, and something an employee would NEVER do > in your company

I think that misses the point. A linked list is a simple data structure that needs little explanation, and yet uses indirection in a way that can get you into trouble. As such, it is a great toy problem to asses a person's ability to work with linked data. Reversing a list, is similarly, very simple to explain, and a quite rudimentary operation.

So if I'm trying to asses basic ability to manipulate data in code, it seems much simpler than trying to give them a real-world linked data structure and have them do a real-world manipulation on it.

The real problem is the assumption that this is a 'solved problem', i.e. that a) there is an one-true-way algorithm out there, and b) that is what the interviewer wants you to _know_ (i.e. know in the sense of knowing a fact). That is true of too many interviewers, and that is the problem.

I can imagine setting that as a question in an interview. And I wouldn't be interested in 'the algorithm', I'd want to see that someone could figure it out easily. If someone came in and clearly had just learnt it, it would tell me nothing. I would immediately ask them something else to take them out of their rote prep. But if someone came in and couldn't figure it out, why would I think they'd be any better on 'unsolved problems'? In terms of being able to manipulate data, it isn't much beyond Fizzbuzz.

The 'it's a solved problem' attitude smacks of leftpad thinking to me.

<comment><USER13> I almost exclusively give candidates realistic tasks (slightly modified real world tasks) and give them under realistic conditions (free access to google, candidate's own laptop preferably).

It perplexes me. What do you gain by _not_ doing that?

<comment><USER12> Time and (therefore, because interview time is limited) thoroughness.

A simple task on a linked list takes two minutes to explain and five minutes to solve. The kind of task someone might do for me day-to-day have a whole bunch of context, and require knowledge or explanation of architecture and data configuration. I don't want to spend more than a couple of minutes explaining the problem, just to test whether they can program their way out of a paper bag.

<comment><USER13> >A simple task on a linked list takes two minutes to explain and five minutes to solve. The kind of task someone might do for me day-to-day have a whole bunch of context

>The kind of task someone might do for me day-to-day have a whole bunch of context, and require knowledge or explanation of architecture and data configuration.

Did you think I wouldn't have to face this problem too?

If you can't decouple _one_ relevant chunk of code from your software sufficiently to be able to give it with a minimum of context to an interviewee then I'd have serious questions about the level of coupling in your codebase and, by extension, _your_ programming ability.

<comment><USER12> Thank you :D it always comes down to a pissing contest.

It's okay, we're very unlikely to work together. Feel free to keep doing it your way, and I'm not going to worry about a random HNer impugning my coding ability based on a comment about interviewing style.

<comment><USER13> No hard feelings. Honestly, I'd have a much harder time hiring if half the rest of the industry wasn't irrationally cargo culting Google's hiring practices.

<comment><USER12> Ah, I see, then I don't think you read the GP post, or I wasn't clear enough, since that is exactly a point I made.

Also, if you're only giving real-world work tasks, do you screen at all for basic competence first? I ask because I suspect we're talking about different things.

Also 2 (edit), does your work only involve one kind of task? How do you assess the breadth of their basic understanding without using simple problems? Are your programmers doing very repetitive stuff?

<comment><USER13> >Also, if you're only giving real-world work tasks, do you screen at all for basic competence first?

I've done both with and without. I honestly found it hard to make judgments about what effect what I was doing was having on the hiring funnel though.

If you're talking about that rather than later stage hiring then yes, I agree it's a different kettle of fish.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Only from the experience of good people interviewing at bad companies.

Interviewing bad people at good companies goes more like this:

Q: Can you explain the difference between a noun and an adverb?

A: I've worked at the UN for 20 years! I'm an accredited translator! I translated for Putin and Obama!

<sigh>

<comment><USER15> As an interviewer, sometimes I feel a little silly having to ask a candidate super basic things like what the runtime complexity is for inserting an item into a list or array. But then a third of candidates that I interview fail pretty badly. At his last fortune 500 job one of my coworkers started every interview with fizzbuzz and had about a 50% pass rate on it. Maybe that's a problem with candidate sourcing, but there's a lot of people out there that can't code.

<comment><USER16> What is the runtime complexity for inserting an item into a list or array?

<comment><USER17> O(n) - regardless linked structure or array backed.

<comment><USER18> How is inserting an item at the head of a linked list O(n)?

<comment> Joe-Z It's an average. Sometimes you insert at 0, sometimes at 1, sometimes at 2, ... sometimes at n. On average it's O(n).

<comment><USER19> Who said you insert at different locations?

<comment><USER20> Nobody. But who said you insert at the head? And who said the whole thing is list-backed? Insert is just insert--not a lot to work with there.

Performance complexity is spoken to general cases and averages unless indicated otherwise.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> > Everything is in a flat structure, except when it comes to salary and > responsibilities.

This part got a laugh out of me.

Otherwise, the analogy feels really stretched and at times feels straight up incorrect. For instance, I've never sat through a technical interview administered by non-technical staff. I've likewise never been quizzed on the history of computation.

I agree that the programming interview in the US can be overly algo-and- whiteboard happy, but I think this critique is unfair and possibly even outdated (my most recent round of interviews involved more live coding, and less whiteboarding, than when I last interviewed 4 years ago)

<comment><USER22> I had a technical phone screen done by an HR several times, or at least it felt like it was a completely clueless person. Once I could tell exactly why, when after he asked me what is complexity of binary search and I replied "O(log)" he asked what base? (for non-technical people reading: logarithms of every real base produce exactly the same O() result being different only by a constant factor).

<comment><USER23> It's been a while since I took a math class, but it seems like the logarithmic base is key to understanding what kind of problem you have and the type of solution needed. Comp Sci naturally uses 2, biology and finance tend towards e, etc.

Base 2 problems tend to require clever recursion and dynamic programming to solve, while the natural logarithm often requires calculus.

But then again, I'm not a mathematician - just what I took away from a broad undergrad.

<comment><USER22> Sure, if you are actually evaluating logarithm the base is very important. However, as I said, an entity designated as "O(log)" is exactly the same for every base so selecting a specific base here makes zero sense. Likewise, O(n^c) is as same as O() of any polynomial of power c, if somebody is writing O(3n^2 + 5n + 366) instead of O(n^2) - you know they don't quite understand what are they doing.

</comment></comment></comment></comment><comment><USER24> Gayle Laakmann McDowell, author of Cracking the Coding Interview, commented on Facebook about this article (all text below is her words): [https://www.facebook.com/groups/hackathonhackers/permalink/1...](https://www.facebook.com/groups/hackathonhackers/permalink/1642919005763578/)

> Weird analogy. Companies don't ask candidates the history of binary search > trees, computer architecture, or anything like that.

A better analogy would be if they gave this translator a particularly challenging piece of text to translate -- for example, one that didn't have a clear right answer and the candidate had to discuss different tradeoffs.

But... then that doesn't seem like quite so silly of an interview process.

There are absolutely valid criticisms of whiteboard interviews, but most criticisms made are either based on terrible implementations of whiteboard interviews or based on stuff that's just incorrect. (Yes, it's totally fair to criticize a company who conducted a flawed whiteboard interview. But that criticism doesn't apply to the system as a whole. That same company could mess up whatever your favorite interview style is, too.)

> By the way: I don't actually know how translators are interviewed. But one > of my best friends interviewed to be a journalist with some major New York > newspapers (WSJ, etc).

She was already a journalist before this, so they had lots of public writing samples for her (analogy: GitHub code samples).

Did they just hire her based on this? Nope!

She had to do a live writing test (analogy: whiteboard coding interviews). She also had to do a pitch session to talk about different potential stories she could theoretically write about (analogy: design/architecture interviews). Plus some behavioral interviews.

Why not just look at her writing samples? Unlike for coders (which might not have public portfolios representing a significant portion of their work), basically all of her work product was actually public. So why not just hire from that?

Well, because all they see is the final output. They don't know what direction she was given, how long it took her, how much editing/collaboration was involved, etc. A crappy writer in a particular environment can churn out good work -- because someone else is doing a lot of the work. Looking at the final result is actually not a great measure of someone's skills.

Coding interviews aren't that special.

<comment><USER25> > A better analogy would be if they gave this translator a particularly > challenging piece of text to translate -- for example, one that didn't have > a clear right answer and the candidate had to discuss different tradeoffs.

What you describe is what interviewers _think_ they're engaged in when they ask CS trivia in interview settings. They are not, and in fact are much closer to what the article describes than the picture you paint.

<comment><USER26> Entirely! Example: When has anyone ever actually needed to know the exact details of a red-black search tree?! In my decade of professional software development has this not appeared once. Not even remotely. Yet this is apparently "standard required knowledge" for interviewing at google, amazon and co.

The point the author is making is that interviews often question knowledge that is so far removed from actual work (aka the Arab influence on modern day Spanish), that it is kind of a joke.

I call this mind wanking. Interesting and may be fun. But not actually relevant.

Instead of asking far removed questions, I interview with actual current hard engineering problems that I or my team is faced with. That way you learn something, they know what actual work would look like. No time wasted. Win win.

<comment><USER27> > Yet this is apparently "standard required knowledge" for interviewing at > google, amazon and co.

What makes you think that? My experience is that Google at least would never ask a question about red-black trees. I doubt Amazon would either. These big companies stick to questions that don't require a lot of specific knowledge because they know that a question about red-black trees mostly tests how recently you've studied red-black trees. I've done a bunch of whiteboard interviewing, and I would be shocked to be asked a question about red-black trees at a competently run company.

"Cracking the Coding Interview" explicitly mentions red-black trees as a topic that you're unlikely to see in an interview (for obvious reasons).

I think the places you see these sorts of questions asked are smaller companies that are imitating the big players without really understanding how to do it right.

<comment><USER26> First hand experience. I applied for a job at google and this was given as an example of knowledge that I should revise for the interview.

<comment><USER27> Was that a long time ago? I've heard stories about things like that a bunch of years ago, but my impression was that things have changed.

<comment><USER28> >> Was that a long time ago? I've heard stories about things like that a bunch of years ago, but my impression was that things have changed.

By then you have wasted a good candidate's time, who doesn't want to interview at your company anymore. Go hire the folks who memorized RB tree.

</comment></comment></comment></comment></comment></comment></comment><comment><USER29> At Twitter I did a few hundred technical interviews and in general I don't like asking CS student questions but you do need to figure out if the person can code. To this end I devised a whiteboard problem that actually mimiced a real problem. After I left I posted it on GitHub:

[https://github.com/spullara/interviewcode](https://github.com/spullara/interviewcode)

It is important when doing lots of interviews to have a question that you know well and can be used to benchmark across your interviews. Something relevant to the job is an added benefit.

<comment><USER30> When I was working at Ooyala I used to do the typical data-structure interviews (trees, graphs, etc), until one time an interviewee asked me: "Do you guys use all this in your day to day?" I felt ashamed to have to answer "not really", which I did.

After that, I started asking for answers to problems that I really had in the day to day. Some of them actually had real complexity (like doing binary search to overcome a buggy HTTP request items pagination library).

I think the main problem with data-structures and algorithms questions is that, the person that originally envisions a question, understands the "soul" of the question and how to vouch the candidate as she solves the question. However, when someone else takes that question to apply it, he only sees whether the answer is right or wrong, without looking at the resolution process.

<comment><USER28> >> I think the main problem with data-structures and algorithms questions is that, the person that originally envisions a question, understands the "soul" of the question and how to vouch the candidate as she solves the question. However, when someone else takes that question to apply it, he only sees whether the answer is right or wrong, without looking at the resolution process

In addition, I think that when someone asks a binary tree traversal problem to a candidate, the interviewer starts fretting over trivial edge cases, function signatures and coding style etc.

Whereas, if you would have asked a distilled version of that pagination problem, I would be so excited to have a chance to solve that problem and we could focus on my ability to solve that problem instead of my coding style on a whiteboard.

</comment></comment></comment><comment><USER31> Forgot the part when you must have a public portfolio of work you did for free in the recent years even though the job in question will keep intellectual property under a lock.

<comment><USER32> Indeed-- require people who have a large public portfolio of translations they've done for free, and then have them sign a contract stating the company owns the rights to all translations they do while employed and for a year after they leave, regardless of whether they were on company time or not.

</comment></comment><comment><USER33> I find this article one-sided and too exaggerated.

In reality, the sad state is, in my opinion, confluence of the following forces:

1) HR people more often than not have barely any clue about the topic. They must, unfortunately, play this charade because if they knew the topic they wouldn't be working in HR.

2) The technical people who prepare the questions typically believe they are too busy to spend time thinking about the problem and instead decide to settle on any test. The assumption is that a good candidate will be able to navigate any kind of test better that a bad candidate. In view of the technical person, this is just a screening, the real purpose being to elliminate as many phonies as possible.

3) The candidates more often than not have highly exaggerated view of their abilities. Unfortunately, high demand means that the market reaches for lower and lower quality of "resource" leading to comical situations where a large portion of the workforce (especially in countries like India) is developing software by shuffling around keywords until the code compiles which entitles them to call themselves Senior Engineers. Real senior people have no problem finding a job to the frustration of others who find the situation "unfair" and the entire process "rigged".

One more note on the process: while the cost of failed interview for candidate is quite low, the cost of making a mistake is very substantial for the company.

</comment><comment><USER34> > It means we do Agile. Everything is in a flat structure, except when it > comes to salary and responsibilities.

Pure gold!

</comment><comment><USER35> _In the end we went with a different candidate. He doesn 't speak the specific language we need, but he has experience with similar words in a different language and he's a lot cheaper._

And also, [http://www.jasonbock.net/jb/News/Item/7c334037d1a9437d9fa650...](http://www.jasonbock.net/jb/News/Item/7c334037d1a9437d9fa6506e2f35eaac)

<comment><USER36> > Interviewer: But how many years of walnut do you have?

> Carpenter: Gosh, I really don't know -- was I supposed to be counting the > walnut?

> Interviewer: Would you say you're an entry level walnut guy or a walnut > guru?

Oh, hey, I just had that interview. It's called the California State Systems Software Specialist examination. Almost 60 questions like:

"Create processes (e.g., install, configure, maintain, secure, backup/recover, etc.) to ensure that technical staff are consistent with vendor documentation, application requirements, and departmental standards."

or

"Consult with internal/external entities regarding services provided by systems software teams and answer questions/inquiries in technical areas such as connectivity with departmental systems, data exchange, security, etc."

For each of which, you must answer:

Recency

a. Performed the task within the last 2 years

b. Performed the task within the last 4 years

c. Performed the tasks more than 5 years ago

d. Not performed

Years of experience

a. More than three years experience performing this task

b. More than one year to three years experience performing this task

c. Less than one year performing this task

d. Not performed

Level at which the task was performed

a. Supervised or served as an expert on task

b. Performed task as a lead

c. Worked independently on task

d. Worked under close direction/supervision on task

e. Assisted another person on task

f. Not performed

If you don't happen to have been assigned the proper tasks in recent years to score highly enough on the test (by whatever algorithm they use), then you are not eligible to even apply for any Software Engineer role in the state, and can't retake the test for 6 months.

</comment></comment><comment><USER37> I thought it would be something along the lines of,

"Could you translate ' _¿Donde es el baño?_ '"

"I'm sorry, I don't do well on tests. I thought we were going to talk about my past projects on my résumé. In fact, I'm quite offended by your question. Good day, sir!"

<comment><USER38> "That should probably be '¿Dónde está el baño?', but the question is clearly asking 'Where's the restroom?'"

"Wrong, sorry. My sheet here says 'Where is the bath?'"

</comment></comment><comment><USER39> I keep saying this but no one seems to be listening. Use triplebyte, interviewing.io, or recurse.com for all recruitment. You are not going to beat those folks in terms of quality of candidates. They have data and stats. You have anecdotes.

<comment><USER8> Because it seems like a misc plug? Recruitment is ridiculously ridiculous. Data and stats, so what?

<comment><USER39> I'm not affiliated with any of them. The plug is genuine. I've been on both sides of interview table to know it's a crapshoot. You really are better off with one of those three than on your own.

Those companies go out of their way to reduce as much bias as possible. In the long run we are all better off if we rely on data instead of anecdotes and fancy resumes.

</comment></comment></comment><comment><USER40> related discussion

Google: 90% of our engineers use the software you wrote (Homebrew), but...

[https://news.ycombinator.com/item?id=9695102](https://news.ycombinator.com/item?id=9695102)

<comment><USER41> Maybe he was an asshole? You only got one side to that story.

</comment></comment><comment><USER42> > Note to self: when we send a rejection letter to this candidate, be sure to > include feedback that is too vague to be of any use to them, but will avoid > any lawsuits.

Haha, what feedback?

<comment><USER7> What rejection letter? :)

</comment></comment><comment><USER43> > Yeah, you know, trans-comps, Translation Competitions. Those were you put a > bunch of documents in Sanskrit, throw some beverages and pizza, and invite > translators everywhere to lock themselves down for 48 hours to see who can > translate those the fastest. Sometimes they add free prizes to spice things > up. Have you ever won any of those?

lol... I actually won a trans-comp when I was in (middle?) school: I was attending a catholic school and we were taught latin and went to some translation competitions: you had to translate a chunk of text as fast and accurate as you can. It was fun :)

</comment><comment><USER44> Heh, heh. My favorite bit is toward the end:

        ...we do Agile. Everything is
        in a flat structure, except
        when it comes to salary and
        responsibilities.

If only this were an exaggeration.

</comment><comment><USER45> The issue is that most companies jumped aboard this insanity - it was originally meant for the top companies to get the best people, now every crappy company offering $40k salary is doing this...

</comment><comment><USER46> Reminds me of those companies that throw online algorithmic puzzles to candidates. They do some good only to the companies running the puzzle services.

</comment><comment><USER47> One time, I got one of those questions: two columns, on the left names of some people, on the right names of some frameworks, please associate who created which framework

I really should have left at that point: >1 hour lost there...

</comment><comment><USER48> Do interviews really go like this at many companies?

Here in NYC I have never had unreasonable interviews even close to that. And I interviewed for a lot of senior developer positions and consultant positions.

In our own startup we have a completely different approach. Our motto is "People live lives. Companies build products."

We like to hire and work remotely because that eliminates geographic restrictions and lets people work asynchronously. We've found that the better the system for asynchronous communication, the better the long-term productivity and maintainability.

We use a common folder structure, code conventions, for each project. Developers build fully documented reusable components that are re-used across projects. Every developer is very replaceable (meaning our losses are limited if they leave or scale back their time). This is actually a great thing for developers given our compensation model (see below).

If a developer does something wrong (like checking in syntax error), we first check if this is something we should fix in the system (add a linter to the pre-commut hook). There are so many amazing open-source tools today. It's a compoundibg snowball to design a good system. Sometimes the COO job feels like an architect/developer, just like DevOps, but for people and configuring processes and systems instead of programs or servers.

The best talent is the one who already knows or can learn your platform (in our case [https://qbix.com/platform](https://qbix.com/platform)) and become productive. Who is eager to grasp new SKILLS (like debugging javascript with asynchronous call stacks) and get familiar with useful TOOLS (like Google Chrome).

We hire from anywhere and prefer to work over the internet. Even our compensation model is different than what most companies do - it aims to attract independent people and entire teams, and compensate them based on the contributions they actually do. We want to grow a snowball in a transparent way, and motivate people by giving them ownership of a product or feature instead of focusing on making them sell their time as full-time employees who commute to an office.

I'd love to get feedback on the compensation model btw: [https://qbix.com/blog](https://qbix.com/blog)

</comment><comment><USER49> The article was fun to read but the job of an engineer cannot be compared to a job of a translator.

And regarding "full-package" translators I think that web developers should be able to write both frontend and backend part of an application. It is not that difficult to learn. Programming is not something you can learn once and then repeat the same actions for the rest of your life.

</comment><comment><USER50> I see folks around here constantly complaining about this issue (not incorrectly) but is anyone actually _doing_ anything about it?

I mean, we can whine all day and remind each other that it really does suck, but that does little to address the problem.

</comment><comment><USER51> > Please stop saying trans-comps.

Oh, I can only hope...</comment>


An Antifragile Church for Pragmatists, Anthony Bourdain, Blockchain, Anti-Cult - <AUTHOR> https://www.elonsai.space/2018/07/04/an-antifragile-church-for-pragmatists-anthony-bourdain-blockchain-anti-cult-part-1/ <comment><USER2> The word "fragile" already has antonyms, why did you choose "antifragile" here?

<comment><AUTHOR> A book by Nassim Nicholas Taleb, a scholar, trader, and philosopher. He wrote a book called Antifragile, link is below. He coined the term 'Black Swan' as well. Antifragile things harness chaos and get stronger, the world is not getting less chaotic.

Taleb - ttps://en.wikipedia.org/wiki/Nassim_Nicholas_Taleb Antifragile - [https://www.amazon.com/Antifragile-Things-That-Disorder- Ince...](https://www.amazon.com/Antifragile-Things-That-Disorder- Incerto/dp/0812979680)

</comment></comment><comment><AUTHOR> Worked on this for years, I'll be here to reply to comments today.</comment>


Flash 0day from Hacking Team - <AUTHOR> https://twitter.com/w3bd3vil/status/618168863708962816

<comment><USER2> That could do some damage....

</comment><comment><USER3> Only windows ?

<comment><AUTHOR> The documentation says it works in OSX too.</comment></comment>


The Product Spectrum - <AUTHOR> https://medium.com/my-thoughts-7/the-product-spectrum-bb2084b6f5b3

<comment><USER2> > _Because I picked the units myself, these data points end up nicely > aligned._

You're cheating a bit by using a logarithmic scale for both axes, and you're especially cheating when you go from 10^6 to 10^9 in one tick on the x-axis.

<comment><AUTHOR> Definitely. The goal of the graph was to provide a visual metaphor, not to be accurate in any way.

</comment></comment><comment><USER3> nice article! the metaphor works for me, although one thing I feel for doing products, is the time for "R&D" . even an infomtainment product takes several months, before you see back income.

another point might be: how to start building an audience without a product? it takes time to go to events, network, visit forums, etc.</comment>


'We Never Thought We'd Be Believed' the Fight to Expose Morgan Marquis-Boire - <AUTHOR> https://www.theverge.com/2017/11/29/16715018/morgan-marquis-boire-sexual-assault-citizen-lab-toronto-cybersecurity <comment><USER2> Really glad to see this scum finally getting his comeuppance; I personally know several of the many people he's abused over the years, and it boggles the mind that this serial rapist has been allowed to rise as high as he did. It's just a shame that it's not likely he'll see any jail time for his crimes.</comment>


Play framework for Java - a radical rethink of Java web app development? - <AUTHOR> http://www.playframework.org/ <comment><AUTHOR> I just ran through the tutorial and it was a real breath of fresh air - everything ran out of the box, there was no need for an IDE or a build process and changes were live the second I saved them from my editor (it apparently ships with the on-the-fly compiler from Eclipse). Really impressed.

<comment><USER2> Agreed. I still think it's a little cumbersome compared to rails, but it's definitely the best java web framework I've seen yet, and about as close to rails as you can probably get with java. Groovy for the template language is a good choice too.

The example app was very useful. Including some real world jquery ajax functionality was a big bonus and a great way to compare functionality with other frameworks. (render methods and routing specifically).

<comment><USER3> Also agreed. Play is closer to what I was hoping Lift would end up being for Scala.

But with Scala support coming in Play 1.1, I'm officially excited.

<comment><USER4> Would you mind sharing some of your thoughts on lift? How does it compare to other web frameworks that you have worked with?

</comment></comment></comment></comment><comment><USER5> "The Play framework makes it easier to build Web applications with Java"

Maybe you should not be building web applications with Java or C# or <insert language of choice>.

Maybe you should be building web services with these languages and using AJAX, a client side toolkit, Javscript, HTML and CSS to build a UI that communicates with said services.

Maybe this decouples your UI implementation from your business logic implementation so you can go mobile, IVR, Mind Jacking, without having to build the back end again.

Maybe server side templating was wrong and a CMS is your best choice for static templating. Given that assembling templates during run-time as opposed to build time seems to be a waste of resources. A CMS can deliver already templated, flat HTML files, to the web server during build time. As well Ajax is your best bet for delivering dynamic information.

It sure separates your concerns quite nicely, while allowing each developer to work in their domain of expertise.

Just a thought.

<comment><USER6> The "way we've always done it" in my brain does not like the thought of putting all the client stuff in, well, the client. I'd like to hear more about this style of development. Do you have examples of this being done, postmortems, blogs espousing this, more info, etc?

<comment><USER5> <http://highscalability.com/amazon-architecture> Being a large company Amazon is in different stages of a transition to this form of architecture, but for the most part most all of the large companies are moving towards it IBM is embracing it as a UI development philosophy. Google pioneered it, Yahoo is well on it's way.

[http://blog.jeffhaynie.us/service-oriented-ui- architecture-i...](http://blog.jeffhaynie.us/service-oriented-ui-architecture- in-the-world-of-web-desktop-and-mobile-applications.html)

</comment></comment></comment><comment><USER7> It reminds me of Sinatra. The HTTP paramater/object binding is similar, for example: <http://www.playframework.org/documentation/1.0/5things>

A difference is that the routes, model, controller and template/renderer are in separate directories. It's a bit awkward for the simple project of the one in the video, but essential for more complicated projects.

It even includes a captcha generator, and their examples seem to be of real (though very simple) applications - as opposed to toy academic ones. I get the feeling that its developers are very familiar with the real needs and problems of actual web development.

It almost makes me want to get into web development! The only thing is that combining HTML, Groovy templating, Javascript and JQuery looks a little complex - but they're probably very straightforward for common tasks.

</comment><comment><USER8> The FAQ is an interesting read -- <http://www.playframework.org/documentation/1.0/faq>

</comment><comment><USER9> What is the virtue of developing a web application in Java instead of a scripting language like Jython (aside from execution speed obviously)?

<comment><USER10> Well, at my day job, not having to throw out 10 years worth of legacy code would be considered "a bit of a plus". We also have 1,200 employees and precisely two engineers who have ever done a Rails application more complicated than the 15-minute-blog demo. I think we have one guy who coded a Python app once.

Our favorite contractors and outsourcing providers also have (comparatively speaking) deep skills in Java and the related stacks. Some of them have forgotten more than I ever want to know about, e.g., serializing Java beans.

<comment><USER11> If you pick as JVM language as suggested, why would you need to throw out any code?

When I worked at ITA Software which writes much of their stuff in Lisp (not the web stuff though), there was often worry that it meant new programmers would have to learn the language and so wouldn't be productive at first. But learning the code base takes a lot longer than learning the language, at least enough of the language to get significant stuff done.

If you have 10 years worth of legacy code written by 12,000 employees, I assume you're in the same boat.

</comment></comment></comment><comment><USER12> <http://m.mlb.com/> uses a hybrid Freemarker / Groovy / Java framework called MVC+GF. During the 2009 season it was able to scale with out issues during peak hours (9th innings, etc). That's hundreds of requests a sec a server - pretty cool.

Groovy is used cause it has closures (java doesn't) and is simpler and easier than Scala.

</comment><comment><USER13> Side question: is there a CPAN or Gems repository for similar open-source Java libraries? I know that Apache has lots of Java libs, but beyond that, I have no idea where to look.

<comment><USER14> Look into Maven.

<comment><USER13> From what I understand, Maven is a build dependency manager, but not a package manager the way CPAN is. I'm looking for a central place to find packages that do everything. "ohh you need to interact with AWS, here's the package" type stuff.

<comment><USER15> There's a bunch of maven repositories (usually googling '+"library name" +"maven" +"pom.xml" works), but I haven't yet found anything like CPAN's search website.

mvn:create can bring up an interface that's very smilar to CPAN's shell. What needs to be done is a shell that allows functionality such as "search /amazon/" or "search guice, jersey" or "info google-collections". Scala would be a great choice to make sort of a "REPL" shell :-)

<comment><USER16> best way to find maven repo info for open source java stuff, that I know of, is with <http://repository.sonatype.org/>

</comment></comment></comment></comment></comment><comment><USER17> Java has real lightweight threads, so what's the advantage of "shared nothing" here? Extra memory usage and less speed?

<comment><USER18> It seems to refer to this:

> _"Play is designed to operate in a 'share nothing' architecture. The idea is > to keep the application completely stateless. By doing this you will allow > your application to run on as many server nodes as needed at the same time.

>What are the common traps you should avoid to keep the model stateless? Do not store any object on the Java heap for multiple requests"_

If that's all they're talking about when they say "stateless", that's no different than a lot of other "stateless" MVC frameworks like Pylons, Django, Rails, etc.

<comment><USER19> I haven't done any real dev with those frameworks you list so I'm wondering how do you manage session state? user profile, shopping cart, breadcrumbs, multi-request flows, etc...

Do you write/read all that into the db/memcached for each request?

<comment><USER18> Yes. PHP does the same thing. Actually, _most_ frameworks do that; very few keep state within the application server between requests. Statelessness, in that respect, improves scalability.

<comment><USER19> PHP has session variables to put state objects into which are persisted between requests. Right?

<comment><AUTHOR> Yes, but most people who make serious use of them hook up a custom session handler that writes session information out to the database (the default implementation that ships with PHP uses the file system). Sessions that are stored in memory by the application server instantly prevent you from load balancing requests across multiple servers and hence kill your scalability - unless you implement sticky sessions which adds yet more complexity. Personally I try to avoid using session storage whenever possible - I've recently started using signed cookies in their place.

<comment><USER19> Interesting. I mostly build J2EE apps and sticky sessions support is built in. Complex apps require a fair bit of session state (user profile, shopping cart, custom catalog, breadcrumbs, user promos, etc...) in general and the idea of having to persist and reload that data over a network (db or memcached) for each request would absolutely kill page response times. I guess it depends on how heavy the session data is for your app.

<comment><AUTHOR> I'm quite surprised - I've never even considered building a stateful web app that doesn't talk to a database or caching layer at all for most requests. It's fascinating to me how different the approaches taken in the Java world are from the LAMP world I'm accustomed to.

<comment><USER19> From the Java world, that seems odd:) Scaling your DB and/or caching layer is a lot harder than scaling sticky session based app instance with minimal db interaction.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Nice collection of web tools. Especially ready made libraries for validation, captcha etc and a built-in template engine.

But I am not convinced with 'on the fly' compilation because most editors already do a better job there and refreshing the web page to look for compilation errors does not look productive.

<comment><USER21> If you use a Java IDE you will of course see compilation errors before trying the app in the browser. So it is not a problem.

</comment></comment><comment><USER22> Hmm, too much code in the template library, too much magic in general. I do like the general packacking, the automatic compilation and the snazzy error and testing interfaces. Seems a bit hard to change from their Groovy template system to something like StringTemplate, though.

<comment><USER21> Although I think that the built-in template system is very very nice, it would be really easy to write a play module that provide any template engine you want.

<comment><USER22> Well, both systems are basically diametrical opposites. StringTemplates is very strong on MVC separation whereas the play templates feature a fully- fledged programming language.

I'll have to dive deeper into play to see how much more I would have to do in the Controller part to prepare the output for the template...

</comment></comment></comment><comment><USER23> How does the following work? Must be a preprocessing step, if I'm not mistaken.

With play, you can just write:

Article article = Article.findById(id); User user = User.getConnected(); render(article, user);

And retrieve objects from their Java local name in the template. That saves a lot of useless lines of code...

<comment><USER21> Yep there is one step of byte code enhancement, during the compilation phase. But as the compilation phase itself it totally transparent, you can't call that a 'preprocessing step'.

</comment></comment><comment><USER24> Weird, I had just convinced my boss to use Spring Roo, because of the productivity, and this seems to be more productive

</comment><comment><USER25> Mixing code and presentation is a bad idea.

</comment><comment><USER11> How does it compare to Groovy and Grails?

</comment><comment><USER26> I just watched the screencast. I'm sure that the static methods on the controllers and the public attributes will drive purists up the wall, but the speed of development appears excellent. Looks most definitely faster than running glassfish in debug mode and reloading classes/redeploying all the time.

</comment><comment><USER27> just copied features from ASP.Net MVC...

<comment><USER28> I can assure you that ASP.NET MVC has its share of copied features. And you know what? That's a _good_ thing. Good ideas _should_ be copied and propagated, and mixed in with whatever makes the next platform unique.

</comment></comment><comment><USER29> "Provides integration with Hibernate" == "Would be a huge pain in the ass".

Otherwise, I'd still either pick JRuby on Rails or go ugly early with idiomatic java.

</comment><comment><USER30> Let me guess - it's yet another Java on Rails?

<comment><USER31> Seems that way, although it was the most thorough that I've seen. What are others?

Groovy runs on JVM, Wicket on Wings exists, I believe. What are other Java options?

<comment><USER32> We've been using Grails (Groovy) at our startup with great success. A few warts early on with regard to how Grails wants to handle packages and URLs, but we push a lot of transactions through this system (sorry, I don't have exact numbers) and Grails has held up remarkably well. It also cut our initial development time by about half.</comment></comment></comment>


Sony explains the difference between Encryption and Hashing - <AUTHOR> http://blog.us.playstation.com/2011/05/02/playstation-network-security-update/

<comment><USER2> Actually, no, they don't. They do have a link to a page that discusses the differences, but they themselves don't on the page you reference.

I'd appreciate it if people were more accurate in their titling.</comment>


Remind HN: Turn your clocks back - <AUTHOR>

It's the end of daylight savings time. (At least, for most of us in the US.) <comment><USER2> I've been mulling around the idea that the world should just get rid of Daylight Saving Time and Timezones completely. We should all just use UTC.

I work with people across the U.S. and every time I setup and meeting we have to always clarify the timezone and it's worse when working with Arizona because sometimes they are in Pacific Time and sometimes in Mountain Time since they don't observe Daylight Saving Time.

So, if everyone were on UTC, you could just say "Let's have a meeting at 16:00". 16:00 might be the middle of night for some people or the middle of the morning for others, but who cares? Everyone knows when 16:00 will happen. So, if I agree to the meeting, I don't have to know if they are in Mountain, Eastern, or Japanese time zone, only what time in UTC the meeting is. Done. Easy. No time math.

Who's with me?

<comment><USER3> How do you pronounce "16:00"? 16 o'clock?

<comment><USER2> I've always heard it like "16 hundred hours", though I admit that it might be hard for some people to adjust. I'll usually say something like "Does eleven work for you?", meaning 11am. Since the US is -5 to -8 UTC, it would be something like 16 hundred hours for an 11am meeting, so "Does sixteen work for you?" or "Does sixteen hundred hours.." sounds a little odd.

<comment><USER4> "sixteen hundred" is how they say it in the US military.

Living in a country that uses the 24h system, you just say "four" or "4 o'clock", the time of day is understood from context 90% of the time. The other 10% you just add "in the morning" or "in the afternoon", or "16 hours".

</comment></comment></comment></comment><comment><USER5> Makes me wonder... how many people here have clocks which still require this? I've got one only (and it's getting a bit old). None of the our alarm clocks (mobiles) require it. Even some hand watches are synchronized via radio. Will we get rid of manual time changing completely in the next couple of years?

<comment><USER6> I have four I need to change: the clock in my car, an analog clock in my family room, the oven clock, and the microwave clock. Everything else is self changing.

</comment></comment><comment><USER7> Hey, Android voice commands handle the time change correctly! It's 21:45 local. I just said "set alarm for 24 hours from now" and got back a new alarm for 20:45.

</comment><comment><USER8> I don't want to :( <http://www.youtube.com/watch?v=Co7WUA900Ds></comment>


The $35 Raspberry Pi 4 now comes with double the RAM - <AUTHOR> https://www.engadget.com/2020/02/27/35-raspberry-pi-4-double-ram-2-GB/ <comment><USER2> More importantly, it also comes with a USB-C fix!

[https://betanews.com/2020/02/27/raspberry-pi-4-double-ram- us...](https://betanews.com/2020/02/27/raspberry-pi-4-double-ram-usbc/)

<comment><USER3> How do I know if what I'm buying has it?

<comment><USER4>
        cat /proc/cpuinfo

> If the revision reads "c03112" that means you are the lucky owner of a > Raspberry Pi 4 Rev 1.2 board.

From [https://www.cnx-software.com/2020/02/24/raspberry- pi-4-rev-1...](https://www.cnx-software.com/2020/02/24/raspberry- pi-4-rev-1-2-fixes-usb-c-power-issues-improves-sd-card-resilience/)

<comment><USER5> That works after you've purchased it, but I think the person you're responding to is looking for hints before purchase.

<comment> X-Cubed That same link to CNX Software points out other hardware differences that you can see on the board, such as the move of the SD card power switch.

</comment></comment></comment></comment></comment><comment><USER6> This article is super-confusing. You have been able to buy 4G Pi4's for a while. What the article is reporting is actually a price decrease in the smaller capacity 2G variant.

<comment><USER7> Not especially, no. The core product is the $35 computer, and has been since Raspberry Pi began. _That_ product, the $35 Raspberry Pi, now has 2GB of RAM. Yes, other configurations are available, including the previous core product if there's a reason why you'd want the 1GB version.

<comment><USER8> The article seems to suggest that the 4gb model has been outselling the $35 one.

<comment><USER7> That doesn't change anything. The RPi is all about the price point. Yes, you can get other configurations, but the whole point of the Foundation is that $35 (or cheaper) machine - an affordable computer, built to a specific price point, with the aim of putting a "tinkering" computer into the hands of as many kids (and interested adults) as possible. It's nice that people are buying the things for various more mundane purposes, as that sort of subsidizes the main purpose... but the main purpose is still to provide an educational machine at an affordable price, and the $35 price point is a big part of that.

</comment></comment></comment></comment><comment><USER9> The 1 GB model is still selling for $35.

EDIT:

From the original announcement

[https://www.raspberrypi.org/blog/new-price-raspberry- pi-4-2g...](https://www.raspberrypi.org/blog/new-price-raspberry-pi-4-2gb/)

What about the 1GB product?

In line with our commitment to long-term support, the 1GB product will remain available to industrial and commercial customers, at a list price of $35. As there is no price advantage over the 2GB product, we expect most users to opt for the larger-memory variant.

<comment><USER10> There are various ways of clearing inventory, one is to let it sit a long time on the shelves and selling it for more money for those who want the older version, another is to lower the prices and get rid of it ASAP. Both have merit.

<comment><USER11> And that then depends on the price per area of storage that you pay.

I've always wondered who buys old Pentium 3s for thousands of dollars on eBay, but yeah... it can make sense, especially if that computer runs a factory machine or something, and just needs a quick replacement part.

EDIT: ...otherwise wildly overpriced items on eBay are because trader has run out of stock, wants to keep the same product page, but doesn't want anybody to buy in the meantime. They do this, because items have rankings for which appears first.

<comment><USER12> >I've always wondered who buys old Pentium 3s for thousands of dollars on eBay

People trying to build their vintage dream machine mostly I suppose. Folks like LGR on YouTube [0] to some degree will pay more than one would expect for a specific piece of hardware and people building private collections in general. That Nintendo-Playstation prototype unit is currently going for 300,000 USD [1] right now at auction (and I believe Palmer Luckey is still the high bidder, he was a couple weeks ago per his Twitter).

I've paid an obscene (to me based on my income) amount for vintage tech before, as well as other things that I collect ( for example 3x spot price for an ugly silver art bar that most people would only pay spot for because that specific variety of art bar has significance to us old time members of /r/silverbugs and I wanted a second one).

I mean, remember when Bezos spent more money than most people make in their lifetime to salvage an F1 engine from Apoloo 11 from the ocean floor? [3]

[0] [https://www.youtube.com/user/phreakindee/about](https://www.youtube.com/user/phreakindee/about)

[1] [https://comics.ha.com/itm/video-games/nintendo/nintendo- play...](https://comics.ha.com/itm/video-games/nintendo/nintendo-play-station- super-nes-cd-rom-prototype-sony-and- nintendo-c-1992/a/7224-93060.s?ic4=GalleryView-ShortDescription-071515)

[3] [https://www.space.com/37830-jeff-bezos-apollo-rocket- engines...](https://www.space.com/37830-jeff-bezos-apollo-rocket-engines- recovery.html)

<comment><USER13> The whole space.com article (3 from above) about Bezos was worth it just for the part about the boat's captain:

> "And I took my parents with me. My mom was the only woman in this group of > 60 men on this boat," Bezos said.

> He added that the Norwegian boat captain advised Bezos when he boarded the > boat that he had removed all the pornography, "out of respect" to Bezos' > mother.

> "OK, thank you," Bezos told the captain.

</comment></comment></comment></comment></comment><comment><USER14> It'd be amazing if Raspberry Pi Foundation managed to make a model with 64-bit memory bus width instead of current 32-bit wide LPDDR4. RPi4 is heavily memory bandwidth limited.

Yeah, I know, cost. One can still wish. Perhaps it'll be feasible for RPi4+ or whatever the next upgrade is called.

<comment><USER15> > RPi4 is heavily memory bandwidth limited.

 _Everything_ is memory bandwidth limited, given enough clock speed + core count (as is typical in modern systems). One more reason to write optimized code and avoid pointless memory overhead.

<comment><USER16> Nah fam. It's cool to write your text chat app or graphing calculator in Electron. Moore's Law will totally catch up and people won't miss the hundreds of MiB of RAM it takes up.

</comment></comment></comment><comment><USER17> I am building a cluster of the 4GB RPis with SSD for a personal cloud and so far the 2 I have are awesome

<comment> mxie-ca Please write up a blog when you have it fully working. I'm mostly interested in which STAT to USB cable you pick. Also power consumption in general :)

<comment><USER18> I haven't written a blog, but I do have a 5 node RaspberryPi cluster running Docker Swarm. The docker stacks and compose files are on GitHub [https://github.com/jmb12686/raspi-docker- stacks](https://github.com/jmb12686/raspi-docker-stacks)

Look at the 'gluster' branch for my current active work on clustered persistent storage using SSDs and docker volume plugins.

I have setup quite a few GitHub projects for building / publishing multiarchitecture ARM compatible images of open source projects (Elasticsearch, Kibana, CAdvisor, etc). Check them out if interested in running common tools on RaspberryPis.

</comment></comment></comment><comment><USER19> Would like to know if there are any cool projects with RPI for elementary kids, just to get them understand the importance of these mini computers. Hope they can pick up light programming too with this. Any pointers please.

<comment><USER20> What do your kids like to do? Any chance you could integrate a computer with it? My daughter loves to cook and dance and I haven't found a way to integrate that with computers but she's happy so I haven't pressed it.

<comment><USER21> You could hook it up to some midi instruments

<comment><USER22> I tried that, the delay was too high to the synth. Not sure how to fix it.

</comment></comment></comment></comment><comment><USER23> So if I order the 2GB version I can be assured that it would be the one with the USB-C fix. Is that correct?

<comment><USER24> No, there are two 2GB versions.

</comment></comment><comment><USER25> I wish they'd: 1\. Provide standardised way to encrypt the whole disk 2\. Support Debian by opening up their hardware so one could use stock debian on it (which would also solve problem 1)

<comment><USER26> Open firmware would be very nice. Looks like these processors need a firmware blob in order to even boot. Seems to be a standard "feature" these days.

<comment><USER27> iMX6, for example, can boot with no closed blobs at all. vote with your money

<comment><USER25> Thanks for the tip! Please provide a link where one can buy such a system which is on par, featurewise, with a raspberry pi 4. The critical features are: 4GiB of ram or more, wifi, bluetooth, 4k hdmi, 2xUSB ports, atleast 2 cores with comparable performance to RPi 4, same ballpark price.

<comment><USER27> nowhere. freedom isn't free

you'll pay extra for iMX

BUT it is 100% open. you said you wanted that

</comment></comment></comment></comment></comment><comment><USER28> No, thank you. If I'm going to buy a hobby computer it absolutely shouldn't have a proprietary SoC without a public datasheet. This rules out anything by Broadcom.

<comment><USER29> Do you have a recommendation?

Rockchip seems ok, with docs open source tools but I wish they were better, and it's still a proprietary SOC, of course.

<comment><USER30> There are many. The Raspberries are great value for the money as video players, also because of the really good CEC implementation, but for everything else, and I really mean everything else, there are much better powerful or cheap, sometimes both, alternatives.

Take a look at this list which is being updated roughly twice a year, and don't miss the downloadable spreadsheet comparison tables.

[http://linuxgizmos.com/ringing-in-the-new-year- with-136-open...](http://linuxgizmos.com/ringing-in-the-new-year- with-136-open-spec-linux-sbcs-under-200/)

Those however are the new entries; on manufacturers homepages there are "old" models that are still of interest today. Here are two examples.

[https://www.hardkernel.com/shop/odroid-c2/](https://www.hardkernel.com/shop/odroid-c2/)

[https://www.friendlyarm.com/index.php?route=product/product&...](https://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=234)

</comment></comment></comment><comment><USER31> I use the 1gb as a public facing webserver. working super fine.

</comment><comment><USER32> I assume this means they're going to stop producing the 1GB version? Or is there some reason to opt for it still? Lower power consumption maybe? Still, it seems like 99% of users are going to opt for the one that has double the memory at the same price.

<comment><USER33> Often this means that the older/smaller RAM chip has been discontinued or production has decreased enough that it is now _more_ expensive than the bigger chip.

Example: this was the driving force behind the AMD R9 390/390X launch. Supply of the old 4 Gb modules was drying up and it was actually cheaper to switch to 8 Gb modules.

<comment><USER34> Seems like that would only explain an increase in the 1Gb version. The only reasons for a price drop in the 2Gb version is that it either got cheaper to make it, or the market told them $45 was too high and they had to cut their profit margin.

IMHO, $10 for an extra 1Gb of RAM is pretty excessive. So I'm glad to see the market (probably) has spoken.

</comment></comment></comment><comment><USER35> I have an RPi4 as a home server now. It's not a supercomputer, but it has plenty of oomph to host my IMAP email and other related stuff. The onboard storage is super-slow, though, so you'd definitely want some faster external stores (I use NFS to my Synology).

<comment><USER36> > I have an RPi4 as a home server now. It's not a supercomputer...

Out of curiosity, I looked up the performance numbers for the RPi4 and the Cray-1 supercomputer, the world's fastest computer in 1977. The RPi4 gets 748 megaflops on the LINPACK benchmark, compared to 14 megaflops on the Cray. The Cray used high-speed ECL logic allowing it to run at a blistering 80 Mhz clock rate compared to 1.5 GHz on the RPi4. The Cray-1 sold for $7.9 million, compared to $35. It had 8 megabytes of RAM and weighed 5.5 tons compared to 2 GB of RAM and 46 grams. Power consumption was 115 kW vs under 15 watts. The numbers drive home just how much computer technology has improved.

<comment><USER35> To be sure! Our expectations of what a computer required to do $task looks like has dramatically changed, too. Last week a coworker was surprised that I deployed a tiny service on a t2.nano EC2 instance. "Shouldn't we put that on something bigger?" Well, the thing is entirely blocked on waiting for network IO, so putting it on a server with 32 cores isn't going to make it run any faster. Also, under full load it only used 32MB of RAM, so giving it 8GB isn't going to help it any.

Bringing it back to the RPi: people ask if it's powerful enough to serve simple web apps and email. Oh, it most certainly is! It can handle most of what you'd want a home server to do, short of something like Plex transcoding.

<comment><USER37> One of my first jobs in 1997 was as a network admin, setting up an email, web server and firewall for our 100 person office. Used a 486 DX2/66 with 16MB (not GB!) RAM running RedHat, obviously very minimal without X or GUIs. The Internet line was only 128kb/s, so the CPU was underutilized most of the time.

<comment><USER35> Hah, much the same here. We were on some sweet Pentium 133s on Debian, and even our blistering fast 4 bonded T-1s weren't enough to make them break a sweat.

I know MHz isn't everything, but a 1.5GHz quad-core ARM is abundantly sufficient for running Wordpress and Django and a PostgreSQL backend with plenty of room to spare.

</comment></comment></comment></comment></comment><comment><USER38> Anyone have any idea what's the current state of mainline kernel support for Raspberry Pi?

<comment><USER39> It's almost there </sarcasm>:

      origin git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
      rpi https://github.com/raspberrypi/linux.git

      $ git diff --shortstat origin/linux-4.19.y..rpi/rpi-4.19.y
      911 files changed, 321070 insertions(+), 5576 deletions(-)

      $ git diff --shortstat origin/linux-5.4.y..rpi/rpi-5.4.y
      810 files changed, 309964 insertions(+), 2518 deletions(-)

      $ git diff --shortstat origin/linux-5.5.y..rpi/rpi-5.5.y
      820 files changed, 308669 insertions(+), 2420 deletions(-)

</comment></comment><comment><USER40> Because of falling RAM prices, but no price cut for the one with even more RAM?

<comment><USER35> Consider here that the RAM is part of the SoC and not a discrete part. They can't take an RPi board and slap a larger RAM chip on it.

<comment><USER41> That's not the case on the Raspberry Pi 4. RAM is a separate chip that sits next to the SoC.

<comment><USER35> Huh, maybe you're right. I was sure it was part of the SoC but it looks like that's not the case.

</comment></comment></comment></comment><comment><USER42> Anyone know if the Pi will work with a Chameleon3 USB3 camera from flir.com? If anyone has computer vision coding experience with a setup like this, pls email me (profile), contract opp potentially.

<comment><USER43> Apparently that camera is compatible with v4l2 ("video for Linux 2") so it should work just fine on the RPi 4 provided you have the right cable. Here's a thread where some people discuss using it and similar cameras on the ODroid (which would use the same Linux subsystem): [https://forum.odroid.com/viewtopic.php?t=6259](https://forum.odroid.com/viewtopic.php?t=6259)

</comment></comment><comment><USER44> Does it still have thermal problems?

<comment><USER45> Define thermal problems? They get warm, but newer firmware seems to do much better than the first ones.You could just add a fan and not worry about it.

<comment><USER46> My early version one (4Gb version), was terrible. I _had_ to buy a fan (thank pimoroni) to stop it thermal throttling.

It was quite poor in performance (youtube tearing a lot, usb keyboard issues, freezing occasionally)

I hope when I plug it in again and update it, things will have stabilised a bit.

<comment><USER14> I also had an early 4 GB model (well, two of them), and parent post is absolutely correct about initial thermal issues — it was running hot and throttling very heavily.

Later firmware releases improved things a lot.

<comment><USER46> So I ought to update it and have another go ?

<comment><USER14> Let's see, my two updated RPi4 4GBs, no added cooling, both idling:

      $ vcgencmd measure_temp
      temp=47.0'C

      $ vcgencmd measure_temp
      temp=50.0'C

Not amazing, but good enough for me.

<comment><USER46> I'll give it another go this coming week then!

Cheers!

</comment></comment></comment></comment></comment></comment></comment><comment><USER47> All I want for Christmas is you... nah, a SATA-port or a M2.

</comment><comment><USER48> since we're talking raspberry pis... does anybody know if the rpi4 can netboot?

<comment><USER49> [https://hackaday.com/2019/11/11/network-booting-the- pi-4/](https://hackaday.com/2019/11/11/network-booting-the-pi-4/)

</comment></comment><comment><USER50> This thing desperately needs and m.2 slot. I can't handle doing anything on an SD card. The write speeds are horrendous.

<comment><USER51> If not a m2 slot it should at least have 1GB or 2GB of soldered storage.

<comment><USER52> They have 1-4GB of ultra-fast soldered storage already! Just don't skimp on the battery backup...

<comment><USER51> storage or ram?

<comment><USER52> Unreliable storage, unfortunately. My Pi never seems to survive a reboot, so I have to take regular backups to prevent data loss.

</comment></comment></comment></comment></comment><comment><USER53> Clickbait.

It's "you can now get the 2gb version for $35, which was/is the price point for the 1gb version", not "raspberry pi now has double the RAM".

<comment><USER54> > _It 's "you can now get the 2gb version for $35, which was/is the price > point for the 1gb version", not "raspberry pi now has double the RAM"._

Yeah, I was expecting an 8GB model :'(

<comment> yjftsjthsd-h That _would_ be pretty fun. Weird, of course, since I still think of the Pi as a "small" computer in terms of resources as well as size, and I've got laptops with 4GB of RAM... of course, in a world where some phones are about to hit 16GB of RAM, maybe my kit is just obsolete;)

<comment><USER48> on a sidenote, ram on laptops has been steady a bit too much imho.

we're stuck on 8/16 gb since quite a while. higher end models are starting to show up with 64gb, but to me it seems that it's kinda of an artificial limitation.

<comment><USER55> RAM eats battery life so there's a trade-off when it comes to laptops.</comment></comment></comment></comment></comment>


Show HN: A hip-hop business newsletter worth your time - <AUTHOR> https://trapital.substack.com/welcome <comment><AUTHOR> I'm happy to announce that my hip-hop business newsletter Trapital ([https://trapital.substack.com/welcome](https://trapital.substack.com/welcome)), will now have my full-time focus. A number of my articles have resonated with the tech community, like How Jay Z and Damon Dash's Split Still Impacts Hip- Hop ([https://trapital.substack.com/p/how-jay-z-and-damon-dashs- sp...](https://trapital.substack.com/p/how-jay-z-and-damon-dashs-split-still)) and How Hip-Hop Podcasts Will Adapt in the Streaming Era ([https://trapital.substack.com/p/how-hip-hop-podcasts-will- ad...](https://trapital.substack.com/p/how-hip-hop-podcasts-will-adapt-in)).

I wrote a post yesterday about why I decided to make the move full-time ([https://trapital.substack.com/p/im-officially-full-time- on-t...](https://trapital.substack.com/p/im-officially-full-time-on- trapital)). I'm excited to put out more content and continue building on the momentum that's been created. Hope you enjoy the content and consider signing up for the newsletter!

</comment><comment><USER2> I thought this was about james halliday. [https://github.com/substack](https://github.com/substack)</comment>


FocFoc — A Lovely Collection of Things That You Can Get for Free - <AUTHOR> https://focfoc.herokuapp.com/ <comment><AUTHOR> «There was a time when we left our jobs and decided to go for a venture. If you do a startup, you never know when you'll get your first paycheck. We bootstrapped our living, counted money and felt ourself cheap. But we were craving for the good things, though.

I've started looking for a good free stuff, like concerts, exhibitions, hike, restaurant grand openings and other. Quickly I've realized that there is a lot of things are being given away by really nice brands, and there is a reason for that. My personal collection of these goodies and service referrals has been shared many times among friends.

The idea of giving your stuff for trial is way more powerful than any other type of advertising. Imagine all marketing $$ being spent on something valuable for everyone, like free foods, clothes, software, services, etc. This is the ideal picture of the future, though. But anyways, we decided to create FocFoc and start facilitating this idea.

FocFoc will leverage the power of free stuff given to people. We encourage all brands to reconsider their marketing budget towards freebie model.»</comment>


Pentester/hacker needed - <AUTHOR>

Some projects which involve pentesting/checking security sites as well as servers. Very good pay email@example.com <comment><USER2> Sketchy. The Hacker in Hacker News reflects creation, not destruction.

</comment><comment><USER3> Haha, no way.</comment>


Url Shorteners: Destroying the Web Since 2002 - <AUTHOR> http://www.codinghorror.com/blog/archives/001276.html

<comment><USER2> Good point in this article. It also made me realize how grateful I am that MOST users on Twitter don't stoop so low as to use text messaging shorthand. I guess it is probably a matter of time until that becomes acceptable, but I am very happy we aren't there yet.

</comment><comment><USER3> I prefer these instead: <http://freakinghugeurl.com/>

</comment><comment><USER4> _As a software developer, you'll be fortunate to build one project that achieves critical mass in your entire life. And even then, only if you are a very, very lucky programmer: in the right place, at the right time, with the right idea, working with the right people. Most of us never get there. I don't think I will._

...which is overmodest: StackOverflow already has critical mass.

<comment><USER5> I think his modesty is well placed. SO has critcal mass within the technical community, but not with the _average_ user

<comment><USER6> I think thats the most it can ever really hope for without alienating it's users.

</comment></comment></comment><comment><USER7> _> Still, I'm a little perplexed as to the media's near-obsession with the service_

News is all about status updates. They've discovered that polling really sucks.

</comment><comment><USER6> I don't get why there isn't a twitter feature that allows you to use something like bbcode tags to insert a url and only leave the link name in the message.

<comment><USER8> I think the reason is SMS compatibility.

<comment><USER9> Restricting most users, because a tiny minority have old crappy phones doesn't seem to make sense to me.

<comment><USER10> They really feel at home within this constraint. It's very important to them that it be compatible with the 160-char SMS limit because they feel Twitter is at its heart an SMS publishing system that has grown to have other uses.

<comment><USER11> They may feel that, but they never really got that right in the first place. Twitter has a 140 _character_ limit. SMS has a 140 _byte_ limit. There's a 7-bit GSM character encoding which gives you the 160 characters, but that only covers basic English, select bits of other Western European langauges, and some currency symbols. So beyond those characters, you have to go down to 140 characters, and if you're in non-Latin land (like Chinese or Arabic), you have to use UCS-2, which only gives you 70 characters.

The simple Twitter 140 limit doesn't map to that at all, and coupled with the fact that Twitter SMS is disabled in a good chunk of countries, it seems silly to think of it as an SMS publishing system.

<comment><USER12> I believe the extra 20 characters is there to accommodate a username in addition to the tweet.

</comment></comment></comment></comment></comment></comment><comment><USER13> "I can't quite fit everything in there without sounding like an SMS-addled teenage girl."

What's wrong with that?

Reminds me of the story of the college green where they didn't put in any sidewalks. In order to make sure they put them where people actually needed them, they waited 6 months and them put them where the grass was worn.

These SMS-addled teenage girls have already done that for you. Don't disparage them. Take advantage of what they have taught us.

<comment><USER14> What's wrong with it is some of us still think the English language (in this case) exists for a reason and hate attempting to read vowelless nonsense created by lazy teenagers. I've seen some pretty poignant and hilarious stuff fit into 140 characters, and not one of them included "SMS-speak."

What, exactly, have they taught us? That you can effectively communicate using a bastardized version of a language? Call me old-fashioned, but I think I'll stick with the old adage and, "use my words."

<comment><USER15> Has anyone ever tried to lay out a minimal standard for English spelling and communication? That sounds like an interesting idea to me, and it's also kind of funny that almost anyone who has a violent dislike for Java's verbosity would also violently resist the suggestion to make their written communication more efficient.

<comment><USER16> Verbosity is not word length, and efficiency of communication is not measured in characters.

<comment><USER15> I do get that, but efficiency of _typing_ can be rather directly measured in characters.

I also get the point that part of the reason we (as a species) make language difficult is as a signaling mechanism: we can quickly identify people who aren't able to use it correctly (even if we understand precisely what they mean.)

</comment></comment></comment></comment></comment><comment><USER17> I had to stop at "The internet is the house that PageRank built"... gah! Talk about cart-before-horse.

</comment><comment><USER18> <http://tr.im/> has become my favorite. It's the shortest one I've seen and actually has a name that makes sense.

<comment><USER19> This is shorter: www.›.ws/ྒྷ (from <http://tinyarro.ws/>)

<comment><USER20> It works without the "www.".

</comment></comment></comment><comment><USER21> there are other good features to some url shorteners beyond just getting your link to fit inside a tweet.

the features like metrics and click tracking behind a lot of these better offerings are quite nice and are useful way beyond status messages.

<comment><USER22> This is really very extremely selfish way to look at it. Really, what is the value of knowing that someone went to some page because they clicked on _your_ shortened url to it. How much lazier can a content producer be, they aren't even producing content.

It's so short term focused it makes me want to puke my guts out. People with no vision create products for people with no vision and then people with vision get _harmed_ by it. The future of the internet is getting harmed by it.

URL Shorteners should be outlawed for the sake of humanity.

Short urls = short focus, while the Internet = vision

I don't think I'm being overly dramatic here. Shortened urls _reduce_ future generations' ability to find information. Information and access to it will simply Vaporize!

<comment><USER21> the value is mostly found in marketing activities. to know where traffic is coming from allows you to get a better idea of where to focus and what provides best results.

i'm curious to know why you think that shortened urls will reduce future generations' ability to find information. especially since, for the most part, their usage is restricted to the social web.

<comment><USER23> "Wow, @fermat says he's proved something amazing! Damn, it's too short to fit in 140 characters. Oh wait... there's this bit.ly link... oh yeah, bit.ly went out of business and took their URL map with them."

It's a bit hyperbolic but that's the basic problem, I think.

<comment><USER21> you could say that about almost anything online, though. whoops, wikipedia went out of business and now we've lost a lot of information. oh darn, wordpress went down for good and took all its hosted blogs and the infinite wisdom found within their content.

that is an issue with the internet at large, not just with url shorteners. in addition, the only externally meaningful thing that would be lost is the bitly connection on twitter that connects that tweet to the content. whatever brilliance he linked to would still exist outside that scope and be accessible. unless his bitly link was to bitly itself.

<comment><USER23> Except arbitrary URL shortening services are far more likely to shutdown than Wikipedia, Google, or Twitter itself. It's another level of indirection through another party which provides a service in a fast-changing, simple market.

Are all the URLs in your tweets going to be broken in 2 years? More likely than a Wikipedia or Google URL.

<comment><USER21> so are the twitter image hosts. or arbitrary S3 file hosts. or a wordpress mu blog network. or any number of other smaller alternatives for services that we deem useful.

i suppose the root of my problem with this line of thought is that it basically is saying that if you want to start a value-added service, go big or go home. no room for little guys, because if you fail you might somehow be destroying some of the fabric of the web.

i find this disagreeable. seems not very hacker-like.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> And now short urls with a twist... ahh, so cute :) \- <http://www.socuteurl.com/>

</comment><comment><USER25> It's cool what Twitter has done in the search results: allowing any shortened URL to be expanded <http://search.twitter.com/search?q=shortener>. I await a browser plugin (or site widget) that will implement that same functionality into pages beyond search.twitter.com, maybe placing a dot next to each shortened URL for clicking.

</comment><comment><USER26> I think about short urls and twitter this way:

Twitter is supposed to be real time so in reality the url only needs to last say a few weeks to really be viable even for search so if there is a pollution of some dead links over time, who cares its not like it is anything new and you should be able to google it by then.

</comment><comment><USER27> <=3 letter domains -> one word domains -> SEO domains -> tiny domains.

</comment><comment><USER28> Many non-geeks don't understand the whole URL thing in the first place. If you really want to save it, than educate the masses.

</comment><comment><USER29> What I can't understand is why Twitter itself hasn't implemented this functionality. They could just have an "add link" button which exposed a text field for a URL, which is then added to the message. They could then charge for metrics on the clicks. Why encourage the use of a middleman?

They could build it such that they could at least keep the proper href, maybe rely on a script or device API to count clicks. Best of both worlds.

</comment><comment><USER30> I'm still waiting for the obligatory "Jeff Atwood: Destroying the Web since 2002" comment

</comment><comment><USER31> 1) It's twitters fault

2) It's dangerous

3) Some irony... <http://bit.ly/13nYfY>

<comment><USER32> thanks for the waste of time...</comment></comment>


So you want to be a wizard - <AUTHOR> https://jvns.ca/blog/so-you-want-to-be-a-wizard/ <comment><USER2> The most valuable part of this talk has got to be her attitude (not to diminish the rest of it, which is great too).

After you've been around the block a few times, and tried to learn all the things, and been responsible for trying to un-break a lot of the things, and the things that need to be un-broken start to look like an endless trickle, and then -- as word gets out that you can fix broken things -- starts to look like a Firehose of Infinite Dumping, then your attitude can start to take a hit.

Because ultimately you want to start making things _better_ , not just dealing with other people's mistakes all the time, and endlessly chasing mistakes prevents you from making things better, and then you start to see common causes behind a lot of the mistakes and you think, if people would just fix _those_ , I'd like my job a lot more.

And that attitude is self-defeating. It leads to unhappiness and unfulfillment and procrastination and mistakes of your own and, finally, resentment.

Fostering an attitude like hers is a great antidote for all that, and the longer you can hold on to a curious and positive attitude, the longer you'll be happy to learn about new things and new ways of fixing things.

<comment><USER3> This may be one reason why the BOFH stereotype exists. It definitely helps to have the right attitude.

If you can view the bugs and problems you have to fix as an adventure game puzzle rather than cleaning up other people's messes, you definitely enjoy your job more. Having co-workers who understand your work definitely helps, because working a vacuum sucks.

<comment><USER4> This is exactly how I see bugs - a mystery to be figured out. In the process of figuring it out, you usually learn a lot about the system, and you (hopefully) become better at avoiding creating bugs yourself.

[https://henrikwarne.com/2012/10/21/4-reasons-why-bugs-are- go...](https://henrikwarne.com/2012/10/21/4-reasons-why-bugs-are-good-for- you/)

</comment></comment></comment><comment><USER5> This is one of my favorite jvns post, with _How to teach yourself hard things_ ([https://jvns.ca/blog/2018/09/01/learning-skills-you-can- prac...](https://jvns.ca/blog/2018/09/01/learning-skills-you-can-practice/)).

Very inspiring.

<comment><USER6> Note: _How to teach yourself hard things_ is more recent than _So you want to be a wizard_. (Just mentioning this because it gives some context as to how they're related.)

 _So you want to be a wizard_ was turned into a "Zine": [https://jvns.ca/blog/2017/12/01/new-zine--so-you-want-to- be-...](https://jvns.ca/blog/2017/12/01/new-zine--so-you-want-to-be-a-wizard/)

<comment><USER7> I absolutely love her zines and she's inspired me to create my own.

My latest series try's to teach programming to beginners by creating art. It's like the type-in books and magazines I grew up with.

[https://gumroad.com/l/splashofcode](https://gumroad.com/l/splashofcode)

</comment></comment></comment><comment><USER8> Another reason not to ask the most experienced person you can find is that it's likely been a long time since they've approached their domain from anything near your perspective. They've deeply internalized complicated abstractions and terminology that you might not have even been exposed to yet. By asking someone with less experience they're more likely to understand what you're asking for and be able to explain it in a way you can follow.

</comment><comment><USER9> Everything Julia makes and writes is amazing, she seems to have an almost bottomless pit of enthusiasm and talent. I simultaneously deeply admire and am a little jealous of her at the same time, is there a word for that?

<comment><USER10> bewunderungeifersucht

<comment><USER11> This looks like german to me, but i haven't ever seen these words used together. I thought it might be some old german and googled it, but searching "bewunderungeifersucht" just yields your comment and "bewunderungseifersucht", which i deemed more likely, yields nothing.

Disclaimer: I'm from germany

<comment><USER12> Also a German speaker, just a clarification for non-German speakers, it appears to be a compound word neologism (combining two words that have not been combined before, similar to "frenemy" being derived from "friend"+"enemy" in English) that combines "Bewunderung"(admiration) and "Eifersucht"(jealousy). This sort of stuff does work in German, but it looks odd (and is a noun and should be capitalized anyway).

<comment><USER7> Bewundersucht

Rolls off the tongue a little better. I dunno if such shortening would happen. For fun, for example, in a friendly conversation where you make up your own words like "frenemy". I'm an English speaker with some German training but no speaking. :)

Edit: Looks like this is used in one place on the Internet and Google actually translates it "admiration" if used in a sentence.

"können mich mit ihrer eifernden Sehn-, Wunder-, Macht-, Bewundersucht"

"I can with their zealous yearning, wonder, power, admiration"

<comment><USER13> Sucht without the Eifer just means greed or desire so I don't think it works.

I think generally English words are pretty quirky in their etymology and pronunciation which makes them easier to abbreviate. In a more regular, organized language when you remove part of a word you just get another word.

</comment></comment></comment></comment></comment></comment><comment><USER3> Thank you Julia for dropping knowledge and sharing your infectious enthusiasm for systems engineering. I hope your work inspires others who have walked the path of the systems wizard to generously publicly share their experience and knowledge with others.

</comment><comment><USER14> Really nothing that most of us do most of the time is very difficult, nor does it require very much knowledge (except for the sake of productivity)

All that's required is the ability to decompose problems and systems into smaller pieces and trace cause and effect. With those two things and a smidge of domain knowledge and a lot of persistence you can move mountains.

</comment><comment><USER15> Good post. Keep asking why. See where it takes you.

</comment><comment><USER16> Regardless of the content (which is excellent as usual) I think this is the best layout of a presentation transcript I've seen.

</comment><comment><USER17> The title makes me wonder whether she was a fan of Diane Duane's "So You Want to Be a Wizard" series, which predated Harry Potter and shows a remarkably science-based wizardry with much the same mindset towards learning.

</comment><comment><USER18> This is some really great stuff. One of my favorite parts of working in software/computers is "figuring stuff out". My brain always nags "there has to be a reason for this" ... and doesn't let go until I really understand what that reason is. That drive to understand the why (and not "magic") has led me to understand things like JVM garbage collection, ntp (network time protocol), HTTP, vector graphics, and on and on. Great stuff!

</comment><comment><USER19> Do unfinished learning projects and "writing keyboard driver" stuff really helps?

</comment><comment><USER20> This was a really cool format for presenting your deck!

</comment><comment><USER21> Cool.

</comment><comment><USER22> I get that these posts are intentionally written to make it look like a 12 year old wrote them, to give you the idea that it's not too challenging to understand. But it's a bit of a false premise: children can often pick up new concepts faster than adults. In addition, you're not going to express the idea better by putting in exclamation marks, hearts and stars, but you might turn off people who aren't 12. I'm sure Julia is a wonderful engineer, but I just find this writing style grating and I give up reading them. (I have the same reaction to lots of memes splitting up posts)

That said, it's her blog, she should write them however she wants to.

<comment><USER23> I never once got the impression that Julia was dumbing her presentation down to a juvenile level to make it more accessible.

Rather, the impression I get is that Julia is as enthusiastic about this stuff as anyone has ever been about anything, and that she has no pretense of having known any of it last week, nor does she care if you did.

It's pretty charming and unique combination (it's rare enough that when status-conscious adults come across it, it reads juvenile!) and is my favorite thing about the way she writes and presents. When she writes about stuff, she doesn't have to judge each element she's discussing for whether it's interesting or worth calling out; it's _all_ interesting. That's a good way to avoid missing interesting observations, I think.

<comment><USER24> I'd go further. Writing about something you've attained understanding of, without ruining it for new learners is a rare gift.</comment></comment></comment>


Ask HN: What did you ship in November? - <AUTHOR>

Or, what did you work on that you'll ship in December? <comment><USER2> I made and shipped Pepbot.

<http://pepbot.com>

It's a temp disposable mail service with the ability to automate the boring confirmation task (register > wait confirmation mail > click the link > success) that many services require.

<comment><USER3> I like it :) the auto mode is a nice touch, but please get rid of the "OMZG! NO laziness detected!" thing, it's distracting and looks like an error message..

<comment><USER2> Thanks :)

> please get rid of the "OMZG! NO laziness detected!" thing, it's distracting > and looks like an error message..

Done. Replaced it with "Tip: use a ful email address".

</comment></comment></comment><comment><USER4> I put up a pligg site for tech news in Cleveland. Not much, but it's one of many domains I've been sitting on for a few years now.

<http://clevelandtechnews.com>

Normally, I'd completely tear apart the default theme, rebuild it with my own design and by the time I had that about wrapped up I'd start on something else and never launch.

Like I said not much, but it's out there and not sitting on my dev server like all my other half finished projects. It's a start I guess :)

</comment><comment><USER5> I launched <http://www.hackerlunch.com>

It lets you meetup with other hackers.

</comment><comment><USER6> I launched <http://7courses.com> a recipe manager designed for ease of use.

<comment><USER7> Neat! A few quick observations - 1, I'd love to see some sort of explanation before I give my access. I'm sure it is coming.

Second, I know it might be difficult, but I didn't realize that the last ingredient/direction that isn't "+"'ed doesn't get posted. Might end up with people losing the last entry if they don't realize that.

LOVE the typography. Might be cool to export the recipes it somehow.

Good job :-) I'm going to send it to the GF and let her play around with it!

</comment></comment><comment><USER8> I failed to launch <http://plumrss.com/> \- We'll probably be close to a private beta this weekend though, so if you want to be included, drop your email address there now.</comment>


NASA Awards $38B in Contracts to Smaller Tech Firms - <AUTHOR> http://www.inc.com/news/articles/2008/12/nasa.html?partner=rss <comment><USER2> Typo alert: that's 38 _M_ illion, not billion.</comment>


2M fake accounts later, Wells Fargo drops sales quotas for its employees - <AUTHOR> http://arstechnica.com/business/2016/09/wells-fargo-drops-sales-requirements-for-employees-after-fake-accounts-exposed/ <comment><USER2> They are the only bank who has ever called me up to try to sell things. And they must have done it at least 10 times in the last few years.</comment>