Today I Briefed Congress on the NSA - <AUTHOR> https://www.schneier.com/blog/archives/2014/01/today_i_briefed.html <comment><USER2> On his blog Schneier comments that this meeting was kept small on purpose. I wanted to see who was present at this meeting so I looked up some of their information. Not hard to find, but here you go. I plan on emailing each of them and thanking them for consulting someone the tech industry considers a Security SME.

Rep. Logfren (Democratic) [http://lofgren.house.gov/biography/](http://lofgren.house.gov/biography/) Wikipedia - [http://en.wikipedia.org/wiki/Zoe_Lofgren](http://en.wikipedia.org/wiki/Zoe_Lofgren)

Rep. Sensenbrenner (Republican) [http://sensenbrenner.house.gov/biography/](http://sensenbrenner.house.gov/biography/) Wikipedia - [http://en.wikipedia.org/wiki/Jim_Sensenbrenner](http://en.wikipedia.org/wiki/Jim_Sensenbrenner)

Rep. Scott (Democratic) [http://www.bobbyscott.house.gov/biography/](http://www.bobbyscott.house.gov/biography/) Wikipedia - [http://en.wikipedia.org/wiki/Bobby_Scott_%28U.S._politician%...](http://en.wikipedia.org/wiki/Bobby_Scott_%28U.S._politician%29)

Rep. Goodlate (Republican) [http://goodlatte.house.gov/pages/about- bob](http://goodlatte.house.gov/pages/about-bob) Wikipedia - [http://en.wikipedia.org/wiki/Bob_Goodlatte](http://en.wikipedia.org/wiki/Bob_Goodlatte)

Rep Thompson (Democratic) [http://mikethompson.house.gov/biography/](http://mikethompson.house.gov/biography/) Wikipedia - [http://en.wikipedia.org/wiki/Mike_Thompson_(California_polit...](http://en.wikipedia.org/wiki/Mike_Thompson_\(California_politician\))

Rep. Amash (Republican) [http://amash.house.gov/about-me/full- biography](http://amash.house.gov/about-me/full-biography) Wikipedia - [http://en.wikipedia.org/wiki/Justin_Amash](http://en.wikipedia.org/wiki/Justin_Amash)

Edit: Cleaned up one of the links and got rid of a repetitive sentence.

<comment><USER3> (If you use Facebook) I recommend following Rep. Amash as he explains every one of his votes in a status update. It's a great way to stay informed, and he actually approaches his decisions with sensible reasoning you'll enjoy (regardless of your political leanings).

<comment><USER4> Wow that's really amazing. I really like this approach because it's transparent and really feels like he's representing his Michiganites.

So often when I email my reps about their decisions I get canned response that don't answer the question, but Justin really does explain it.

<comment><USER5> Nit: Michiganders.

</comment></comment></comment></comment><comment><USER6> "...Congress has such a difficult time getting information out of the NSA that they have to ask me."

THIS PEOPLE! THIS is why the Snowden revelations are such a big deal! We have a rogue branch government with arguably little to no oversight!

<comment><USER7> They might not know what the NSA is up to, but they sure as hell created the mechanisms that led to that predicament.

<comment><USER8> Congress required the NSA to clear some things with a court. The NSA lied to the court; that's not Congress's fault.

<comment><USER7> I didn't say that it was their fault that the NSA lied. Its their fault that secret courts, the Patriot Act, and a number of other things exist. Its also their fault that the constitution has been systematically undermined for the last four decades.

It was hilarious watching a bunch of congressmen feign disbelief when they know that its their fucking fault. Its depressing watching the public believe them. If they really didn't know this was going on, they would be trying harder now to stop it instead of passing legislation to solidify the NSA's position.

The only thing that we can be certain of, is that our elected representatives' response to these revelations is going to be disappointing, misguided, and inadequate.

<comment><USER9> This all sounds very nihilistic and myopic. It's like saying I'm responsible for drones because I voted in an election for one of two candidates who were going to use them anyway. Credit where due, and I'm certainly not letting Congress off the hook, but your argument boils down to "well, Congress allowed them to _exist_ ," and I'm even less inclined to let the NSA off the hook. I have higher standards than, "well, that's just the way they are."

<comment><USER7> I didn't let the NSA off the hook, I was just commenting on the absurdity of congress acting like this wasn't the obvious outcome of decades of bad leadership and bad legislation.

</comment></comment></comment></comment></comment></comment><comment><USER10> Schneier links to a Wikipedia article about Sensitive Compartmented Information Facilities (SCIFs) and explains that he wanted to speak to the members of Congress in such a facility, but could not do so because he is denied access to such facilities as someone without the appropriate security clearances. And that puzzled me, and prompted me to read the Wikipedia article after reading Schneier's blog post submitted here, because I had been told years ago, when I definitely did not have the appropriate level of clearance for a SCIF (as I have never had and probably never will have) that I did have access to a special hearing room for one of the congressional intelligence oversight committees. I was inside the room at the time, with foreign visitors. (I was there as the interpreter for the foreign visitors.) I saw the hearing room back in the 1980s, as I recall, as part of a people-to-people program funded by the United States government that brought over people from other countries to look at how society works in the United States. The look inside the secure room was part of learning about how intelligence agencies in the United States are overseen by Congress. It was represented to us that when the room in the Capitol was closed up, it was impervious to any then-known form of surveillance. So now what Schneier says has me puzzled about whether or not there is any level of secure room between what he calls a "regular room" and a room that a United States citizen can only enter with a very high level of security clearance. It seems to me that there ought to be some kind of in-between room like that, precisely for meetings like the one Schneier just had. That would be better for effective congressional oversight, I think.

<comment><USER7> There are standard processes in pretty much every government organization for escorting uncleared personnel into a SCIF. The fact that they chose not to in this case might indicate that they aren't taking this seriously.

<comment><USER11> Or that one wasn't open. Schedule tetris for Congresspeople and a SCIF might be a hard problem.

</comment></comment></comment><comment><USER12> It makes sense that you need TS/SSBI and the correct SAP read-in to be inside a given SCIF belonging to a SAP; otherwise one might leave a recording device or otherwise damage the integrity of the SCIF. Plus, the SCIF would need to be cleared of all sensitive materials before you entered.

Clearing a SCIF, letting someone inside, then recertifying it would probably be the correct choice; It could be done, of course, but it's not cheap. (You can also potentially keep the person under observation the whole time, but given the purported Chuck Norris powers of Bruce Schneier, that seems insufficient.)

<comment><USER13> I'm not sure if you understand. Bruce knows the top secret information because he read it in the leaks. The government officials can lose their security clearance for admitting to discussing top secret things with him.

<comment><USER12> They are clearly in the direct performance of their lawful duties. It is like a counterintelligence professional talking to a suspect and learning what he knows. Plus, Congress is called out in the Constitution as special, due to situations like this.

</comment></comment></comment><comment><USER14> This could be almost hilarious if it wasn't so sad. The Congress has to be briefed by someone with access to leaked documents to get an idea what a government agency is doing, because the later "is not forthcoming".....

</comment><comment><USER15> Imagine that the NSA was only doing legitimate, useful, necessary, highly secret things (humor me here).

Can they brief Congress on what they're doing? All 535 publicity-seeking chatterboxes? No way. That's the same as issuing a press release.

So not telling Congress everything is (in principle) necessary. But who are these representatives Schneier briefed? Are they on the Intelligence Committee? If so, and they still can't get straight answers out of the NSA, that's a big deal. (And maybe the rest of Congress is saying that they don't think that the Intelligence Committee has done an adequate job of oversight.)

<comment><USER16> > Can they brief Congress on what they're doing? All 535 publicity-seeking > chatterboxes? No way. That's the same as issuing a press release.

Absolutely not. Keeping your (nominal) overseers appraised of your activities is not the same thing at all as informing the whole world in front of cameras. Your implicit argument is that Congress couldn't be trusted with the secrets the NSA would reveal. But this is countered by opinting out that the NSA can't be trusted with the secrets it _has_.

<comment><USER15> Congress (all of it) should be briefed on the overview. The details (some of which are, rightly, classified)? No way. That's pretty much the established way of dealing with classified information - all of Congress does not get to know the details.

> ...the NSA can't be trusted with the secrets it has.

Very true.

<comment><USER17> Made even more apparent by a contractor having access to so many of their "secrets".

</comment></comment></comment></comment><comment><USER18> The Intelligence committees and the FISA Court need to be overhauled, to start with. Clearly there's not enough/proper oversight of the agency.

I don't know how they do it now, but the Intelligence committees should also brief the rest of Congress at least twice a year, and I think they should be allowed by explicit laws to declassify anything they want in that briefing. No approval from the White House or anyone else needed. They are, after all, the ones that are supposedly in charge with oversight of the intelligence community.

So next time someone like Ron Wyden _knows_ the agency is lying to the public, he should be able to tell the rest of the Congress in the briefing, all by himself (he shouldn't need approval from the rest of the committee), and it should be defined in laws that he's allowed to do that, just so there's no confusion, and no fear of repercussion.

<comment><USER19> The thing is that they already have the framework to do this. A senator is immune from prosecution for anything state on the floor of the senate. If Wyden is on the senate floor, he could read off the nuclear launch codes and there's not a damn thing that the executive can do about it. Furthermore, the senate has closed sessions. They had one just a couple of years ago for the START treaty. A senator could take the floor, tell the rest of the senate about any classified material they like, and the information isn't released to the public unless the Senate votes to remove the injunction of secrecy, so the information remains secure. Even if the injunction is removed, the senator is still protected by some fairly strict constitutional privilege.

This seems to be a solved problem.

<comment><USER20> Actually I'd bet good money if a senator basically starting reading the details of NSA drag net plan on the senate floor they'd be prosecuted by some court for aiding terrorism, or not being American enough.

<comment><USER21> Ignoring the political implications for prosecuting a congressperson for leaking on the NSA, you have a lot of legal precedent to overcome.

Article 1, Section 6 (the speech and debate clause) of the US constitution states:

"...and for any Speech or Debate in either House, they [Senator or Representatives] shall not be questioned in any other Place."

In the case of Gravel v. United States, Senator Mike Gravel read the Pentagon Papers into the congressional record. This was held as protected.

<comment><USER22> They can, however, be questioned in that Place. The House is certainly welcome to impeach a house member who reads launch codes on the floor.

<comment><USER23> I wonder if 00000000 was ever read into the congressional record? [http://arstechnica.com/tech-policy/2013/12/launch-code- for-u...](http://arstechnica.com/tech-policy/2013/12/launch-code-for-us-nukes- was-00000000-for-20-years/)

</comment></comment></comment></comment></comment></comment><comment><USER24> There is no oversight except on paper.

You can't have oversight unless you have expertise in the area you oversee.

You can't have oversight unless the overseers can impose immediate consequences upon the overseen.

Without these you are nothing but a spectator.

<comment><USER25> Might be related to the topic:

One aspect of the Dilbert-universe the pointy-haired boss who has no expertise, yet he imposes immediate consequences upon the overseen. In contrast, if we are calling for management that does (understand) code, we are calling for management that have expertise.

This begs the question: who would be able to oversee the agencies _with expertise_ , ever?

<comment><USER26> Sn^H^Ha former employee/contractor?

<comment><USER27> You mean like the revolving door between financial regulators and the banks they oversee?

</comment></comment></comment></comment><comment><USER28> Currently, the Intelligence Committees have special access to top secret information. Every member of Congress should have this.

<comment><USER29> With 535 of them not including staff, they really shouldn't. And clearance isn't enough, you also have to have a need to know. We just need a system of oversight that works well.

<comment><USER30> With the amount of NSA staffers and people who have clearance being well above that number, really?

<comment><USER31> "Clearance" isn't supposed to be some magic card that lets someone go find every document marked with their level of "clearance." It's just a permission to receive knowledge marked with that level of "clearance" as necessary to do one's job.

NSA staffers have defined roles and are given information on a need-to-know basis. Obviously the Snowden leaks proved that at least for a sysad, the technical component of the need-to-know restriction was broken, but that's how it's _supposed_ to work.

For Congressional oversight to be useful, Congress (or a subset) need a _higher_ level of access than that given to the NSA themselves - the ability to ask for _any_ information and have it given to them.

That's a pretty powerful tool, so I don't think the "well NSA has lot of people" counter is valid.

<comment><USER32> So instead the people who make our laws should be blind to the results of those laws or anything that is happening outside of the laws they have written.

</comment></comment></comment></comment></comment><comment><USER33> What's a "SCIF"?

Edits: my guess: (Secure Communications Internal Facility)

<comment><USER34> Sensitive Comparmented Information Facility: In United States security and intelligence parlance, a Sensitive Compartmented Information Facility (SCIF; pronounced "skiff") is an enclosed area within a building that is used to process Sensitive Compartmented Information (SCI) types of classified information.

[https://duckduckgo.com/Sensitive_Compartmented_Information_F...](https://duckduckgo.com/Sensitive_Compartmented_Information_Facility)

<comment><USER35> Depending on the level, they often have TEMPEST shielding aka faraday cages to prevent leakage of electromagnetic signals from computers and whatnot. (google Van Eck Phreaking for some ideas on why heh)

<comment><USER36> Or you could read Cryptonimicon, which is a lot slower, but more fun:

[http://www.amazon.com/Cryptonomicon-Neal- Stephenson/dp/00605...](http://www.amazon.com/Cryptonomicon-Neal- Stephenson/dp/0060512806?tag=dedasys-20)

Startups and science fiction... that book is a favorite of mine.

<comment><USER37> It's more historical fiction than science-fiction.

<comment><USER36> Yeah, but it still feels like science fiction for some reason.

<comment><USER38> I think it's Enoch Root that really pushes it into sci-fi territory. He's also a major character in The Baroque Cycle, implying that he's several hundred (or more) years old.

</comment></comment></comment></comment></comment></comment></comment><comment><USER39> "Chief, shouldn't we use the Cone of Silence?"

<comment><USER40> LOL. I remember watching it when I was a child.

</comment></comment><comment><USER41> Webcache version:

[http://webcache.googleusercontent.com/search?q=cache:https:/...](http://webcache.googleusercontent.com/search?q=cache:https://www.schneier.com/blog/archives/2014/01/today_i_briefed.html)

</comment><comment><USER42> >Of course I'm not going to give details on the meeting, except to say that it was candid and interesting.

Why wouldn't he?

<comment><USER21> A group of congresspeople agree to have a candid conversation with you behind closed doors, and you publicize the details of what was said. Good luck getting another conversation with anyone.

<comment><USER11> it also weakens the congresspeople's position the next time they talk to the NSA if the NSA knows the limits of what they know.

</comment></comment></comment><comment><USER43> The obvious answer to me seems to have multiple disjoint intelligence committees.

</comment><comment><USER44> It's good to know that we do have some legislators on (essentially) our side, even if their hands are, presently, tied.

<comment><USER33> This is incredibly important. It means that there is hope, that the government is not some evil conspiracy, that there are people in power, people like ourselves.

The film Enemy of the State, and conspiracy theories mean that normal people think it is the status quo that our lives are under 100% surveillance and that they are powerless. In a way its been argued that this is quite comforting. Imagine a world where no-one knows what they are doing versus imagining a world where there is a conspiracy, an evil plan. What this type of public culture makes and what the worst conspiracy theories do is make politics seem hopeless, encourages apathy and reduces trust in politicians. At the same time it makes it easier for the real abusers of power to get away with it.

The recent phone tapping cases in the US being a point in case. Everyone thought it was going on all the time anyhow, so when it was revealed no one was suprised, and so the consequences were slight.

To know that those in power do actually think, and do listen, and do believe in the political process is very very vital.

</comment></comment><comment><USER45> I was just listening to Slate's political gabfest podcast...they talked about the NSA. It occurred to me that the media is still only talking about phone call metadata while the rest of us have been in the weeds of the rest of their activities, which are far more intrusive than metadata...

How do you get that message to people?</comment>


Rails3: Stepping off of the golden path - <AUTHOR> http://www.slideshare.net/mattetti/rails3-stepping-off-of-the-golden-path <comment><USER2> I clicked through about 20 slides without seeing more than a few words of text!</comment>


How to Safely Delete Private Data Forever - <AUTHOR> https://fieldguide.gizmodo.com/how-to-safely-delete-private-data-forever-1790297891 <comment><USER2> TL;DR: no can do in software, despite all the effort. Use a hammer.</comment>


Ask HN: What are the books that changed your thinking and improved lifestyle? - <AUTHOR> <comment><USER2> The Unabridged Hitchhikers Guide to the Galaxy by Douglas Adams.</comment>


Use the tools you're displacing - <AUTHOR> http://thestartuptoolkit.com/blog/Use_the_tools_you%27re_displacing/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+TheStartupToolkit+%28The+Startup+Toolkit%29 <comment><USER2> This can be seen as an instance of creating features (i.e. in terms of the tool) instead of benefits (i.e. in terms of the user task, their workflow, context, infrastructure, and the user themselves). "Feature vs. benefit" is such a shop-worn cliché that it's easy to overlook the meaning: people don't buy products, they buy solutions to their problems.

A different aspect is that if you make a tool that is only useful for 10% (or 1%) of people, if it _really_ helps those people, it is an awesome tool. You don't need to be awesome to everyone - that's for massive mainstream organizations. If you can just help _some_ people _a lot_ , that's enough to get started. In fact, most massive mainstream organizations got their start in exactly that way. Don't feel bad if it's useless for 90% of users; it only matters who it is useful to - if you are loved by just one person, you are loved. (but to reiterate the first point, it's in terms of users, not products).

There's also the serendipitous solution: when you make something that is cool in itself, but you can't imagine any use for it. And then some customers come along who do find a use. This path is not recommended by most marketing experts, but it seems suspiciously common in the history of actual entrepreneurs (e.g. one of HP's first sales was oscilloscopes... to Disney... for Fantasia; Honda's creation of the recreational motorbike).

</comment><comment><USER3> Good advice. However, I noticed that the danger of getting too accustomed to the 'status quo' tools is that you forget what bothered you about them in the first place, and what you wanted to improve. Your first experiences are very important in this, as it will be the same thing that other new people encounter. So write them down...

(For example, some tool that initially seems extremely slow, after months of using it you may be used to the delays and take them for granted, even though productivity could be greatly improved if it was faster. Suddenly you're used to all the quirks of the old tool, making it harder to get fresh ideas)

<comment><USER4> I'm a freelancer, so I get to "start" at different companies several times a year, and I'm always surprised by how inefficient things are. However, I'm equally surprised by the fact that a few months in I've forgotten what the bottlenecks were because I've gotten acclimatized.

So by the time I'm in a position to influence those processes I can't remember what the problems were.

What I started doing was take notes the first few days/weeks of what is required to get setup, or where things could be improved. Then I refer back to them every few weeks, and will sometimes up up with solutions and start sending them up the chain.

<comment><USER5> Yes, that "beginner's mind" is an invaluable thing. It is true in life as well as in business. I have found that the ability to "revert" to beginner's mind is a skill which I believe can be mastered with practice, and thus improved.

Also, thank you for taking notes and for being aware of that situation. I believe the world is a better place when people engage in those behaviors.

</comment></comment></comment><comment><USER6> Great advice. I started a nonprofit a six years ago and we had big plans to build a volunteer tracking app and collaborative tool in a hip new framework like Django. Six years later, and we are building a very un-hip tool in Drupal that will ultimately replace three tools we've adopted in the interim (a spreadsheet for tracking hours, a Trac-based wiki, and Google groups). But, this time, after approximately a false start once a year, we finally have traction for the project.

To those who are concerned this stifles innovation and "thinking inside the box" -- unless you are lucky, a genius, or probably both, knowing one's problem space intimately is a lot more likely to yield a useful innovation than not.

</comment><comment><USER7> This is exactly how I'm building my current apps. Before automating anything, I manually help people solve their problem with all the different tools they use, to identify the most annoying gaps in the market.

</comment><comment><USER8> You should definitely understand how the tools are being used. 1 way is to use them yourself. But that puts a lot of bias on your view of it and you can end up with something that's really useful to you, but nobody else. (Which is only slightly better than not being useful to anybody.)

Asking customers how they use it, and really following along, seems to work better for me... At least, when I can get them to answer my questions, instead of the questions they think I'm asking. Still trying to figure that one out.

</comment><comment><USER9> I wrote syslogit only to find logger about an hour later...

[https://bitbucket.org/russellballestrini/syslogit/src/tip/sy...](https://bitbucket.org/russellballestrini/syslogit/src/tip/syslogit)</comment>


How the AR app I made in my bedroom went viral - <AUTHOR> https://medium.com/inborn-experience/how-the-ar-app-i-made-in-my-bedroom-went-viral-worldwide-19e800ce0d21 <comment><USER2> Interesting that the media went for this while his youtube video sits a just 10k views and 10 subscribers.

I bet those people that repackage the video as silent facebook feed video/slideshows got 10 million views.

</comment><comment><USER3> Anyone who has tried AR on the iphoneX can see it will be huge. The tech is absolutely ready.

The refresh rate and frametimes are locked in beautifully and it all feels silky smooth. Like a window into another world.

<comment><USER4> Can you give an example of an app you consider impressive? I haven't been able to find much other than furniture shopping apps

<comment><USER5> Sky Guide is really good. You can go outside in the middle of the day and see all of the stars that are too dim to outshine the blue sky. It always did this, but the horizon is taken from your camera and surroundings now, so it is much more intuitive.

</comment></comment></comment><comment><USER6> can't really figure out what it does?

<comment><USER7> It lets you see your Twitter feed in AR.</comment></comment>


Writing clean, testable, high quality code in Python - <AUTHOR> https://www.ibm.com/developerworks/aix/library/au-cleancode/ <comment><USER2> Nice, this goes into some ground not covered in other python testing discussions. Great code examples. :-) These are the kinds of articles I come to hacker news to find.

<comment><USER3> If you have other (better) people poking around your code and giving you a hard time, you'll probably keep improving your strategy. But if you're working alone like I am, it's very important to land on articles like this.

<comment><USER2> Very true, I've been in the working alone situation, and I think it led to some bad habits (then again, I've been in big corporations which led to even worse habits, so... yeah).

</comment></comment></comment><comment><USER4> This is a really helpful article for me. I'm a programming newb and have been banging out ad hoc code for the last six months. Boy do I have some mega- functions. I've known enough to know that at some point this practice has to change, but I've been a bit stuck as to how to start making improvements. So I'm looking forward to working through this example.

<comment><USER5> <http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html> :)

<comment><USER4> Thanks! Do you think it's really a good idea to be looking at LISP based stuff? I've barely begun to wrap my head around python.

<comment><USER5> Every programmer should learn a little Lisp! Even if you just get through the first two chapters I think it would be helpful, and many of the ideas carry over effortlessly to Python. (Higher order functions, closures, functions returning functions, etc.) I spend most of my free time coding in Python but learning Scheme was great for me, and the styles go really well with event- driven designs you have to implement a lot in JavaScript/ActionScript.

There's also a pretty good series of recorded lectures Berkeley gives in conjunction with the book over at [http://academicearth.org/courses/the- structure-and-interpret...](http://academicearth.org/courses/the-structure- and-interpretation-of-computer-programs) if you have lots of free time.

</comment></comment></comment></comment><comment><USER6> I would like to be able to share this, amiably, with a few of my colleagues and bosses who are not programmers, as we recently had to judge a $half- million piece of software with 2 600 line cashflow functions and I was the only one complaining.

But, yeah, look, the article is 'fine', but not much more, and very unfortunately.

Does anybody know of a similar article re modularisation with a more transparent example, and a more detailed transition between hypothesis and conclusion? He just seems to say 'less complexity', ???, 'profit'.

<comment><USER7> There is this "Working Effectively With Legacy Code" book by Michael Feathers that talks primarly about various ways of transforming very messy code to make it testable.

</comment></comment><comment><USER8> Write tests, run code-coverage and code-smells. While good advice, that's just saying what to do. Not how to do. You can as well remove the word Python from the title and the advice holds true in general.

What i would like to see :- what in python we can use that will help us write quality, concise code. Things like using list comprehensions, using magic methods, higher order functions(decorators...) and may be something else that i didn't knew.

<comment><USER6> Do you really think that list comprehensions and magic methods make code more readable, or did I read that the wrong way around?

<comment><USER8> They make code concise.List Comprehensions, magic methods - Yes . implementing __len__ on your class and using len() everywhere(with list, string and your new class) is better than coding a method called get_count() , total_count(), etc etc.

They help make code more declarative rather than filling it with implementation logic. Anyone can just read the code and understand it instead of getting bogged down with the implementation. Especially list comprehensions. [len(i) for i in k] is much better than reading a for loop implementation looping through k and append len of each object in the loop to a result array

<comment><USER6> Is that last list comprehension really much better though, keeping in mind that most of us code in several languages, and might be predominantly context experts rather than coders at the same time?

x = [] for i in k: x.extend(len(i))

is really, really easy for me to understand instantly, if I have just been writing an actuarial model using R, c++, c#, vba, sql, html, css and python for the day, which I have.

Shortness is not always conciseness, methinks.

</comment></comment></comment></comment><comment><USER9> I use a similar commenting style, but in addition to the description, arguments and returns, I also list globals used (if any) and side effects (even if none). I find it very helpful to show if a function depends on or alters state.

</comment><comment><USER10> IBM's just trying to get brownie-points with web developers because they know that they won't be around much longer.

<comment><USER2> Au contraire IBM get it, they got on board with big industry trends a long time ago, and keep surviving (not thriving, mind you, but keeping up).

<comment><USER11> Not thriving? They're amazingly profitable as far as I know.</comment></comment></comment>


Ask HN: Is there an "open source" version of zapier? - <AUTHOR> <comment><USER2> There are a few listed at [https://alternativeto.net/software/zapier/?license=opensourc...](https://alternativeto.net/software/zapier/?license=opensource). Huggin has a big community.</comment>


Ask HN: iPhone Developer license vs. PS3 Linux - <AUTHOR>

I have heard that at least 1 person in UK got a partial refund on their PS3 due to laws in the EU/UK pertaining to removing advertised functionality after sale.  Would this also apply to the iPhone Dev kit and corresponding recent license changes? (iPhone developer program license section:3.3.1)<p>If you were a company in the UK who purchased developer kits for iPhone to build say a Unity game couldn't you legally demand a partial refund? Even if they are not going to enforce this requirement on you? <comment><AUTHOR> Good point, I don't know all the details, where any of the third party stuffs being cut out initially advertised?

</comment><comment><USER2> Was Unity advertised by Apple? I don't think it was so where is the loss?</comment>


How Reddit Algorithm Works - <AUTHOR> http://amix.dk/blog/post/19588?source=google

<comment><USER2> There's a "flaw" in the hot algorithm, which doesn't really impact Reddit any way in the current use cases. However, there could be a possibility that an old story gets upvoted a lot, and should turn hot, but in the current algorithm, the time of upvotes don't have any impact.

<comment><USER3> Someone will repost the story and it will hit the front page again anyways.</comment></comment>


Ask HN: Found a great job, how do i score an interview? - <AUTHOR>

I've been working on startups for the past five years, at this point I'm looking for something more stable for my family.  I found a job that I think would be a good fit.  How do I go about ensuring I at least get an interview? <comment><USER2> There are many resources for this already.

<comment><AUTHOR> It would be funny if you had this on a clip-board and just posted it on every question, you could even add a link to google.

<comment><USER3> If I had any spare time I would write a chrome plugin that automatically took everything after "Ask HN:", build a google search and added it as a comment.

</comment></comment></comment><comment><USER4> Be honest. Ring them up, say "I think I'm a great fit because of this actual piece of evidence or example" and say "I want in. "

If you are not honest or use something other than a direct approach, well, that sends a signal bigger than anything you can say at the interview</comment>


Intel OS X binary of latest multiplatform malware discovered - <AUTHOR> http://reviews.cnet.com/8301-13727_7-57471882-263/intel-os-x-binary-of-latest-multiplatform-malware-discovered/

<comment><USER2> Java's signed applet based security model is flawed.

You can not expect a non-tech savvy user to have a knowledge for certificate signing. The barrier between the local system and a rouge code is just a click between two buttons (accept or cancel).

</comment><comment><USER3> Woah,

This is the first desktop Linux malware I've heard of.

Any more information available about this?</comment>


Musk Buys $9.85M in Tesla Stock After Taunting Shorts - <AUTHOR> https://www.bloomberg.com/news/articles/2018-05-07/musk-buys-9-85-million-in-tesla-shares-after-taunting-shorts <comment><USER2> SO this is a reverse pump-and-dump? Down-talk your company on an earnings call while giving people reason to question your intelligence, wait for the stock to drop, then buy. I am not a lawyer or securities regulator, but how is this not insider trading? Does he just have to wait X number hours after the earnings call before buying?

<comment><USER3> Insider trading requires material, non-public information. Rants aren't per se material representations, I don't think, and unless he misrepresented substantive disclosures and guidance (thus keeping the truth secret) he wouldn't have been trading on non-public information.

As a board member and major shareholder he's likely to see (and probably already has, many times) shareholder lawsuits claiming he violated a fiduciary duty in failing to consider shareholder interests and protecting the market value of shares. But it might be hard to show damages if the stock picks up as Musk seems to be betting.

If we're cynical, the act of buying more stock may be an attempt to color his behavior and put it in a favorable light in expectation of such shareholder lawsuits if the stock does drop longterm. That is, make it easier to argue that people were unreasonably construing his rants. I don't think his intentions matter in terms of liability--they're supposed to be judged by an objective standard--but in as much as Musk has a history of this behavior yet is still a very successful businessman with successful ventures, Musk himself partly defines what's objectively reasonable behavior and what are objectively reasonable reactions to that behavior. Reasonable isn't always defined by how the majority of people behave; it can be defined by what it takes to find success for yourself and others.</comment></comment>


VJ / Live Coding Environment for Atom - <AUTHOR> https://atom.io/packages/glsl-livecoder <comment><USER2> I'm the author of this package, thank you jarmitage!

Glsl-livecoder is a GLSL runtime environment for Atom. When you write GLSL code in Atom, glsl-livecoder immediately evaluates it and shows the result on the background. It's just like GLSL sandbox or Shadertoy, but you can use autocomplete and linter by using existing Atom packages. Moreover, It supports Audio inputs , MIDI inputs, loading videos and images, etc...!!!!

Here's an example of VJ performance using GLSL livecoder.

[https://youtu.be/ome9OP9keCI](https://youtu.be/ome9OP9keCI)

Also, I wrote a tutorial on medium before.

[https://medium.com/@amagitakayosi/vj-live-coding-on-atom- gls...](https://medium.com/@amagitakayosi/vj-live-coding-on-atom-glsl- livecoder-329eec5462df)

Currently I'm improving the performance and adding features to switch settings easily. If you have any question, AMA on comments or GitHub.

Hope you enjoy it!!! :zap:</comment>


AI Uses Less Than Two Minutes of Videogame Footage to Recreate Game Engine - <AUTHOR> https://gvu.gatech.edu/ai-uses-less-two-minutes-videogame-footage-recreate-game-engine <comment><USER2> Quick! Apply it to 2 minutes of real video footage, so it implements real-life VR game engine!</comment>


How to Stop Procrastinating: A detailed list of anti-procrastination techniques - <AUTHOR> https://solvingprocrastination.com/how-to-stop-procrastinating/ <comment><USER2> Looks interesting. I'll try to get around to reading this later.</comment>


Saying Goodbye to a Sister - <AUTHOR> http://brianbailey.me/saying-goodbye-to-a-sister/ <comment><USER2> Losing someone close is really hard. I am not good at eulogies, but I lost my grandfather to cancer earlier this year and for some reason I wasn't able to function at all for the coming few weeks. I grew up in a joint family and he was a constant positive presence in my life growing up; but after moving away for school/college, I hadn't had much real-life interaction with him except for phone calls/holidays. As a recent college graduate, who was a few weeks into a new entry level job, I had to take a break because this was the single most depressing period in my life. I had never experienced death of a close relative or friend before this, and for some reason I never thought death could be that painful. I had imagining it akin to a really bad breakup, but it was much uglier and painful.

I think the single worst thing is coming to the realization that they are just gone. I can never again hug him, hear his him laughing, talk to him about the n number of awesome shared experiences, or just enjoy another moment with him.

I still haven't fully dealt with this as I am not sure there is a protocol for dealing with such events except picking yourself up and keeping your mind engaged other stuff till you don't feel that much grief. I guess another approach is to push grief into the background and celebrate the life lived. Good luck to the OP dealing with this loss.

<comment><USER3> I know this pain, and mine comes from a similar place. My grandma lived with my family for my entire life, and she was always there for me, sometimes before my parents. I didn't call her as frequently as I would have liked during college (or my parents, for that matter), but I have atoned for those sins, and got better as I finished school and started my adult, not-living-at- home life. After her first heart attack, I called her twice a day until she was home, then nightly since, with rare exception. We were both the night owls of the family, so talking to her was how I ended my day. She passed just over a year ago, and I still get overwhelmingly sad when I consider that every day is one longer than the the longest since I've talked to her. Saying I miss my grandma puts it in too easy a light. I keep an alarm set on my phone for the time of the night when I would call her. It's not the same, obviously, but it's a little time set aside to think of her.

I honestly don't know how to deal with it, either. I think being 29 before losing your first really close loved one is a double-edged sword. On the one hand, I got nearly 30 years with my grandma - time I wouldn't trade for anything. On the other hand, I'm a grown man who can't deal with death. I think you're right - a big part of it is just continuing to move forward. Because, like it or not, the world doesn't stop spinning, even though it feels like it just did. One last anecdote - when we knew grandma was in the hospital and probably never leaving, I went to pick up my cousins and take them to say goodbye. We stopped to get some flowers, and I remember looking at everyone at the store and thinking how could normal the rest of the world felt, whereas I felt like my world was ending. Alas, it doesn't. Sometimes you cry. Sometimes you laugh. But you never stop.

</comment></comment><comment><USER4> Quick tips:

\- You should choose when and where to talk about her and her death. See, people who know you will want to know how you are doing and how it all happened, or why you are not yourself lately. Or you hear from someone who doesn't know about your sister who says, "What's up with you these days". You'll feel like you have to tell them, including how you are doing with it. But you don't have to tell them. "I don't want to talk about that" is a perfectly good response. Pick and choose when to talk about it or you are allowing anyone you interact with the power to send you into a tailspin.

\- People will want to show empathy with you by telling you about the time they went through what they think was something similar. And yes, when the loss is similar, it can be a source of much increased mutual understanding and friendship with him/her. But usually it's more like, 'My grandmother died at age 87 so I know what you are feeling'. As you know, they do not (usually). They are just inexperienced in life. They mean well though. Again, I'd recommend "I don't want to talk about it". Feel free to interrupt early in their story.

</comment><comment><USER5> I've always wished I had had a sister. Most times I picture her younger, but Brian makes me reconsider. I wish I had had a sister like Brian's, and my best wishes go to him and family, this was a powerful piece and like a good movie it made me feel a part of it. Laura is exactly the name I have always wanted for my first daughter. I wonder if she'll cry on my shoulder when boys break her heart.

Relevant song[1], from the Flaming Lips' The Soft Bulletin album cited exactly here on HN on a previous thread for an article regarding the loss of a father. Coincidentally it was at the time my dad had a motorcycle accident of which he's still recovering. The feeling of being close to loss was real, and this song, and album, is now loaded with feeling for me.

[1] <http://www.youtube.com/watch?v=mzU6vinZwhc>

</comment><comment><USER6> first of all: i am so so so so sorry for you!!!

i have a older sister, and i guess i love her more then my parents, it would be the worth if she was gone. we are separated by five years, and we both in totally different things, but there is this connection between brothers and sisters which are stronger then everything else.

but there is a bad part about my comment, and that was more the intention i make this comment, and i already know i will get a lot of down votes, but: what the fuck has this do to on "HACKER NEWS"? it's not against you personally, but in the last weeks a lot of personal storys filling this page more and more, and i do not like this trend. i'm very ver sorry for this part of my comment! but it is bothering me since weeks.

but in the end i want to say again: i'm sorry for you i have a kind of an idea what it feels like, after my grandma past away 3 years ago.

<comment><USER7> It doesn't appear that Brian Bailey actually posted this here ... and we do occasionally support our fellow hackers here.

<comment><AUTHOR> You're right. I posted it here because I feel really sorry for Brian and wanted to share his words.

</comment></comment></comment><comment><USER8> I'm really sorry about your sister. Reminds me how "right now" is so important. I'm going to call my sister to say hello.

</comment><comment><USER9> <http://www.nickbostrom.com/fable/dragon.html>

<comment><AUTHOR> What is that?

<comment><USER9> A fairly obvious analogy, I thought.

</comment></comment></comment><comment><USER10> I also lost a sister very recently. If you ever want to talk, my email is: trevor (at) strieber (dot) org.

<comment><USER11> Does anyone else see an interesting idea for a start-up here??

<comment><USER12> I could see a volunteer, side project. But a startup? Monetization is going to be rather awkward.

      "Get support and share with others who have suffered a loss.
       Several plans available to support your level of grief:

       * Grief Lite: email one person, FREE!

       * Grief Pro: email and chat with 5 people, $19.95/month

       * Grief Enterprise: unlimited email, chat, and phone
         with up to 50 other people: $99.95/month

       Developers: REST (in peace) API also available."

<comment><USER13> Could work as a non profit like Watsi, people could donate to keep the site going if it helps them.

</comment></comment></comment></comment><comment><USER14> You might find the Meditations of Marcus Aurelius to be helpful in dealing with the grief and pain of dying, or at least confronting it. They Hays translation is worth reading: [http://www.amazon.com/Meditations-Translation- Modern-Library...](http://www.amazon.com/Meditations-Translation-Modern- Library-ebook/dp/B000FC1JAI)

Good luck.

<comment><USER15> I just happened upon this via HN Store [1].

I own several translations and have to recommend "The Emperor's Handbook: A New Translation of The Meditations" [2] most highly.

1: <http://www.hnstore.co/> 2: <http://www.amazon.com/dp/0743233832/ref=cm_sw_su_dp>

</comment></comment><comment><USER16> I was the youngest in my family and my older sister (2 years older) died suddenly when I was 16. Thanks for sharing this.

I still imagine that I'll bump into her one day, as if she never died and she had just gone off to college and gone on an adventure. It sucks, but talking about it, at least for me, does help.

</comment><comment><USER17> Sorry for your loss. That was a beautiful tribute. I think I'll go spend some time with my brothers.

</comment><comment><USER18> I lost my brother almost 3 years ago now. I still think about him every day.

<comment><USER19> I lost mine about 4 years ago. So sorry you had to deal with the pain.

<comment><USER18> Likewise. It's not something I'd wish on anyone, though seeing how bad it was for my parents put my own pain in perspective.

</comment></comment></comment><comment><USER20> I lost my sister a little over a year ago from cancer and can relate.

</comment><comment><USER21> RIP Laura, God bless her soul. May I ask how she passed?

<comment><USER22> The medical expense fundraising site he set up [1] mentions that she "passed away on March 29, 2013 after living with cancer for more than a year."

[1] [http://www.youcaring.com/medical-fundraiser/in-memory-of- lau...](http://www.youcaring.com/medical-fundraiser/in-memory-of-laura- bailey/50339)

</comment></comment><comment><USER23> Achingly sweet. Thank you for posting.</comment>


Bolt: A Practical Binary Optimizer for Data Centers and Beyond - <AUTHOR> https://arxiv.org/abs/1807.06735 <comment><USER3> Not to take anything away from this, it's great that such a tool is available, but Microsoft had this kind of technology 20 years ago, known as BBT - <USER2> used in some places, but overall systems moved to profile guided optimizations done by Visual C++ (an overall improvement over BBT). It is mostly focused on doing block/function placement optimizations to reduce paging and separate hot/cold code. Some info here: [https://blogs.msdn.microsoft.com/reiley/2011/08/06/microsoft...](https://blogs.msdn.microsoft.com/reiley/2011/08/06/microsoft..).

</comment><comment><USER4> discussions: [https://news.ycombinator.com/item?id=17350122](https://news.ycombinator.com/item?id=17350122) (173 points, 33 days ago )

other link : [https://code.fb.com/data-infrastructure/accelerate-large- sca...](https://code.fb.com/data-infrastructure/accelerate-large-scale- applications-with-bolt/?r=1)

</comment><comment><USER4> [https://github.com/facebookincubator/BOLT](https://github.com/facebookincubator/BOLT)

</comment><comment><USER5> Seems odd to have "data center" pitched here, when, as far as I can tell, it is really suitable for any good old large applications. Or does "data center" have some further implications that I'm missing?

<comment><USER6> Having our laptops finish a workload in 15% less time is nice. Running Facebook on 15% fewer computers is the power consumption of a midsized country. For them, a 1% improvement is a great day. 15% is winning the lottery. Every week. ;-)

<comment><USER7> It's worth saying that when tons of deployed clients are 15% faster, that's at a scale of high aggregate energy and time savings, too. But yes, companies tend not to care about that as long as their users machines can handle the burden of something less optimized. Good enough is good enough. For them it it makes economic sense, but logically it doesn't; to treat client side optimizations as less valuable at similar scales.

</comment></comment></comment><comment><USER8> > _We have also applied BOLT to GCC and Clang binaries, and our evaluation > shows that BOLT speeds up these binaries by up to 15.3%_

How is this even possible? Doesn't this mean that there's probably just some inefficient or unoptimized compiler settings?

<comment><USER9> The new optimizations are about code layout and it seems are based on real- world perf data being fed back into the compilation process. So it wouldn't necessarily be apparent to an initial compile what the hot code path is, but with that profiling information present you can arrange your binary in order to maximize hits on the code cache.

<comment><USER10> This sounds a lot like JIT compilation techniques, but applied to an already- compiled binary.

<comment><USER11> I would think it's closer to branch prediction but on a larger scale than just instruction pipelines.

I'm curious if it modifies the original binary.

</comment></comment></comment></comment><comment><USER12> Finally. When the tool was first announced, it was only described in a press release on Facebook's website: no GitHub, no arxiv.

Now it's properly released.

</comment><comment><USER13> So facebook runs Non-PIE binaries in production?

</comment><comment><USER14> Are there any Linux/x86-64 binaries somewhere? (Apparently my 16GB laptop is not enough to compile LLVM...)

<comment><USER15> Are you not using ninja? Both of my private machines have 16GB and I can compile LLVM without a problem.

<comment><USER16> I used ninja on my big desktop machine, not laptop, and half of the link targets were killed by the linux oom killer. Linux really became a joke.

Only ninja -j1 helped. My other llvm builds always succeeded the old way: cmake && make -s -j16

</comment></comment></comment><comment><USER17> Anybody knows if this also can help improve performance of language interpreters such as CPython?

<comment><USER16> Sure

<comment><USER18> If this supported non-PIE I'd try to use it on Anaconda Distribution in a flash.</comment></comment></comment>


Hangout: Becoming a freelance developer - <AUTHOR> A few weeks back I sent a survey to my developer friends (results below). I was surprised at how many are interested in learning how to become a freelancer. So, I asked 4 friends who are already freelancing if they'd join a Google hangout and share the story of how they got started. The hangout will be this Wednesday at Noon PDT. Please join us to learn how each of us got started freelancing.
RSVP to the hangout here https://plus.google.com/u/0/events/cdkkq1uei70k87ohiaq07sd4o7o?authkey=COmw4ImAtf-a2QE
Survey Results I had 17 respondents to my original survey (here is the survey if you'd like to take it: http://goo.gl/forms/LTAqtJcitT).
What do you DISLIKE about your current job as a developer? (multiple choice)
* 44% said "not enough actual coding." Other popular responses were "work is boring," or otherwise inefficient.
What do you want more of? (multiple choice)
* 75% said "freedom to work only part of the  year" * 56% said they want more interesting problems. * 44% said they want more money
If you are NOT a freelancer now, why not? (multiple choice)
* 67% I like the security of a regular paycheck & 401K * 42% I need the health benefits for me or my family
The surprising one was...
If someone made it EASY for you, would you work as a freelance web developer?
* 73% probably, yes * 27% probably not
Admittedly this question was not well phrased since a handful of the respondents are already freelancers or contractors. But still, this is a surprising percentage! <comment><USER2> I freelanced for several years then went back to a "regular" job for 3 years and couldn't take it so I am back freelancing for almost 2 years now. It's the best thing ever.

I got very lucky and found a great opportunity that lets me have the benefits of a full-time job and the freedom of freelancing. Basically, 40+ hours a week, steady work, 1099 setup, no benefits and the best part is that it is 100% remote. I don't have to worry about finding work since I always have work. The drawback is obviously I don't have any benefits so you have to pay for all that out of pocket - but if you do the math, it ends up being the same thing with the freedom of being 100% remote.

A few months ago, I decided to use my contacts to setup a consultancy and have 5 people billing now - if you are a developer and want 100% remote and steady work, you can reach me at eibrahim at gmail or you can fill out the online application at [https://devcamp.wufoo.com/forms/fullstack-developer- netnode/](https://devcamp.wufoo.com/forms/fullstack-developer-netnode/) \- there is no gurantee I can place you right away but I have a ton of work coming my way all the time. It's mostly full-stack dev work but lately I have been getting more and more mobile opportunities.

ps: right now this is for developers in the USA and Canada only but occasionally I get clients/opportunities that don't care about the geography.

<comment><USER3> What kind of markups are you getting on the people you are billing? I noticed in the wufoo form the rates are pretty low:

What hourly rates would you consider *

$30 to $40

$40 to $50

$50 to $60

> $60 (this position is not for you)

</comment></comment><comment><USER4> I was a freelancer for nearly 6 years, but eventually got tired of the inconsistent income and the type of work I was doing also got boring, as well as time and energy spent dealing with issues like invoices, taxes, accountants, etc.

One of the things I also missed was being part of a development team, where I could learn from others and work on projects that would be difficult for me to take on alone. Being a freelancer for so long, I also found my skills stagnating, and it was hard to try and pick up new skills when working on new projects that always had aggressive deadlines.

Fortunately, health insurance wasn't a problem at the time as it was available through my wife's job, but being older now and with a growing family, it's definitely something that is a much more important factor.

I've been in a regular job for just over 3 years now, and it's had both good sides and bad. Although being a freelance developer is not something that I particularly miss, I do want to be the master of my own destiny. For that reason, I can't see myself remaining an employee for the long term, though I'm not sure whether that will mean returning to freelancing or something else.

</comment><comment><USER5> "44% said Not enough actual coding" and "75% said Freedom to work only part of the year"

...these guys would be disappointed with freelancing :-)

First one is obvious (so many ancillary tasks and worries when freelancing). Second one sounds good... in theory.

<comment><AUTHOR> Ha, you're right - I didn't notice the contradiction. I guess we'd all like to work on absolutely fascinating stuff for about 4 hours a day.

<comment><USER6> That would probably be a better use of human abilities.

<comment><USER7> Right! And the rest of the work, like talking to the client, we can build robots for!

</comment></comment></comment></comment><comment><USER8> I like the idea of doing freelance work, but I've always had the impression the jobs were all web development, not very interesting, or required extreme specialization.

Is there a big market for freelance C++ work?

<comment><USER9> Agree. I also would like to start freelancing, but all the ads that I see are for web stuff involving Ruby/Rails or Javascript frameworks. Nothing involving back end work.

<comment><USER10> I hope I'm not being nitpicky, but Rails is a back-end framework, and (most likely) some of the Javascript frameworks you're talking about are also back- end frameworks.

</comment></comment></comment><comment><USER5> Yes, there is plenty of backend freelancing work too (such as data science/machine learning, as in my case).

Slides from my talk at this year's Berlin Buzzwords on this topic:

 _" So you want to be a data science consultant (or hire one)? 10 things you should know."_

[https://berlinbuzzwords.de/session/so-you-want-be-data- scien...](https://berlinbuzzwords.de/session/so-you-want-be-data-science- consultant-or-hire-one-10-things-you-should-know)

Will join the hangout if I can :-)

<comment><USER11> Is there a video online for the talk you gave? Some basic searches didn't yield anything but your slides.

</comment></comment><comment><USER12> I became freelancer 8 years ago, while being product manager of successful antispyware software, leading quite a big team spread over three continents. It was nice job, but I find myself to wake up at 5am, code for few hours, then go to work, hate to deal with politics, get back home and code for few more hours.

Then one day I found ad on job board: "Looking for programmer", there was nothing else than this, no description, just header and phone number. So I just ring the phone and the rest is history.

This was my first client and I still working with them today. It is old rusty Delphi 5 codebase. There is nothing fancy about this gig, but it is ongoing thing, the client pay on time and don't demand much. You find to appreciate jobs like this once you become freelancers and will want to stick with this profession for decades.

<comment><AUTHOR> Thanks for sharing your story. While I dislike doing little bits of work (couple hours here and there), it's great when the work finds you, and you're on good working terms. A couple of times, I've had a M-W-F setup (on site with a client 3 days a week) - for me that is perfection.

<comment><USER12> Well, I went full-time shortly after that and been freelancer ever since.

</comment></comment></comment><comment><USER13> I went freelance 5 years ago and that was one of the best choices of my life! A lot of coding, a lot of client management, a lot of things, but i wouldn't go back! It gives me the freedom to usually work remotely and that is a great win!

A lot of people will share advices on how to get jobs and how to manage life as a freelance, so i will suggest a different thing: it may be hard to work remotely and alone, so try to know some other freelance so you can have at least a skype call with them daily!

One of my best friend is a freelance web designer and this helped a lot!

This is me: [https://it.linkedin.com/in/albertoplebani](https://it.linkedin.com/in/albertoplebani)

</comment><comment><USER14> I went freelance in the beginning of the year. I like it so far. I like to be in control of my commitment to projects. That was tough to keep when I had permanent jobs.

I found a customer via contacts in my last job. What also helped a lot is that I did talk on some meetups in my area. I will try to join the hangout though it's 10 PM here in EEST.

'tis me [https://www.linkedin.com/in/t0mk88](https://www.linkedin.com/in/t0mk88)

I really dislike corporate culture and I'm glad to help anyone who wants to quit it. Feel free to ask me about stuff.

<comment><AUTHOR> Thanks @t0mk! I've noticed that devs who've had to be "in control of their commitments" do a much better job planning, estimating, and setting realistic expectations.

</comment></comment><comment><USER15> Will there be a recording of this somewhere? Would love to watch it but not available at this time.

In other news, I'm desperately trying to find some part-time freelance work. I'm a Python/Django dev with 4 years experience that leans a little more heavily on front-end. Ideally would like a mentor-type relationship where I can work with someone more experienced. If anyone has any leads or would like to chat, I'd be much obliged! [https://www.linkedin.com/in/pnichols104](https://www.linkedin.com/in/pnichols104) [https://github.com/pnichols104](https://github.com/pnichols104)

<comment><AUTHOR> I'll come back and post a link to the video afterwards. If I forget, email me using freelance /at/ adamloving.com

</comment></comment><comment><USER16> The Home Work podcast is a very useful resource for people working from home, including freelancers: [http://5by5.tv/homework](http://5by5.tv/homework). Been listening to it for over a year now.

<comment><AUTHOR> Thanks for the tip!

</comment></comment><comment><USER17> I just do both. I have my regular 9 to 5 with a big enterprise software company, and when I get home I just work on my freelance projects.

As long as there's no conflict of interest (there's usually none since the scope and scale are totally different), then it shouldn't be a problem.

The only issue is getting newer clients, currently I get projects/clients from word of mouth or from former colleagues. Of course I would want to do this full time since my regular job is mind numbingly boring, but it pays the bills.

</comment><comment><USER18> Is there any such thing as part-time freelancing? I have weekends and 2-3 hours a day that I can give. In total, I believe I can give about 20 hours for sure but I am not sure if that's something people like. What are your views on this?

</comment><comment><USER19> I've been a freelancer and now an agency owner for years now; in fact my entire career. I will gladly check into the Hangout if I can while in route to the Atlanta Ruby Users' Group meetup.

<comment><AUTHOR> Thanks @rietta!

</comment></comment><comment><USER20> The biggest reason I am not freelancing right now is I need a visa sponsorship (Tokyo), and I enjoy the company of other skilled employees and the occasional banter.</comment>


Apple Lossless Decoder in Coffeescript - <AUTHOR> https://github.com/ofmlabs/alac.js

<comment><USER2> devongovett/jensnockert: what was your experience with using CoffeeScript for such low level code? Did you need to consciously avoid certain CoffeeScript features that could negatively impact performance?

<comment><USER3> Overall positive, but as with any programming language, you have to be careful sometimes. For example, the for loop in CoffeeScript can be slow if you aren't careful:

        for i in [0...10]
          doSomething()

is slower than

        for i in [0...10] by 1
          doSomething()

because of the way it is compiled, so we always include the `by 1` as an optimization.

Another one is that if you have a function and the last thing in that function is a loop of some kind, CoffeeScript will try to return an array from that function collecting the results of the loop. So we explicitly put a return statement at the end of the function to avoid this and the performance penalties.

There are probably a few more to be careful of, but overall performance characteristics are similar to JS. I'm sure Jens has some thoughts too, but overall I think it was a positive experience.

<comment><USER4> This is the difference in compiled output for those examples:

      var i;

      for (i = 0; i < 10; i++) {
        doSomething();
      }

      for (i = 0; i < 10; i += 1) {
        doSomething();
      }

[http://jashkenas.github.com/coffee- script/#try:for%20i%20in%...](http://jashkenas.github.com/coffee- script/#try:for%20i%20in%20%5B0...10%5D%0A%20%20doSomething\(\)%0A%0Afor%20i%20in%20%5B0...10%5D%20by%201%0A%20%20doSomething\(\))

<comment><USER3> Oops, I should have written it using a variable instead... i.e.

      for i in [0...test]
        doSomething()

      for i in [0...test] by 1
        doSomething()

compiles to:

      var i;

      for (i = 0; 0 <= test ? i < test : i > test; 0 <= test ? i++ : i--) {
        doSomething();
      }

      for (i = 0; i < test; i += 1) {
        doSomething();
      }

the latter one being much faster because it isn't testing the direction the counter should be going all the time.

<comment><USER5> This is one of the grayer areas. After your experience writing this decoder ... would you prefer CoffeeScript to keep its loops that can go in either direction, or would you prefer loops to always iterate upwards, and have to be explicit if you'd like to count from "[100..1] by -1" ?

<comment><USER6> I've programmed in dozens of languages, and I can't think of another one where loops could automatically run either up or down depending on the start and end values.

Not knowing CoffeeScript well, when I see this code:

n = -10 for i in [0...n] doSomething()

I'd expect it to call doSomething zero times. At least that's what I'd expect in JavaScript or any of the other languages I've used.

<comment><USER5> I agree with you at least 40%, and that's originally how CoffeeScript behaved. Would you still feel that way if you had explicitly written:

        for i in [10..0]

I've opened a ticket to discuss this further: <https://github.com/jashkenas/coffee-script/issues/1952>

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I enjoyed reading this source, and will probably use your Buffer/Stream classes in a project I'm working on. Thanks!

<comment><AUTHOR> You're welcome!

</comment></comment><comment><USER3> See a demo here: <http://codecs.ofmlabs.org/>

</comment><comment><USER8> Perhaps I am missing something obvious here (very possible as I do not work with audio decoding) but the demo at <http://codecs.ofmlabs.org/> appears to playback the MP3 (not tested the ALAC file yet) too quickly. The site reports the MP3 as lasting 4:25 whereas manually downloading the track from the above website Winamp says the track is 5:14 long and playback is noticeably slower.

Is this by design or a bug in the code (or a bug in Chrome (16-stable) that I used to check out the demo site)?

<comment><USER3> Well technically it is a missing feature in Chrome that we tried to work around to varying degrees of success. The Chrome audio API has no way to change the sample rate and uses whatever the native hardware sample rate is. We didn't have time to finish implementing sample rate conversion in JS (but it is coming) so we cheated a bit by dynamically loading a different file based on some common hardware sample rates. It seems that sometimes Chrome reports the sample rate wrong or something though, and we have seen this issue at least once before and will be looking into it and reporting browser bugs accordingly. Rest assured that this was just a hack, and real sample rate conversion is JS is coming along soon! :)

</comment></comment><comment><USER5> @devongovett: Have you considered pushing the annotated source for this to your "gh-pages" branch? It would make for a great read.

<comment><AUTHOR> Would take quite some time annotating the source, not really our first priority. (We have more codecs on our hitlist)

But if someone wants to do it, I think both me and @devongovett would be ready to help out a bit.

(We usually hang out in #ofmlabs on freenode, if someone wants to speak with us)

</comment></comment><comment><USER9> Stop wasting your time by rewriting existing JavaScript implementations in other languages that compile to JavaScript!

<comment><AUTHOR> Hm..? The only ALAC implementations we know of is the Apple one (in C++), David Hammerton's one in C, and ours in Coffeescript.

</comment></comment><comment><USER10> Wow! Great work!</comment>


Update: Keeping Pinboard on IFTTT - <AUTHOR> Hello Pinboard Customers,
We've made mistakes over the past few days both in communication and judgment. I'd like to apologize for those mistakes and attempt to explain our intentions. I also pledge to do everything we can to keep Pinboard on IFTTT.
IFTTT gives people confidence that the services they love will work together. There are more services in the world than IFTTT can possibly integrate and maintain alone. We are working on a developer platform that solves this by enabling service owners to build and maintain their integration for the benefit of their customers.
The vast majority of Channels on IFTTT are now built on that developer platform by the services themselves. We made a mistake in asking Pinboard to migrate without fully explaining the benefits of our developer platform. It's our responsibility to prove that value before asking Pinboard to take ownership of their Channel. We hope to share more on the value of our platform soon.
I also want to address Pinboard's concerns with our Developer Terms of Service. These terms were specific to our platform while in private beta and were intended to give us the flexibility to evolve our platform in close partnership with early developers. We've always planned to update and clarify those terms ahead of opening our platform and we are doing so now. We are specifically changing or removing areas around competing with IFTTT, patents, compatibility and content ownership. The language around content ownership is especially confusing, so I'd like to be very clear on this: as a user of IFTTT you own your content.
I truly appreciate all of your feedback, concerns and patience. Helping services work together is what IFTTT does. We respect and appreciate the open web. This very openness has been instrumental in enabling us to build IFTTT and we fully intend to pay it forward.
Linden Tibbets CEO, IFTTT <comment><AUTHOR> Note, I received this email and do not work for IFTTT. I am just a user.

I'm also a user of Pinboard, and I love both services so was dismayed reading [https://news.ycombinator.com/item?id=11378278](https://news.ycombinator.com/item?id=11378278) a few days ago.

This looks to be Linden realising that the way it was handled, communicated and the impending deadline for Pinboard were mistakes and that he's putting it right.

I'm personally pleased he also addressed the content ownership question.</comment>


Godbolt: Compiler Explorer is looking for patrons to help with server costs - <AUTHOR> https://www.patreon.com/mattgodbolt <comment><USER2> I pledged to do so monthly. Hope it helps. It's a really cool tool.</comment>


Are non-smokers smarter than smokers? - <AUTHOR> http://www.reutershealth.com/archive/2010/02/23/eline/links/20100223elin001.html <comment><USER2> In other news: pipe and cigar smokers are found to be smarter than non- smokers.</comment>


A breakdown of coronavirus risk by demographic factors - <AUTHOR> https://www.statnews.com/2020/03/03/who-is-getting-sick-and-how-sick-a-breakdown-of-coronavirus-risk-by-demographic-factors/ <comment><USER2> What a shit article. Zero visualizations. Just fuck you.</comment>


Hybrid qubits solve key hurdle to quantum computing - <AUTHOR> https://phys.org/news/2018-12-hybrid-qubits-key-hurdle-quantum.html <comment><USER2> I wonder if they manage to build a practical device like this if some other problem will arise. I heard somewhere that there may just be an undiscovered law of information that forbids such a device from existing, kind of like how you can't build a device to measure a particle's momentum and position, due to the Heisenberg uncertainty principle.

(I may have messed up some of the wording there so please forgive me. Although the sentiment still stands, and I would appreciate any responses from those who are better educated on the subjects)

<comment><USER3> I like to think of it as similar to a slide rule. To get one more digit of precision you have to make it 10 times longer.</comment></comment>


Do you dread working with WordPress - <AUTHOR> http://www.distilnetworks.com/wordpress-development-with-vagrant/

<comment><USER2> A quote: "One of the reasons why I dread working with WordPress is the process involved to copy an existing site to another environment and have all the same content."

I hate to state the obvious, but that's a problem that HTML was designed to solve. The problem with HTML is that no one owns it and can't enrich themselves with it, but that's also its advantage.

I find it incredibly annoying when people voluntarily adopt a proprietary document protocol, then complain that it's not portable.

<comment><USER3> I think he is more referring to the portability of content within Wordpress. If I am using a platform to manage content, I'd like to think that I could easily port that content wherever I want.

<comment><USER2> > I think he is more referring to the portability of content within Wordpress.

If that's right, it's inexcusable. The idea that a proprietary for-profit protocol would be non-portable between two sites that (in principle) support the protocol is a bit hard to imagine.

> If I am using a platform to manage content, I'd like to think that I could > easily port that content wherever I want.

That would seem to be an implicit expectation, but maybe I'm being naive.

One of my perhaps unrealistic expectations about proprietary protocols and markups is that they should provide import and export paths to one or more widely accepted generic document formats. Most protocols provide an import path, but, for obvious reasons, fewer provide a way to export.

<comment><USER3> I agree, life would be much easier if they provided import/export paths, sadly we have to hack our way around it. I have used other plugins for wordpress before, like backupbuddy, to accomplish the same thing.</comment></comment></comment></comment>


How the U.S. tracked down bin Laden - <AUTHOR> http://www.usatoday.com/news/washington/2011-05-02-how-they-caught-bin-laden_n.htm

<comment><USER2> maybe this is plain offensive, but i find usatoday links are worthless. my buddy refer to it as 'my first newspaper' and I find it hard to disagree. empirically, it has a history of pushing a conservative agenda.</comment>


How to Use SQL and Lenses Data API to Explore Streaming Data in Apache Kafka - <AUTHOR> https://lenses.io/blog/2019/10/how-to-use-sql-and-lenses-data-api-to-explore-streaming-data-in-apache-kafka/ <comment><USER2> It's quite interesting how Lenses blends the streaming data fabric with the application layer!</comment>


What robotics investors say they're looking for in startup pitches - <AUTHOR> https://techcrunch.com/2017/07/19/heres-what-robotics-investors-say-theyre-looking-for-in-startup-pitches <comment><USER2> What are the properties of successful robot startups?

\- iRobot - made enough on military contracts to enter the vacuum business.

\- Kiva - new, low-cost approach to warehouse operation. Changed fulfillment industry. Bought by Amazon.

Those are about the only recent startups I can think of that made it.

Startups not doing too well:

\- Rethink Robotics - Rod Brooks' startup. Heavy on the hype, light on the profits.

\- Abundant Robotics - apple-picking machine. VC financing, yes. Production hardware shipping and being used, no.

In industrial robotics, the successes are all old-line industrial companies - Fanuc, Epson, Comau, ABB, and Foxconn.

<comment><USER3> Stupid question:

Could it be that the lack of manufacturing in the US (when compared to China) is hurting the robotics industry?

<comment><USER2> US manufacturing output is at an all time high.[1] (Finally back from the 2008 crash.) Much manufacturing is automated, but outside automotive, doesn't need robots. Mostly special purpose machinery. A pick and place machine for assembling PC boards is not considered a robot, although it has much the same parts as an industrial robot arm, including a vision system.

[1] [https://fred.stlouisfed.org/series/OUTMS](https://fred.stlouisfed.org/series/OUTMS)

<comment><USER4> US manufacturing output has had a boom because we include natural gas and oil as manufacturing output, not just because of automation.

<comment><USER5> I would argue that US manufacturing has had a "boom" because no other option existed.

When you find yourself at the bottom of a deep hole the only way to go is up.

That's what happened with the crash of 2008. See the chart posted by Animats, here again for convenience:

[https://fred.stlouisfed.org/series/OUTMS](https://fred.stlouisfed.org/series/OUTMS)

As an aside, I love it when politicians take credit for naturally occurring phenomena like this. Industry go pummeled during that crash and every single business worked hard to claw their way out of the ditch. And then politicians proclaim "The sun went down and we made it come up every morning for the last six years!". You couldn't make this shit up.

</comment></comment></comment></comment></comment><comment><USER6> Interesting tidbit around the _founders_ :

> Boniske said it comes "back to the founders" and that, in her view, an ideal > robotics founding team probably has three people, including the CEO who's > "going to be the visionary and drive the strategy of the overall company; > this person is going to be doing the fundraising and recruiting. Then you've > got the technologist who's going to go and build out the engineering team > and who ideally has a lot of robotics experience."

The third piece — and it's missing for a lot of teams, she said — is someone who can communicate the exact value proposition for the customer and speak their language.

<comment><USER7> Former colleague moved back to Iowa to work on an agricultural start-up. Given how prominently agriculture features in most drone pitch decks, I asked him what he thought of them.

"They're great! We check them out every time they come to town. Usually bring the kids, too."

"How do people like them?"

"They're nifty devices! Really futuristic."

"I mean when they use them."

"Use them? For what?"

"..."

"Haha, hell no. Those whippersnappers fly out here once a month at best. When I need something, I go to our local tractor vendor my family's done business with for generations."

</comment></comment><comment><USER8> China-based service-oriented robotics startup founder here. This is an interesting but very US-centric perspective... over here in China, I don't think it necessarily holds. What would be different? In my interactions with western and Chinese investors thus far, I haven't seen much emphasis on team makeup... most queries related to business model.

<comment><USER9> In my experience all investors say team is really important. However, they rarely prove the team, ask much about their experience or background.

I think it's probably code for "has done a startup before" and "I kind of liked them".</comment></comment>


Ask HN: Got celebrity to tweet about my project... - <AUTHOR>

she's going to tweet to her many thousands of followers sometime next week.
It's a PHP/MySQL website hosted on Dreamhost. I've never had to scale, and don't know anything about handling traffic larger than a few people an hour.
How should I prepare for this? <comment><USER2> Move to a host that will allow you to upgrade resources on demand. Shared hosting is a bad place to be if you think you're going to get slammed with traffic.

Either move to a VPS Provider who can scale you up to a dedicated server if necessary (i.e. VPSLink), or go with AWS (Amazon), which basically has unlimited scale, but may also have unlimited cost (at some point, it may be better for your dedicated server to go down than to spend $60,000 in a month on server resources). Of course, this is both a personal and business choice, and really dependent on how much promise you think the site has and whether you can use your traffic stats to raise some money and grow the business.

</comment><comment><USER3> How many pages/resources can you serve statically or from a CDN?

</comment><comment><USER4> turn down ttl on dns to a few mins to allow you to change to another host quickly.</comment>


Amber.js (formerly SproutCore 2.0) is now Ember.js (and released) - <AUTHOR> http://yehudakatz.com/2011/12/12/amber-js-formerly-sproutcore-2-0-is-now-ember-js/

<comment><USER2> How does this compare to other JS MVC libraries like Backbone.js?

<comment><USER3> I can't speak for backbone.js, but this looks a little more verbose than my favorite MVC framework; Knockout.js (<http://learn.knockoutjs.com/>).

<comment> andrewl-hn Especially considerring Knockout Model plugin that basically adds Backbone- style capabilities to KO models. Other notable plugins give easy bindings for jQuery UI widgets, Underscore support for collections and external templates:

<https://github.com/SteveSanderson/knockout/wiki/Plugins>

I'd also like to point out that in the upcomming release Knockout ads several nifty improvements: [http://blog.stevensanderson.com/2011/08/31/knockout-1-3-0-be...](http://blog.stevensanderson.com/2011/08/31/knockout-1-3-0-beta- available/)

My favorite are control flow bindings that let you write templating code right inside your HTML and not withing script tags. When you have to write markup inside a script tag you editor might get the whole autocompletion, formatting and syntax coloring wrong. And in past it was relly annoying for me. So having templates in HTML, not in script is really great.

One thing that helps a lot is that all bindings are defined inside data- attributes which keeps markup valid. Most editors support them well, too. Ember's double-braced template attributes are really weak choice in this regard.

And if you're worried about javascript bits inside data-bind attributes you now have an option to separate them via binding providers (see blog post above). The syntax is somewhat clunky but still workable and I suppose it can be improved.

Provided that Knockout has a vibrant community and growing support inside .NET world I think Ember has nothing to offer to make me switch.

And that's unfortunate. Today I see like most frameworks converges to some common ground. Knockout gets more features from Backbone. Backbone gets more features from Knockout (there's at least one bindings plugin for BB although it pales in comparison to Ko). And as far as I can see we as a JavaScript community reached the next base.

\- We started with simple Ajax libraries. \- Then we moved to widgets. \- Now we got MVP frameworks and think more about organizing our applications in general.

What's the next step? That's the most important question for me and for other JS professionals that I talked to at recent local conference. When I saw Yahuda's announcement I really hoped that he'd give us a clue. Instead we got another MVP variant and not a top one although a pretty solid.

I suspect that Ember still will get some users. Yahuda has dedicated fans (me included) and Knockout as something coming from .NET world has a somewhat hard time getting adoption among the general JS crowd. Maybe that's a good thing: two frameworks are very similar and can learn from one another. But I personally hoped for more.

Still, congrats on releasing the thing! Keep it up!

<comment><USER4> > What's the next step? That's the most important question for me and for > other JS professionals that I talked to at recent local conference.

Components with bindings IS the next step. Douglas Adams quote:

"The History of every major Galactic Civilization tends to pass through three distinct and recognizable phases, those of Survival, Inquiry and Sophistication, otherwise known as the How, Why and Where phases. For instance, the first phase is characterized by the question, 'How can we eat?' The second by the question, 'Why do we eat?' And the third by the question, 'Where shall we do lunch?'"

Whenever the topic of web app development has come up in the past 5 years or so, I always think of this quote. In the case of front end development, the questions are "Can we do this?" (CGI, asp/jsp/php), "Can we make this feel better?" (ajax, rails & co), and "How shall we structure our app?" (components, binding, widgets). This last phase only kicked of in earnest about a year ago and I'm still evangelizing the approach to even relatively up to date developers. They've heard of Backbone, for example, but haven't investigated and don't know how it applies to day to day work.

Going forward, expect to see interoperability concerns addressed. I've seen proposals for this in the form of html5 component model [1][2] and style tag's scoped attribute [3]. This provides a common ground for people to mix different libraries/components on the same page with a reasonable confidence that things won't break.

[1] [http://lists.w3.org/Archives/Public/public- webapps/2011AprJu...](http://lists.w3.org/Archives/Public/public- webapps/2011AprJun/1345.html) [2] [http://lists.w3.org/Archives/Public/public- webapps/2011AprJu...](http://lists.w3.org/Archives/Public/public- webapps/2011AprJun/1364.html) [3] <http://dev.w3.org/html5/spec/Overview.html#attr-style-scoped>

I also expect one of the KVO frameworks and it's associated widget system to "win" like jQuery has won DOM manipulation. What makes widget frameworks in the browser fun is that people have an expectation of being able to completely restyle everything and the only way I know of to do that cleanly without forcing a lot of fragile markup is with sass/less/stylus, so I expect to see those increase in popularity.

As a whole, web apps have been less sophisticated than equivalent complexity desktop and mobile apps. I've long believed that much of this is due to us re- writing a half-assed widget system from scratch for every project. This consumes a significant fraction of the time/money/effort allocated to a project which apps on other platforms can put into additional capabilities or polish. As such, I think the wide adoption of a KVO framework and widget library will be an inflection point for the quality and sophistication of apps in the browser. I'm looking forward to it.

</comment></comment></comment></comment><comment><USER5> One of Sproutcore's most attractive features was the Mac like UI it was capable of - <http://demo.sproutcore.com>

Ember.js does not show such examples at - <http://www.emberjs.com/examples>

Will such examples be showcased in the future or is it not a part of Ember.js?

<comment><USER6> Ember seems to be far stripped down from Sproutcore - specifically, it doesn't come with any kind of existing view resources or existing widgets, which is what enables those sorts of standard UIs. I suspect this is because Ember is targeted at web apps (where visual diversity is often an application requirement), while Sproutcore is going to be more focused on mobile apps (where a standard UI toolkit is not just nice, but expected).

<comment><USER7> That's true. Ember isn't trying to provide a set of UI widgets out of the box. I'm confident that Ember-compatible UI libraries will be released in the near future.

SproutCore 1.x isn't very mobile-friendly at the moment. The original reason the SproutCore 2.0 rewrite began was to make the framework lightweight so that it'd be more suitable for use on mobile platforms.

I've started a project, Ember-Titanium, that enables native mobile app development using Ember's runtime on the Titanium Mobile platform. The project is still in it's infancy, but I've already been successful at building apps with it.

<https://github.com/ebryn/ember-titanium>

</comment></comment></comment><comment><USER8> I foresee lots of confusion between Ember.js and Ender.js. I hope I'm wrong, because both projects look great!

<comment><USER9> The projects have very different goals so I don't think there will be too much confusion.

<comment><USER10> As does Amber Smalltalk, yet they changed the name due to that conflict!

</comment></comment></comment><comment><USER11> This is how I actually imagined Backbone.js before I actually used it.

</comment><comment><USER12> If the Ember.js authors keep the library focused, I'm convinced this could be a very important project. Having tried the popular MVC frameworks out there, and having lots of experience with KnockoutJS, nothing out there is a clear winner yet for just binding Views. We need a library that focuses only on this problem, and excels at it, with no knowledge of URLs, AJAX, routing, storage, or default widgets/styles.

</comment><comment><USER13> Unfortunately still lacking any progressive enhancement story to run their logic at the server and contribute to the world-wide web of linkable resources. Content imprisoned behind a 1990-vintage client/server architecture seriously sucked (there's only one client that works, it's terrible, and you can't even fix it) and I'm losing hope that we can escape a repeat of it.

<comment><USER12> What about the current state of the browser market (assuming that's what you mean by client) leads you to believe we're moving toward a single terrible client that we can't fix? We have several good browsers and engines on the market, half of them open source.

You know what's 1990-vintage? The set of HTML controls you have at your disposal, right now, even with HTML5, to send to the client to progressively enhance. At some point you have to draw the line. Require JavaScript and offer an API for the content. It'll be better specified than a bunch of markup anyway, which has a tendency to change at the whim of designers and marketing.

This library is supposed to be small and tightly focused. Providing progressive enhancement should be up to the developers using the library, not the library authors. Including it in the library would dictate too much about how things must work on the server, thus limiting the audience.

<comment><USER13> By "client" I mean the unhackable blob of minified js which is the one and only piece of code in existence that knows how to get any useful content out of today's revision of one server's undocumented protocol. APIs are the problem, they are displacing portions of the web which were far more reusable. They require custom clients (usually in js) per site, and the authors who aren't responsible enough to do progressive enhancement are the same ones who aren't capable of (or even interested in) maintaining a documented, stable, backward-compatible API for years. Markup changed but was at least mostly self-describing before it became acceptable to serve obfuscated data and repair it using code that end users shouldn't need and oughtn't blindly trust.

</comment></comment></comment><comment><USER14> Well, I'm off to write a library called Umber.js.

<comment><USER15> Imma gonna do one called UmberHulk.js

</comment></comment><comment><USER16> It's "released" but it doesn't have a license file yet. In reply to this issue on their github repo, they state it will use the MIT license, but I don't feel comfortable using a library until I know what the terms are.

<comment><USER7> License has been added. It's MIT.

</comment></comment><comment><USER17> Any non-trivial application will contain more than one code file. What is the Ember.js solution for this? Makefiles? And what about HTML? I'd like to organize those by sections of the app. How is that achieved?

<comment><USER7> I'd recommend rake-pipeline: <http://github.com/livingsocial/rake-pipeline>

Most of the Ember apps I'm aware of are using it.

Also, you might want to check out rake-pipeline-web-filters for additional functionality: <https://github.com/wycats/rake-pipeline-web-filters>

<comment><USER17> That looks pretty awesome, thanks. However I feel like this is something the framework should handle for the basic use cases. Learning rake-pipeline is probably worth the effort but should never be required. Developers should spend their time thinking about their app, not deployment details.

</comment></comment></comment><comment><USER18> Takes me 15 seconds to display "Hello world" when I run the index.html on the starter-kit... Either that runs a lot of tests or something is wrong...

<comment><USER19> The link to the jquery file is missing a http:. So it's taking so long because of a 15 seconds timeout.

<comment><USER20> That is just a protocol relative url.

See: <http://paulirish.com/2010/the-protocol-relative-url/>

<comment><USER19> Ok. But it still explains why it took so long to load for swah. Because when you run index.html from your hard drive locally it wil use the file:// protocol instead of <http://>

</comment></comment></comment></comment><comment><USER21> Congrats on the release. The name is quite nice too and already growing on me. I'm excited to try it out.

</comment><comment><USER22> Is there a mailing list?

Do you recommend any libraries for managing url state?

<comment><USER7> There isn't an official library at this time, but we've been successful with the SC 1.x routing library which has been ported for use with Ember.

<https://github.com/emberjs-addons/sproutcore-routing>

</comment></comment><comment><USER23> The link to emberjs.com seems to be broken. Just FYI :)

<comment><USER9> Thanks. It was a temporary glitch and is working fine now.

<comment><USER24> Not working for me either, with OpenDNS:

<http://i.imgur.com/6mS9a.png>

<comment><USER25> It's a DNS propagation issue. Didn't work with my ISP's DNS but worked fine with Google Public DNS.

</comment></comment></comment></comment><comment><USER26> How is this different from knockout?

</comment><comment><USER27> Does anyone actually care about this type of news?

<comment><USER28> Does anyone have to ask this question when they can simply observe the upvote count at their leisure?

;-)

<comment><USER29> It's not democracy if there's only an upvote.

<comment><USER28> Odd, that's exactly how we do things up here in Canada: You vote _for_ the candidate you like. There is no way to vote _against_ anybody.

Just like the HN front page, there is only room for the candidate who gets the most votes to win a seat in Parliament, so our democracy functions without downvotes.

How does it work where you live?

<comment><USER29> Getting only one vote is certainly not the same as being able to upvote many articles.

If each visitor to HN could only upvote one article a day then it would be similar.

<comment><USER28> And politicians aren't news articles. So how is it that you get to draw a parallel between Politicsand a web site when it suits the point you wish to make, but when someone retorts in kind, you claim they are more different than similar?

If what you are trying to say is that it's not democracy regrdless of how the arrows work, I agree. It's not democracy because it isn't a system of social governance.</comment></comment></comment></comment></comment></comment>


Google Delays Distribution of New Android Tablet Source Code - <AUTHOR> http://businessweek.com/technology/content/mar2011/tc20110324_269784.htm

<comment><USER2> I'm sure samsung, motorola, HTC have _nothing_ to do with this decision.~

<comment><USER3> Can you elaborate? Do you think they fear competition from non-OHA members?

</comment></comment><comment><USER4> Can we still call it 'open'?

<comment><AUTHOR> It's open, when they decide you can see it.

<comment><USER5> Apple's iOS is open when they decide you can see it, too.

<comment><USER6> Oh, I guess it was Phil Shiller that tweeted: <http://twitter.com/Arubin/status/27808662429#>

<comment><USER4> I think the point is that if you own a Xoom, that tweet is empty.

</comment></comment></comment></comment></comment><comment><USER7> When I read [http://crackberry.com/press-release-rim-expands- application-...](http://crackberry.com/press-release-rim-expands-application- ecosystem-blackberry-playbook-android-apps-playbook) makes lot of sense now.

</comment><comment><USER8> I'm guessing that this isn't at all about competition from Apple or RIM. I'm guessing that Google is taking extra time to go over all of the source code to make sure when they release it they aren't inadvertently helping out Oracle's current lawsuit against them regarding Java.

</comment><comment><USER7> Please change definition first: <http://twitter.com/#!/Arubin/status/27808662429>

</comment><comment><USER9> Unfortunately the author has the facts wrong..

There were other android releases where the opensource commit was delayed for similar reasons, in this case its to port parts of Honeycomb back to the phone branch and once that is complete than honeycomb will be committed to kernel.org.

Also note the opensource committers that work at OEMs do in fact have access..something author glossed over..as they commit code under the Apache License</comment>


How Facebook keeps 100 petabytes of Hadoop data online - <AUTHOR> http://gigaom.com/cloud/how-facebook-keeps-100-petabytes-of-hadoop-data-online/ <comment><USER2> Probably better to link to the original article instead of a summary: [https://www.facebook.com/notes/facebook- engineering/n/101508...](https://www.facebook.com/notes/facebook- engineering/n/10150888759153920)

</comment><comment><USER3> It's not 100PB of data; it's 100PB of physical disk space. Given the (standard) 3x replication and filesystem overhead, you're looking at about 30PB of data. Certainly a ginormous amount of data, that's for sure.

</comment><comment><USER4> If only the secondary name node did what one would assume a secondary name node is supposed to do, Facebook wouldn't have needed to invent avatar nodes, and even Hitler wouldn't have gotten so upset and fired that intern: <http://www.youtube.com/watch?v=hEqQMLSXQlY>

</comment><comment><USER5> This doesn't actually discuss _how_ Facebook manages and maintains their 100PB of storage, rather just talks a bit about the namenode SPoF issue. Disappointing article for sure.

</comment><comment><USER6> This gigaom article is horrible.</comment>