Ask HN: Did anyone notice GitHub removed project search from index page? - <AUTHOR> It was strange today when went to GitHub, found they removed project search from home page. Now the front page wants you to register. To go to search need to go to explicit url. Is it only me or others also have the same feeling that GitHub degraded the interface to promote more signups. <comment><USER2> Unfortunately, I believe that this is the case. GitHub was once a great place where signing up was your choice but it looks like GitHub has fallen prey to the "We need to get more signups" fad that a lot of companies are following.

<comment><USER3> Protip: don't take hundreds of millions of dollars from VCs if you care about your users.

</comment></comment><comment><USER4> Coincidentally at GitLab.com we just openend up the project search to logged out users [https://gitlab.com/gitlab-org/gitlab- ce/issues/13676](https://gitlab.com/gitlab-org/gitlab-ce/issues/13676)

<comment><USER5> I got my main interest only from seeing your comments on every thread related to Github, Bitbucket, Gitlab, it was worth a try and I moved all my projects there, I hope nothing will change on long term to be like Github now, Great job.

<comment><USER6> Thanks! Let us know if there is anything you'd like to see different. It's the community (of which we're a part of) that keeps us sharp.

</comment></comment></comment><comment><USER7> Interesting. I'm almost certain there also used to be an "Explore" link at the top of the page you see when signed in (which is sort of a news feed and list of repositories). Now the link to "Explore" is in an almost-hidden menu (click on your profile icon). Or was it always like that?

<comment><AUTHOR> No it wasn't like this before. The search page was on main home page, explore and on top of user repository list. It encouraged checking projects without unnecessarily signing up or register for GitHub. This was quick, they removed it and kept it in a hidden link. I always checked projects by search and then activity level in those repository.

</comment></comment><comment><USER8> They also removed the repository search box at the top of project page. It slow me down when learning/discovering new project. Good news is that, GitHub don't require login to access the search page.

TIPS: append /search or /search?q=QUERY to the URL for accessing the repository search page.

<comment><USER8> UPDATE: The search box is now back. On top right next to "Sign in" button.</comment></comment>


Amazon Kindle 2 on its way - <AUTHOR> http://www.boygeniusreport.com/2008/10/03/amazon-kindle-2-ebooks-its-way-to-bgr/ <comment><USER2> Getting there. I still need it to be water proof before it is enough of an advantage over paper books to overcome the ephemeral nature of ebooks. I'd love to carry my fiction around in a more compact form when I go sailing, that would save a significant portion of my duffle bag space, but "water happens" (or pop/soda spills). Once it is waterproof I can read in a pool too!

Get me a sealed unit, capacitive touch screen, inductive charger, wireless data interface (wifi or bluetooth) and I'm ready to go.

I'd also prefer that a larger portion of the physical size be given to the screen, so either grow the screen or lose bulk.

<comment><USER3> Geez, do you want fries with that? :)

But seriously, I agree about the bulk. I don't need mine to be waterproof, just be able to let me read PDFs (including password-protected PDFs). A color screen would be good too.

Let me plug it into my Mac and manage my own PDFs. That's all I need.

<comment><USER4> If they can ditch the DRM and drop the price of the ebooks I'll start considering a purchase. I do like the look of the e-Ink.

</comment></comment></comment><comment><USER5> Someone, tell me what I'm missing here. Why does an e-book reader need a keyboard and other nonsense taking up roughly half of the real estate that could be used for adding more screen? This seems like the perfect application for a touch-screen since the majority of time should be spent reading or interacting with existing documents, something that isn't terribly difficult to do with limited navigation.

To me it just looks childish because there's so much bezel and cruft and no screen.

<comment><USER6> The keyboard is useful for:

* taking notes

* using experimental web browser over free evdo

* accessing the boot loader and linux shell

<http://igorsk.blogspot.com/>

<comment><USER7> The browser is a BIG part of the Kindle. And, to be honest, this is not meant to be such a casual product. The interface doesn't matter so long as when you're reading text, you don't have to look to know what button to press.

I don't think this will kill the book, but I think it's great for people who read a ton and can't afford to buy every book. And libraries are good stopgaps, but they've got a much more limited selection and library books always feel skeevy to me.

</comment></comment></comment><comment><USER8> The one thing this article doesn't mention that really surprises me is when it will ship. No speculation, nothing even to say they have no clue. Only Cnet seemed to admit to not knowing anything.

I guess that's what we get for having a non-Apple rumor surface: sub-par coverage.

</comment><comment><USER9> It looks like they've solved one of the biggest problems of the first model, which is the fact that the bottom corners are both acute, so there is no easy and comfortable way to hold it for long periods of time.

<comment><USER7> I also like the fact that you can't accidentally turn pages. That was a problem with the first model.

It looks kind of long, though. Less bookish. I dunno, maybe it's just because I haven't seen the glamor shots yet.

</comment></comment><comment><USER10> [http://news.cnet.com/8301-17938_105-10058352-1.html?part=rss...](http://news.cnet.com/8301-17938_105-10058352-1.html?part=rss&subj=news&tag=2547-1_3-0-20)

Looks cool. Hope they lower the price, I know its worth it, but for a student who already needs to buy a lot of books anyway, it can soon become something you can live without.

Amazon should get the kindle in collages just like notebooks are, and make profit from the book sales when having a kindle is a must for every student.

</comment><comment><USER11> _Hit the jump for the rest!_

What?

<comment><USER12> It just means that the full post isn't visible on the overview page of the blog.

</comment></comment><comment><USER13> How long has the first kindle been out? Less than a year? How long?

<comment><USER7> Came out last November.

</comment></comment><comment><USER14> Have they lifted the DRM? Can it display PDF's? Can I load whatever I want on it from whatever source I want?

The biggest shortcomings of the first Kindle were not its physical limitations.

<comment><USER7> You... apparently haven't used a Kindle before. Because... yes. You CAN load whatever you want on it from whatever source you want.

The PDF thing: guys, I'm sorry, it's overblown. There are good converters available for Windows and Mac, and you can EMAIL the PDF to Amazon to get it converted and emailed back instantly. You can even pay a buck to have it sent there automatically. The PDF format is not necessary. Frankly, if I can load Ulysses from Gutenberg as a TXT file and have it good enough to read without distraction, then things are pretty good. If you insist on chapter indexes and hypertext, the .prc is completely fine and basically works just as the PDF would have. It even displays images, though I didn't get a Kindle for that.

HN has a habit of dismissing what they don't like offhand. The Kindle is one of those suffering products. I speak now not as a "hacker," but as somebody who loves the written language, loves novels, even loves certain poetry, and the Kindle is wonderful for people who want to read books. That's what it's for. This isn't an enterprise tool. This isn't meant to help you with work. This is for literature, for novels, for people who like reading. And it does what it does STUNNINGLY well.

The physical limitations weren't really limitations. I dunno, I love the Kindle's original design. I'll have to use this one to see if it's still just as intuitive, but if you've ever used a Kindle, it's something where the design just makes perfect sense. You fall in love with it. I know I did.

And, between getting a mobile browser that displays fairly nicely, being able to mark up texts as I see fit, and having the ability to download The Complete Shakespeare for 99 cents if I need it (oh, and I DO need it), makes the Kindle basically an extreme orgasm of a literature product. I found ebooks online for books that have been out of print for 20 years, books that I read when I was younger and couldn't find again. Think of what it would be like if we moved directly from LP to mp3 with nothing in between for music. It opens up an entire world of literature for the casual/hardcore reader.

So... please. If you're going to diss the Kindle, diss things that actually make sense to diss. Because this is an excellent product, people happen to love it, and it also happens to be selling well, and we Kindle users aren't dicks like Mac users are yet. Don't push people like me into being sarcastic and abrasive. There's still hope for our entire userbase.</comment></comment>


Free React.js Fundamentals Course - <AUTHOR> http://courses.reactjsprogram.com/courses/reactjsfundamentals <comment><AUTHOR> I don't know what to say. I'm deeply humbled by all the kind comments in here. Thank you all so much, truly.

<comment><USER2> Thanks a lot, as a backend distributed systems person I have hard time understanding UI in general. I'm half way through your videos now, and for the first time I could grok what React is all about.

<comment><AUTHOR> This is exactly what I was going for. Thank you so much for the confirmation! Means a lot.

</comment></comment></comment><comment><USER3> Honest noob question, what's with all the hype about React?

Edit: Awesome replies, thank you!

<comment><USER4> From my point of view, React brings two important ideas to web app development:

1\. The virtual DOM. When I'm writing jQuery-based code, I have to write both a component template and code that updates the DOM in response to input; when I'm writing code for a virtual DOM, the component template is sufficient to update the DOM and I don't have to write that extra code, so there are fewer chances for bugs to creep in.

2\. HTML-like syntax embedded in Javascript (JSX). I didn't like this at first until I configured Sublime Text to highlight embedded HTML correctly. Embedded HTML has pros and cons, but I think it's a net positive.

React projects also typically include new tech like ES2015, webpack, hot code reloading, and Redux with its time-traveling debugger. You can build your own stack that uses a virtual DOM library, embedded HTML, ES2015, and so on, but it's helpful to start with a common stack that many people understand. That's why React is interesting.

<comment><USER5> > I didn't like this at first until I configured Sublime Text to highlight > embedded HTML correctly

Can you share your sublime settings or syntax configuration you are using?

<comment><USER6> I'm not the parent, but I wrote this [1] a year ago, and I think at least the first section still works for getting JSX syntax highlighting working.

[1]: [http://petethompson.net/blog/js/2015/02/25/sublime- text-3-an...](http://petethompson.net/blog/js/2015/02/25/sublime-text-3-and- modern-js/)

</comment></comment></comment></comment><comment><USER7> Tyler's course on egghead.io was amazing, can't recommend his content enough.

<comment><AUTHOR> Thank you so much! Means the world.

<comment><USER8> Tyler, I echo the parent's comments. I took your React course on Egghead back in August and it was great.

Question: I've been meaning to come back to it and re-watch the videos, but I'm concerned that the React ecosystem changes quickly and they may have become outdated. Can you comment? Do you have plans to update/re-record the videos as new versions of React/Redux/Flux etc. come out?

Thanks again for all the great work you're doing.

P.S. It would also be great if you could put timestamps on videos and courses, as it's difficult to see when they were added.

<comment><AUTHOR> The react ecosystem does move really quickly. I think what's important to realize is that even though it moves quickly, if you learn the correct principles you'll just be stuck with minor API changes rather than architectural changes - which is a huge difference. I tried to approach the course from this point of view as well. Even if the API changes a little bit, the overarching methodology of building your UI will be the same. Someone who did the amazingly was Dan Abramov in is egghead series. Learn concepts, not libraries.

</comment></comment></comment></comment><comment><USER9> "Why should I use React?"

Read this: [http://reactfordesigners.com/labs/reactjs-introduction- for-p...](http://reactfordesigners.com/labs/reactjs-introduction-for-people- who-know-just-enough-jquery-to-get-by/)

If this article does not convince you, React is not for you and that's OK.

<comment><USER10> For what it's worth, all the JSBins with the react code don't work. I'm using Chrome. I keep getting Uncaught ReferenceError: ReactDOM is not defined.

I fiddled with it a bit but I couldn't get any of the examples working. <shrug>

<comment><USER9> That's unfortunate that article was my go to on why React, it's the reason I decided to use it. I'll try to reach out to the other.

</comment></comment></comment><comment><USER11> Really can't decide to go ahead with an Angular approach (2.0) or use React. I know React is only for the view layer so what are people using with React to do stuff like api calls?

<comment><USER12> Here's a look at the folder structure we're using for our app: [https://i.imgur.com/wc7DyOA.png](https://i.imgur.com/wc7DyOA.png)

/actions: Flux action creators

/components: These are all the JSX React components (the presentation layer) - so there are subfolders like "pages", "controls", etc.

/reducers: These are Redux reducers - they're the logic that handles all of the application state

/services: This is what your question was really about. We use basic ES6 modules for services, with methods like "fetchUser(id)" which use the new JS Fetch API behind the scenes. We then have redux-thunk and redux-promise middleware so we can easily offload state manipulation to these services without actually putting state logic in them.

I've set up a few React projects at this point and this always seems to keep a nice separation of logic. I'm never asking where data is coming from or where it's going. I think Redux has been the biggest difference maker when dealing with all of these parts.

It's no framework, but it's composed of well understood libraries, each with their own important function. You build the structure out yourself so you know exactly how it works, and the pattern will be very familiar to anyone who has used React before.

<comment><USER13> I've been hesitant of Fetch() because of the lack of timeout; has anyone been able to successfully get around this issue?

<comment><USER12> Yeah, this is an important question. I don't have answer for you and neither do the people in charge of the fetch API. It's an issue with promises not being cancelable. There's probably a reasonable argument that promises just aren't that great because you can only resolve or reject.

Personally I don't see a huge problem with either resolving or rejecting with a message about the cause of the result. Others see it differently but they haven't been able to make any progress on a major problem.

If you want to avoid this altogether there's no reason why you can't use a different library.

<comment><USER14> What about using observables? Unlike promises, they can be cancelled at any time.

Rxjs provides the observable data type. The extensions are functional reactive operators. There are operators used to retry, throttle, filter, debounce, etc.

Angular2's http module is already based on Rxjs observables for this exact reason.

</comment></comment></comment></comment></comment><comment><USER15> A nice example of what can be done with the Teachable platform ([https://teachable.com](https://teachable.com)).

</comment><comment><USER8> Here's a potentially dumb question about React: can it be used inside a client-side application that was written using Angular?

Part of my job involves customizing a commercial, closed-source web application that lets you build web forms. The application's front-end was written using Angular, but it lets you add your own custom JavaScript to add more functionality to forms, such as character counts, hiding/showing relevant fields based on conditions and auto-capitalization of user input. Basically, each form has its own JSFiddle-like section that gets published alongside the form.

We currently use native JS and JQuery for these customizations, usually within a monolithic document.ready block. The problem is that our code can get pretty complex, especially when hooking up multiple event handlers to the same elements. I've been thinking that React may be able to solve this problem, but I'm uncertain about using it alongside Angular, especially since I have no control over the latter.

Based on this description, would there be any advantages to trying to shoehorn React into our projects, or should we stick with native JS and JQuery?

<comment><USER16> It's possible: [http://ngreact.github.io/ngReact/](http://ngreact.github.io/ngReact/)

</comment></comment><comment><USER17> Just started learning js etc. Was told Angularjs has everything loaded so it's easy for beginners, while React is better for the more experienced who knows how to pull various things together? is this true? if so is there a "React- stack" for me to start with?

<comment><USER18> It would probably be best to understand the fundamentals and then to figure out how components of the "stack" are wired together. This might help be a starting point - [https://github.com/gaearon/react-makes-you- sad](https://github.com/gaearon/react-makes-you-sad)

</comment></comment><comment><USER19> I've watched both his React and React Native tutorials and loved both of them!

I had the chance to talk with him after a local JS meetup and he was super nice. Can't recommend his stuff more.

<comment><AUTHOR> Thanks so much! Utah FTW.

</comment></comment><comment><USER20> Serious question, and sorry(?) for bringing this up. But is everyone here really okay with reacts licencing?

Apart from stubbornly refusing to accept embedding html in js directly is a good idea (although I see the pros), licencing is the main reason I avoid this ecosystem altogether. Even though it has an outstanding community.

perhaps I'm making a deal out of nothing.

In any case will definitely take the course, im sure it will be as excellent as the others. Many thanks for your efforts Tyler.

<comment><USER21> What specifically about the licensing? This is an actual question, not advocacy. IIRC, Facebook had a provision that disallowed use of React for a ridiculously broad range of offenses with respect to any of FBs intellectual property but that they narrowed it considerably last year to a more reasonable: you aren't allowed to use any of our intellectual property in React if you dispute our ownership of that specific property.

I could be characterizing this incorrectly, or you could be referring to something I'm not aware of, so what specifically are you objecting to?

</comment></comment><comment><USER22> Hi Tyler! I'm a big fan of your blog and I really enjoyed your egghead course. Thanks for making this. Just signed up.

</comment><comment><USER23> Great work Tyler! You're one of the reasons I even am remotely interested in React. You're a very good teacher.

<comment><AUTHOR> Huge compliment. Thank you SO much!

</comment></comment><comment><USER24> I've been following your blog for a while. Just signed up. Thanks!

</comment><comment><USER25> Thanks Tyler! It might be helpful to also add redux + async to it.

<comment><AUTHOR> Check out the other courses. I think they're what you're looking for :)

<comment><USER25> Thanks! I wasn't aware of them :)

</comment></comment></comment><comment><USER26> Login problems: at [http://courses.reactjsprogram.com/courses/enrolled](http://courses.reactjsprogram.com/courses/enrolled) I'm logged in, then I click on the course and go to [http://courses.reactjsprogram.com/courses/reactjsfundamental...](http://courses.reactjsprogram.com/courses/reactjsfundamentals) and I'm logged in. Then I click any of the Start buttons and I'm not logged in anymore (Lecture contents locked - Enroll in Course to Unlock).

Opera on Android, cookies enabled; Adblock Plus enabled or disabled, no changes.

Edit: I checked with Firefox and Opera on Ubuntu and it works.

</comment><comment><USER27> I wish there was some way to speed up the videos.

<comment><USER28> It's an HTML5 video, so you can adjust the speed with JS if you can get the right element. e.g. to set the playback speed to 120%, you can do:

      document.getElementsByTagName('video')[0].playbackRate = 1.2;

in the JS console.

<comment><AUTHOR> This is genius!

</comment></comment></comment><comment><USER29> Is anyone using React with .Net ([http://reactjs.net](http://reactjs.net))? If so how has your experience been? This would seem to fit well with a MVC WebApi backend.

<comment><USER30> We're using React/Redux to replace our Angular front end to MVC WebAPI. But we're also slowly replacing our MVC WebAPI backend to Node.js/Express. AD, LDAP, Tedious-Pooling, etc make it work perfectly in our MS environment.

</comment></comment><comment><USER31> When you're ready for it, improve your React game with GraphQL/Relay! :)

[https://gist.github.com/idibidiart/49a095b6bc528638f34f](https://gist.github.com/idibidiart/49a095b6bc528638f34f)

</comment><comment><USER32> I think I'm going to go through this this coming weekend, even if I am comfortable with React. Tyler is a great teacher and I could use help with the router and webpack.

Thanks for making this free!

<comment><AUTHOR> Thank you so much!

</comment></comment><comment><USER33> Tyler has taught me everything I know about javascript and React. Can't recommend him and his teaching style enough! He is a truly gifted teacher.

<comment><AUTHOR> Besitos.

</comment></comment><comment><USER34> Thanks for posting this! I've been dragging my feet about learning react for a week or so now and I think this will push me over the edge. Much appreciated.

</comment><comment><USER35> Truly convincing!!! Hope to master soon this so acclaimed React (is that so productive?!?) Thank you so much for posting this resource

</comment><comment><USER36> Wasn't interested in React until I began this course. (Angular background)

</comment><comment><USER37> hi, I am wondering if the website is built on top of existing elearning systems.

thanks

<comment><AUTHOR> Yup. Using teachable.com

</comment></comment><comment><USER38> This is awesome! Thank you!</comment>


Ask HN: When using a theme, what do you tell clients? - <AUTHOR>

I'm looking to modify themes from themeforest, etc. to build sites for clients so I can market at attractive price levels. I'm wondering if people typically tell their clients that they are modifying themes when they do so and, if so, how that is generally received. <comment><USER2> I think it is a technicality most clients do not care about. To me it is similar to saying that we are going to buy dodge vans to deliver your products. So long as it is well designed and they approve of it, most clients could care less what is used to solve the business need, their branding and results matter far more to their business case than whether or not a specific theme was used. For a pure web site that does not have much functionality, one would need a very good business case for not going with a theme. My group does custom web apps, and we have a division that does SEO analytic etc. The do offer packages for clients that need sites, and for almost every case a theme fits the bill. If a clients needs are publishing content such as marketing material, then it is almost a disservice to them to not offer a theme and pass along some of that savings to them, in the form of less hours spend on developing the solution.

</comment><comment><USER3> Create a child theme w/ specifically for client. <http://codex.wordpress.org/Child_Themes></comment>


Ask HN: Can you construct G2 Curves in CSS? - <AUTHOR>

Does anyone know how to create G2 curves in CSS? Here's a little link demonstrating them: http://www.delcam.tv/delcam-video.asp?VideoId=77
Basically, they're perfectly smooth, rather than being simple quarter-circles like CSS's border-radius. Things such as the corners on the iPhone are supposedly constructed of them.
My math skills are a little weak to understand how these are even constructed, but I'd imagine that someone could construct them out of CSS by layering a bunch of DIVs with different border-radius properties on top of them.
Sounds ugly (from a semantic standpoint) and a little nit-picky, but with things like the introduction of the Retina Display on the iPad 3, I think we'll start seeing subtleties like this popping up in the future. <comment><USER2> If there is a way it's most likely not IE friendly. Maybe look at using <canvas>. <http://jsfiddle.net/mBzVR/175/> Best of luck!</comment>


Get a new mac address on boot - <AUTHOR> http://programthirteen.com/New-MAC-On-Boot/ <comment><USER2> Good grief. Couldn't you have made the fonts less legible? I'm having too easy of a time reading.

Might have tried white on white, with a gray drop shadow. Still technically readable without highlighting!</comment>


Rust and Bitter C++ Developers with Jim Blandy [podcast] - <AUTHOR> https://corecursive.com/013-rust-and-bitter-c-developers-with-jim-blandy/ <comment><USER2> Thanks for submitting this. This is an interview I did with Jim Blandy a back in may. He was so great at explaining the sort of 'What is Rust for' question as well a just a fun person to talk to.</comment>


Show HN: Record and playback interactive walkthroughs of your codebases - <AUTHOR> https://twitter.com/LostInTangent/status/1236672803123814400 <comment><USER2> Interesting, will check it out, but your Show HN link shouldn't be to a tweet. It should be to the product itself:

[https://marketplace.visualstudio.com/items?itemName=vsls- con...](https://marketplace.visualstudio.com/items?itemName=vsls- contrib.codetour)</comment>


Ask HN: How did you reboot your business? - <AUTHOR>

Entrepreneurs  of HN, did you ever "reboot" your business/venture? Was it a continuation/extension of the previous business or was it something entirely new? Can you share some tips and suggestions on what helped in re-building the business? <comment><USER2> I was brought in to "reboot" a business that had gone sideways due to some poor choices. The original owner had started a successful business and had run it for about 10 years. He wanted to "take it to the next level". So he got an investor who had some big money, some big ideas, and a big team. However, they didn't actually understand the business. Things began to fail spectacularly.

I was asked to come in on the same day that the rest of the development team quit (they left in mass out of anger). We quickly rebuilt the team and focused on delivering the product. I would call this a continuation of the previous business. We figured out what did and did not work and focused entirely on what did work. We also worked on getting the books in line and getting the company out of legal trouble. In the end, we turned the business around in about a year and sold it for a windfall profit.

My tips and suggestions are all around product. Figure out what your product is and DO NOT deviate from that product. If you have 20 products, figure out which one is actually making money and has the most market to grow in and focus on just that product. Get rid of everything else. Every time I have been involved with a business turn around and have focused on the single product, it worked wonders and made millions. Focus. Do not lose focus.

<comment><AUTHOR> Thanks for that comment.

I'm seeing a sales/marketing issue with this company. The sales pipeline has shriveled up and marketing is non-existent. The product is fairly decent, nothing spectacular, but they are possibly playing in the wrong space, given the amount of capital they have and the competition they face from the big enterprise players.

So from a re-build perspective, I am wondering if their owner can take on the risk of building a NEW product or are they better off doing what they are doing (except, do it better)?

<comment><USER2> That's a hard question really without knowing more about the business (you are welcome to email me if you'd like, contact info is in my profile).

Here's generally what I look for when I am looking at a company that is in a market with a huge enterprise competitor. Huge enterprise market competitors aren't a problem as long as you aren't competing against them. Often times the large enterprise market competitor has a gap in their software solution that a small company can capitalize on filling. For example, maybe the industry uses a huge enterprise inventory tracking system but that system doesn't have a good mobile reporting solution. A small company could make tens of millions of dollars on a mobile reporting solution specifically for the large enterprise inventory tracking system.

If I were in your company I would be looking at WHY customers are currently buying your product and then work on capitalizing on that. If there really is no market left (which I doubt, honestly), then look for a gap that your competitors have which you can fill.

<comment><AUTHOR> What stood out in your comment was the very last sentence. To be more specific, the part about "there really is no market left". Enterprises are _always_ looking to solve the same two problems (cost and revenue) and there are always new ways to tackle those two issues. (Which, btw, also points me to a morale/enthusiasm issue at play with the owners. They think everything in the enterprise has been done.)

Thanks again for your input.

</comment></comment></comment></comment><comment><USER3> Mindset is important; you can free yourself and unlock door. On this subject, Jay Abraham has some excellent food for thought.

Recommend reading his book. Here's a quick video interview> [https://www.youtube.com/watch?v=4X6Dfmi_GSk](https://www.youtube.com/watch?v=4X6Dfmi_GSk)</comment>


Why `const int main = 195;` is a valid program - <AUTHOR> http://stackoverflow.com/q/33305574/417501 <comment><AUTHOR> Try this one if you're on an ARM processor:

        const int main = -516948194;</comment>


OpenSSL 1.0.1 allows attackers to obtain sensitive information - <AUTHOR> https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-0160

<comment><USER2> It's kind of ironic that there are going to be NSA employees who are pissed that this got out. Here's a rewrite once the variable being the elephant in the room is plugged in:

"The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeart Extension packets, which allows the NSA to obtain sensitive information from process memory via crafted packets that trigger a buffer over-read, as demonstrated by reading private keys, related to d1_both.c and t1_lib.c"

</comment><comment><USER3> Here comes NIST to state the obvious, after the fact.

<comment><USER4> I already saw some OpenSSL lib patches coming in on Ubuntu 13.10, I guess I don't have to worry ?

<comment><USER5> Test tool: [http://filippo.io/Heartbleed/](http://filippo.io/Heartbleed/) (not mine)

<comment><USER6> I have to say I'm wary of using this for any servers I control; what if they turn out to be vulnerable and this page is just collecting a list of machines to examine in detail later?

Has anyone found an offline tool for checking this?

<comment><USER7> Go to the repo[0], download the code, read the code, execute.

[0] [https://github.com/FiloSottile/Heartbleed](https://github.com/FiloSottile/Heartbleed)

<comment><USER6> Great, thank you. Just realised the repo is linked from the page too (I didn't stay long enough to spot it last time).</comment></comment></comment></comment></comment></comment>


Is it Christmas? .... does not account for time zone.. - <AUTHOR> http://isitchristmas.com/ I mean really...if this is going to be the only purpose of your site, at least tell me when it's Christmas for me, and not the valley (i'm only supposing..) <comment><USER2> <http://isitchristmas.appjet.net> is my attempt. Yay client-side code.

</comment><comment><AUTHOR> I mean really...if this is going to be the only purpose of your site, at least tell me when it's Christmas for me, and not the valley (i'm only supposing..)

<comment><USER3> it seems to be for the US east coast

</comment></comment><comment><USER4> But, interestingly, it does account for locale. I'm visiting my parents in Quebec, and I get "YES/OUI".

Anybody else getting localized results?

<comment><USER5> So that's what it was. I'm in Japan and I thought the "HAI" response was more LOLCODE garbage... I'll say it's not localized because they used roman characters and not something more natural like [Arg Hacker News can't handle Japanese characters]

<comment><USER4> OH HAI I LOLCALIZED THIS FOR YOU

</comment></comment></comment><comment><USER6> haha, this is the best way to ring in some holiday cheer.</comment>


How Stripe does engineering interviews - <AUTHOR> http://www.quora.com/Stripe-company/What-is-the-engineering-interview-process-like-at-Stripe?share=1 <comment><USER2> Stop trying to blur the lines between you, the company, and me the employee. Nothing would make me come into the office on a Sunday and 'hang out' with another employee. Do you really want to fill your company with people who want to be there 24x7?

The way these tech interviews are going we'll all end up being sole traders as none of us will put up with these ridiculous parlour games.

Just chatting with my girlfriend, she pointed out that we can hire lawyers, doctors, and surgeons on the back of a CV and an hour interview. So how did we get into this crazy mess over hiring programmers?

<comment><USER3> There's just so much wrong with your short little comment here, I've rewritten my own comment four or five times trying to capture it all. Here's the bulleted list:

* Yes, I really do want to fill my company with people who want to be there 24x7, for many reasons, least of which are the fact that such people exist in large quantities, and while it's not a guarantee they'll put in more work-per-dollar, it's a safe bet that they will.

* If what you're saying were true about "sole traders", then Google, Stripe, and all the companies who play these "rediculous parlor games" would not be staffed, and yet they are. So clearly, that's an inaccurate prediction.

* Your girlfriend listed professions which come with multi-year vetting built-into the system. No such system exists for programmers, especially, considering some of your best talent is going to have dropped out of college. When you get an applicant for a software dev position, they could be effectively _anybody_.

If you're not willing to play the game at the level other folks are playing, you will need to bring something else to the table to compensate. That's that.

<comment><USER4> > Yes, I really do want to fill my company with people who want to be there > 24x7

No, you don't. This is naive. Human beings aren't computers.

There is no constant output per hour of work. It's nonsense. The output per hour of work depends entirely on the state of mind and physical condition of the employee.

If the employee is well-rested, healthy, and happy, they will be quite productive.

If they are sleep-deprived because they stayed at the office until midnight, depressed because they have nobody to share their life with, and physically exhausted or sick because they haven't taken time off in years ... you really think they will produce the same output as well-rested, happy employees? No. They won't even produce a quarter. In fact, they will make mistakes that will end up costing you on top of whatever it is that you're paying them.

<comment><USER5> That's the thing - I'm not sleep-deprived (except on occasion by choice) and I'm quite healthy and happy. I like to think I'm reasonably productive. Sure, output depends on how I'm feeling, but I still would rather be working than not.

You know what it is? I get paid money to play with computers. As much as I want to think of what I do as work, I come back to the fact that I'm lucky enough to have made my hobby a profession. Do I think that everyone in technology is in the same boat? No. Not by a long shot. But would I happily swing by on a Sunday to help a coworker with a problem, you bet. I love hard problems. Hard problems I get to solve by using technology are even better. I choose to surround myself with those individuals who feel the same way, I don't see why that is a bad thing.

<comment><USER6> Playing with computers is awesome. Coding is awesome. It's always a huge boost to put something new out to the world. It's great.

But you know what else is awesome? Spending time with my wife, gardening, hiking, traveling, biking, eating, exploring, wine, beer, home improvement, etc.

So yeah, I will never come to the office just to hang out with someone...especially on a sunday. But I'll get my work done and help others get their work done and it will be good work. I just won't do it on a sunday.

\- Ok, a year and a half ago I worked 43 straight 10+ hour days because I really believed in what I was doing. Chances of me ever doing that again voluntarily? Basically nil. Life's too short and spending so much of it in front of a screen...yuck.

</comment></comment></comment></comment></comment><comment><USER7> That seems like a pretty great idea. I especially like the "tests" they give at the end. Asking those questions would give a decent feel for if you would actually want to work with that person.

This kind of interview seems like it will do a better job of hiring great engineers, rather than just hiring the "smartest" person. I think a problem that lots of major tech companies have today is that they've only hired people who are "book" smart vs "street" smart. (If that makes any sense to you in the realm of programming).

<comment><USER8> I think " great" engineers would balk at 5 hour interview process. And it seems to concentrate to much on the easy part ie coding and not the tricky soft skills.

<comment><USER9> On the contrary, I've found that great engineers are more concerned about flimsy interview processes. They know that everyone else will be picked by roughly the same process that they are. They want to have confidence that their colleagues will be good.

(I agree that soft skills are critical, though. I work at Stripe, and part of the reason we picked this set of interviews is to assess those soft skills in something as close to a real-life situation as can be approximated in a few hours.)

<comment><USER10> I'm not calling myself a great engineer, but I've actually been hesitant to accept job offers in which I wasn't given a challenging interview. A challenging interview is not always indicative of a good job, of course, but with the investment I've made into my skills, I don't want them to languish.

</comment></comment></comment></comment><comment><USER11> Firstly I like the focus on coding instead of algorithms and trick questions.

But I don't like the notion of going to work on a Sunday, that's something I would never do unless the company is going to go under (or if it was _my_ company).

I'm also curious on how the whole team can be involved in a hiring decision. That's seriously a lot of time spent - on each candidate!

<comment><USER12> I work at Stripe.

The post has since been updated, but I'll just copy it here: This isn't about actually coming in on a Sunday (most people don't) — it's to determine if this is someone who is so impressive and so nice that others actively want to be around them.

Also, as mentioned in the post, usually just the interviewers attend the meeting to make a hiring decision. In the case that someone didn't interview a candidate, but knows him or her in some other way, we want to make sure this person can also join in, if wanted.

<comment><USER11> Ah thanks for the clarification! That makes sense and sounds like a good arrangement.

</comment></comment></comment><comment><USER13> I appreciate that the CTO took the time to answer the question. I know it is good for promotion, etc. Nonetheless, it is nice that the effort was put forth.

</comment><comment><USER14> 1\. This sounds like a tremendous amount of fun. I would do this on a Saturday and even if there were no possibility of a job offering on the other end. I would do it just for the joy and the learning.

2\. I really enjoy those brain-teaser algorithmic interviews, but I recognize that they don't test skills that will be used every day. I don't see the contract-to-hire alternative that is always discussed on these threads as a attractive alternative to me as an employee. The interview described by the Stripe CTO sounds like a good way to test real-world skills without the huge time commitment of contract-to-hire.

3\. This interview process sounds like much more work to set up than algorithmic brain teasers, especially since they tailor the projects to each person.

</comment><comment><USER15> Imagine doing this for 5 people, all the time wasted by the team necessary to spend this much effort on each person. Eventually I would think employees would get tired of this.

<comment><USER16> If you've ever been in a position to hire/fire employees and deal with managing a non trivial number of people then you'll appreciate taking the time to vet them (as best you can) before you hire them. Five hours interviewing someone is nothing compared to the days/weeks/months they'll be working with you. Even at 5 minutes of "savings" a day for a good vs poor choice you'd recoup the value of the interview in 60 working days (e.g. 3 months) and that's assuming it's just a single person's time your saving. In reality a worker's abilities and performance impacts more than just one person and the difference between a good and poor choice of employee is significantly more than 5 minutes a day.

I'm not saying you need to spend more than five hours with a candidate though it's not an obscene amount of time to vet out a person.

</comment></comment><comment><USER17> I love the Bug squash part, It's a very good way to tests debugging skills while providing value to the community.

</comment><comment><USER18> Good resource on refactorings:

[http://martinfowler.com/refactoring/catalog/](http://martinfowler.com/refactoring/catalog/)

</comment><comment><USER19> "Simply writing correct code isn't enough"

This doesn't make sense to me. Customers don't know or care what your code looks like, they just want your product to work.

<comment><USER3> I agree with the submission - fuck correct code, if it's not maintainable it might as well not be correct. I'd throw out correct but illegible code if it was bad enough - spend an extra 100% of time rewriting, and then 1% of time relearning, or spend an extra 20% of time re-learning the confusing code every time someone has to go back and look at it?

<comment><USER20> i think it's the opposite

readable code is more likely to be correct, but correct matters a whole lot more than readable. How many times have you had to hack on JSON serializer internals or HTTP layer implementation details or database drivers or filesystem I/O. Probably never, and if you did take a peek, you would not be thrilled, because a lot of that stuff was written 15+ years ago.

readable code is a tool that good engineers use to arrive at correct code, especially in cases where we haven't iterated with the product owners enough to know what the correct logic is, or domains where the requirements are not well defined. But correct code is the goal.

This can also explain why some of the very best programmers insist on using category theory and monads even though it is infamously difficult for untrained programmers to read.

FWIW my perspective is large enterprise webapps implementing complex and poorly-defined business rules. Not like I'm doing linear algebra or device drivers.</comment></comment></comment>


'Sexist joke' Web Developer Whistle-blower Fired - <AUTHOR> http://www.bbc.co.uk/news/technology-21896442 <comment><USER2> It's interesting that Hacker News is used as a source for the article:

 _"Someone claiming to be the man in question apologised in online forum Hacker News for any offence caused but denied saying anything inappropriate about "forking"."_

<comment><USER3> The entire article has been cobbled from websites. It's interesting as an indicator of how far behind the MSM have fallen.</comment></comment>


Understanding real-world concurrency bugs in Go - <AUTHOR> https://blog.acolyer.org/2019/05/17/understanding-real-world-concurrency-bugs-in-go/ <comment><USER2> This is kind of expected given go give you no additional safety, only focusing on "simplicity". Rust seems so much more promising.

</comment><comment><USER3> tl;dr concurrency is hard</comment>


Tell HN: RubyMotion student discount  - <AUTHOR>

Last week there was a question about RubyMotion discounts for students and a few complaints about the lack of answers for student license requests:
http://news.ycombinator.com/item?id=3950369
I can confirm that today I've seen an email which offers 80% discount for students (and academic personnel). Also this is reduction is cumulative with the early bird discount, basically a student can buy a RubyMotion license for about 30$ which is not a bad deal. <comment><USER2> Ruby Motion is so cool. Can you still edit the interface using xcode though?

<comment><AUTHOR> Apparently there is a way:

<http://ianp.org/2012/05/07/rubymotion-and-interface-builder/>

</comment></comment><comment><USER2> When is the student discount going to be available?</comment>


ITerm2-updated terminal for OS X - <AUTHOR> http://www.iterm2.com/#/section/home

<comment><USER2> Nice! I like that they've included visor like functionality and that that it's now possible to split windows like a tiling window manager.

I tend to switch back and forth between using iTerm full screen and using xterm in x11 for raw performance.</comment>


E.T., Atari games found in Alamogordo up for sale - <AUTHOR> http://www.abqjournal.com/490535/news/e-t-atari-games-found-in-alamogordo-up-for-sale.html

<comment><USER2> For anyone curious like me, here they are: [http://www.ebay.com/sch/tbhs575/m.html?_nkw=&_armrs=1&_ipg=&...](http://www.ebay.com/sch/tbhs575/m.html?_nkw=&_armrs=1&_ipg=&_from=)

They're going for between $50 and $500 (most seem to be around $50 right now).

They're all in pretty bad shape. :)

<comment><USER3> Thanks for the link as the linked article is paywalled.

The 500$ cartridges are the ET carts. All the other ones are about 50$

I think the ET carts are the most expensive since that's why they started to dig in the first place.</comment></comment>


Mailgen – Generates clean, responsive HTML for transactional email - <AUTHOR> https://www.npmjs.com/package/mailgen <comment><USER2> From the linked templates, it would appear text-part is supported, but from the examples, it would appear it is not. Email without a text body isn't really valid email, and it certainly isn't "responsive". Does this library generate a proper text part automatically? Does it allow disabling the html- part?

<comment><AUTHOR> Good point -- this has just been added, thanks for your feedback! [https://github.com/eladnava/mailgen#plaintext-e- mails](https://github.com/eladnava/mailgen#plaintext-e-mails)

<comment><USER3> That is very "responsive" of you. :-)

<comment><AUTHOR> Ha ha =)

</comment></comment></comment></comment><comment><USER4> Looks very nice. However, I'm not entirely sure why this has to be a language- specific library instead of just an HTML template to copy?

<comment><USER5> If you need the HTML templates to copy you can do so from here: [https://github.com/wildbit/postmark- templates](https://github.com/wildbit/postmark-templates)

This project seems to be more specific, targeting Node users.

<comment><USER6> And here is another one - [https://github.com/mailgun/transactional-email- templates](https://github.com/mailgun/transactional-email-templates)

</comment></comment></comment><comment><USER7> Nice tip about the X-Entity-Ref-ID usage to prevent GMail from chunking repeated emails together! I will have to note that for my existing web apps.

Any plans to extend this to use GMail's enhancements allowing a confirmation button in the subject line, thus letting the user perform a simple action without opening the actual email?

I see more and more confirmation emails now with the confirm button in the subject line - I believe it requires a few more header specific to GMail to allow this.

<comment><USER8> I did not know this existed so I looked it up! Here are some docs about it: [https://developers.google.com/gmail/markup/reference/one- cli...](https://developers.google.com/gmail/markup/reference/one-click-action)

<comment><USER7> That's them. I had a look at these when it first was 'released' by Google, but back then it was more of an 'opt in' system I believe, with Google having to approve senders who were going to embed these schemas into their emails.

Have to revisit this now to see if they have relaxed the requirements a little. It will be good if these became a normal extension to all emails and other clients such as Outlook, Yahoo Mail etc. all pick it up as a standard.

</comment></comment></comment><comment><USER9> In case someone is interested, mailgun offered some free transactional email templates on their blog back in 2014:

[http://blog.mailgun.com/transactional-html-email- templates/](http://blog.mailgun.com/transactional-html-email-templates/)

</comment><comment><USER10> Well you can generate HTML "email" if you don't want anyone to read it. email is not html, it's text.

<comment><USER11> My email inbox, which currently contains almost entirely email in HTML format, would beg to disagree with you.

I understand the frustration to some extent – many organisations could get by with using plain text emails rather than HTML ones. But AFAIK HTML emails mean better customer engagement, and can offer useful features to users. A stick- in-the-mud "that isn't real email" attitude unfortunately doesn't get us that far.

<comment><USER12> > But AFAIK HTML emails mean better customer engagement

Or the illusion thereof.

HTML mail is more likely to go into the Junk mailbox. Guess the most usefull thing with HTML email is the "pixel gif" that you use to track it, and it's useful only to the sender, not the receiver.

On the other hand, IDK what "useful features" of HTML you talk about, other than being (relatively, possibly, and never certainly) pretty.

<comment><USER11> _Or the illusion thereof._

I'm not sure about that. I'm afraid I don't have access to the numbers any more, but I've seen firsthand how HTML emails can result in more engagement with customers – more likely to follow links, in particular.

 _HTML mail is more likely to go into the Junk mailbox._

Is that really true? If anything, I've seen that regular customers—assuming you are not a tech-focused business—are _less_ likely to read emails in plain- text formats!

 _On the other hand, IDK what "useful features" of HTML you talk about, other than being (relatively, possibly, and never certainly) pretty._

I don't think that 'pretty' is really fair – more like 'can have visual design'. If it were the case, surely magazines and newspapers would be nothing but plain text too, as would all mail we receive. In contrast, I would be a bit freaked out to receive something like a utility bill in the mail that was in plain text, without a company logo, or formatting, or other elements that make it more usable and identifiable.

I do completely understand that you prefer plain-text email, and so do I. But I'm pretty sure we are in the minority there, and that most people treat email in the same way as they'd treat physical mail – and that probably means that the relatively invisible downsides (tracking, size, poor formatting etc.) are outweighed by being formatted more effectively.</comment></comment></comment></comment>


Expect "equal pay for equal work" at your new remote job - <AUTHOR> https://www.nityesh.com/equal-pay-for-equal-work-at-a-remote-company/ <comment><USER2> This article is great; it really touched on all the things I immediately had in mind.

GitLabs compensation always felt extremely unfair to me. Their relocation calculator seems to be offline at the moment, but I remember SF having a factor of 2.x and Munich, which is a pretty expensive city in my country, having a factor of 0.3. Guess where the CEO lives.

Now, I can see why it makes economical sense for GitLab to do this, but it feels like they're telling you "we don't pay you because we can" right in the face. And if I have to move for an all-remote company the point is a bit moot. Let's hope that, with enough work-from-home in the market, it will fix itself.

</comment><comment><AUTHOR> Note (I am not the author): The words "You should" seem to have been auto- edited out of the title, as I copied and pasted directly into the title field from the blog post-which I think may give the post a different flavor to those browsing titles here.

Otherwise, no intentional editorializing done here. Just a brief _caveat lector_.</comment>


Ask HN: What facts did you learn that you can never un-know? - <AUTHOR> Looking for examples of relationships in the world where once you see or learn them, you cannot un-see them whenever you encounter them.
To me more advanced ones include things like interest compounding, standard negotiation and sales tactics, pareto distributions, and survivor bias, but they could be as simple as proverbs, heuristics, similes and metaphors, and even poetic descriptions.
What are other examples of these frames that, once you view the world through them, they stick on your short list of go-to mental reference points? <comment><USER2> Digestion in the stomach is very far from a simple passive process. The stomach is always violently compressing itself, smashing up and "chewing" food that you ate.

This forever altered my world view on stomachs.

</comment><comment><USER3> You can fit all the planets in the Solar System side by side between the Earth and the Moon. Makes you realize just how vast Space can be.

Source: [https://www.universetoday.com/115672/you-could-fit-all- the-p...](https://www.universetoday.com/115672/you-could-fit-all-the-planets- between-the-earth-and-the-moon/)

</comment><comment><USER4> That humans are capable of both great kindness and unspeakable evil.

That a person's life can change forever in a split second.

</comment><comment><USER5> Otters [https://www.iflscience.com/plants-and-animals/otters-are- not...](https://www.iflscience.com/plants-and-animals/otters-are-not-cute- they-are-sick-depraved-jerks/)

I highly recommend not learning this about otters

</comment><comment><USER6> Farnam Street's 109 Mental Models [https://fs.blog/mental- models/](https://fs.blog/mental-models/)

</comment><comment><USER7> One basic definition of wealth is time. Wealthy people purpose most of their time. Poor people have most of their time purposed for them.</comment>


Women in STEM: Build your company in SF and get $20k in investment - <AUTHOR> http://wefunder.com/xx <comment><AUTHOR> Hello!

Today's the last day to apply to the xx: wefunder.com/xx (Takes 10 min!)

It's accelerator where you build your startup next to 5 other amazing STEM founders in SF for 3 months. You get $20k in investment, free housing for 3 months and gain lifelong friends.

We have amazing founders and investors (like Tracy from Plangrid!) joining for fireside chats and hope the xx inspires founders to think big and pay it forward.

If you have any questions or thoughts, please email me at firstname.lastname@example.com I'd love to know :)

Please apply. Don't ever count yourself short!! If you know friends, family, passerby who'd love to apply, please share with them! Thank you!</comment>


Genymotion – Fastest Android Emulator - <AUTHOR> http://www.codelator.com/blog/2014/aug/genymotion-fastest-android-emulator.html

<comment><AUTHOR> Genymotion is one of the fastest Android emulator which is used for testing applications. It is a very useful tool for testers and developers. It is available for most of the Operating Systems such as Windows 7 and Windows 8, Mac OS X and Linux. Its installation process is hassle-free and is very easy to use.

Genymotion provides complete set of tools for Android virtual environment. It is emerged from AndroidVM project. A company named Genymobile bought AndroidVM and made a new product and named it Genymotion. It is equipped with number of features such as OpenGL acceleration to achieve the smoothest 3D performance, battery level, GPS, camera, eclipse plugin, full screen display, networking etc.</comment>


Anyone got Y Combinator invite for 2018 winter batch? - <AUTHOR> <comment><USER2> No, maybe lets create Telegram channel? Lets join to t.me/ycombinator_winter2018

</comment><comment><USER3> bigger thread: [https://news.ycombinator.com/item?id=15530166](https://news.ycombinator.com/item?id=15530166)

<comment><AUTHOR> Thanks will check it out!!

</comment></comment><comment><USER4> None yet huhu anxiously waiting for it

</comment><comment><USER2> please join to t.me/ycombinator_winter2018 and lets make live discussion

<comment><AUTHOR> Thanks!! Will join now!!</comment></comment>


Finding John Updike, and Taking His Trash - <AUTHOR> http://www.texasmonthly.com/story/finding-john-updike

<comment><USER2> The Writer's Almanac had a wonderful podcast on Updike a few years back [1]. It featured his poem "The Blessing"—one of my favorites.

[1] [http://writersalmanac.publicradio.org/index.php?date=2009/03...](http://writersalmanac.publicradio.org/index.php?date=2009/03/18)</comment>


Tesla Motors - A Letter to Customers - <AUTHOR> http://www.teslamotors.com/blog2/ <comment><USER2> Did anyone here buy one? Please come here and brag and tell us your thoughts on your non-existent transmission.

</comment><comment><USER3> _When the final transmission is ready, we will retrofit all cars, at Tesla's expense, to meet the promised performance specifications._

For what those things cost I'd expect more than that.

<comment><USER4> What more would you expect?

<comment><USER3> As it stands they are selling a promise that someday things will be better than they are. Since that's not something you can easily exchange for actual value, I think a more fair arrangement would be for them to sell the initial inferior product at a discount and charge separately for the retrofit when it becomes available.</comment></comment></comment>


China Unsolved: Who Poisoned Zhu Ling? - <AUTHOR> https://supchina.com/2018/06/20/china-unsolved-who-poisoned-zhu-ling/ <comment><USER2> Saved you a click: Her roommate at the time who's grandparent was a member of the political elite.

</comment><comment><USER3> > "Sun's family background was not distinguished enough to prevent security > organs from investigating the situation," the newspaper haplessly insisted.

At least in the west, there is a pretense and expectation that the laws apply equally to all.

<comment><USER4> Outside of the general scaffolding to society that law enforcement plays (e.g. "keeping the order") I have never been personally assisted in any real way by the law.

My experience is that law has been gamed and weaponized, wielded generally by the most powerful and able, and that even in situations of crime the police do not take anything that doesn't track to a big precinct objective seriously.

I've literally had a police officer laugh at me after I suggested he might be able to investigate a spree of car break-ins and thefts in my neighborhood.

A homicide attempt against my family saw the perpetrator - well connected to a network of lawyers and wealthy - escape the jaws of punishment.

On the flip side I've been harassed by police and the justice system for minor infractions or entire misunderstandings - and due to political demonstrations have a good sense that I'm registered in both my municipal and national domestic threat scoring and surveillance systems as a "possible threat".

I've spoken to friends and family about this and they share the same experiences.

I was raised on TV and media that portrayed police as neighbors and good natured civilians, but the reality for me has tracked much closer to thuggishness and intimidation.

Yes personal anecdotes only, but stolen bicycles, multiple car windows smashed and robbed, houses broken into, aggressive drivers, calls regarding domestic abuse, dangerous situations - all with friends and family generally encouraging each other not to call the police because it won't do anything to help the situation.

<comment><USER5> I think it really depends on where you live. Where I grew up in Kansas City, the cops were great. The NYPD has been enormously helpful to me and a bunch of my friends when needed.

Cops in Troy, Albany, and DC seem to be SPECTACULARLY worthless, at best. Cops in the suburbs in my experience are universally assholes and power tripping. Similarly, I've heard horror stories about cops in LA, Portland, etc, except they seem to just not do anything at all (besides beating up black people).

Sounds like it could be cultural to departments?

</comment></comment></comment><comment><USER6> Why does these posts about China with so few upvotes and no comment keep popping up in the front page of hacker news?!

<comment><USER7> There are currently nine stories on the front page with less than 31 points (the count on this story currently) and few comments.

There's absolutely nothing unusual about it in fact.

China is the world's second largest economy by a large margin, and it's the #2 tech nation also by a large margin, there are naturally going to be increasing numbers of stories about China in general.

Please read the guidelines regarding your comment:

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

<comment><USER4> From the guidelines: "Off-Topic: Most stories about politics, or crime, or sports, unless they're evidence of some interesting new phenomenon. Videos of pratfalls or disasters, or cute animal pictures. If they'd cover it on TV news, it's probably off-topic."

I would echo the OP's concern that most foreign coverage of China and Russia on hacker news seems to be:

1\. Entirely off-topic.

2\. Negatively biased in some way.

This tends to be true of more internet forums than hackernews. Having been "around for a while", my experience is that the wave of negatively flavored articles about US competitors follows the tide of geopolitical competition.

I believe these general trends are a result of our nation's propaganda program, where internet discussions and homeland conversations are considered legal operating ground. I believe much of the source material is posted by ordinary people, who have had their perceptions managed and influenced by these propaganda programs.

Regarding your point about China being the second largest economy and also a leader in technology - I would expect a significantly different mix of positively biased stories focused on China's leading edge, new innovations, top scientists and mathematicians, etc.

</comment></comment></comment><comment><USER8> >Tsinghua

The university second only after central party school

</comment><comment><USER4> Going to guess the CIA?

<comment><USER9> All the publicly available evidence (mostly circumstantial) points to a much more mundane source: jealous roommate.

<comment><USER4> Yes. My comment was flippant, referring to the CIA global assassination program disclosed in increasingly greater detail over the past couple years.

</comment></comment></comment><comment><USER6> The source of the website looks like just a compilation of extremely biased views.

<comment><USER10> Well, when it comes to stories about China, you can rarely find English articles that are NOT extremely biased.

I also suspect someone from hackernews are manually promoting such content

<comment><USER11> That includes global times and China daily, you can't read those without coming out very biased against China.

<comment><USER10> They're indeed also very biased, just in the opposite direction. You just can't get unbiased views.

<comment><USER11> No, not even in the opposite directly. Reading China daily and global times makes China to look like a communist dictatorship living in a reality far from the rest of the world. It literally provides a more negative impression of China than CNN.

<comment><USER12> Interesting. What's the explanation for that?

<comment><USER11> Bad backwards PR on the part of the Chinese government that does more harm than good. China is its own worst enemy in regards to media.</comment></comment></comment></comment></comment></comment></comment>


YC S12 Companies - 42 and counting! - <AUTHOR> http://startupframework.tumblr.com/post/29465655158/yc-s12-companies-demo-day

<comment><USER2> No diaspora in that list? What happened to them?

<comment><AUTHOR> Hey, you're right. Finally found a source that confirms their S12 application: [http://allthingsd.com/20120511/diaspora-says-its-back-on- tra...](http://allthingsd.com/20120511/diaspora-says-its-back-on-track-joins- y-combinator-program/)

Thanks, will add that.</comment></comment>


Steve Ballmer's Harvard CS50 Lecture Yesterday - <AUTHOR> https://www.youtube.com/watch?v=7lhlKF6MECs

<comment><USER2> Somehow much of the image I had of Ballmer was that he was shouting, throwing chairs, a buffoon, not very thoughtful, and standing on the good thinking of Gates and the rest at Microsoft.

In this lecture, he did some buffoon-like shouting but, to me, came off as insightful about himself and others, with some good insight into a lot, in education, computing, business, and life, bright, fast on his feet, surprisingly easy to like, and okay.

It appears that he mentioned Harvard's Math 55, and maybe that course was the same as the colorful description in

AMERICAN.COM

A Magazine of Ideas

Why Can't a Woman Be More Like a Man?

By Christina Hoff Sommers From the March/April 2008 Issue

Filed under: Culture Women earn most of America's advanced degrees but lag in the physical sciences. Beware of plans to fix the "problem."

Math 55 is advertised in the Harvard catalog as "probably the most difficult undergraduate math class in the country." It is legendary among high school math prodigies, who hear terrifying stories about it in their computer camps and at the Math Olympiads. Some go to Harvard just to have the opportunity to enroll in it. Its formal title is "Honors Advanced Calculus and Linear Algebra," but it is also known as "math boot camp" and "a cult." The two- semester freshman course meets for three hours a week, but, as the catalog says, homework for the class takes between 24 and 60 hours a week.

at one time at

[http://www.american.com/archive/2008/march-april-magazine- co...](http://www.american.com/archive/2008/march-april-magazine-contents/why- can2019t-a-woman-be-more-like-a-man/?searchterm=Sommers)

and with at least some parts of the article still at various Web sites, as from a simple Google search.

The article emphasized the challenge of Math 55 but then went on to discuss Title IX and women in STEM fields.

At one time, the main texts for Math 55 were

Halmos, _Finite Dimensional Vector Spaces_

Rudin, _Principles of Mathematical Analysis_

Spivak, _Calculus on Manifolds_

Yes, that could be challenging for freshmen!

I took a course from Rudin -- not so tough, but I took it as a senior, not a freshman.

I got enough linear algebra out of undergrad courses but very much enjoyed reading Halmos later -- a favorite book. Halmos was the best writer of the bunch. And I read through Spivak.

Most difficult undergraduate course in the country? Not really! As a senior I took a reading course from Kelley, _General Topology_ where I gave the lectures \-- usually Kelley was more difficult than any of Halmos. ..., Spivak!

Just what could be so difficult about a freshman physics course, I don't know! The Feynman lectures are not too difficult but in places are not so clear. E.g., there is the place where he says that a particle we don't know about will have probability distribution uniform over all of space. No it won't! There can be no such probability distribution. Sorry 'bout that, Dick! Why? Simple exercise!

I did like Ballmer's story about wanting to major in math and/or physics and about the first test where he got a 33 which was the fifth best in the class and still a B+!

I, too, wanted to major in math and physics; on the first test in the physics class I took, there were four questions; the prof said getting any three correct would be 100; and not very many students got that. Well, I got all 4 for, I guess, 133 and didn't miss anything else for the semester.

Then I got torqued about physics for its sloppy use of math and didn't have time enough to clean up the math for the physics and also do the physics so majored in math instead.

There were some rough edges in some more Ballmer covered, but, net, he was okay and much better than I expected.</comment>


Show HN: A well-architectured, trivial browser engine - <AUTHOR> https://github.com/ayazhafiz/sherpa_41 <comment><AUTHOR> I recently finished my what I thought to be my first non-trivial programming class, and found this project to be a great opportunity to explore and apply the design patterns I learned in the course. As a result, the project is meant to be more academic and explorative in nature, but is somewhat useful.

Check it out, and please let me know of any constructive criticism or improvements!</comment>


Automatic Generation of Regular Expressions from Examples - <AUTHOR> http://regex.inginf.units.it/ <comment><USER2> I am the "boss" of the research group that put the regex generator tool on line (<http://machinelearning.inginf.units.it/> "Data and tools"): we are all VERY SORRY for any inconvenience we may have created.

We simply did not expect so much interest in our work. Yesterday we received more than 11000 visits. We are not prepared to handle such traffic.

We are working toward adding a few more CPUs and will notify the status on our Twitter account: <http://twitter.com/@MaleLabTs>.

We are afraid we will not be able to fully solve the overload problem anytime soon, though. We are a small research group, with scarce resources.

We are also preparing a small faq for addressing several of the interesting points raised in this discussion (e.g., why not executing everything in Javascript ?). We will notify completion via Twitter. Further comments and criticisms are most welcome.

Thanks a lot for your interest and patience.

<comment><AUTHOR> That's a useful response - thanks for taking the time to register and respond.

Apologies for the extreme load caused - when geeks find something cool they tend to share it, and not everyone is ready for that level of interest.

I, for one, look forward to your updates. What would be really great would be for you to prepare some kind of informal overview and put that up as a blog post, making it clear that it's intended to be informal, and is not in any way your formal research results or anything like that. Then post here a link to it. If you engage with this community you'll get a lot of smart people offering thoughts and suggestions from which you can pick and choose.

Great work - thank you.

</comment></comment><comment><USER3> Interestingly, there is much to say about the theoretical problem of finding the smallest regular expression for a set of positive and negative examples. A nice overview: [http://cstheory.blogoverflow.com/2011/08/on-learning- regular...](http://cstheory.blogoverflow.com/2011/08/on-learning-regular- languages/)

</comment><comment><USER4> This is cool, but it doesn't look like it's doing even trivial optimizations...

        (?:\d\d[\d\d\.\d\.][\d\.](?:(?=([\d\.]+))\1))

"[\d\d\\.\d\\.]" is equivalent to "[\d\\.]", right?

It's also got a useless non-capturing group and lookahead.

<comment><USER5> You have apparently useless genes in your genetic code as well.

These regex's are generated with genetic programming techniques, so they are not guaranteed to be an optimal solution, just a good (by the metric of working) one.

<comment><USER4> You're right, I was just pointing out that with some basic optimizations you could get a much cleaner result.

Applying some fairly simple optimizations to my example result I get the following equivalent regular expression:

       \d{2}[\d\.]{3,}

which isn't too bad.

EDIT: Here are the optimizations:

The original:

        (?:\d\d[\d\d\.\d\.][\d\.](?:(?=([\d\.]+))\1))

1\. Remove non-capturing groups and lookahead:

        \d\d[\d\d\.\d\.][\d\.]([\d\.]+)\1

2\. Simplify set:

        \d\d[\d\.][\d\.]([\d\.]+)\1

3\. Remove redundant backreference:

        \d\d[\d\.][\d\.][\d\.]+

4\. Combine duplicates:

        \d{2}[\d\.]{3,}

<comment><USER6> The optimizations are great to apply to an end result, but the Genetic Programming process probably won't benefit from the expressions being optimized 'along the way' because some of the 'junk' subexpressions allow for more robustness in the face of the genetic operators.

Putting it another way, your highly optimized version (4) is likely to be much more brittle to small 'defects' than (1).

<comment><USER7> The last point can't be overstated. Optimization is highly likely to overfit the training data.

For example, given training data 000001 000002 000003 000004

The "optimized" version would be \d+[1-4]

If the goal was simply to find the smallest regex that matches all the training data, that's trivial to code, NP-hard to execute.

But the goal isn't to find the smallest regexp, it's to find a "good" regexp.

<comment><USER4> My "optimizations" were trivial, in that they don't change the behavior of the regex at all, they just simplify it. As khafra points out, they are equivalent.

I also wasn't trying to say those simplifications should be applied between iterations of the algorithm, only at the end.

<comment><USER6> Understood - and I was just making the observation that the expressions produced during the process were junky in a way that's characteristic of the way they are evolving : Mixing together two honed expressions would produce much more extreme deviations in 'children' than the offspring of two of these hairy expressions.

Not only are the expressions tending to get more accurate with each generation, but their degree of 'evolvability' is also being selected for.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> "When there are less than 200 examples, the training set and validation set have the same size. Otherwise, the training set is composed of 100 examples and the other examples constitute the validation set."

Why divide the data into sets like that? Assuming the sample data is representative, wouldn't it be better to use much more for training, say 90% with 10% for validation?

<comment><USER9> Then you might have the problem of over-fitting the training set.

See here for example: <http://en.wikipedia.org/wiki/Overfitting>

<comment><USER10> You use the validation set precisely to avoid overfitting. I agree that a 90/10 split would be more reasonable.

<comment><USER11> You could also use 10-fold cross validation[1] or similar where you rotate the training/validation sets.

[1]: [http://en.wikipedia.org/wiki/Cross- validation_%28statistics%...](http://en.wikipedia.org/wiki/Cross- validation_%28statistics%29#K-fold_cross-validation)

<comment><USER12> Also natively supported in WEKA. (Not that WEKA is easy to use.)

</comment></comment></comment></comment></comment><comment><USER13> For the reverse of this see HN discussion _Given a list of regexes, generate all possible strings that matches all of them_ \- <http://news.ycombinator.com/item?id=2579783>

</comment><comment><USER14> I can see how this supports TDD. Write a test suite and it will generate a regex that passes it.

<comment><USER15> I can't find it now, but I've read about projects generating haskell code from unit tests. Anyone got links?

<comment><USER16> Do you mean QuickCheck? [http://www.haskell.org/haskellwiki/Introduction_to_QuickChec...](http://www.haskell.org/haskellwiki/Introduction_to_QuickCheck)

<comment><USER17> QC generated random examples from a rule, not the reverse.

</comment></comment></comment></comment><comment><USER18> Slightly off-topic: I was surprised to see a ".it" domain that was actually Italian.

<comment><USER19> More off-topic: I wonder why 'interesting' top-level domains like '.it' or '.at' aren't used more frequently to create 'interesting' domain names.

Edit: you.get.it

<comment><USER20> They're hard to register and cost more. I registered <http://canhekick.it> through iwantmyname.com after someone snatched up canhekickit.com. It cost me $30 instead of $10.

</comment></comment></comment><comment><USER21> Sounds neat, but unfortunately it isn't working with a "Server is busy!" error.

<comment><USER22> I wonder why the GP has to be running at server side, rather than in JavaScript in the browser.

<comment><USER23> It certainly does not _have_ to be running on the server side. I'm guessing that it's just a matter of what environment the creator was comfortable with.

</comment></comment></comment><comment><USER24> Sumit Gulwani of Microsoft Research has a non-genetic programming approach to this and similar problems, which is interesting to compare: <http://dl.acm.org/citation.cfm?doid=2240236.2240260>

</comment><comment><USER25> I attempted writing something similar when I was bored at work a year ago. I soon discovered how difficult this problem actually is. It's definitely beyond afternoon hacking. I'd love to get a peek at the secret sauce!

<comment><USER3> There is a paper which explains how it works: [http://mllab.inginf.units.it/publications/international- conf...](http://mllab.inginf.units.it/publications/international-conference- publications/automaticgenerationofregularexpressionsfromexampleswithgeneticprogramming)

Note that there are other (non-genetic) approaches to learn regular expressions (some are cited in the above paper).

<comment><USER25> Thanks for the link. I've been meaning to get into machine learning and this sounds like a good, tractable problem to start with.

</comment></comment></comment><comment><USER26> This makes me think. In 2012 people still think that genetic programming, a numerical optimization technique (and not the most efficient one), magically solves random machine learning problems.

<comment><USER27> More efficient techniques, such as?

It would be interesting for me and others here to learn from what you know rather than be left with what you wrote.

</comment></comment><comment><USER28> Funnily, I had asked this question awhile back on StackOverflow: <http://stackoverflow.com/questions/4880402/>

</comment><comment><USER29> I look forward to trying this once the HN server overload effect has worn off.

This is something I would have found useful a year or two ago, considered writing, and decided it would be impossible to get a usefully generalised regex. I'm glad people cleverer and less defeatist than me had the same idea, since it seems it is possible to get useful results after all :)

</comment><comment><USER30> There is a related cool system: <http://groups.csail.mit.edu/uid/lapis/>

It is actually a text editor, and doesn't come up with Regular Expressions but similar textual constraint patterns.

</comment><comment><USER31> Is there any chance to look at the code (application)? I'd be interested in running this locally as I have a need for generation of regular expressions.

</comment><comment><USER32> Instead of randomized hill-climbing (genetic programming's search algo) why not try a little A*?

<comment><USER33> How would you envision that working? What is the estimated distance function?

<comment><USER34> The "distance" of a regular expression could be the specifity (think CSS) or the size of the language described by the regular expression (with some adjustments to account for repetition as a* being infinite is probably not what is intended.)

The real problem is that the space of possible solutions is very large, so you will have to do that lazily, which would make an implementation in a lot of languages rather annoying.

I'd also expect this algorithm to be biased towards regular expressions that are more specific than the user intended them to be, especially for example sets that are small or not very diverse.

<comment><USER35> Is a* more or less infinite than .*?

<comment><USER36> <http://en.wikipedia.org/wiki/A*_search_algorithm>

<comment><USER35> <http://en.wikipedia.org/wiki/Aleph_number>

</comment></comment></comment></comment></comment></comment><comment><USER37> Cool & handy

</comment><comment><USER38> The sledge hammer approach.

</comment><comment><USER39> I keep getting "server busy". Why share a link if it won't be able to handle the traffic?

<comment><AUTHOR> So, every time you share a link, you always test it first to see if it can handle the load?

Ah, no, looking at your profile you haven't yet ever shared a link. I can only conclude that you find lots and lots of things that you are eager to share with us, but when you rigorously test them you find that they can't handle the load, so you sadly decline to submit them.

Thanks for the feedback. I'll be sure to keep it in mind.

<comment><USER39> This is a community for geeks. I believe it is a realistic expectation that one should be wary of sharing with tens of thousands of readers sites that run processor-intensive server-side scripts.

(Nice ad hominem, by the way.)

<comment><AUTHOR> This is a community for geeks ( although there are those who claim otherwise: <http://news.ycombinator.com/item?id=4681146> ). I believe it is a reasonable expectation that people will want to see things and will understand that sometimes they will need to spread the load. Cutting edge technology sometimes can't handle the load, and geeks will know that, understand, and make allowances. I would have thought that people in this community would want to see new stuff, rather than have it withheld simply because someone thought the server might not be able to handle the load.

How can one tell if the server is going to be able to handle the load? Perhaps the owners had anticipated that this would be of interest and were ready to handle it?

How could I tell?

I think it's a reasonable expectation in a community of geeks that if you are to level criticism at me, then you should offer alternatives and constructive suggestions, and I look forward to your reply as to what one should do when considering submitting a link like this.

How would _you_ test it?

<comment><USER39> I didn't give suggestions on how to test it because I figured someone who knows how to automatically generate regular expressions from examples would also know how to test it under load (or that it _should_ be tested before being made public). It should not be that difficult to simulate simple user behavior, especially since the majority of the functionality in this case is tied to (presumably) one method in the code. Run it 100/1,000/10,000 times simultaneously behind the scenes with a bunch of test examples and see if your server vomits. Pretty easy.

Honestly, I'm a bit dismayed that you are challenging me on this. "Load-test your code before releasing it" should be a strict requirement for anything that is submitted here. Otherwise, how are people expected to give feedback? Why is our time being wasted on stuff that does not work?

<comment><AUTHOR> Hmm.

You do realize, do you not, that it's not my code. Or my server. I'm just sharing something I found.</comment></comment></comment></comment></comment></comment>