Will Startups Get Squeezed by a Tech Hiring Binge? - <AUTHOR> http://gigaom.com/2010/04/16/will-startups-get-squeezed-by-a-tech-hiring-binge/

<comment><USER2> Were start-ups squeezed by hiring in 2004-2007?

Joining a pre-funding start-up is a _huge_ decision which takes dedication, passion for and expertise in the company's focus. It's a lot closer to starting a company yourself than working for Google. Salary is not the deciding factor, engineers considering such a decision are very specific in what they're looking for. From the company's point of view, first non-founding engineer is an employee that can make or break a company and set the engineering culture. It's a mistake to take someone who's only there because he had nowhere else to go: the sort of people you want for that position are confident that they could get hired elsewhere, even in a recession.

On the other hand, funded early-on start-ups (i.e., post series A, but pre- revenue/follow-on funding) can afford to pay market salaries, unless they're hiring "warm bodies" which is again a mistake. The _big_ way to save is by hiring less engineers, not by paying engineers less. The way to make do with less engineers is to go for quality instead of quantity: you're always going to be paying top dollar for top talent.

<comment><USER3> "The big way to save is by hiring less engineers"

The big way to save is by hiring less _business people_. I've come to the realization that in today's startup climate, developers often add more value than business people, because a skilled developer, if interested and motivated, is able to eventually pick up the business side of things pretty well.

I'm finding this a wonderful economic climate for a single technical founder to bootstrap a startup (or two technical cofounders).

<comment><USER2> Good catch, I'd argue non-technical people should be as few as possible. The big way to save is by hiring less in general.

<comment><USER3> Oh, I also forgot to say that you made some _really_ good points.

</comment></comment></comment></comment><comment><USER4> Anecdote: I'm a software developer writing trading systems at the moment at a large bank, and I've known three people at my workplace who have interviewed at NYC area startups in the past year or two. All of them received offers from at least one of the startups they interviewed with, but only one of them took it, and this was during the period of the recession when morale at the bank was at its lowest.

I think there's probably going to be some squeeze on startups, but the people willing to work for a startup are a subset of all developers out there, so the effect won't be as dramatic as this article seems to be implying. There are plenty of developers, who probably would do great at a startup, simply won't take the risk.

<comment><USER5> Hasn't there been a lot of discussion about how people in this culture aren't likely to go for the startup culture? I can't assess it since I know nothing of the former, but the case for this sounded at least plausible to me.

ADDED: And then there's the risk of staying where you are. _Some_ people will realize that their job security isn't great to begin with, which changes the risk side of calculations for those not paralyzed by the situation.

</comment></comment><comment><USER6> At least in silicon valley, I don't think the tech sector was ever in a slump... companies left and right have been trying to hire people here.

</comment><comment><USER7> There are some of us out there that are actively looking for start-ups to jump to, I think a lot of top caliber guys look for start-ups to get involved with. But I have to agree the market is pretty hot right now, which is a good thing.

<comment><USER8> There are a large number of people that would dive head-first into a startup if it sparked their interest. I know I've been itching to join another one, so I've been bootstrapping a couple of ideas at once, seeing which one ends up getting better initial feedback (I've even scrapped one because after an elevator pitch I had a potential user go "So it's like X but better?" and I had the realization of "oh man this idea really does suck"). I've tossed a resume here and there, too, for interesting startups hiring the first couple of folks.

</comment></comment><comment><USER9> I thought this was conventional wisdom. Just a couple of months ago, we all kept hearing stories about how a recession/depression was great for finding cheap workers for a startup.

<comment><USER10> At least in New York, it's not panning out that way, unfortunately. This economy has been bad for startups-- maybe not as awful as for everyone else, but still undesirable.

The dramatically increased difficulty of getting money (clients or investors) is much greater than the discount (maybe 15 or 20%) at which you can now hire talented people. Also, real estate (which is disastrously expensive in New York) hasn't fallen fast enough, which is unfortunate but expected (real estate takes a long time to fall, even when money runs dry).

In general, awful times lead to conglomeration, not liberation and small-scale organic growth. People who have stable jobs are clinging to them, and those who don't have them are willing to take big-company jobs at a discount, but there isn't a huge rush of interest in pre-money startups. Many of the original European nobles (although, in practice, it was often possible to buy a title after the Renaissance) are the descendants of those who could offer protection (in exchange for slave labor) after the Fall of the Roman Empire.

<comment><USER5> Hmmm, many of the arguments for NYC not having a good culture for startups would seem to be even stronger in this sort of period ... but would that be true for other areas, especially ones with a good track record (well, Silicon Valley and Boston)?

Your point about _awful_ times is well taken, but I don't think we're there yet, and it's not clear to me we'll get there anytime soon. E.g. Japan's two Lost Decades aren't necessarily quite "awful times".

E.g. before we get to the Fall of the Roman Empire, where from what I'd read serfdom started for the reason you describe as a means to escape the exactions of the falling Western Empire (e.g. impossible taxation, a law that required people to follow the career of their father (to prevent escaping the former), etc.), we could look at the Great Depression, where at the time the USDA estimated 1/4 of the US was malnourished, which was confirmed by WWII conscription.

We'll see.

</comment></comment></comment><comment><USER10> No. A hiring binge will be good for startups.

Consider the rash of multiple liquidation preferences we've seen over the past 2 years. Are VCs hurting more now than in 2007? Not especially, since the money they're investing has been pledged years ago, mostly before the liquidity crisis. They're offering these awful terms because a lot of people are unemployed and desperate to get a paying job of any kind, so they have leverage. When the alternative to starting up is a $100k/year Google job, the "involuntary entrepreneurs" will vanish and terms like multiple liquidation preference and participating preferred will go back into the tarpit where they belong.</comment>


Show HN: UNK - <AUTHOR> https://tilde.town/~acdw/unk/ <comment><AUTHOR> UNK is a minimal static site generator with a built-in markup language (Less Hypertext) and templating engine in POSIX-compatible shell and awk. I was inspired to write it after reading "Write HTML in HTML" and other articles on web minimalism recently.

It's the first software I've felt comfortable releasing, and I'd love to hear any comments or feedback from the HN community.</comment>


Ask HN: Is there an open-source standard for resume entries? - <AUTHOR> Has there been any good portable, interoperable standard for defining the relationship between content and styling/formatting of a resume? I know on certain resume builders, you have a distinction between the content and style, but these don't seem to be portable across apps. Latex/word could seem like a good option, but you still need to copy/paste all of the info each time if you want to switch styles <comment><USER2> markdown to html to pdf has been very straightforward for me.

You can insert a css file in the html header to control section styling and fonts.</comment>


Google Gravity, replicated - <AUTHOR> http://mrdoob.com/projects/chromeexperiments/google_gravity/ <comment><USER2> When posting something like this, please explain to me what I should expect and why it is interesting, either here or on your blog or whatever.

What happens is namely that I get a page that looks like google.com. Big whoop. And considering that the URL contains the string "chromeexperiments" I didn't immediately realize that I had to open it in Safari instead of Chrome to see the effect.

For others in the same pickle: The effect is that the DOM elements fall down, as if there is gravity.

<comment><USER3> Works fine here on Chrome for Mac.

<comment><USER4> And Chrome for Android. I was surprised.

</comment></comment></comment><comment><USER5> Nice effect!

In this, the motion and positioning are somewhat arbitrary/random. (Well, later query results pile on top like sediment, but it does not otherwise appear that the acceleration/velocity or start/end positions are indicators of result type, relevance, etc.)

My guess is that with the rising ease of animation on the web, motion (and changing scale/rotation/etc) will increasingly be used as a _substantive_ indicator -- not just a transition or flourish. It will give extra hints of the underlying values or data structure. For example, the most relevant search result might wiggle a little... or results that tilt or vibrate in varying directions might subtly hint at ranking according to a secondary scale.

Of course this can be overdone to the point of obnoxiousness... but sprinkled in, maintaining a high data-motion ratio (like Tufte's data-ink ratio), such animated text will seem natural to the screen medium.

<comment><USER6> > the most relevant search result might wiggle a little... or results that > tilt or vibrate in varying directions might subtly hint at ranking according > to a secondary scale

This was somewhat possible via a <blink> tag back in 1996 or so.

</comment></comment><comment><USER7> The most interesting effect happened when I entered in search terms. If the search box was focused on page load, that "feature" would be more discoverable.

</comment><comment><USER8> This is really old, created in 2009/03/18. You an also use: gravoogle.com or gravigoogle.com to get to this page. He also created the Google Sphere a couple of months later, though that one has never been updated to the new design: <http://mrdoob.com/96/google_sphere>

</comment><comment><USER9> This never ceases to entertain me. I only wish I could do something like that some time.

</comment><comment><USER10> If all it takes to get on the HN front page is to post Three.js demos...

<comment><USER11> Have you noticed that these awesome experiment "demos" come from the creator of three.js ?

</comment></comment><comment><USER12> Wow, pretty impressive tilting that around on an iPhone.

<comment><USER13> The same can be achieved with MacBooks for those of you that don't know. (I'm not sure if there are other laptops that support this.)

EDIT: I just noticed this won't work in Safari, but it will work in Chrome.

<comment><USER14> Not working in Chrome here (Chrome 22; OS X 10.8.2).

</comment></comment></comment><comment><USER15> it seems you can even drag and play with the google logo...nice :)

</comment><comment><USER16> Nice work! very entertaining. Now I wish google use it:-)</comment>


A look at JavaScript generators - <AUTHOR> http://code.martinrue.com/posts/a-look-at-javascript-generators

<comment><USER2> thanks for the post, generators are hard to grasp indeed, btw here a funny quote by @substack: [https://twitter.com/substack/status/342761056390766592](https://twitter.com/substack/status/342761056390766592)</comment>


Java Security Hole - <AUTHOR> https://www.tbray.org/ongoing/When/201x/2014/06/26/Java-Crypto-Sucks

<comment><USER2> I submitted this to [https://cryptanalys.is](https://cryptanalys.is). Its like HN but for crypto-savvy bitcoin geeks. Nice find though, thanks for the share!</comment>


Show HN: Matrixprofile-ts – A Python library for timeseries motifs and discords - <AUTHOR> https://github.com/target/matrixprofile-ts <comment><USER2> This blog post[1] from the developer helped me to understand this better. It's linked on the github page, but I wanted to provide the link for more direct clarity.

 _Astonishingly, we can process 20 years' worth of data, sampled every five minutes, in less than 20 seconds._

That sounds quite promising.

[1] [https://tech.target.com/2018/12/11/matrix- profile.html](https://tech.target.com/2018/12/11/matrix-profile.html)

</comment><comment><USER3> Thanks for publishing!

I'd love to hear more details about how this is used in production. For example, if you have an anomaly that occurs only twice in a long dataset, the two anomalies would match each other and would have a low matrix profile value and be considered equally normal as a pattern that recurs thousands of times, correct?

I would normally think of an anomaly as a point in a low density region of space, but Matrix Profile seems to have a more strict definition as a point that has a large distance to its nearest neighbour - is that fair?

I'm also interested in your process for setting the parameter of the subquery length. Do you have to already know something about the expected length of an anomaly/motif, or do you sweep over multiple values?

How does this tie into alerting? Do you set a threshold on the matrix profile value that would fire an automated alert? Or is this used more as an offline tool to explore the dataset?

Minor nitpick: on the Target blog post, Prof. Keogh's name is spelled wrong (as Keough)

<comment><AUTHOR> The nice thing about how the Matrix Profile is built is that you can slice up different regions of time to focus on your use case. To build the MP you start with an NxN matrix that lists the distance between every point (or technically N-m+1 x N-m+1), then find the overall closest distance for each point. However, we've found that first "updating" the NxN matrix allows you to do analyses like your two anomaly example.

In that case, you'd create a parameter "w" that specifies the boundary between when two matching points are a pattern, or if enough time has elapsed so that they should be considered two anomalies. In the NxN matrix, for the ith row you'd then set every value outside the i+w/i-w boundary to infinity. In that way, the resulting Matrix Profile would account for your situation.

Due to the algorithm's speed we do often sweep over multiple values, but try to use domain knowledge where we can. And for alerting, we sometimes have labeled data that we can calibrate the threshold to, but often times that's a matter of customer trial and error.

<comment><USER4> You say that the algorithm is fast, and the literature certainly points to this too but I tried the python implementation (linked here) on some audio data sets. 1 second of audio at a reasonable quality is 44.1k data points and it was taking minutes to process this data.

I tried an R implementation which was multi-threaded and a lot faster, but still the algorithm took ages to test lots of different window sizes and data sets.

<comment><AUTHOR> That's odd, we've definitely processed larger datasets much quicker than that. Feel free to raise an issue on Github and we can take a look.

<comment><USER4> Just to advance my previous comment; right now the most interesting feature to me is the motif detection, however, the motif's are always incredibly short (or a fixed size?). Please excuse me ignorance in this regard, I'm not too versed in the algorithm. Is there any use cases where you have looked at longer motifs?

<comment><AUTHOR> There's some interesting work around multi-month seasonality that covers what you're talking about, but Eamonn Keogh would probably have a better answer that I :). Also, in regards to your performance issue, did you use the pip version or the code directly from Github?

<comment><USER4> I used the pip version.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> See also the tutorial slides available here [https://www.cs.ucr.edu/~eamonn/MatrixProfile.html](https://www.cs.ucr.edu/~eamonn/MatrixProfile.html)

</comment><comment><USER6> Interested folks may also want to check out the Python library nupic for streaming time-series analytics [1] and anomaly detection [2].

[1] [https://github.com/numenta/nupic](https://github.com/numenta/nupic)

[2] [https://www.sciencedirect.com/science/article/pii/S092523121...](https://www.sciencedirect.com/science/article/pii/S0925231217309864?via%3Dihub)

</comment><comment><USER7> It seems like the method assumes stationarity, can anyone comment on how this might be useful if one has brown spectrum?

It also seems like it requires some normalization of the data, this should counted as an effective parameter of the method.

In any case, it'd be useful to a GLM with these profiles against bug or outage reports, log rates etc.

</comment><comment><USER8> It is possible that two occurrences of the same motif can overlap. And It is possible that two different motifs can overlap. Lets see both cases, in string analogs. We will start with the second case, using an example from John Cleese…

"…itself…and hence the very meaning of life itselfish bastard, I'll kick him… selfish…" Here there is a motif "itself" and there is a motif "selfish". Note that one occurrence of each motif appears overlapping in "itselfish". \--- Now for the first case: "….soihsehihrhewCOMICOMICireoqiwwherhqwe…"

Here we have a motif "COMIC", but they share a letter, the central 'C'. We can allow motifs to share more letters, but they cannot share ALL letters, that would be a trivial match.

The matrix profile has a simple parameter (the exclusion zone) that lets you control how much overlap you want to allow.

<comment><USER9> Assuming this to be the reply to my question:

I probably was a bit imprecise but what I want to know is if there is a way to apply this to data that are possibly in a superposition and overlapping meaning that you only see the sum of the events. For example if one wants to analyze a changing electric or magnetic field.

Nevertheless, the points you mentioned are something I did not think about at first, interesting once again.

</comment></comment><comment><USER10> Thanks for making this available! As someone who also has some TS analysis to do, I appreciate the fact that the code is available and in Python!

I am curious: are you affiliated with the UCR people? What's your opinion on Keogh's claims of the matrix profile making many TS problems easy or trivial?

<comment><AUTHOR> I'm not affiliated with UCR, though I am a product of the UC system :)

I agree with Keogh that Matrix Profile can help solve a very wide range of problems, but you usually have to go a little bit deeper than just calculating the topline Matrix Profile. A good example of this is that if you calculate the Matrix Profile for something with daily seasonality (say, in-store retail sales), you'll see the same daily pattern in the Matrix Profile. The straightforward fix for this is to normalize by time window (say, only compare the Matrix Profile at the same time each day).

</comment></comment><comment> bra-ket Good tutorial: [https://www.cs.ucr.edu/~eamonn/Matrix_Profile_Tutorial_Part1...](https://www.cs.ucr.edu/~eamonn/Matrix_Profile_Tutorial_Part1.pdf)

</comment><comment><USER11> Thanks for making this available.

Slight beginner question pertaining to the anomaly detection with STAMPI example: How exactly do the graphs showcase a "detection" by the Matrix Profile?

While the signal graph is clearly out of bounds (100% above last upper bound), the relativ Matrix Profile's "spike in value" fits perfectly within the bounds of that graph.

<comment><AUTHOR> Yeah, this is actually a good example of why it's important to add a bit to the raw Matrix Profile. The point is anomalous with respect to the pattern preceding it (the "sawtooth"), so in this case one needs to consider the whole Matrix Profile. It's a good callout in that the graph isn't a complete anomaly detection system; it more demonstrates how a single anomalous point can impact the Matrix Profile value.

<comment><USER11> Great, thanks for the context!

</comment></comment></comment><comment><USER12> Can this be used for multivariate time series? If so, do you have an example?

<comment><USER13> Would this be along those lines? [https://www.cs.ucr.edu/%7Eeamonn/Motif_Discovery_ICDM.pdf](https://www.cs.ucr.edu/%7Eeamonn/Motif_Discovery_ICDM.pdf)

<comment><AUTHOR> Exactly

</comment></comment></comment><comment><USER9> Thanks, very interesting!

So what about superpositions of events i.e. two motifs overlapping, anyone any thoughts on that?

I guess this just means a lot more swiping of observed patterns over the timeseries and thus being somewhat slow.

</comment><comment><USER14> Should the URL maybe be changed to [https://github.com/target/matrixprofile- ts](https://github.com/target/matrixprofile-ts)? I'm interested in the code, not in the "stargazers".

<comment><AUTHOR> Shoot, sorry about that! Definitely a typo.

<comment><USER15> Also, it seems you've mispelled Eamonn Keogh's name and got 'Keough' instead.

<comment><AUTHOR> Thanks for the heads up! We've made the correction.</comment></comment></comment></comment>


What does an innocent man have to do to go free? Plead guilty - <AUTHOR> https://www.propublica.org/article/what-does-an-innocent-man-have-to-do-alford-plea-guilty <comment><USER2> I have first-hand experience in this area. Someone close to me was accused of a crime she didn't commit. The police officer was hell bent on arresting her on the worst possible charge. At her initial hearing, the public defenders were flippant and detached, and generally unhelpful. After she hired a criminal defense lawyer, he more or less forced her to take a crappy plea deal that he negotiated (and made the prosecutors look like winners). If she did not, it would mean tens of thousands of dollars to defend herself.

The flaws I personally witnessed through the ordeal:

1\. The police have arrest quotas, and enormous pressure to "make the arrest" regardless of the cost, or whether the person is actually guilty.

2\. Criminal defense lawyers love the system as-is and will fight to protect it. More arrests mean more business. An absolute worst conflict of interest that you can imagine.

3\. Public defenders will do the minimum amount of work, and will always strong-arm you to take a plea deal.

4\. The whole system is rigged against you. You are guilty the moment you first enter the court room. Nobody cares whether you are really guilty or not - judges, lawyers, prosecutors, clerks, cops.

5\. The worst part of all - there is a strong groupthink among these power players. They wholeheartedly believe they are living gods, protecting the world from societies ills.

My hope is that one day there is true criminal justice reform. The fact that America has the largest incarceration rate is a red flag.

<comment><USER2> I want to extend my comment. The big takeaway from all of this is that to beat the system, you need to be prepared to defend yourself at all costs, to the very end. The system depends on everyone taking plea deals. It's a well-oiled machine where by taking the plea deal, everyone wins but you. The defense lawyer made his money, the prosecutor gets their "win". The judge looks "tough on crime" for their next election. The cop gets a plaque for locking up lots of people.

My advice: Save some money. Just like a car accident, or some health or other emergency, it's best to be prepared with some kind of emergency fund.

<comment><USER3> Does anyone know if there are insurance policies for this? Something like life insurance where you pay monthly and if you need a defense attorney because you are accused of something you will receive a capped sum of money for that purpose.

<comment><USER2> Funny you ask. I looked into this very thing when I became involved in this situation. There are pre-paid legal services like LegalShield, but most will only cover 20-25% of the cost. This represents a possible startup opportunity IMO.

<comment><USER4> I feel like you'd suffer heavily from adverse selection.

<comment><USER3> You mean folks who already decided they will commit crimes and take out insurance for "free" money?

That's a good point. This is where working with experienced actuaries to build risk models will be important. This idea would not be a tech startup per say. Just a good 'ol insurance policy with a shiny iOS app wrapper :)

<comment><USER5> Yeah, I could see this turning into a nightmare scenario where you waive privacy rights and carry a tracking device everywhere so they know you have an alibi. Sort of like how car insurance companies offer those plug in things to monitor your driving habits to lower your premium.

<comment><USER6> Has this already occurred? Has anyone been able to use their phone's location history for their alibi? The data exists. Isn't this what subpoenas are for?

<comment><USER7> It's not the best alibi since your phone isn't physically attached to your body. Someone intending to commit a crime can easily drop their phone somewhere else to conceal their true location.

<comment><USER8> That's quite a complex plan, especially if the phone in question is making http requests and taking calls.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I often think there should be a superhero archangel comic character that is a ruthless defender of justice. I don't understand the mentality of prosecutors, nor the judges, public defenders and others who are also complacent in an evil system.

I have had three encounters with law enforcement, the first ended in similar fashion to this story. I was charged with a crime I didn't commit which happened to occur on video.

After 18-months, and threats of serious felony charges, I refused to accept a plea. I asked my lawyer if it was illegal to plead guilty to a crime I didn't commit and he said it was.

The prosecutor then says, "the state moves to drop the case citing lack of evidence". Again, the crime (theft) was recorded on videotape and two other guys I didn't know clearly stole the items involved. I won but the court wouldn't actually let me win.

Another time I was caught in an unfortunate incident where a security guard pushed me into a street. I was tackled, tasered, later choked, threatened to be killed and then powerslammed head first on concrete by Detective of the Year, Glenn A. Ritchie, of the Broward County Sheriff's Office.

Ritchie charged me with non-violent misdemeanors and then a day later, alleged felonies in a contradictory and clearly false 2nd police report. I spent 34-days in jail until the charges were non-filed but not until the felony was refiled as a misdemeanor, sent to the wrong address, resulting in a still standing capias warrant for my arrest.

The system is flawed. People who work in the courts, especially in major cities, are not to be celebreated but derided. It's an insane system of high bails, boilerplate plea deals and cold indifference.

<comment><USER10> A mentor of mine who used to work for a government agency once told me something that I hadn't really appreciated until recently. To paraphrase, sometimes the best way to change a system that is flawed is to work from within. It's harder, sure, since it takes time to get enough power to make effective change, but it's an idea nonetheless.

<comment><USER11> Obligatory New Yorker cartoon: [https://condenaststore.com/featured/he-feels- he-can-do-more-...](https://condenaststore.com/featured/he-feels-he-can-do- more-good-working-alex-gregory.html)

Out of curiosity, are there good examples of fundamental/systemic flaws -- where it's not that the system needs to be fixed, it's that a _new system_ is needed -- being fixed by people working within the system? The success rate of violent, armed revolution is low, but it has produced some concrete successes (e.g., the existence of the US and more generally the fall of monarchy).

<comment><USER12> The US is a weird example of an armed revolution because it was a colonial revolt largely by people who already had power and were part of the colonial governments. The layer of government that was being scraped off was relatively thin, locally. For example, both Washington and Jefferson were in the Virginia House of Burgesses, and they're just the first two I googled to find out the details of their pre-Revolutionary political careers.

If the Confederacy had succeeded in seceding, it would have been a very similar revolution - the state governments on down would remain intact, with just a little bit at the top being rearranged. I'm not sure I could name a third, similar armed revolution off the top of my head; most of the ones I'm familiar with involve charismatic outsiders burning down the existing institutions and starting over fresh.

<comment><USER11> That's a good point - the leaders of the American Revolution were already "working within the system," they just _also_ led a violent revolt. I think there's a good point to be made that that's one of the best ways to make sure that you can successfully burn the existing system down and put what you want in place.

</comment></comment></comment></comment></comment><comment><USER13> We need to reinvent our criminal justice system. The wrong people are punished.

If you get arrested the best thing is if you are clearly wrong rather than innocent. Trying to defend yourself will only get you in four times more trouble. It appears Judges will through the book at people for having a trial by jury.

Plea Bargains are also given to criminals when they are caught red handed on video camera.

My adopted children's mom was murdered with a baseball bat by one of my son's biological father. He then knocked on my door at 8 AM but thankfully I was out of town with his biological son. He got 20 - 40 and can have parole in 16.

Then I have my friend accused by someone with zero evidence except a changing accusation over 9 months. He was offered 18 months I begged and even cried telling him to take the deal. "Why should I take the deal when I never did anything wrong?" 18 month plea became 12 YEARS!

<comment><USER14> the issue is its impossible for the state to afford to provide a jury trial to everyone that is currently eligible. A trial has >5 paid professionals involved, plus the jurors, there just isn't enough time or money to process the case load.

the courts/prosecutors, out of necessity, have set up a shadow system of pressuring most defendants into plea bargains based on the relative strength of their case, which would be fine except the rules around this are weak and its ripe for abuse by the lazy or career/politically motivated.

At some point we'll need to admit this and draw up a better system for minor felonies.

<comment><USER15> I wonder how much we could free up the courts if we stopped wasting time on useless laws?

Example (that is drenched in personal opinion): How much time would we save the courts if we stopped prosecuting people for personal drug abuse?

<comment><USER16> It's an appealing story to think that the main reason the courts and prisons are so overburdened is personal drug use. Since most (of us) agree that rehabilitation or laissez-faire is better than imprisonment, we get to solve another huge problem by adopting our preferred solution.

Unfortunately, they're not particularly complicated cases, and drug offenders only make up like a sixth of the prison population. So, it'd help, but the USA would still be a huge outlier internationally, let alone among developed Western countries.

<comment><USER15> > It's an appealing story to think that the main reason the courts and prisons > are so overburdened is personal drug use.

I don't believe this at all (simply due to lack of evidence), which is why I phrased it as a question. Additionally, it's just an example, in which I tried to be clear that my personal beliefs make me biased in. Feel free to substitute your own "useless prosecution" in it's place |;)

That being said, 1/6 seems like a pretty hefty amount.

</comment></comment></comment></comment></comment><comment><USER17> The West Memphis Three (of whom Paradise Lost) was about entered Alford pleas.

[https://en.wikipedia.org/wiki/West_Memphis_Three](https://en.wikipedia.org/wiki/West_Memphis_Three)

Here's why prosecutors seek it:

 _As part of the plea deal, the three men cannot pursue civil action against the state for wrongful imprisonment._

<comment><USER18> This should be upvoted because it's the key in this whole thing. It's a complete cover-your-ass move that attempts to hide the entire thing as quickly and easily as possible.

And if you think about it.. if they _really_ thought this person was a murderer, letting them out would not be on the table.

Personally, I believe that if a prosecutor wrongly pursues a case, hides evidence, whatever and gets a conviction. When the sentence is overturned, it should be applied to the prosecution. It might teach some respect for the power they're throwing around.

* Yes, I know that won't work. :(

<comment><USER17> It's interesting that politicians make things illegal without funding the prosecution and imprisonment that comes as a result of making things illegal. I read somewhere that it costs up to $245K for a state to try a case in court.

In Florida, they actually charge the defendant the cost of prosecuting him. What the hell?!

[https://www.lawserver.com/law/state/florida/statutes/florida...](https://www.lawserver.com/law/state/florida/statutes/florida_statutes_938-27)

</comment></comment></comment><comment><USER19> The major issue with our justice system is that it is connected to a large portion of the economy. Sending people to jail, and making them pay fines generates money for a lot of entities. Until this is remedied the poor will continue to be treated as fuel for the legal machine.

If you are poor and charged with a crime you cannot afford a good attorney and you will more than likely be forced to plea and get either fined or jail time. Once you have been convicted your upward mobility will be retarded and the cycle will repeat.

On top of that, the bail system is used to enforce this cycle. A poor person is arrested, and bail is set at $5k. They cannot afford it so they sit in jail awaiting trial. They will plea guilty out of desperation just to get out of jail and try to get back to work to support their family. (Guilty plea does not necessitate prison)

The whole system is rigged to punish the poor and allow the rich to purchase a get out of jail card.

</comment><comment><USER20> Just recently on TAL[0] was a depressingly similar case (from 1980); a kid is accused of a murder he did not commit by a pathological liar (the only "witness"), and who, not seeing the logic in admitting guilt for something he did not do, is therefore not eligible for parole later down the road:

[0][https://www.thisamericanlife.org/radio- archives/episode/282/...](https://www.thisamericanlife.org/radio- archives/episode/282/diy)

The 15 year old who did commit the murder was actually caught too, and also prosecuted at the _same trial_ , but he would not take his own plea deal, which would have freed the innocent accused.

edit: some grammar.

<comment><USER21> I remember that episode. It's mind boggling that you have all these people in the justice system going through their procedures but nobody does anything when something goes blatantly wrong.

<comment><USER20> The police and prosecutors in that case are explicitly to blame for basically being lazy and forcing the first suspect they found to be the one they prosecute, irregardless of the evidence which would not support their claim.

</comment></comment></comment><comment><USER22> "Ninety-seven percent of [US] federal convictions and ninety-four percent of state convictions are the results of guilty pleas."

[https://www.themarshallproject.org/2014/12/26/plea- bargainin...](https://www.themarshallproject.org/2014/12/26/plea-bargaining- and-the-innocent#.kS7dr5qFV)

Definitely time to get the lawyers OUT of government.

<comment><USER23> While your link raises a number of interesting arguments, that statistic doesn't stand by itself.

By and large, the vast majority of people that appear before the courts _are_ guilty. If the guilty/not-guilty split were 50/50, it would indicate completely indiscriminate policing.

So, to make a determination about the false-guilty pleas, we'd need some data those in particular. That is to say, that statistic combines true-guilty and false-guilty, so you can't make an argument that too many people are forces to plea guilty. At least with that statement alone.

<comment><USER22> True. That invites the question, can we know what proportion of the prosecuted are guilty? I think we can, but we would need to hire a pool of people to secretly serve as test subjects -- to commit a crime (or not) then be charged for it (or not) and tried for it, and only reveal their true status after their case reached a verdict.

Only then could we get a good idea how fair the legal system really is. The invention of such a clandestine "Justice League" would be a pretty interesting way to measure whether any local or national police/justice system is fair and effective.

</comment></comment></comment><comment><USER21> I thought that's pretty much standard procedure for low level drug offenses: "please guilty and get only a few years or go to trial and risk 30 years". The rational decision is most likely to go for a few years and not risk the 30. In my view plea bargains should be abolished and everyone should go to trial.

<comment><USER24> But very few go to trial because the courts cannot afford to try that many cases. So, like most social issues, where does the money come from?

Edit: I want to be clear. I agree with your point, but observing the obvious roadblock to implementation.

<comment><USER20> The Eighth Amendment requires that citizens be given a speedy and public trial.

Very few go to trial because of false-carrots-on-a-stick plea deals to throw someone away without the trial, because the prosecutors know the trial may not go for them.

I wonder if it could be argued that plea deals deprive a citizen of their right to a speedy trial, and are therefore unconstitutional?

<comment><USER25> Some amendments are more strongly enforced than others. Also, it's the 6th that's a speedy trial. The 8th is the equally-ignored excessive fines and punishment.

At least the 3rd is still going strong!

<comment><USER20> Oh whoops I read them out of order in the list talking about the drafting of The Constitution. It may have been the 8th in an original list but two below it were not ratified. I am not worthy!

</comment></comment></comment></comment></comment><comment><USER26> Our legal system is a giant pile of shit, and anyone who thinks otherwise is either woefully misinformed or trying to line their own interests.

<comment><USER27> The proper way to use it is to be rich. The justice lady might be blind but she can hear the sound of money. /s

</comment></comment><comment><USER28> Did I mention that the US is no longer a country where the rule of law applies?

</comment><comment><USER29> In the long term I believe it will make sense to treat criminal prosecutions and trials as a classification problem. Given these facts and this evidence, is person X innocent or guilty of the crime?

It seems tools are being developed right now to assess the effectiveness of the current system, innocence projects, etc. So there should also now be a possibility of developing a new and better algorithm for trial. A machine learning algorithm that's better than all this human complexity at determining who did it, and can explain why it came to its conclusions.

Computational law.

</comment><comment><USER30> A system that doesn't honestly and unbiased-ly make its best effort to seek the truth, is not justice.

</comment><comment><USER31> just remember this when watching investigations as well, those tend to only be news worthy when high profile figures are involved but the rules are the same. you don't have to be guilty, just not rich enough to defend yourself.

</comment><comment><USER32> Did the page receive a HN hug of death? I can't access it

</comment><comment><USER33> Google cache, as I'm getting a "503 first byte timeout":

[https://webcache.googleusercontent.com/search?q=cache:kM07g3...](https://webcache.googleusercontent.com/search?q=cache:kM07g30KfYwJ:https://www.propublica.org/article/what- does-an-innocent-man-have-to-do-alford-plea-guilty+&cd=1&hl=en&ct=clnk&gl=us)</comment>


Can you get rotating an array to run faster than O(n²)? - <AUTHOR> http://blogs.msdn.com/oldnewthing/archive/2010/01/06/9944296.aspx <comment><USER2> That had me puzzled for a bit until I realized he meant a square array of n x n elements.

I thought he meant a single dimension array when I first saw the title and a part of the post.

</comment><comment><USER3> So, this problem question isn't very difficult. However, I am interested in more ways to prove lower bounds on complexity. As far as I know, there are a few ways to do this:

1) Time >= Size Of Output (As done here)

2) Time >= Number of bits of information (As in the case of showing that sorting takes O(n*log[n]) if all you can do is compare elements).

Are there other ways to find lower bounds?</comment>


Some Comments to Daniel Abadi's Blog about Apache Arrow - <AUTHOR> http://wesmckinney.com/blog/arrow-columnar-abadi/ <comment><USER2> My understanding is that the Pandas people are interested in using Arrow for a back end.</comment>


Wannabe entrepreneur symptoms and cures - <AUTHOR> http://www.gabrielweinberg.com/blog/2010/07/wannabe-entrepreneurs-symptoms-and-cures.html <comment><USER2> > [...] or learn how to code yourself. It's not that hard, and if you think of > startups as a career, it's a great skill to have even if you just manage > tech people.

I disagree strongly. Coding is a great skill and just about everyone should be familiar with it, but telling starry-eyed entrepreneurs they can learn to code well enough to launch a successful tech startup on their own in a short timeframe is extremely misleading. Coding and design are the core competencies of any tech/web startup, and you can't hope to succeed if you're essentially an amateur at your core competency. Because the fact is, coding may not be hard, but coding well and being responsible for the software infrastructure of a successful project _is_ hard and isn't something you can pick up overnight.

By all means, learn to code. It will help you in innumerable ways, and maybe after a few years of practice you can start to think about launching a cool project on your own. But don't be deluded into thinking you can pick up "Ruby for Dummies" and have a hot new web startup 6 months later without some real technical expertise.

<comment><USER3> > _Because the fact is, coding may not be hard, but coding well and being > responsible for the software infrastructure of a successful project is hard > and isn't something you can pick up overnight._

This might be a good place to point to Peter Norvig's essay Teach Yourself Programming in Ten Years -- <http://norvig.com/21-days.html>

<comment><USER4> Yes, that is one of the first articles i read along with....Hot be a Hacker - Eric Steven Raymond, Great Hackers and Undergraduation-Paul Graham. I agree with the long-term approach or 10 000hrs according to Outliers-Malcolm Gladwell. Also in Talent Is Overrated-Geoff Colvin, you get a good idea on how to become an expert/outstanding performer in any discipline. But....

In Entrepreneurship(Particularly web apps), i disagree that you need to be an expert, i believe that you need to be able to get something built and manage whatever traction you get from there to make your business solid. Such as getting top talent to do thinks the right way. The key is just get something built first......in my opinion.

</comment></comment></comment><comment><USER5> _Symptom: you now just need a programmer to code up your site._

The last startup I did failed miserably. When I looked back to see what went wrong it was obvious that if I could have coded it myself I would have been a lot better off, and it might have worked out.

So I started learning how to program so that I would be better prepared next time around. Best decision I ever made.

I can now get an idea, and straight away do something about it instead of first having to convince someone to do it for me. As an extra bonus it's now trivial for me to see things that weren't at all obvious before such as why one feature is much more demanding to code than another, why seemingly simple things take so much time, and much more.

I'm by no means a good programmer: I can't do a high scalability clustered scheme app, but I know enough to actually _do_ things. And really that's all that matters.

If you're into startups and can't code follow Gabriel's advice and learn how to do so. Right now. It's the best decision you'll ever make.

<comment><USER6> Agree. If anything, you'll exercise your mind, learn a new skill, and can add it to your resume.

Learning how to program gives you a better sense of what it takes to build something. I personally believe that if you're in startups, you should at least be somewhat knowledgeable in the technologies used.

</comment></comment><comment><USER7> > you don't understand your startup's assumptions.

The cure reminds me of what Fred Brooks said in _The Mythical Man-Month after 20 years_ , at p.258-9 ( _MM-M_ , 2nd ed.) about defining the user set (ie. who the users are), as a population assessed along several attributes, with a frequency distribution over each (my eg. how much RAM they have; their largest file - but the most interesting ones are app-specific). He says you should _GUESS_ the set of attributes and distributions:

1\. you will think about it carefully;

2\. they will be debated by the team, revealing differences in how each member sees the user set;

3\. it _"helps everyone recognize which decisions depend upon which user set properties. Even this sort of informal sensitivity analysis is valuable. When it develops that very important decisions are hinging on some particular guess, then it is worth the cost to establish better estimates for that value._ "

He summarizes: " _It is far better to be explicit and wrong than to be vague_ "

</comment><comment><USER8> "Symptom: you've written more than a 5pg business plan."

The design brief for our website was seven pages if I remember correctly. First we described who our customers were, along with their psychology and values. Then we described the vibe we were going for and why it would resonate with them. Then we described 10 or so design elements that sent signals consistent with what we were going for, and listed five or so examples of each element being used on various sites across the web. Now I realize that this is different than a business plan, but if you haven't done more than five pages worth of thinking then you probably don't understand what your assumptions are or how to test them.

<comment><USER9> I agree, but I think Gabriel's main point is in the parenthesis - "Symptom: you've written more than a 5pg business plan (intended for others)"

You're more likely to find someone to invest in or collaborate with you based on a prototype than a detailed rationalisation of the thought behind the prototype you're thinking of building.

Putting your thoughts on paper is one thing. Putting your thoughts on paper as a substitute for trying to put them into practice is another.

</comment></comment><comment><USER10> I think it is fairly normal to go through the wannabe-phase. We all do it until the moment that we realize we aren't getting nearer any goals, and decide to become a doer instead of a talker/planner.

</comment><comment><USER11> I've had all these symptoms excluding calling myself a CEO and writing a business plan. Luckily all symptoms are cured except the 10-25k investment. Now I'm looking for a job to save 30k for the first investment (living costs, services, travel, servers, etc.)

However I think most of these 'cures' are 'easily' achievable, but having enough time to cure these symptoms and looking for a co-founder are the hardest parts of becoming an entrepreneur. In my case I took advantage of having been laid off in 2009. So I've decided not to look for a job until I've got some stuff done.

</comment><comment><USER12> Wow. It almost hurts reading that, it's so spot on.

It least we did our own coding.

</comment><comment><USER13> I think you have to be a wannabe entrepreneur for at least a little bit. It helps in a bunch of ways:

1\. Gives you an idea of what your friends will think about you after you become a real entrepreneur.

2\. Gives you hope that you can and will change your circumstance.

3\. It consumes you till you make the jump.

4\. Plus you get to practice a very important skill - how not to worry about what people think of you :).

5\. Gives you chance to evaluate whether you really want to be a founder.

6\. It makes you go to real entrepreneur events so you can meet and mingle with them and get to know what its really like.

This is a great article to break out of wannabe mode but I dont think being a wannabe is necessarily a bad thing.

Hey - fake it till you make it :).

<comment><USER14> (4) contradicts (1).

Being an entrepreneur is not something you 'fake' any more than you could fake playing the violin (well, you could but it would not get you any closer to playing one), you either do it or you don't. You could do it badly though, and most entrepreneurs do that for a while until they've racked up enough experience to make a go of something. That's called practice.

Wannabe entrepreneurs usually stay that way, entrepreneurs get up and do stuff, they don't 'want to be something'.

<comment><USER13> Being an entrepreneur is very different from picking up an instrument essentially because of 1 thing - you need a strong network.

Putting your intention out there and building that network even before you start will always help.

Infact that act of creating that network might be the one thing that would force you to make the jump into being a real entrepreneur.

<comment><USER14> It is perfectly possible to be an entrepreneur without a network of other entrepreneurs, you're better off concentrating on your customers initially anyway.

I see a disturbing trend in my environment where people will spend more and more time 'networking' and less on developing their product and / or their business in general. They're all backslapping each other what great entrepreneurs they are, they organize events and so on. Meanwhile the real entrepreneurs run off with the contracts.

Networking has its uses, but don't overestimate it.

</comment></comment></comment></comment><comment><USER15> there is only one cure. Just do it already. Entrepreneurship is something, where you'll always have to learn on the job.</comment>


Doomsday fears spark lawsuit over collider - <AUTHOR> http://www.msnbc.msn.com/id/23844529/

<comment><USER2> People have always feared the world will end (doomsday!) because it's the only alternative to their guaranteed and insignificant personal demise.

It's a shame that this cowardice stands in the way of science.

</comment><comment><USER3> This reminds me oddly of that movie "End Day", where 5 different ways are entertained of how the world would end, this was one of them.</comment>


Papert―logo in your browser - b-man http://logo.twentygototen.org/

<comment><AUTHOR> I came across this site a year or so ago and really enjoyed using it to discover and draw various well-known fractals.

Here are a few programs I made with it. For some reason I tried to write them in a pure-ish functional style, accepting that the turtle has to move and turn but avoiding the "cheat" commands like setxy (placing the turtle at an absolute position) or make (setting a variable). Note that the default is to 'run normally'. You might want to click 'stop program' and then 'run fast'.

* Sierpinski triangle: <http://logo.twentygototen.org/83EGZPPC>

* Sierpinski carpet: <http://logo.twentygototen.org/4c5iy9iU>

* Sierpinski arrowhead curve: <http://logo.twentygototen.org/hYDSZt8h>

* Hilbert curve: <http://logo.twentygototen.org/CFyUSzqG>

* Hexaflake: <http://logo.twentygototen.org/AJeuVkKc>

<comment><USER2> this tree (found it on the 'recent' tab) is amazing: <http://logo.twentygototen.org/CayQ5WNa>

<comment><USER3> Here is the sieve of erastosthenes in logo:

<http://logo.twentygototen.org/HxD0BYNH>

And this is rather surprising

<http://logo.twentygototen.org/PQD5ksVB>

</comment></comment></comment><comment><USER4> Wow. Just wow. Brought back memories from elementary school! I totally despised my computer class where we were taught logo. During the exam I walked in completely clueless. Not knowing anything and having tonnes of time in front of the screen, I started typing some commonsense words and numbers and _BOOM!_ stuff started showing up on my screen. I passed the exam--thanks for the geniuses who made a truly simple language an idiot kid could figure out!

<comment><USER5> I used it before I knew it was a programming language. I got it in a game disk and it came with a "cheatsheet". I learned the combinations in a few minutes and had it drawing things. Pretty soon, 2-3 days, I grabbed a math book to lookup formulas :-)

</comment></comment><comment><USER3> It is available on google code: <http://code.google.com/p/papert>

It is also in some serious need of attention after being plagued by spambots.

If anyone fancies hacking on it I will happily add them to the svn repository/google app engine.

<comment><USER5> Hey Thomas, I was gonna volunteer to add a few mathematical routines, I needed ABS and RANDOM to play with it, but I got the sources and found out they're in there, just not documented :-)

Interested parties can read logo.js; search the file for addCommand, addTurtleCommand, addPrimitive, addInfix, etc.

I see you have s-exp parsing in your TODO list, perhaps I can take that for a task. Along with some documentation. Otherwise it looks great :-)

<comment><USER3> I've added the email in your profile to the project

</comment></comment></comment><comment><USER6> This is depressing. I spent the last 3 nights working on this same idea, except it was closer to Python's turtle module than Logo, and it used Google's Closure library.

Oh well, I'll continue on.

<comment> b-man Well, I'm sure you could help out the project instead of building another one, or you could just continue on :)

</comment></comment><comment><USER7> It seems like I've run across a couple implementations of Logo in javascript recently. Here's another:

<http://www.calormen.com/Logo/>

And, here's one that uses svg instead of canvas:

<http://www.amberfrog.com/logo/>

I think it'd be a lot of fun to do webapp for creating and sharing artwork made in Logo -- with a bunch of github-like social features. Or, maybe Facebook integration?

</comment><comment><USER8> Logo was my favorite thing about 4th and 5th grade, and I've not touched Logo code since then. Having not touched it in the 25-odd intervening years, my memories of struggling to hold a whole program design in my head are relatively clear; and it is _amazing_ how much easier programming is now. Something to remember if my kids start wanting me to teach them to program a couple of years from now.</comment>


Information Regarding Ethos Agreement to Acquire PIR from the Internet Society - <AUTHOR> https://www.keypointsabout.org/ <comment><AUTHOR> Interesting that the Contact on this Page for the "Public Interest Registry" is handled not by PIR but by "Jackson Street Partners, LLC is a specialized communications firm offering real-time issues / reputation management services to corporate clients and individuals". The contact for Ethos is also handled by a reputation management firm, sardverb.com in their case.</comment>


A Modest Proposal - <AUTHOR> http://www.zeldman.com/ <comment><USER2> What a wonderful idea. Why didn't anybody think of that in the 200+ years of publishing?

Perhaps because it's specious? In the article the author mentions "Swift Boat" -- I think this is an excellent example of the problem. The Swift Boat ads were seen mainly by one party as being fallacious. To use a recent example, when candidate A says Candidate B voted for sex education for Kintergartners, Candidate B replies it was age-appropriate. Then Candidate A shows the exact wording of the bill, which calls for a discussion of the transmission vectors for HIV.

Everybody can pile on to me about how my examples suck, but you're just reinforcing the point: there is no universal truth squad that could un-tangle all of this rhetoric. That's what you, the voter are supposed to be doing. Stop looking to somebody else to do one of the few things you have a duty to do in a democracy.

Sorry for the rant. The article just struck me as a great example of the great gap between what passes as common sense and what would actually work.

<comment><USER3> I'll tell you what would actually work: Education.

The problem with American politics is that everyone has a vote, not that this is bad of course, but since the average American is so poorly educated he is easier to trick with talking points, fancy rhetoric and downright lies. As a consequence of this any politician that wants to stand a chance of winning must adress the people in simple language and with simple messages - even if they're stretching the truth or are outright lies. Lowest common denominator.

I come from a country with an excellent education system, which means that the lowest common denominator is much higher, and thus politicians can start talking about the issues, and still appeal to the broad masses. A candidate that lied would instantly be held accountable by the press and by the people.

<comment><USER4> You know what else could work? Having to enlist in the military to earn your full citizenship and voting rights. If you had to go through a year or two of intense physical and mental pressure, you would value your vote a hell of a lot more.

 _(Starship Troopers ftw)_

<comment><USER5> You would also ensure that every voting member of the populace had been exposed to military discipline and doctrine during their impressionable post- adolescent years. Much of the message of military training is that you should accept orders, respect the chain of command, and resist the urge to second- guess the motivations of your superiors.

It's a great way to keep a bunch of heavily-armed people trained to efficiently kill other people from turning on each other, but it's not necessarily the thinking you want out your voting populace, unless you want to make sure that society never moves forward.

The military attitude also strikes me as being pretty much anathema to hacking.

Now, if you want to talk about mandatory _public_ service, where that two years can be spent doing social work, student teaching, etc., then I can get behind the idea.

<comment><USER2> Please stop the stereotyping of military service. It's shoddy and it's inaccurate.

For most of our country's history, large portions of the population have been exposed to military service sometime in their lifetime. This is the longest period (since the 1970s) where the greatest percentage of people have not had that experience. It's a great social experiment, one that's not generally acknowledged.

I'm not going to argue your stereotype. Suffice it to say I have several concrete examples that each of your points are wrong. "Not even wrong" would be a better characterization.

<comment><USER5> I'm not trying to perpetuate a stereotype, by any means. My family has a long history of military service, and while I may have overstated the potential social ossification that could arise from _only_ veterans being able to vote, I very much stand by the assertion that military service affects your thinking in fundamental and powerful ways.

There are of course other obvious problems with making voting rights dependent upon military service. Specifically, I doubt that same-sex marriage and civil unions laws would have passed in even the smattering of states where they did, if only because few of those most directly affected (i.e., homosexuals) would have been allowed into the military, and therefore, allowed to vote.

</comment></comment></comment></comment></comment></comment><comment><USER6> A) Ewwww, politics

B) The problem with this idea is that advertisements are rarely factually incorrect. Far more often the attack ads are merely insinuations, or far out interpretations of actual fact. These are arguably _more_ dangerous than outright fallacy, because there is something to back them up.

C) Even if this sort of legislation were to come to pass, nothing would change. Just because you can't lie doesn't mean you'll start talking about things that the average Joe Schmoe voter doesn't care about, like economic policy, national defense, trade relations, etc... The average voter takes the position of the party he affiliates with. If you don't believe me, look at how well McCain did when he was actually running a clean campaign and did things like just talk about the issues.

</comment><comment><USER7> It's always weird to come across articles with pat titles ("Modest Proposal" = something outrageous, said with a straight face; viz, satire) but that doesn't fit the mold. No, I think he's actually being serious about regulating ads based on truth.

In fact, when a politician is caught in a good lie ("Read my lips", "I didn't have sexual relations with that woman...") it's golden for the enemy. There's no real incentive to keep the other guy honest.

<comment><USER8> You know where the title came from?

<comment><USER9> For anyone who doesn't: <http://en.wikipedia.org/wiki/A_Modest_Proposal>

Had to read this in high school, I liked it

</comment></comment></comment><comment><USER10> He suggests steep fines. Those funds better be escrowed before the ad is placed, or it won't work.

A much better stick would be a throttling of access to that medium for the perpetrator.

The problem is hit-and-run attacks from allied but autonomous entities that melt into thin air (as with Swift Boat and Al Queda), leaving no assets and nothing to lose.

How about punishing not just the people who placed the ad, but the side which benefited from their unfair use of the media?

The best solution would be an informed electorate that pays attention to reality, but that's just a nice dream in a country where 70% or more believe in a fairy-God.

</comment><comment><USER11> Warning: The Surgeon General has determined that political advertising can be hazardous to your health.

Why not just remove all political ads from mass media, just like cigarettes? Save a billion dollars. People will figure out who to vote for just like they figure out which brand to smoke.

<comment><USER12> Would we also be able to stop yard signs and bumper stickers? Because they also annoy me.

There is, of course, this pesky thing called "Freedom of speech".

<comment><USER13> You can say what you want but they can limit when and where you can say it: wikipedia.org/wiki/Free_speech_zones

I say ban all political ads or ban wikipedia.org/wiki/Free_speech_zones but am not willing to live with both at the same time.

</comment></comment></comment><comment><USER14> Is it actually illegal to make false claims in a radio or tv ad?

<comment><USER15> I always was under the impression that it opened up the advertiser to civil suits for false advertisement, but I have never heard anything saying that it was illegal. Of course, I have no expertise on the matter.

</comment></comment><comment><USER16> Link should be <http://www.zeldman.com/2008/09/15/a-modest-proposal/> ?

</comment><comment><USER17> "... if America's networks remember they are Americans first, revenue seekers second."

Unfortunately, they revenue seekers first. They are accountable to their shareholders (American or not). It's the politicians themselves that should be looking out for citizens first (not themselves or corporations). That is their job. Unfortunately they seem to have forgotten that in the last couple of decades.

<comment><USER18> _Unfortunately they seem to have forgotten that in the last couple of decades._

The problem is not with them, the problem is that the ones who remember don't get elected.

</comment></comment><comment><USER19> A less modest but more useful angle might be to free America's media from the control of the elite. More critical analysis would flourish, more Americans could make a critical decision and maybe the planet would be a better place.

We are lucky in the UK as we are all taxed to pay for the BBC. Americans can also watch BBC America if they chose.

<comment><USER20> The BBC isn't a media "control[ed] by an elite"?

<comment><USER12> Even more so than any commercial network. The BBC is a law unto itself, beholden neither to the government of the day nor to the viewers. They produce the programs they feel like producing, and only hire people who think like themselves.

Now this has some good points, and the BBC actually winds up producing some very good television, but it's definitely the "elite telling you what to watch" model.

<comment><USER8> Same in Germany. Except the intertwining with the political parties may be even higher.

</comment></comment></comment></comment><comment><USER21> !HN

</comment><comment><USER22> What about some sort of rating of ads by an external, independent body (something like FactCheck.org). When you go to a movie, they make an announcement: "the following movie has been rated {(P)G(-13), R} by the MPAA". Why not do the same with FactCheck: "The following ad has been rated..." You could make this entirely voluntary, but add in incentives to do so, like discounted air-time rates.</comment>


Virgin Galactic to accept Bitcoin [video] - <AUTHOR> http://www.cnbc.com/id/101220710 <comment><USER2> It seems that with every passing day, another prominent institution or business starts accepting Bitcoin for payment, Virgin Galactic being the latest example. In just a few years, Bitcoin has gone from experiment to global phenomenon.

I wouldn't be surprised if in coming years at least some bitcoin users start measuring their wealth in bitcoins, and therefore also evaluating exchange rates, not in terms of how many US dollars, euros, etc. they can buy with a bitcoin, but _the other way around_ : what is the cost, in bitcoins, of a single dollar, euro, etc.?

Looking at exchange rates in this manner changes people's perspective on volatility, which is always a _relative_ measure. For example, since the beginning of this year, the price of a US dollar has _declined by more than 98%_ , from BTC 0.074 to just over BTC 0.001, which makes the dollar look extremely volatile!

\--

PS. I'm NOT saying the dollar is extremely volatile! I'm also NOT saying that Bitcoin is more stable! What I'm saying is that if and as Bitcoin adopters start measuring their wealth in bitcoins, their perspective on what is and isn't volatile will change, as demonstrated by my example.

\--

Edits: expanded second and third paragraphs; added PS.

<comment> grey-area _Since the beginning of this year, the price of a US dollar has declined by more than 98%, from BTC 0.074 to just over BTC 0.001!_

Consider the last month:

2013-11-01 212.87 USD = 1 BTC

2013-11-22 733.71 USD = 1 BTC

If you think Bitcoin is a great investment and can sell your BTC to get other assets in at a high point, this is a good thing, though slightly worrying because of the boom and bust pattern and extreme volatility.

If you think Bitcoin is a stable currency, this is a terrible thing. I'm not even sure what the implications would be if buying raw materials one day cost more than selling a finished product the next due to rapid deflation, but it surely wouldn't be much better than rapid inflation which we have seen in other currencies.

Like a loaf of bread which is 1.6 trillion Zimbabwe dollars, one which cost 0.0000000001 Bitcoins would not be desirable either if that figure keeps changing rapidly and the next day becomes 0.00000000001 etc. Any extreme fluctuations in price are really undesirable for a currency, and I do think this mechanism of ratcheting up the difficulty of mining and an ever- increasing value is really damaging for Bitcoin's credibility as a currency, though presumably it was designed to boost adoption by encouraging people to see it as investment first, currency second.

I like the idea of a currency which doesn't allow politicians to introduce inflation, but perhaps we should have one which has a finite set of tokens _on setup_ , and doesn't attempt to also attract people as some sort of investment with mining etc. - is that side of Bitcoin even useful except to turn it into a sort of pyramid scheme where early adopters are rewarded disproportionately?

[EDIT I am aware of the proposed 21m Bitcoin limit, which they're about half way to reaching, that's why I said _on setup_ , which Bitcoin doesn't have]

<comment><USER3> Just to comment on this part:

>I like the idea of a currency which doesn't allow politicians to introduce inflation, but perhaps we should have one which has a finite set of tokens on setup, and doesn't attempt to also attract people as some sort of investment with mining etc.

I'm sure someone will correct me, but as I understand it this is how Ripple[0] works. From my recollection (I haven't checked in on how Ripple has been progressing over the past 6-8 months or so), Ripple's currency (XRP) are established with a finite supply and all XRP is in reserve, not requiring any "mining" or similar. Also, it looks like Ripple is kind of an exchange as well? It seems to be able to cross-process payments between USD, EUR, BTC, LTC, XRP, and more (I believe most international currencies are supported currently)[1]. It's interesting but, like I said earlier, I'm not sure if I fully understand it.

[0] [https://ripple.com/](https://ripple.com/) [1] [https://ripple.com/guide- to-currency-trading-on-the-ripple-n...](https://ripple.com/guide-to-currency- trading-on-the-ripple-network/)

<comment> grey-area Thanks for the link, that looks interesting (as a currency). From their FAQ they look like a Bitcoin inspired currency which tries to define all the parts necessary for independent digital payments:

Payment Network (with protocol)

Exchange

Currency

All in one place. The advantage to that if you trust them of course is that you can expect the exchange/payment processor isn't a buggy webapp sitting on an insecure VPS with multiple ways to be hacked (I hope!). If you don't trust them it's even more scary than bitcoin though.

I wish alternatives to Bitcoin got half the attention Bitcoin has been getting on HN over the last few months - a currency is not a success because it constantly shoots up in value, quite the reverse.

</comment></comment></comment></comment><comment><USER4> "she paid in bitcoin, which was transferred into actual dollars "so there's a fixed price ... [and] we can actually pay her money back, if she changes her mind"

Seems no different than if the buyer had sold her Bitcoin and paid Virgin Galactic in cash. The real trick will be when they can accept Bitcoin, keep the Bitcoin, and make any refunds and adjustments in Bitcoin.

<comment><USER5> Let's say you accept bitcoin but immediately convert it to USD. In future one of your suppliers also decides to accept bitcoin. Now you can pay your supplier directly without the USD conversion step. This wouldn't have happened without you actually deciding to accept bitcoin in the first place.

I don't see any other way to bootstrap a new currency.

<comment><USER6> If you hold BTC for any amount of time between when you get paid by the customer and when you pay the supplier you're taking a huge risk.

</comment></comment></comment><comment> grey-area When businesses actually price products or services in a digital currency as opposed to accepting it, we'll know it has arrived and is ready to rival national currencies.

<comment><USER7> Agree. All these companies "accepting" bitcoin are actually just accepting USD and "converting" bitcoin.

<comment><USER8> Totally agreed -- they pretend to support the platform for the hipster cred & expanded market, but I'm sure the corporate policy is "Bitcoin arrives. Bitcoin is immediately placed on exchange".

I'd be surprised if corporations would gamble so dangerously by keeping a Bitcoin store. As long as they price against USD and convert immediately, they can only suffer limited losses from price swings.

<comment><USER9> They don't suffer any losses from price swings. Pretty much everyone uses a third party payment processor that guarantees that when the retailer charges a bitcoin customer $100 they get $100 less fees directly into their bank account.

<comment><USER8> ahhhh genius. of course. make it the problem of somebody who's trying to prop it up or actually believes in the exchange rate ;)

</comment></comment></comment></comment></comment><comment><USER10> Another way to invest in Bitcoin when exchanges are not very liquid: accept BTC at the current rate and boost the value and awareness by making a bold move.

</comment><comment><USER11> Finally, a service that can be denominated in integral Bitcoin values.

</comment><comment><USER12> Just marketing IMHO. You say you'll accept bitcoins and then you'll have 10s of articles talking about your company.

</comment><comment><USER13> Sounds to me as if Mr Branson has a bunch of Bitcoin and would like to cash-in early next week.

<comment><USER8> yeah the fact that the Bitcoin scam is spreading raises eyebrows. Companies want to accept it to sound futuristic but they should really be shutting it down.

Notice how none of the tech-giants want to get involved with it. Bitcoin isn't for the technologically advanced who are "being rewarded for being sooooo smart and adopting early", it's a scammer platform.

I heard a suggestion for a gold-backed digital currency once. That makes much more sense to me. Instead of getting into magic bean territory with monstrous gains/losses, just put 100k into gold, design a system with 100k "eGoldcoin" or whatever u wanna call it then just trade the coins. The platform would never tank because people know roughly what it's worth. It would be way less exciting, well... because it's sane.

<comment><USER14> > The platform would never tank because people know roughly what it's worth.

So what exactly is the worth of one ounce of gold? The current market price? Or another price? What's the difference to Bitcoin in regards to pricing?

<comment><USER8> Eh I'll be honest I'm not sure exactly how the gold standard works but I'm pretty sure it's priced individually against many currencies, whereas Bitcoin's whole pricing system is fantastical.

I'm pretty sure Bitcoin just takes it's sticker price (whatever it's currently been bid upto) and then does a bunch of arbitrary currency conversions.

Again, I THINK this, do not know... but i THINK if you took the amount of gold and multiplied by its USD price to arrive at some figure of how much the "gold pool" is worth (bitcoiners do this all the time) gold traders would laugh their asses off at you. The medium needs to be tightly interwoven into individual economies through usage and growth/settling.

Bitcoin is like this thing that is sitting out in the ether totally untested and people are making random claims about how much its worth, supported only by bidding wars in trading.

<comment><USER15> _" I'm pretty sure it's priced individually against many currencies"_

No, it is not "priced". Nobody sets an "official price" for gold. Every actor in the market who sells and buys gold is free to set his own price, via "asks" and "bids" in the market. This is what gst highlighted for you: Bitcoin functions exactly like gold, their value fluctuates freely on international and national markets via trading, and nothing else.

 _" if you took the amount of gold and multiplied by its USD price to arrive at some figure of how much the "gold pool" is worth gold traders would laugh their asses off at you"_

Actually, no. Analysts do this all the time. Google for "gold reserves". Here is the latest data from the World Bank: [http://data.worldbank.org/indicator/FI.RES.TOTL.CD](http://data.worldbank.org/indicator/FI.RES.TOTL.CD)

<comment><USER8> What I meant by priced individually isn't that a price is "set" I meant people buy & sell gold in a number of currencies, such that each has an exchange rate that isn't interpreted by conversion to a fiat currency then checking the exchange rate for that.

I don't know too much about gold though so I'll let the convo go. To be honest I think CreditCards are where it's at & the small fees involved are to provide consumer protection so I don't mind.

If Bitcoin reaches a comparable infrastructure I'm sure they'll be charging fees for everything too (the exchange services already do, no?).

<comment><USER15> _" such that each has an exchange rate that isn't interpreted by conversion to a fiat currency then checking the exchange rate for that"_

Actually, it _is_ interpreted by comparing gold's price with exchange rates. When gold is, say, underpriced in yen on chinese markets when compared to its price in US dollar on american markets, this creates a condition where "arbitrage" is possible. So people who see this buy it up on the chinese market and resell it on the american market, making a profit. This naturally re-aligns the price of gold in various markets with exchange rates. The exact same thing is done by Bitcoin traders, and forex traders, and commodities traders, etc.

<comment><USER8> eh it's hard for me to keep going with this argument because Bitcoin's pricing is so made up, but i'll try.

I wasn't saying gold doesn't have an exchange rate. I was saying it DOES have one for EACH currency (allowing this arbitrage scenario) and that's part of what makes it strong. My impression of Bitcoin was that they simply price it in Yen or USD or whatever is their best market, then convert from THAT currency into whatever other currencies they want through the real-world exchange rates of existing currencies, in order to display it with a unified favorable price.

However, these arguments aren't even worth it really since the price is so varied from exchange to exchange that let's face it -- the numbers are pretty much all distorted BS regardless of how the prices are determined. All they represent is real-time bids. It's like watching a big eBay auction on nothing and claiming the true value of the item is evidenced by the current bid.

<comment><USER15> _" My impression of Bitcoin was that they simply price it in Yen or USD..."_

No, exactly like gold, Bitcoin does have an exchange rate for each currency. Again, there is zero difference between how gold is traded and how Bitcoin is traded. It's all multiple independent exchanges, with their own asks and bids.

If, by your argument, "this is what makes gold strong", then this is what makes Bitcoin strong as well. Both are traded in the same ways. I am unsure why you think there is some difference.

<comment><USER8> Ohhhhhhhh I give up. If you think Bitcoin is the same as gold.... have a nice life.

I have a long comment history you can look through if you want to understand why I think it's a scheme. USD is strong as a currency because its stable. Bitcoin is a speculative trading platform, nothing more nothing less. There's real value in it today because a ton of people have just decided to invest in something they don't fully understand.

If you have invested in Bitcoin I understand your interest in making it seem viable.

<comment><USER15> I am saying they are _traded_ in the exact same way as each other. Clearly you did not know how their trading worked so I explained.

I have traded commodities, and bitcoin, for multiple years. I know this stuff.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> $250,000 for a flight. That puts it at about 333 BTC right now.

<comment><USER17> As someone who owned about that many at my peak, that hurts so bad.

</comment></comment><comment><USER18> Metaphorically this is fantastic. What better way to pay for a barely controlled rapid ascent and descent than with a highly unstable 'currency'!

</comment><comment><USER19> the problem is getting BTC in the US. You have to a P2P sale which most likely at some point will lead to you getting scammed. The banks need to offer a currency exchange from USD to BTC. And then bitcoins are going to really take off.

<comment><USER20> If you're in the US, it's easy to buy BTC through Coinbase.

<comment><USER19> For a heavy fee and long weight times.

</comment></comment></comment><comment><USER21> This is a great marketing stunt!</comment>


Auditing Rust Crypto: The First Hours - <AUTHOR> https://research.kudelskisecurity.com/2019/02/07/auditing-rust-crypto-the-first-hours/ <comment><USER2> The author JP Aumasson (known for inventing the BLAKE hash, SHA3 finalist) recently audited grin's underlying crypto library. Report here [https://grin- tech.org/audits/jpa-audit-report.html](https://grin-tech.org/audits/jpa-audit- report.html)

</comment><comment><USER3> > Are sensitive values set to zero after being used? In Rust this may be done > using the Drop trait rather than explicitly.

A zeroing Drop is theater unless the sensitive data is Pinned too. Rust likes to copy things around.

<comment><USER4> I'm not particularly familiar with Pinned but the documentation on std::pin suggests it prevents moving data, not copying data (and is primarily designed around enabling self-referential structs).

<comment><USER5> Moves are exactly the problem, as the data is just copied, without drop running on the source, and they happen implicitly.

<comment><USER4> Rust isn't going to just silently move the pointed-to data in something like Box<[u8; 32]>. It looks like the point of Pinned is to protect against operations like swap() that would move the pointed-to data, but the point here is to maintain the data's invariants (e.g. a self-referential struct cannot be moved or its self-references would be invalid) rather than to protect against silent moves (a call to swap() is definitely not silent).

<comment><USER6> > Rust isn't going to just silently move the pointed-to data in something like > Box<[u8; 32]>.

Of course not, but for efficiency you might have an [u8;32][0] instead and _that_ will get memcpy'd when it's moved around.

[0] 32 bytes on the stack isn't much, a single Vec or String is 24

<comment><USER4> A [u8;32] doesn't work with Pin. Pin only works when you wrap it around a pointer type. From the documentation on Unpin:

> _Since Rust itself has no notion of immovable types, and will consider moves > to always be safe, this trait cannot prevent types from moving by itself._

From the documentation on std::pin:

> _In order to prevent objects from moving, they must be pinned by wrapping a > pointer to the data in the Pin type. A pointer wrapped in a Pin is otherwise > equivalent to its normal version, e.g. Pin <Box<T>> and Box<T> work the same > way except that the first is pinning the value of T in place._

> _First of all, these are pointer types because pinned data mustn 't be > passed around by value (that would change its location in memory). …_

Looking at Pin itself, it appears that it works by only implementing DerefMut if its target is Unpin, thus preventing you from mutating (and therefore swapping/replacing) the data unless the data supports Unpin. But beyond that, it also only implements Deref and DerefMut if its wrapped type itself implements Deref/DerefMut, which means using Pin around a non-pointer basically prevents you from accessing the wrapped data.

</comment></comment></comment></comment></comment></comment><comment><USER7> It's a bit surprising that the article didn't mention ensuring constant time algorithms are used. If latency or the emissions of the CPU (etc. externally observable) are data dependent on something secret, that secret might leak through the side channel.

One way to combat these side channels is to use constant time multiplication, loop conditions (including functions that might return early, like memcmp), etc.

Is it possible for Rust to have any new or surprising mechanisms that cause loss of constant time execution?

(Of course also other aspects can leak than the CPU instruction execution latency itself. For example cache effects might be measurable.)

<comment><USER8> I've only read about the relevance of constant-time comparisons in relation to comparisons, such as checking that a calculated hash is the same as a stored hash - could you elaborate on how it applied to symmetric encryption?

<comment><USER7> Some operations, such as integer multiplication and division have data dependent latency. Depends on CPU model.

See for example this page: [https://bearssl.org/ctmul.html](https://bearssl.org/ctmul.html)

> could you elaborate on how it applied to symmetric encryption?

Non-constant time multiplication is mostly (only?) an issue with asymmetric crypto.

</comment></comment></comment><comment><USER9> > Look for any recursive function calls and see if they could be abused to > overflow the stack.

This isn't an exploitable vulnerability in Rust, though? I thought the program would just abort if it overflowed the stack.

<comment><USER10> If you can make a truly enormous stack array you can sometimes skip past the end of the stack onto the heap (or another section of memory). Then any writes to the array which the program thinks are going to the stack are actually going to the heap. This is sometimes known as stack clashing.

<comment><USER9> Is this something you can do in Rust?

<comment><USER4> I haven't tried, but maybe with something like

      let huge_ary: [u8; 2097152 /* 2MiB */] = unsafe { ::std::mem::uninitialized() };
      // hopefully huge_ary has bumped the stack pointer past any guard pages
      // and any further stack values will overwrite the heap

<comment><USER9> Well, you're doing unsafe things there, so all bets are off.

<comment><USER4> You might be able to hack it by saying something like

      let huge_ary: [u8; 2097152];
      if false_value_compiler_cant_prove_is_false {
        huge_ary = [0; 2097152];
      }
      // hopefully huge_ary has reserved space on the stack despite not being initialized
      // and so any further stack values would overwrite the heap

<comment><USER11> You'll get

        error[E0381]: borrow of possibly uninitialized variable: `huge_ary`
         --> src/main.rs:6:7
          |
        6 |   bar(&huge_ary);
          |       ^^^^^^^^^ use of possibly uninitialized `huge_ary`

[https://play.rust- lang.org/?version=nightly&mode=debug&editi...](https://play.rust- lang.org/?version=nightly&mode=debug&edition=2018&gist=49d82e946bd933ff8af80a4ed2345c1e)

<comment><USER4> You're not supposed to _use_ the array, it's just supposed to exist on the stack. I'm not sure how to ensure the stack space isn't reclaimed; maybe we can do something with declaring it up top, then putting the `if` that initializes it later on, and hope the compiler still reserves the stack space for huge_ary ahead of stack for other variables?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Looking at the article, I like the Drop trait, as a way to ensure memory are cleaned before being released.

What is the preferred way in Rust to say "If at all possible, please do not allow this value/object/whatever to be paged out of RAM?"

<comment><USER13> How would that work at the operating system level, which is where page in and outs occur? You might be able to tell some OS's not to page out a specific page, but with variable length data that becomes impossible

<comment><USER14> [http://man7.org/linux/man-pages/man2/mlock.2.html](http://man7.org/linux/man- pages/man2/mlock.2.html) at least for linux.

<comment><USER15> mlock, like VirtualLock, doesn't guarantee that a copy won't go out to disk, only that a copy will always be in RAM.

<comment><USER14> The notes section of the page I linked addresses this - it'll only be paged in a hibernate state where memory is powered down. It won't be paged without that.

<comment><USER15> That's just one of many examples.

For instance if you're running in a VM, all bets are off, beacuse the host can and will page you out guest phys memory.

</comment></comment></comment></comment></comment></comment><comment><USER16> Sorry if too off-topic, but I figured this was a good place to share my experience with trying to use the Rust `crypto` library, which I recounted in this comment [1]. It's not a security concern, but it does affect usability.

I had the simple task[2] of encrypting bytes with AES using the library. But (as detailed in the post), they didn't expose a simple, "give us plaintext bytes, give us key bytes, give us options, we'll spit back the ciphertext bytes". Instead, you have to delve into the irrelevant details of constructing mutable buffers (which require special care in Rust), so it can read from and write to them, and without even any good examples in the docs for how to construct those buffers.

It seems designed from the perspective of "I have extremely limited memory" \-- which is fine, but why not have a simple wrapper on top of that for the common, non-embedded use case, and some example code?

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

[2] for the Matasano/cryptopals challenge. Interestingly, I found that the hardest parts weren't figuring out the vulnerabilities, but in implementing a spec (every writeup was poor) or getting "off-the-shelf" software to behave as expected so I can have a utility function for it and forget about it from then on!

<comment><USER17> Are you talking about the crate `crypto` or `rust-crypto`? Both have not been updated in a couple of years.

The `ring` library is a bit more modern, but still requires a bit of a run around. Here's an example of encrypting a cookie: [https://github.com/alexcrichton/cookie- rs/blob/master/src/se...](https://github.com/alexcrichton/cookie- rs/blob/master/src/secure/private.rs#L144)

<comment><USER16> Why does everyone leap to suggesting that 2016 was some kind of dark age of Rust when no one could be expected to do anything right? You're not the first [1].

I'm reminded of the Onion article about "Stating current year still the leading argument for reform" [2] (e.g. "It's 2019, people!")

I guess the corollary is, "That was 3 years ago" still leading excuse for shoddy work :-p

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

[2] [https://www.theonion.com/report-stating-current-year- still-l...](https://www.theonion.com/report-stating-current-year-still- leading-argument-for-1819576151)

<comment><USER18> I don't believe that's what the comment you're replying to stated. The fact that `rust-crypto`, for example, has not been updated since 2016 doesn't imply that the code was necessarily bad in 2016, but that the project itself may not be maintained anymore. Static, perfect code is rare.

<comment><USER16> I know they didn't state it. I said they _suggested_ it. Which they, and the linked comment, did.

When your immediate reply is to dismiss the dominant rust crypto library in 2016 as being understandably bad because the development ended in 2016, you're _suggesting_ that the year (and before) was some kind of dark age for rust.

>Static, perfect code is rare.

My criticism isn't "hey, there's a lingering bug that no one fixed and which broke my use case". My criticism is, "The design of the _exposed interface to the core library functionality_ forces me to care about irrelevant implementation details and enable attributes (mutability) that my use case doesn't need."

When you say that a project developed in 2016 can be expected to fail on that front, what you're saying is, 2016 was too early to expect developers of a major project (in a hot language followed by a lot of smart people) to understand the concept of separation of concerns and abstraction of irrelevant details.

Do you see why I might be skeptical of the relevance of the year of development?

There's a similar point to be made about (the lack of) clear examples, a concept that didn't spring into existence in 2017.

<comment><USER19> > When your immediate reply is to dismiss the dominant rust crypto library in > 2016 as being understandably bad because the development ended in 2016, > you're suggesting that the year (and before) was some kind of dark age for > rust.

I was there and it actually was.

Rust 1.0 was just released and the ecosystem was mostly maturing at that point.

You're talking about version 0.2.36 of a library that had been in development for less than two years during a quite tempestuous time in Rust. I'm sure they were more concerned with making the code work, making it secure, etc.

</comment></comment></comment></comment></comment></comment><comment><USER20> > Review the dependencies listed in Cargo.toml: Will the latest version be > used? (preferable but not always the right choice) Are these established, > trustworthy packages?

The author seems to have forgotten about Cargo.lock....

<comment><USER4> Cargo.lock is something the top-level program uses. If you're writing a library that does crypto, your Cargo.lock will be ignored by any upstream libraries/applications that depend on you (and because of this the recommendation is to not even check your library's Cargo.lock into version control).

<comment><USER20> Ah right - I thought this was regarding security tool behaviour not an app - I'm aware Cargo.lock doesn't provide locking at an app level.

I consider a library insisting on locking it's second level dependencies for no good reason to be obnoxious behaviour. As producer of an app, I want the ability to upgrade your dependencies to patch security problems.

In my experience, excessive locking can make security problems worse not better.

</comment></comment></comment><comment><USER21> If you have unsafe Rust code in your crypto code, you're doing it wrong.

<comment><USER22> I'm not aware of any SIMD frameworks that are advanced enough to spare me from writing unsafe code yet, particularly if I want to ship multiple implementations and detect support dynamically.

Also I'm not sure you can get any constant time guarantees today without calling into C or asm.</comment></comment>


Rate my startup. - <AUTHOR> http://cloudiff.com

<comment><USER2> Get rid of the background that randomly changes color. Get rid of the moving screenshots. Anything that's randomly moving is distracting viewers from your message.

Change the headline to explain what it does.

Change the subhead to elaborate on it's benefits.

Tell me what the features are, instead of an adjective, which really doesn't explain anything.

Overall, it needs way more copy to explain exactly what the app does and why people should buy it.

On the signup page do you really need a username? You could use the email as username. Also password confirmation might not be essential. Change call to action to something like "Sign up now ->" instead of "Send activation".

<comment><USER3> I agree the colour change is too tacky. The moving screen slideshow seems more like an ad and the eyes automatically ignores it. Check this link out if you need guidelines for how to build a landing page [http://unbounce.com/landing- page-examples/your-landing-page-...](http://unbounce.com/landing-page- examples/your-landing-page-sucks/)</comment></comment>


The LLVM Foundation - <AUTHOR> http://blog.llvm.org/2014/04/the-llvm-foundation.html <comment><USER2> tldr: LLVM establishes a nonprofit to handle its current & future scale. Currently selecting a board of directors and an overseeing administrator. details to follow.

</comment><comment><USER3> It would be nice if the title had more context. Hell even just "Presenting the LLVM Foundation" would have helped quite a bit.</comment>


Climate crisis, shown directly on power plant, in guerrilla projection - <AUTHOR> https://cdm.link/2019/08/climate-crisis-laser-projection/ <comment><USER2> Brilliant. I'm not a big art fan, but this really grabs me. I take my hat off to the people behind this.

<comment><USER3> Considering that organization behind this (Greenpeace) is also protesting against nuclear energy, the most realistic alternative to fossil energy, i will not take my hat off.

<comment><USER4> That's not the most realistic alternative to fossil energy. The most realistic option would be the cheapest, renewables and storage.

<comment><USER3> Storage for renewables is realistic for hour-to-hour and max day-to-day fluctuations. But in central europe (like where the power plant from the article is located) solar power production during winter is about 15 % of summer values. You cannot reasonably store electricity for whole season.

<comment><USER5> Storage isn't yet realistic for whole-day fluctuations. Current capital costs are about $200/kWh. Daily global energy use is about 400 TWh. That would be an 80000 trillion dollar battery.

That number is so outrageous it's basically infinite. Even if the whole world focused on building a battery to supply a single country for a single day we'd run out of materials and land (batteries aren't small).

The only hope for energy storage is 100000x cost reductions.

</comment></comment></comment></comment></comment><comment><USER6> kinda pathetic the levels they will stoop to, to make the point.

<comment><USER7> We're heading straight over a cliff and instead of debating how to solve the problem we're debating how to even talk about the problem. How is that productive?</comment></comment>