Zink (OpenGL on Vulkan) performance better than expected - <AUTHOR> http://www.supergoodcode.com/funday/ <comment><USER2> It's things like this that make me not worry about sticking with opengl. It's supported everywhere, fast enough for my uses, and is exactly the level of abstraction i want to be at. I completed the vulkan triangle tutorial and i cannot imagine needing all those knobs for the games and other things i make. I'm pretty confident that by the time opengl is no longer natively supported, software layers like this will be stable and fast enough.

<comment><USER3> I like OpenGL, but I really hate the global state. If only there was some concept of state objects that record state, something like:

glBeginState(&stateObj); glEnable(GL_BLEND); glDepthTest(GL_LEQUAL); glEndState(&stateObj);

and then later on you'd do glBindState(&stateObj) to apply it.

I have high hopes for WebGPU though and I am going to migrate my renderer to it soon.

<comment><USER2> Webgl doesn't have this problem since it runs those functions on a context object. But yeah i wish there was a way to do that with opengl.

<comment><USER4> The problems of global state persist in WebGL, because (1) if you need to save and restore state inside a single context, WebGL provides no help; (2) the driver is unable to amortize validation as the state is not tied to the individual render pass/pipeline descriptors.

<comment><USER2> Interesting. When you say "save and restore state", do you mean actually serializing it and loading it later? In what situation would you want to do this? Not doubting that there is one but i haven't heard of this before.

<comment><USER4> Typically you use this feature to associate state with an object in your render graph. For example, all of the render state used to render the sky, including shader program, vertex buffers, textures, blend state, etc. can be attached to the sky node in your scene graph. Then you can (basically) have a generic "draw an object in your scene graph" function that just performs the appropriate drawcall with the right state. The performance advantage of this is that the driver can do all the validation once, when you construct the sky object, instead of every frame.

</comment></comment></comment></comment></comment></comment><comment><USER5> I suspect that in a couple of years this driver will become incredibly useful for low-end ARM boards. Manufacturers of cheap hardware will only need to get an open source Vulkan driver mainlined and suddenly the machine will be able to play virtually any game ever made because it will indirectly support OpenGL and every version of DirectX. Likewise it'll give WebGPU/WebGL support thanks to ANGLE.

<comment><USER6> Isn't this the idea of Gallium3D (part of the MESA project)? You write one driver and have support for Vulkan, OpenGL, etc.

<comment> david-gpu In terms of achieving a certain level of functionality, you can do that, but the additional abstraction you add into your software stack translates into poorer performance and additional complexity. It's a trade-off.

Source: worked on GPU drivers for over a decade and had to make decisions like that.

<comment><USER7> This may be a weird question and probably not your call but, since you work for Nvidia and you mentioned having worked on GPU drivers I would be curious to know something I have been wondering for a long while, namely 1) how come the Nvidia drivers for FreeBSD don't support CUDA, and more importantly 2) what would it take for CUDA support in Nvidia drivers for FreeBSD to happen?

Apologies in advance if this is asking questions that you are not allowed to comment on.

<comment> david-gpu I've never worked on drivers at NVidia, so on the one hand I don't know the answer, but I can speculate with an educated guess.

Porting, testing and providing ongoing support for an OS is very costly. If there's not enough customer demand for it, it won't be done because it doesn't make business sense.

</comment></comment></comment></comment></comment><comment><USER8> ANGLE (Chrome's OpenGL ES backend) has a Vulcan backend as well, although I haven't seen any performance numbers. It's made to run WebGL though so strong incentive to have good performance.

[https://github.com/google/angle](https://github.com/google/angle)

<comment><USER9> It has a significant goal that tends to degrade performance: it needs to disallow exposing undefined or unsafe behavior of the driver to the client, regardless of how crazy the calls are.

</comment></comment><comment><USER10> I wonder if Zink can run on MoltenVK just for fun. OpenGL on Vulkan on Metal.

<comment><USER11> That's more useful than just as a fun project - it would allow OpenGL apps to continue to run on Mac when Apple decides to drop OpenGL support!

<comment><USER12> MoltenGL already exists.

<comment><USER13> MoltenGL is OpenGL ES 2.0 only, it'll probably work for a lot of applications but not all of them because of that.

</comment></comment></comment></comment><comment><USER14> This is great news. I love old stable APIs :)

<comment><USER15> Old stable APIs tend to get deprecated unless you're on Windows. Best to go where developer support and energy is -- with the new.

</comment></comment><comment><USER16> This headline feels extremely out of sync with the tone of the blog post.

> _My expectation when I clicked into the timediffs page was that zink would > be massively slower in a huge number of tests, likely to a staggering degree > in some cases._

> _We were_

So performance was better than expected on a small handful of tests out of tens of thousands?

</comment><comment><USER17> Nvidia CUDA need competition. Note what amd has done to intel. We need competition. Market to work need competition.

Competition!

<comment><USER18> First acknowledge that C is outdated, support a polyglot environment for GPGPU programming, including IDE and debuggers with ability to single step shaders, conditional breakpoint and everything else that one has come to expect from modern CPU programming.

Khronos did the first part with Khronos and SYSCL, but only after taking a beating from CUDA, so the ecosystem never cared, and OpenCL 1.2 became 3.0.

Vulkan Compute is even worse than OpenCL in what concerns existing tooling.

</comment></comment><comment><USER19> Zink like as in Zero-Ink?</comment>


Ask HN: Consulting options for technologists? - <AUTHOR> As an engineer-turned-manager, with a decent amount of experience on both sides, once in a while I like to daydream about the "next thing" on my career path. I'm not especially excited about doing management at yet another company, on the other hand going back to 100% hands-on programming is not it either. I'm not afraid to get my hands dirty, but it's been years since I've had that role and I'd like to utilize my management experience somehow.<p>What are some of the "off the beaten path" opportunities out there for folks like me? I'm guessing there's more action in consulting, but am open to pretty much anything. Technical due diligence consulting strikes me as potentially interesting. Anything else along similar lines? <comment><USER2> Just writing off the cuff here:

Lately, I've been thinking a lot about potential consulting niches in the software industry at large. With many of my clients there seem to be recurring patterns and challenges regarding software development processes and software products:

\- dealing with complexity

\- improving code quality

\- writing reusable code vs. writing disposable code (i.e. code that can be adapted and replaced quickly)

\- communication and knowledge transfer

\- having to write huge amounts of boilerplate / 'plumbing' code over and over again

Overall, managing complexity, improving communication, doing away with repetitive processes are huge problems. It's not like nobody is addressing them (IDEs, agile processes focussing on communication alleviate those issues to some extent) but these issues probably are still the most prevalent impediments to efficiently developing software that fits the requirements.

So, I think there's an opportunity for consulting companies in terms of reducing the complexity of their software and processes. I'm just not sure exactly how to package this as a productised service. Then again, consulting firms like McKinsey have been doing similar work in the general context of business management for decades - with varying degrees of success.

</comment><comment><USER3> Training might be a good fit for you too. That can open up consulting opportunities as well.

Writing a book (leanpub is a good place to start) can provide you with some credentials.

I've met a few fractional CTOs who work with startups/smaller groups within a company to provide technical leadership.

Join a startup as a CTO (I've seen 2-3 startups looking for CTOs/founding engineers, and I haven't looked that hard). Of course, the issue here is your risk, and I don't know your risk profile at all.

<comment><USER4> Err .. what is a fractional CTO? Also, curious what area you're in? I looked on indeed for such roles in the GTA and it wasn't very promising.

</comment></comment><comment><USER5> Have you considered looking for "architect" positions? Cloud Academy has a pretty in-depth blog post about it:

[http://cloudacademy.com/blog/how-to-become-an-aws-cloud- arch...](http://cloudacademy.com/blog/how-to-become-an-aws-cloud-architect/)

</comment><comment><USER6> I'm an experienced developer from startups and recently as an independent contractor, and would also like to better understand what kind of tangential consulting opportunities are out there. My hunch is that most are really really niche, i.e., "we need someone who can tune a massive Postgres cluster to run at peak performance next week". I'm really good at doing code audits and helping improve their style but I haven't found a way to package that into a consulting service.</comment>


Impact Resistant Screen Protector - <AUTHOR> http://shopify.evolutivelabs.com/

<comment><AUTHOR> It's really amazing, how does it work?</comment>


Hot or Not Tears Itself Apart, Reinvents - <AUTHOR> http://www.techcrunch.com/2007/05/08/hot-or-not-tears-itself-apart-reinvents/ <comment><USER2> Who wants to guess how this will turn out?

Personally, my money is on LOL or Not -- Hot or Not for lolcats.</comment>


90% of software developers work outside Silicon Valley - <AUTHOR> http://qz.com/729293/90-of-software-developers-work-outside-silicon-valley/ <comment><USER2> But 90% of the pay goes to Silicon Valley developers. </s>

Sarcasm aside, good charts and good content. However, Boston, Framingham, and Lowell are listed separately even though they're quite clearly part of the same extended metro; likewise the exact distinction between 'San Fransisco area' and 'San Jose area' is not specified.

But the juxtaposition of these two quotes does not make sense:

[1] "223,054 software developer job openings exist in the United States, most of them outside major tech hubs"

[2] "And places such as the Salt Lake City region are driving large demand, with 800 new developer positions open at companies including Fidelity, L3, and Raytheon."

That's several orders of magnitude apart. 800 additional positions is considered 'driving demand'?

<comment><USER3> Hey, don't forget about Wall Street.</comment></comment>


GDI's Slither: A $1.3M Arcade Crash and Burn - <AUTHOR> https://arcadeblogger.com/2017/06/02/gdis-slither-the-1-3-million-dollar-crash-burn/ <comment><USER2> GDI and Red Alert? There has to be a connection with Westwood, but I have no idea what it is :)

</comment><comment><USER3> And I just finished watching "Man vs. Snake" on Netflix over the weekend. Another also-ran video game.

(Not as good a film as "King of Kong", BTW, but, come on, that's pretty high bar.)

</comment><comment><USER4> Interesting side note: Coleco had a version of Slither for their gaming console which shipped with a "Roller Controller" which was pretty innovative at the time. ColecoVision crashed and burned, too, of course.

A relative worked there and so my family had access to many prototype games that never made it into stores. But I know for a fact "Slither" was on the shelves as my copy was a retail package. I enjoyed playing it at the time, especially with the track ball.</comment>


Uber's App Is Anything but Malware - <AUTHOR> http://better.mobi/2014/12/10/ubers-app-is-anything-but-malware/

<comment><USER2> This article is terribly written. It reads like a fluff piece written by a lazy junior high school student. Which it very well may be for all I can tell.

To start, it quotes "a blog posted to HN" as a source, _and then links to the HN thread_ , not the blog post itself. That's like quoting a wikipedia article as a primary document. At least link to the actual blog article.

Following that, the author attempts to debunk concerns about Uber's data collection purely by quoting Uber's own PR. He/she wraps up by using some unintroduced 3rd party app to show that your data is secure from mtm attacks. Ugh.

The worst part is, the post that this is attempting to debunk _is_ problematic and greatly flawed. Any time there's one of these freak-outs about what permissions a popular app is granted on people's phones, its almost always way overblown or taken completely out of context. It should be shooting fish in a barrel, but the author completely missed anyway.</comment>


Show HN: Iosevka Open Source Programming Typeface - <AUTHOR> http://be5invis.github.io/Iosevka/ <comment><USER2> I will confess to not being a fan. Characters seem too keen to fill their boxes; i had to bump up the line spacing in my IDE before code was at all legible, and even then the letters seem elongated and spidery, and despite being taller than in the default font (Menlo, as this is IntelliJ), are harder to make out in their details - for example, the strokes of the 'w' are barely visible.

Reminds me a bit of mode 0 on the BBC Micro:

[http://beebwiki.mdfs.net/MODE_0](http://beebwiki.mdfs.net/MODE_0)

</comment><comment><USER3> This looks interesting. What are those .patel files? [1]

[1]: [https://github.com/be5invis/Iosevka/tree/master/glyphs](https://github.com/be5invis/Iosevka/tree/master/glyphs)

<comment><USER2> I don't know, but at a guess, it's a language which compiles down to PostScript. curveTo and lineTo are PostScript functions, and there is a concept of a current transform.

<comment><AUTHOR> Nope, it compiles to JavaScript. The compiler is in [http://github.com/be5invis/PatEL](http://github.com/be5invis/PatEL) and it uses Patrisika ([http://github.com/be5invis/patrisika](http://github.com/be5invis/patrisika)) as its backend (which converts S-expression-ish AST into Mozilla AST, and generates JavaScript using Escodegen).

</comment></comment></comment><comment><USER4> I really like it, but I wish type designers gave more love to the italics variations, they almost always come out as obliqué or slanted instead of a true italics.

In my opinion, this typeface could use a bit of inspiration from the elegance of Consolas ([http://www.lucasfonts.com/case-studies/calibri- consolas/](http://www.lucasfonts.com/case-studies/calibri-consolas/))

</comment><comment><USER5> Something about the stroke width and shape remind me of the Acorn typeface. Although it's only a passing similarity, somehow it makes me feel nostalgic. [http://www.houseofmabel.com/puters/RISCOS3/plain.gif](http://www.houseofmabel.com/puters/RISCOS3/plain.gif)

</comment><comment><USER6> I especially appreciate that it renders very cleanly at all point sizes in Windows Cleartype. A lot of fonts look fine at 12pt but then have odd jagged pixels at other sizes. Two cents: the double quote is a little anemic compared to the other (nicely sized) punctuation.

<comment><AUTHOR> Thanks for your suggestion. I will fix it in v0.0.5

</comment></comment><comment><USER7> Just threw v0.0.4 into gedit for a trial run. I like it a lot, very readable. I will echo JohnDeHope's comment that the double quote seems a little too light to match well with the other characters. I'm eager to see where this goes!

</comment><comment><USER8> Wow, very reminiscent of the Orator type ball on the IBM Selectric.

</comment><comment><USER9> > compatible to CJK characters

Could someone explain what does this mean?

<comment><USER10> This means that the latin character width is roughly half of character height, so "full-width" square CJK ideographs fits exactly as the width of two "half- width" latin characters.

(Wider monospace fonts would typically require extra character spacing between CJK ideographs.)

Ref: [http://www.w3.org/TR/clreq/#basic_features_of_chinese_script](http://www.w3.org/TR/clreq/#basic_features_of_chinese_script) ("squares with the ratio of 1:1, and are seamlessly arranged with one another.")

</comment></comment><comment><USER11> Oddly, the sample isn't visible, even with JavaScript turned on.

This is in Firefox on Linux.

<comment><AUTHOR> I switched zepto.js to local directory and replaced $.getJSON with $.get (since .charmap may be sent as application/octet-stream). Is it fixed?

<comment><USER11> It does work now, thanks.

But it's very slow to respond to clicks. Please consider just putting in some img tags and linking in images…

</comment></comment></comment><comment><USER12> Love it! Any chances to see powerline specific characters added to this font?

<comment><AUTHOR> My current goal is to make it WGL4 compatible. Powerline glyphs will be included later, though I can not test them since I am using VSCode.

<comment><USER12> You can just try to open some shell theme with those glyphs to test them. I can also provide you just some code file with them in if you want.

</comment></comment></comment><comment><USER13> really fine work. just installed it and viewing some of my code (scala in emacs w/ a light theme) i swapped source code pro for this font

</comment><comment><USER14> Question, how is it generated by code?

<comment><AUTHOR> The outlines of every character are calculated by source code (the .patel files, compiles to JavaScript).

</comment></comment><comment><USER15> This is so Pragmata Pro. :)

Love the ks especially.

</comment><comment><USER16> Well done, thank you for this!

Sometimes all it takes it a new font to jog your creativity a bit.

What was your inspiration for this ?

<comment><AUTHOR> Mainly Pragmata Pro, and I brought some ideas form DIN and M+ 1m series. All glyphs are exactly 0.5em wide so they can be compatible with 中日韩文字 (CJK characters, where every character are excatly 1em wide).

<comment><USER17> Please excuse my ignorance, and please correct me so I may learn, as I have no idea about fonts except that I simply them in my editors :)

The inspiration of M+ 1m + Pragmata Pro is very interesting and make for a powerful font.

Do you anticipate further font development, driven by the same code-generated workflow, attempting to tackle modernization of something like the venerable Misc Fixed 13pt, which needs an update for modern screens and/or resolutions?

Then, there's the Apple Menlo/Monaco, Ubuntu Mono and derivatives, as well as Consolas and its derivatives which tend to focus on wider glyphs , as opposed to the narrowness and (longer?) line-heights of similar fonts to M+ 1m / Pragmata Pro? It would be interesting to see if newer fonts can evolve from this approach.

Thanks for a great project!

<comment><AUTHOR> My future work will be focused on spatial balance and glyph coverage. (I'd want to coverage ALL UNICODE POINTS of Latin/Greek/Cyrillic/IPA, thanks to the building script generating them will be much easier than using a conventional font editor: Just add a mark glyph and all combining glyphs using it will be automatically generated.)

Maybe I can make a library or toolchain after this font is almost completed, as a modernized METAFONT, which produces Opentype directly from your generation source code. And well, in that toolchain, i will not use PatEL since this language has not been documented yet.

<comment><USER17> That sounds like it would be a grand idea! Will be watching closely to see how it evolves. Thanks again.</comment></comment></comment></comment></comment>


Project Logos - <AUTHOR> http://www.dellsocialinnovationcompetition.com/apex/ideaView?id=087800000005GwJAAU I want to fix news. Please give me feedback. (Note: a lot of details have been omitted in the public entry to protect the execution of my idea - if you need more information, feel free to ask and I might reveal more) <comment><USER2> Am I the only one who thought this was a link to something about logo designs for open source projects?</comment>


Malls track shopper's cell phone signals to gather marketing data - <AUTHOR> http://arstechnica.com/business/news/2011/11/were-watching-malls-track-shoppers-cell-phone-signals-to-gather-marketing-data.ars

<comment><USER2> I had this idea a while ago, but never moved on it, as I figured out the whole 'its not actually legal in the US' part. I see Path is based in the UK, where it might be legal, but they've now started doing trials in the States. How would the law be enforced here? Do I call the FCC? The FBI?</comment>


Alcoholism vaccine will give drinkers an instant hangover - c-oreills http://www.geek.com/articles/geek-cetera/alcoholism-vaccine-will-give-drinkers-an-instant-hangover-20130128/

<comment> c-oreills The original article is here (behind a login wall): [http://www.santiagotimes.cl/chile/science- technology/25637-w...](http://www.santiagotimes.cl/chile/science- technology/25637-worlds-first-alcoholism-vaccine-to-run-preclinical-trial-in- chile)</comment>


Broadcom reaches deal to acquire CA Technologies for $18.9B in cash - <AUTHOR> https://www.cnbc.com/2018/07/11/ca-technologies-soars-after-reportedly-nearing-deal-with-broadcom.html <comment><USER2> That's a baffling acquisition. I've worked in semiconductors for 12 years and yet to see a service/consulting company merge under a semiconductors.

If they acquired someone like HP Enterprise, I'd get the whole vertical integration benefits, I just can't wrap my head around this. It's like Apple acquiring Pepsi

<comment><USER3> It's gonna be interesting. I work in CA on mainframes.. CA is not at all service/consulting, but more like enterprise management software vendor.

I think we have a lot of mainframe utilities which would benefit from tighter integration with hardware. So I wonder if this is going to be a possible direction.

</comment></comment><comment><USER4> Looks like Broadcom getting back at Trump and the US for the failed Qualcomm deal. CA software runs on critical government, military and banking mainframes. CA is also a good base for acquiring and consolidating sw companies in case Broadcom follows that route.</comment>


Why are companies defecting from Google Maps? - <AUTHOR> http://www.digitaltrends.com/mobile/why-are-companies-defecting-from-google-maps/ <comment><USER2> Simple answer: Google Maps suddenly costs a lot of dough.

More complex answer: Companies that _need_ mapping services don't want to rely on Google if they are a competitor.

Say you're Foursquare. Would you rather rely on Google, a company that's investing heavily in social networking, or someone like Navteq or OpenStreetMap, organizations with a laser sharp focus on mapping services?

<comment><USER3> Foursquare went with OpenStreetMap though, and claim "while the new Google Maps API pricing was the reason we initially started looking into other solutions, we ultimately ended up switching because, after all our research and testing, OpenStreetMap and MapBox was simply the best fit for us."

[http://blog.foursquare.com/2012/02/29/foursquare-is- joining-...](http://blog.foursquare.com/2012/02/29/foursquare-is-joining-the- openstreetmap-movement-say-hi-to-pretty-new-maps/)

They could be lying to cover a penny-pinching move, but I think they're telling the truth simply because Foursquare doesn't need particularly good geodata. It only needs for locations you visit to be fairly recognizable and locatable, it doesn't need to know that you can't do a u-turn or go that way up a one-way street or the exact location of a point to less than 1m accuracy. The only businesses it cares about it wants in its own dataset, not the map providers. Same story for Apple and its photo display or (going way back now) Yahoo/Flickr using OSM for geolocating photos in Iraq and China, Afghanistan etc. despite Yahoo having their own map team:

[http://code.flickr.com/blog/2009/02/13/changelog-yahoo- updat...](http://code.flickr.com/blog/2009/02/13/changelog-yahoo-updated-map- tiles-and-some-osm-ones/)

This process has been going on for a while now, it's the traditional story of the open alternative eating the market from the bottom-upwards and accelerating as it gets wider use and improves in quality in a virtuous circle.

<comment><USER2> Quite right. I knew Foursquare went with OSM, I was just putting a hypothetical out there as a thought exercise. But I did change my post to be a bit more accurate.

Also, you make a great point about the lower level of fidelity Foursquare, iPhoto and Flickr need. Higher map accuracy wouldn't be worth the cost in those use cases.

</comment></comment></comment><comment><USER4> Anyone who is considering making the switch should take a look at <http://switch2osm.org>

Also, if you want to use Google (or any other provider) but not get locked in I can recommend writing your code using Mapstraction - as the name tries to suggest it's a mapping provider abstraction layer <http://mapstraction.com/>

<comment><USER5> Ah, but what happens when mapstraction development slows down to a halt and you can't afford to keep updating it yourself?

<comment><USER4> Is this really an issue for you? Assuming it is, simplest solution I see (besides the obvious appealing to good will of others to make the updates you need) is you pay someone to do the update you need and then submit it to the project. That person could be in a lower cost location than you are, thus much cheaper than you doing it yourself. A much better problem to have than vendor lock in.

</comment></comment></comment><comment><USER6> The design you can achieve on top of OSM is beautiful. Map design can and should be part of your service's brand image, if it forms a big part of your service. Not everyone wants to look like Google Maps. The new 4sq maps go nicely together with their branding now.

And although Google now offers map styling, it is still pretty limited and brings your free quota down to 2,5k requests if I remember correctly.

</comment><comment><USER7> Sebastian Delmont from StreetEasy posted a great writeup on this issue a few months back:

<http://news.ycombinator.com/item?id=3453095>

</comment><comment><USER8> _Of course, this also means some of the content may be…questionable._

This makes it sound like there are pictures of dicks in the maps. "Of poorer quality" would be better.

<comment><USER9> This is true, but other parts of the map data may well be of higher quality too.

I find OSM data in and around London to be more complete than Google Maps, or rather the speed of updates is faster making it more accurate and I also find data that is more granular (such as where in a fence a gate may be).

Also, OSM maps for specific purposes work really well. Nearly all of the cyclists I know who have Garmin units have replaced the maps with OSM ones just to get contours and other cartographic features that assist riding in the countryside (where fields or woods dominate most maps and more detail is needed).

</comment></comment><comment><USER10> How much would Google have to drop the price to reverse the trend?

The plain old JS API would come to about $1000 a month for a site with 1 million map views. Mapbox (<http://mapbox.com/plans/>) meters by bandwidth but by my estimate (4gb map, low for a global map I know, and 1,000,000 views) it's still about $600.

Then again tilemill, tilestache, and leaflet are all free and work great once you get it going.

</comment><comment><USER11> Google Maps does have a quality problem. Within the UK the search results are appalling. More often than not you get an odd town in the USA, or something completely irrelevant to your actual query.

The quality of the data simply isn't good enough to give good results. Being Google they try and fix this with a clever algorithm. When people are searching a map they are usually after one correct answer, rather than hundreds of possibly right answers.

Google Maps is a generic product that is highly funded and good in the USA. Everywhere else it is seriously lacking.

<comment><USER12> How do I replicate your results? I'm in the UK and get great results from Google Maps.

Opening a new incognito window and entering google maps $TOWN brings up UK towns for me.

<comment><USER13> Note: Not sure if the app or the service is to blame. But - disappointing:

From this afternoon. Wife and me are sitting in the sun at the Kikar Rabin/Rabin Square in (more or less) center Tel Aviv. She decides she'd like to have sushi. I pull up the Google Maps app, type sushi <enter>

Map zooms to the US and gives me recommendations in god-knows-where. I laugh it off, go back, search 'sushi bars'. Guess what it does? Riiight.

So this company _constantly_ throws Hebrew at me. After updating maps it showed the TOS in HEBREW (I .. cannot read that) on first launch. It certainly knows (and abuses. Certainly abuses. Abuses all the time..) geolocation. I have Latitude enabled the last weeks. GPS and Wifi were turned on and the map showed my current location quite accurate.

Why in the world would I want to know about Sushi places in the US?

That's certainly fixable (I could get somewhat better results with 'Sushi, Tel Aviv') but I think the gp hit similar idiotic behavior.

Unfortunately that just shows flaws in the Maps search algorithm and is unrelated to Google Maps vs. OSM for example.

</comment></comment></comment><comment><USER14> Other than more street view locations on Google Maps, Bing Maps is far, far superior (mostly in terms of speed, but after using Bing it's painful to go back to Google).

</comment><comment><USER15> Pretty poor analysis to mention Apple switching, but not mention the fact that Android is the primary competitor to Apple's biggest platform, and that maps are one area where Android has been consistently ahead of iOS.

Apple could afford to pay a lot for its maps, but with Google there's a direct conflict of interest, and Google will always drag their feet in helping Apple create a great maps experience.

</comment><comment><USER16> Why? Because Google maps is no longer in a position of inertia. Now if you require mapping functionality you'll perform some kind of due diligence based on requirements and constraints.

</comment><comment><USER17> Also there are open source alternatives such as cartodb. In scientific GIS applications, open source that can be essential.

</comment><comment><USER18> I'm not surprised Apple is switching. They bought Poly9 and C3 and down the road we will see a brand new Map app in iOS.

</comment><comment><USER19> Anyone know if you can get transit directions with OpenStreetMaps?

<comment><USER20> I don't think you can get even simple street directions from OSM. There probably are or will be third-party services that enable doing this using OSM data. Encourage your transit agency to make its GTFS feeds public if they aren't already.

</comment></comment><comment><USER21> Two reasons:

1\. It's bloody slow. Well it is here in the UK. Even Bing is orders of magnitude faster.

2\. It's now expensive.

</comment><comment><USER22> tl;dr. Directly answering the title, simple: money.

Google started charging and companies do not want to pay! It helps that OpenMaps now has a decent amount of data!

<comment><USER23> Data's only half the equation, building up a _service_ with all of the features to what you need costs $. From the Switch to OSM site "Serving your own maps is a fairly intensive task. Depending on the size of the area you're interested in serving and the traffic you expect the system requirements will vary. In general, requirements will range from 10-20GB of storage, 4GB of memory, and a modern dual-core processor for a city-sized region to 300GB+ of fast storage, 24GB of memory, and a quad-core processor for the entire planet."

Don't get me wrong OSM is a fantastic initiative. It will be very interesting to see if a slew of competitive services spring up in the map 'service' arena, using OSM data.

<comment><USER24> The hardware requirements you just described are flea market level, less expensive than the time spent thinking about how expensive they are.</comment></comment></comment>


Show HN: Acorn – a back end design tool/low-code platform - <AUTHOR> https://wiki.squirreltechnologies.nz/Acorn:Jobhunt <comment><AUTHOR> Long time HN lurker here - I thought a few people here might find this project interesting. I guess you could call it a low code platform for the backend, if low code platforms were accidentally designed from the ground up not to have a business model :)

The link tries to explain the story, and I'm hoping a few of you might see what I'm trying to achieve. If acorn could find a community of people wanting to use it to solve problems I believe it could turn into something quite beneficial! Apologies for the detail, however. A snappy summary seems to have defeated me.</comment>


Using make to Orchestrate Machine Learning Tasks - <AUTHOR> http://nicolas.kruchten.com/content/2011/07/using-make-for-machine-learning/

<comment><USER2> I wished more people would talk about their stuff openly like this. They're pushing the envelope with AI and ads.

</comment><comment><USER3> sounds good but wish you had more live examples of how this can be implemented with examples of value and cost</comment>


Destroying x86_64 instruction decoders with differential fuzzing - <AUTHOR> https://blog.trailofbits.com/2019/10/31/destroying-x86_64-instruction-decoders-with-differential-fuzzing/ <comment><USER2> >... a 40-year-old 16-bit ISA designed to be source-compatible with a 50-year- old 8-bit ISA.

In fairness to the Intel of that era, they actually did a really good job with this. They gained basically zero warts from the 8080 assembler source compatibility. They mostly set out to make the best variable length 16 bit instruction set they could. They had significant competition at the time and they pretty much had to make the 8086 instruction set something very usable. The x86 instruction set horror mostly came after that.

<comment><USER3> The 8086 introduced the abomination of segment registers.

That created many software limitations for much of the 80's.

Compilers with 64 K limits on array sizes, or code segment sizes, and similar.

By comparison the 680x0 on classic Mac was a pleasure to program. A nice large simple flat address space.

<comment><USER4> Segmentation is really nice, and should have been carried on, IMO. Half the issue with Spectre is that there isn't a clean way to describe to the processor different memory security contexts except with a page table pointer swap. Better segmentation support could have allowed you to sandbox memory without having to jump in and out of the kernel on transitions. Hence why VMWare, and Chrome's NaCL used segmentation hardware on x86-32 when they still could.

<comment><USER5> You are describing segmentation from the 286 protected mode and later. Real mode segmentation, originally introduced in the 8086/8088, is and always was an abomination, even if you don't compare it to the elegance of the contemporary 68000/68008.

<comment><USER4> Well, and GE-645 (ie. the special purpose MULTICS machine), the iAPX 432 (that Intel chip that gets a bad rap), the Plessey 250, and the CAP computer off the top of my head.

ie. anywhere that describes the segment base, limit, and permissions on a separate privileged table.

<comment><USER6> > that Intel chip that gets a bad rap

I wonder why.

<<<According to the New York Times, "the i432 ran 5 to 10 times more slowly than its competitor, the Motorola 68000" >>>

[https://en.wikipedia.org/wiki/Intel_iAPX_432#The_project%27s...](https://en.wikipedia.org/wiki/Intel_iAPX_432#The_project%27s_failures)

From memory a quote from a user of it, something like: "on a good day it walked, on a bad day it crawled"

IIRC every main memory access needed 3 pointer derefs and 3 array lookups (from memory).

</comment></comment></comment></comment></comment></comment><comment><USER7> From the great article:

"x86_64 is the 64-bit extension of a 32-bit extension of a 40-year-old 16-bit ISA designed to be source-compatible with a 50-year-old 8-bit ISA. In short, it's a mess, with each generation adding and removing functionality, ..."

Nice way of wording that! :)

It also explains the complexity of the following 10 pages of text.

<comment><USER8> Every time Intel has tried to more away from x86 (i960? Itanium? Maybe others...) they end up coming back. The years of backwards compatibility are a big selling point.

<comment><USER9> I really wish Itanium had taken off. IMO it is a superior architecture that was simply ahead of it's time.

Wouldn't it be great if software instead of hardware, had complete control of instruction ordering? Wouldn't it be great to not be limited by the current SIMD restrictions? Wouldn't it be nice if you could choose to spend more compile time to get even faster programs (vs relying on the hardware to do it JIT)?

I mean, I get why it didn't happen. Stupid history chose wrong (Like making electrons have a negative charge).

<comment><USER10> Itanium was one of those scenarios where theory blew up in practice. In theory it's great for software to have complete control of instruction ordering. In practice, software simply doesn't have enough information at compile time to do that. As proven by the fact that even Itanium moved to an OOO architecture in Paulson.

It comes down to memory latency. Even an L3 cache hit these days is 30-40 cycles. It's hard to predict when loads and stores will miss the cache, so there is little a compiler can do to account for that in scheduling. OOO can cover the latency of an L3 cache hit pretty well. And once you add it for that, why not just pretend you've got a sequential machine?

<comment><USER11> Right. Generally, memory accesses in real-world software are unpredictable enough (no matter how good the compiler is) that single-threaded execution is always going to get a big boost from OOO.

An interesting question is why Intel believed otherwise when they created IA64. I think there's a strong case that publication bias and other pathologies of academic compuer science destroyed billions of dollars in value, and would have killed Intel had it not had monopoly power.

<comment><USER12> > An interesting question is why Intel believed otherwise when they created > IA64.

For numerics code, VLIW can indeed offer huge advantages. Unluckily, computer programs from different areas have quite a different structure and thus do not profit from VLIW so much.

</comment></comment></comment></comment></comment></comment><comment><USER13> Great project and write-up. I'm reminded of a couple other projects.

MC Hammer project for LLVM tests round-trip properties of the ARM assembler. [http://llvm.org/devmtg/2012-04-12/Slides/Richard_Barton.pdf](http://llvm.org/devmtg/2012-04-12/Slides/Richard_Barton.pdf)

Sandsifter x86 fuzzer. [https://github.com/xoreaxeaxeax/sandsifter](https://github.com/xoreaxeaxeax/sandsifter) [https://youtu.be/KrksBdWcZgQ](https://youtu.be/KrksBdWcZgQ)

<comment><AUTHOR> (Author here.)

Yep! Both sandsifter and MC Hammer provided inspiration for mishegos.

</comment></comment><comment><USER14> Wow, this a wonderfully rich post! I had a question about the following statement:

>"In short, it's a mess, with each generation adding and removing functionality, reusing or overloading instructions and instruction prefixes, and introducing increasingly complicated switching mechanisms between supported modes and privilege boundaries."

Can someone elaborate on how a instruction at the machine level can be "overloaded"? At this machine level how can an instruction be mapped to more than one entry in the microcode table? Or does this mean overloading in the regular programming sense of something like an ADD instruction capable of working with ints, strings etc.

<comment><AUTHOR> Thanks for the kind words!

> Can someone elaborate on how a instruction at the machine level can be > "overloaded"? At this machine level how can an instruction be mapped to more > than one entry in the microcode table?

Yep! Instruction overloading can occur in a few different senses:

1\. As different valid permutations of operands and prefixes, e.g. `mov`

2\. As having totally different functionalities in different privilege or architecture modes

3\. As being repurposed entirely (e.g., inc/dec r32 are now REX prefixes)

Instruction-to-microcode translation is, unfortunately, not as simple as a (single) table lookup on x86_64 ;)

<comment><USER14> Thanks for the examples. This is helpful. I can't help but wonder if you or anyone else might be to elaborate on your last point:

>"Instruction-to-microcode translation is, unfortunately, not as simple as a (single) table lookup on x86_64 ;)"

Is the because of the overloading or are there other reasons it's not as simple as a LUT?

Cheers.

<comment><USER15> Reading Appendix A of the x86 instruction manual, which lists the opcode maps of the x86 instruction set. Section A.4 in particular gives strong insight into the answer to your question--several opcodes are represented by varying the register bits in the Mod/RM byte.

For example, opcode 0f01 is actually several opcodes depending on the Mod/RM byte. If the Mod/RM byte indicates a memory operand, then it's a SGDT, SIDT, LGDT, LIDT, LMSW, or INVLPG instruction (depending on what the first register number is). If it's a register-register form, it can be any one of 17 other instructions depending on the pair of registers.

</comment></comment></comment></comment><comment><USER16> For non-Yiddish speakers here, the name "mishegos" is the Yiddish word for "craziness" ("משוגעת") a Yiddish plural form of the Hebrew word for "crazy" "meshuga" "משוגע".

</comment><comment><USER17> This is really nice. I wonder if anyone has tried fuzzing a CPU's instruction decoder? It would be surprising if they didn't have bugs.

<comment><AUTHOR> Yep! sandsifter[1] does exactly that.

[1]: [https://github.com/xoreaxeaxeax/sandsifter](https://github.com/xoreaxeaxeax/sandsifter)

</comment></comment><comment><USER18> Tangent but: what's the additional overhead on a modern chip of parsing this crazy instruction set vs. a simpler to parse one like PPC64 or ARM64? Is it significant compared to all the other stuff that almost all modern CPUs do like out of order execution, register renaming, SIMD, virtualization, etc. etc. etc.?

I've seen many people argue that it's significant but I never see anything in depth from anyone who really knows. People just assume it is.

A counterargument I heard once is that there is kind of a fixed complexity to parsing it and that it was significant in the past but as CPU feature sizes have shrunk and transistor counts increased (Moore's law) it's stayed relatively constant and become insignificant today compared to all the other uses of die space.

<comment><USER19> I think your intuition is correct that the translation step is cheap on modern silicon. One interesting thing to note is that Intel doesn't allow you to write code as micro-ops to bypass that step. This is an advantage for them as it allows them to optimize (add, modify, and remove) microops with every generation without having to worry about backwards compatibility. As long as your compiler can spit out some crusty old x86 looking instructions it is free to optimize all it wants under the hood. Having a more efficient ISA introduces a lot of pain with backwards compatibility for only a modest reduction in complexity for a step that is cheap already. Not a win.

<comment><USER18> A while ago I concluded that this was one of the core conceptual issues with EPIC/VLIW designs that try to shift microcoding to the compiler. It's not that it's impossible, but there is an advantage to having the microcode layer completely hidden. It frees the CPU core engineers almost completely from having to remain backward compatible with the software that runs on the chip.

At present I think of CISC instruction sets like X64 as something like a custom compression codec for the instruction stream. They're not an _optimal_ codec but they're not too bad.

</comment></comment></comment><comment><USER15> The x86 decoder is both simpler and more complex than it appears. I've played with the idea of creating the "worst" x86 decoder, which I classify as worst because its goal would not be to reproduce an assembly string but instead represent an oversimplified view of the instruction that makes sense semantically.

So the simple part of the decoding is that x86 instructions generally consist of an "opcode", a register number, and a third parameter which is either a register number, immediate, or memory operand. Occasionally, there is also another immediate operand tacked onto the instruction, based on the opcode. The REX prefix tacks on extra bits for the register number, the VEX prefix adds a third register number and provides a way to add some opcode bytes without spending extra bytes to do so, and the EVEX prefix has a few more extra operand types.

It's worth noting that if you're mapping semantics, some opcodes have the Mod/RM byte, but use fields in this parameter to add more bits to the opcode instead of as register numbers. If your semantics is prepared to handle per- register special cases (which it probably should, since x86 has per-register semantics in some cases), this isn't actually an issue.

The really difficult part, though, is managing prefixes. The new REX, VEX, and EVEX prefixes all have much tighter requirements on how they interact with each other: you can use exactly one of these prefixes, and the functionality in the older ones is completely subsumed by the newer ones. But the legacy prefixes don't have any such restrictions, and thus you can do annoying things like specify several of them at once or tack them on to instructions that don't need them.

The sanest way to handle prefixes, especially F0, F2, F3, 66, and 67, is to treat them instead as part of the opcode rather than an optional prefix, albeit ones that can float around a bit (although 66 is required to be the last prefix in a few cases). This also handles issues where the operand size override prefix doesn't actually override operand size. libbfd's hilariously bad results seem almost entirely due to doing the exact opposite of this rule, and not realizing that 66 and F0 actually create illegal instructions if not used correctly.

(Another thing you can do with weird prefixes is to just flag the result as "probably attempting to break a disassembler").

Unless you're interested in playing around with writing x86 decoders yourself, just use XED. It's maintained by Intel, and is up-to-date with all known instructions, and it should be capable of handling even most of the weirdest edge cases in handling unusual prefix combinations correctly. That said, it doesn't warn you of the few cases where the AMD x86 decoder and the Intel x86 decoder give inconsistent results.

</comment><comment><USER20> I might be overlooking this as I am on mobile, but what is the license for mishegos?

<comment><AUTHOR> Whoops, looks like I forgot to commit a license. I'll fix that in a bit.

Edit: Done.

<comment><USER20> Thanks!

</comment></comment></comment><comment><USER21> Reading even a bit about x86_64's complexity makes me see why Apple would want to move Macs to ARM (among other reasons.)

<comment><USER4> At this point, I think they're just waiting out the x86_64 patents and want to release their own core.

</comment></comment><comment><USER22> "For reverse engineers and program analysts: x86_64 instruction decoding is hard."

An idea that hit me while reading this: Using a tool like this should (help to) make it easy to determine if a commercial app is using GPL libraries illicitly by assembling a syntax tree of method signatures as a first line indicator that the executable contains code matching a GPL library. If first pass indicates a match a deeper analysis of operation codes could reveal "similarities too consistent to be coincidence."

Or an I describing something that had been in use since 2001?

<comment><USER23> For simple code match, you can just compared bytes without decoding instructions. If you want to try and identify functionally similar but not more or less identical code from binaries, good luck; it's a very hard problem. Antivirus companies and reverse engineers would love to know how to do that efficiently.

<comment><USER24> Of course, for stupid and/or lazy GPL infringers strings is often a good first check.</comment></comment></comment>


So Pitted – Wingsuit Terrain Flying – Brendan Weinstein - <AUTHOR> https://www.youtube.com/watch?v=YB5VVGmruaI

<comment><USER2> Holy wow that is both awesome and dangerous as hell. If you hit something, it's going to basically shoot your spine out through your tailbone.

<comment><AUTHOR> The suits can fly flat and up fairly easily when in a dive, so the risk factor of hitting something is not super high.

The biggest risk factor is the exit. If you slip or have the wrong initial angle of attack, you will start flying at a lower altitude. On some exits, there is no room for that and on others it just means you have to abandon your initial plans. After the exit though, it's all super relaxed and fun, especially with the trees. Some of the trees have thin branches at the top that you can brush against without hurting yourself :)

We practice the exits a lot and measure our start arcs with GPS devices on forgiving objects. Based on the GPS tracks from forgiving objects and the consistency of our start arcs, we move to progressively more challenging exits. The same strategy applies for proximity lines.</comment></comment>


Show HN: Listudy – Spaced Repetition for Chess - <AUTHOR> https://listudy.org/en <comment><AUTHOR> This is my first project using Elixir with Phoenix [1]. I found the development experience very pleasant and I will definitely use the setup for future projects as well. I also got to try out LiveView for search [2], which in my opinion after trying it out makes interactive elements very simple to create. You can find the source code here: [https://github.com/ArneVogel/listudy](https://github.com/ArneVogel/listudy)

[1] [https://www.phoenixframework.org/](https://www.phoenixframework.org/) [2] [https://listudy.org/en/studies/search](https://listudy.org/en/studies/search)

<comment><USER2> This intersects 3 topics of my interest: Chess, spaced repetition and Phoenix/LiveView. I will add a link to this in LearnAwesome.org :-)</comment></comment>


Frustration and failure fuel Dyson's success - <AUTHOR> http://www.bbc.com/future/story/20130312-failure-is-the-best-medicine/1 <comment><USER2> Here's a mirror for anyone in the UK:

[http://www.bbc.com.nyud.net/future/story/20130312-failure- is...](http://www.bbc.com.nyud.net/future/story/20130312-failure-is-the-best- medicine/1)

<comment><USER3> That's blocked for me...

</comment></comment><comment><USER4> It is interesting to see how much his description of invention also resemble game design.

People rarely understand why the really good games frequently miss deadlines, take lots of work and rarely end as the original vision planned, it is because bleeding edge game design is also a research effort, prototypes and tests, specially because we don't have yet sufficient psychology theoretical information to always predict player behavior, most of the best game design inventions were more a discovery than a real invention.

Like asteroids wrap around, street fighter II combos made with animation bugs, sim city disaster tool because players after a while on the prototype started to happily bulldoze the city to watch the chaos, and so on...

</comment><comment><USER5> Ok, I gotta say it. The Airblade hand dryer is a knock off and it's been all over Japan by other brands many years before. I've seen Toto and Panasonic versions. Good for him he made it into a product but it is NOT an invention of his. I've used his and the originals and his does not improve on anything either.

<comment><USER6> Neither are the vacuum cleaners, vortex separators have been used for years in large industry. His great idea that one could shrink them down to work in the home.

</comment></comment><comment><USER7> So I'm in the UK. I pay their licence fee and yet I get this: "We're sorry but this site is not accessible from the UK as it is part of our international service and is not funded by the licence fee."

I'd love to find the article on the normal BBC site but no luck.

<comment><AUTHOR> Wow, living in Spain at the moment I often get the problem where videos aren't viewable outside the UK, but I didn't realise the opposite problem could exist!

</comment></comment><comment><USER8> As a mechanical engineer I 100% agree with his POV.</comment>


Heroku - Simultaneously Develop and Deploy Automatically Scalable Rails Applications in the Cloud - <AUTHOR> http://highscalability.com/heroku-simultaneously-develop-and-deploy-automatically-scalable-rails-applications-cloud

<comment><USER2> Am I the only one who tries to create a new app on heroku and it just hangs at creating it? I know it might be booting up an instance or something (?) so I've been patient for up to 15 minutes but nothing happens.

</comment><comment><USER3> This is starting to sound like that fantasy everybody not-quite-technical- enough has about how someday software will be just dragging and dropping little boxes on the screen, and everybody can do it! As it turns out, drag & drop doesn't seem to work too well for much of software development, but the idea of software being _really_ easy to develop and deploy seems to be coming to fruition. The best part is that it's coming from the geeks, not the guys who want LabVIEW, so I think it's actually going to, y'know, work well for geeks. Here's to Saasaas!</comment>


Show HN: Recruit web developers by having them build a web app - <AUTHOR> http://www.cull.io/index.html

<comment><USER3> This and the other startups like Interview Street seem to be focusing on the less lucrative side of the hiring problem. Like Joel Spolsky said, and like I know from personal experience, my best developer friends aren't in the market salivating to take interview tests, and do code sprints to prove they are good. They are passionate about developing, have many great jobs to pick from at a given time if they tried. If they have free time, they would rather put it on an open source project that excites them, or a smartphone/web app that they are making for themselves.

If you look at filtering mechanisms themselves, there are companies that try to have puzzles that they ask you to solve before joining (eg: ITA software). But they are really challenging puzzles that I would solve just for fun anyway, (which is what I did for months till I one day decided to apply for a job there). The fact that these puzzles are also made by the company (and not a third party website) makes a difference. It tells me about the people that work there and potentially about their culture. On the other hand, building a random web app to prove basic skills is not something I would imagine most talented web developers would like to do anyway.

If you look at it from the perspective of a company that is hiring, tools like this solve merely one part of the puzzle. It takes the subset of developers who are already in the market for a new job and filters them. As a startup though, what I want to do is lure the great engineers who are content at their regular jobs and not looking at all because of inertia. It sounds like there is more of a "search for developers" problem that will expand the breadth of all the developers available to me, instead of focusing on the ones who are already out there (and are most likely not the cream of the crop by definition).

In short, I don't mean to be negative, and am not saying that there might not be a market for a tool like this. But I am pretty certain that if you are a great developer, you don't have an incentive to make a web app on this.

<comment><USER4> I agree with this 100%. Coding tests and filters like this make sense when we have a market with an oversupply of developers that need to be filtered out. Right now, we're in the opposite situation with more jobs than skilled devs.

I think a few companies (Google, Facebook, Twitter, etc) have more applicants than open job reqs, so for them these types of products have value.

</comment></comment><comment><USER5> Want to work here? Do work for us for free! Then maybe we'll hire you afterwards.

Great idea if you want to hire suckers.

<comment><AUTHOR> OP here. Agree with this sentiment. Even I would not use cull.io to have candidates build a complex web app that would take days or even hours to build. I would use it as a tool to "Filter" candidates, not "Select" them. (It's amazing how the simplest of a coding challenge would filter all non- coding coders)

thanks for the review.

<comment><USER6> I've never been on the other(interviewer) side of the hiring process and I was on another side only once during the last decade, so I might not have enough insight, but I really don't understand non-coding coders filtering per se, be it your method or FizzBuzz... When someone says about their years of experience in coding in their CV, is it a common case that they're lying?

<comment><USER7> _When someone says about their years of experience in coding in their CV, is it a common case that they're lying?_

I, somewhat cynically, divide job seekers into four categories:

1) the qualified (I know what I can do, and I can do what you need)

2) the unqualified (I know what I can do, but I can't do what you need)

3) the deluded (I honestly think I'm qualified, but I'm not)

4) the liars (I'm trying to get the job by any mean necessary).

I only want (1).

(2) are easy to deal with - you just have to know what you need.

(3) are common and mildly annoying - especially if you're a nice person and feel the need to explain where they are deluded :-)

(4) are not common - but are exceptionally annoying and often hard to sort out

Writing a really good job spec / advert will get rid of most of (2) for you, and help remove all but the most deluded from (3).

Filtering resultant CVs will usually get rid of the rest of (2), and a bit more of (3).

A quick chat on the phone will get rid of any remaining (2) and a big chunk of (3).

Simple tests similar to FizzBuzz will cull a surprising amount of (3) and (4).

Interviewing - especially good accomplishment based questions will tend to filter out all of (3) and a big chunk of (4).

Which, unfortunately, occasionally leaves some of (4) who seem to sometimes put more effort into deceiving me than it would take to actually learn the damn skills in the first place. Which is why I _really_ like having some kind of solid work "with the team" session for at least a couple of hours. Pay 'em for it too if at all possible.

</comment></comment></comment></comment><comment><USER8> OK as someone looking for employment, I feel ambivalent about this and probably would pull the plug on the process if you asked for non trivial work from me. I understand the need to weed out applicants that lack skills. This can and should be done by technical screening conducted by qualified individuals.

FWIW this opinion is based on experience. I've conducted more interviews than I have given. As an applicant I once went through a fairly lengthy interview process that first did a screening interviews including live coding exercises. They were conducted and critiqued in real time. I have no issue with these. You can either do what you say, or you can't and it becomes apparent fast.

The next stage is where I started to question the company's processes - <USER2> requested a small "project" followed by an interview. I _nearly_ pulled the plug on this, since it was a request for 10+ hours coding, but did it anyway.

The next interview involved a fairly in depth defense of my code and design choices, white board work that again put my skill set to the test real time. After several hours of this, I was requested to do another "small project" and I walked away.

TL;DR Ask me a million questions, put my skills to the test on the spot, but don't ask free work... I'll think you're unable to judge my skill/confused/a scammer or whatever.

<comment><AUTHOR> +1 and Agree. It's wrong to get free work. However, just out of curiosity how would you have felt if the employer has actually paid you for those "small projects"? (To be clear: No guarantee that you will get the Job, but payment is guaranteed for the hours you put in)

<comment><USER8> Payment, or even a donation to charity for a token amount - say 1/3 the value of the work - would go far, but I still think it is the wrong approach.

Companies requiring this sort of project work should be aware it smells funny to the applicant and the only way to tell if the applicant did the work him/herself is a tear-down / code defence.

You have not saved any effort from the hire process - only tested if I am willing to jump through a hoop and made me question the company.

</comment></comment></comment><comment><USER9> I first posted a snarky comment saying how this is spec work and what not. I then looked closely and deleted it, because it's not a spec work.

Your description -

      Recruit web developers by having them build a web app

should really be this instead -

      Recruit web developers by having them build a TEST web app

You have to be _very_ careful with how you describe your service. You are an inch away from a much despised domain area of 99designs, and it's only sensible to try and distantiate yourselves from any spec work associations.

<comment><USER10> Or, hire a web developer by having them PROVE they have what it takes.

Or, hire a web developer with too little work experience to have any previous examples of what they can do, but still have them somewhat prove they have the appropriate technical knowledge at least handle the job ......... or something like that.

Anyway, if I had to run a developer through a test like this, I probably wouldn't be talking to him in the first place honestly. I tend to contract with people based on what I've already seen them do.

I understand that getting started is hard too, so hopefully some new developers will find themselves using this tool and it will help them get new jobs and build that portfolio.

</comment></comment><comment><AUTHOR> Hi HNers, OP here. Cull.io is similar to top coder or interviewstreet but focussing just on recruiting web developers. It works by asking candidates to develop a web app on localhost instead of presenting a textarea where candidates types the code.

Advantages:

1) Candidates can virtually choose any language, framework, libraries or IDEs to solve the challenge. (Since they are developing on localhost with their own setup)

2) Because of 1) you need not limit your challenge to be overly algorithmic. You can for example ask questions like 'Pick the most popular article on hacker news today'

Disadvantages: Limited to candidates who can develop a web application

<comment><USER11> At the risk of playing devil's advocate, I would argue that giving candidates the ability to use virtually any language or framework and develop on localhost is not necessarily an advantage.

When I'm looking to hire a Rails dev then I want to know as soon as possible in the interview process that they actually know some of the basics of Rails and MVC - not just if they can build a web app. Furthermore, by hiding the candidate's choice of language/framework (and code quality) behind localhost the benefits of assigning an arbitrary coding challenge are lost. I fear that the only solution would be for the candidate to submit the full source code.

However, as a very quick "can this candidate actually write code" filter, I think you're well on track.

<comment><AUTHOR> Yes that's a valid point. We do ask the candidate to submit the source code once the they have solved the challenge. So employers who need only say "Rails" developers can mention it in the instructions and check the source later.

"However, as a very quick "can this candidate actually write code" filter, I think you're well on track."

Yes, that's exactly what I wanted this to be. Quickly filter out the 80% and move to the next stage where you can do much better justice reviewing the candidate's past work, working with the candidate on a project etc.

</comment></comment></comment><comment><USER12> Leaving aside whether or not this is a valid way to attract top people, my suggestion is to rebrand the name - "cull" has too negative a connotation ("cull the herd").

So #1, I'm part of "the herd", and #2 this tool is being used to possibly cull me. Great. No thanks, I'll spend my time applying to a place that doesn't have a tool dedicated to weeding me out. It doesn't portray the hiring org or your tool very well.

I'd be afraid that you're turning off devs right away, before they even get to the site (which has the potential to turn them off even more). My $0.02

<comment><USER13> Cull is perfect from HR's point of view and speaks to the heart of the problem they are having trying to find viable candidates in a sea of resumes.

<comment><USER12> Yes, it speaks to HR's problem - but in a way that jeopardizes their objective (i.e. hiring good people).

Quality devs are in short supply already... explicitly saying that you're treating them like cattle is not going to result in better outcomes. If good devs don't participate = this is worse than a regular process.

In my experience, devs want to feel wanted / valued / pursued, not like commodities that need to be filtered.

/your experience may vary

</comment></comment></comment><comment><USER14> I think you'll have traction problems on the developer side.

Doesn't matter what kind of job it is, you can be pretty much 100% guaranteed that the job will be listed on the company website without any of the extra hoops to jump through.

Requiring someone to build a web app just to apply is a huge requirement. It's fine if you gave someone an interview, and this is the final step before you hire...but requiring someone to code just to submit an application is abuse.

<comment><USER15> This idea/service needs to sold to HR departments who are seeking developers.

As someone who hires I want to know what they can do vs what they say they can do. When I hire I ask job applicant to cut up and code a PSD. Some refuse while the eager ones whom are really serious and are excited about the job happily do so.

Overall it's good practice and we give each applicant feedback on how to improve. The flip side allows us to see who cut up and coded the PSD the best (validates) and quickest. That is the person we go with; majority of the time.

Jobs aren't easy to come by these days and in non metropolitan cities the competition is fierce.

<comment><USER16> > I ask job applicant to cut up and code a PSD

You judge job applicants by their willingness to jump through boring scut work hoops in the hope of getting a job? I don't know what you're optimising for there, but it certainly isn't programming talent.

I've known a few C-class bumblers who would probably do that for a job interview. The number of grade-A talented engineers, the people I would want to hire, who would put themselves through some pointless, arbitrary slog just to impress you with their "eagerness"? Precisely zero.

<comment><USER15> These tests are for a web design and branding agency.

There are tons and tons of resumes and the shop is not located in a huge metropolitan area like San Fran, NYC, Chicago, etc.

</comment></comment></comment></comment><comment><USER17> A lot of people are commenting that they don't want to have to solve this type of problem before applying, but I don't see an issue. I could whip up a simple program that listens for HTTP requests and e.g. reverses a string in minutes, using any high-level language. I spend more time than that writing a nice cover letter.

Given the number of "non-coding coders," I think this is a decent service.

<comment><AUTHOR> Thanks!

</comment></comment><comment><USER18> Seeing things like this is why I love working in open source, a quick look at github + the projects I am involved with and someone can see what my interests are, what my abilities are and how I work in a team.

Not every work place produces open source code and not everyone wants to spend their limited spare time 'working', but I cant think of better advice for eager job seekers / students / graduates to look for open source projects to contribute to.

(of course it isnt the only reason, making software you love, with awesome people, and making the world a better place arent to be ignored)

</comment><comment><USER19> I think it is important for some cases at least, that the libraries used by a candidate be limited. For some algorithms (lets say a search algorithm), it would be convenient to use a searching library. What library a person chooses is informative, but not as much as how a person implements it himself/herself. I do understand that this is essentially a screening test, but if lets say, DuckDuckGo was hiring, then how a person implements searching, even if trivial goes a long way in deciding how applicable that person would be for the job. This will be extremely difficult to implement though, I'm just saying one can require them to submit source code and then manual checking can be done for candidates who pass the screen. The reason is that there are a lot of drag- and-drop style wizards that can just generate some skeletal web service that could be used to break this screening test.

In the end, this is an amazing service, but sometimes, these tasks are essentially trivial, like, for example, exposing a function to a web service. I believe (and this is just my opinion), that the function is more essentially than how one can wire it to different interfaces.

But, what do I know, I'm too drunk right now.

</comment><comment><USER20> There's definitely some merit in this approach over something like Fizzbuzz and whiteboard problems. At my previous place of employment [1] , after the initial interview, you were given 48 hours to produce a simple web addressbook app. You could use _anything_ that you wanted to produce the app - at the end of the 48 hour period, you had to supply thme with the code and instructions on how to install it on a Ubuntu instance. It was actually quite fun (and then after getting the job and testing other people's entries, you begin to see how it separated people with impressive CVs who couldn't program for toffee, and others who had much less experience, but managed to come up with something that worked!)

[1] That would be Open Source Integrators, a great Durham-based outfit who I believe are still looking for people to staff their Chicago offices: <http://osintegrators.com/>

<comment><USER21> Great idea... but did you let them know ahead of time? I'd hate to do a phone interview and then realize I'm building a web app over my weekend trip to Chicago.

<comment><USER20> The nice thing was that after you passed the initial interview, the company would let you start whenever (within reason, obviously). You'd send them an email that you were ready, they'd send details, and the clock would start ticking from then. Much more relaxed.

</comment></comment></comment><comment><USER22> @ksat - I think it's easy to get the wrong idea of what your site is for from the heading - "...having them develop a real web application". Of course building an entire web app just to apply for a job is overkill. But it looks like that's not what you meant? I read further down the page and the examples given are more like short coding challenges. That's acceptable, and I think you need to focus your site more on filling that need. Position it as some sort of "Automated Fizzbuzz Test".

<comment><AUTHOR> Got it. Thanks. I'll see how I can word it better.

</comment></comment><comment><USER23> What stops me from asking a friend to help me? Or worse still, if this is used as a campus recruitment tool, someone might mail working code to the entire college!

<comment><AUTHOR> Well yes, but thats applicable any remote interviews. Or even telephonic interviews. As a solution you could have the candidate solve a challenge on premise. or having him explain the code or make small modification on premise(what i do, if I have a doubt)

</comment></comment><comment><USER24> I have not seen the service itself for the developer, but as for the screen I would recommend a way of customizing a bit more what site it should check. Right now it seems you can only change the port, but plenty of times I just create a new directory under root for the webapp (something like <http://localhost:8080/mywebapp>) because it's easier in some web servers.

<comment><AUTHOR> Got it. Din't think of that. thanks. It'll be a nice to perform all requests relative to a webapp directory. Will send you a mail once it's done.

</comment></comment><comment><USER13> Oh, now programmers are graphic designers too? Don't want to play the submit three logo comps and maybe we'll hire you game?

Geez, even a hired gun has to shoot someone for free once in a while just to show potential employers he's still got it! No one really knows what you did before (unless you have code groupies). Employers certainly do not give a shit in today's job market, they want to know you will fit in with the team and that you work as advertised. No one in their right mind believes advertising or resumes these days. So what's the alternative? You want to slip them source someone else paid you to make! I sure as shit would not hire you if you share like that. Competitions surely suck for losers who do not learn from their loss(es).

Suck on this - if you are bored then YOU are boring. If you won't build a small (not going to make anyone else money) solution to show a potential employer you can, you probably can't.

</comment><comment><USER25> Small nitpick: it's typical to have your logo link to the homepage.

<comment><AUTHOR> Will fix. thanks.

<comment><USER26> Except on the homepage itself ;-)

</comment></comment></comment><comment><USER27> It's a pretty nice idea. That music is beyond horrible, however.

<comment><AUTHOR> Payed $47 to musicbakery.com for that :(

<comment><USER28> Didnt know about that service. Thanks.

I like your idea too. Best of luck

<comment><AUTHOR> Thanks! I'd love your feedback. You can mail me kaushik [at] cull.io

</comment></comment></comment></comment><comment><USER29> it better be a very simple web app. otherwise the applicant can only apply to a couple jobs a week/month.

makes me think: ask a car manufacturer to design & build a new car before you choose them to design & build your company's custom car.

<comment><AUTHOR> Yes! I think the complexity should be reasonable too. I've listed why I built it here: <http://www.cull.io/why.html>

To start with, if you are recruiting a web developer it can be an simple alternative which lets candidates choose any framework, language or library.

P.s: It is another reason why cull.io never tracks the time a candidates take to complete the challenge. Honestly I think services like this will merely be a way to filter out candidates not select them. To select candidates you still need to work with them on a project and see their previous projects

</comment></comment><comment><USER30> Interesting idea, but what stops me from just writing the content instead of programming it?

<comment><AUTHOR> A Few things:

1) For some requests, the correct response can be hidden and just reply 'pass' or 'fail'.

2) You can use javascript to randomize the requests. For example create a random expression and ask it to be evaled

3) Candidates submit the code after completing the challenge.

Thanks for checking out!

<comment><USER31> The intro video would benefit by demonstrating this. I had the same question.

</comment></comment></comment><comment><USER32> love it , on the side note , it might help to train fresh developer, example create series of request and get the fresh grad developer to go through ?

</comment><comment><USER33> "Print the tweet given _its_ Id"

<comment><AUTHOR> :). Will fix. Thanks

<comment><USER34> <http://www.cull.io/images/home/answersannot.png> \- Has the text "Resume and other intersting stuff", there's a typo on interesting.

Nice idea by the way!

<comment><AUTHOR> Thanks! Will fix.</comment></comment></comment></comment>


BlockChalk - iphone-based geograffiti using HTML5 - <AUTHOR> http://blockchalk.com/

<comment><USER2> I prefer Scribular for this. It also has a web interface. <http://scribular.com/>

</comment><comment><USER3> I wish it showed what it looked like. Picking up my phone and dialing a URL is too much work.

<comment><AUTHOR> there is one on the front page. lower right.

</comment></comment><comment><AUTHOR> half the team that built this was Stephen Hood, who was product manager for delicious at yahoo.</comment>


Show HN: Tweetpop, a photo filter for everyone on Twitter - <AUTHOR> https://geo.itunes.apple.com/us/app/tweetpop-photos-for-twitter/id1009490800?mt=8&at=1010l55g&ct=showHN

<comment><USER2> Isnt it a bit risky building app using twitter api ?

<comment><AUTHOR> Given that this is only posting, I didn't think it was too risky. Rate limiting for what I'm doing is based on user auth rather than app limits.</comment></comment>


"Bad Taste" Vulnerability Affects Linux Systems via Malicious Windows MSI Files - <AUTHOR> https://www.bleepingcomputer.com/news/security/-bad-taste-vulnerability-affects-linux-systems-via-malicious-windows-msi-files/ <comment><USER2> This needs more attention but sadly none seems to be given.</comment>


Jury foreman in Apple vs. Samsung had 'light bulb moment' - <AUTHOR> http://www.eetimes.com/electronics-news/4394863/Jury-foreman-recounts-Apple-vs--Samsung-case

<comment><USER2> Maybe as an engineer he should have just cut himself a rectangular piece of cardboard (size 7" / 10" - optional with rounded corners to not harm himself), draw a screen on it and take it into his hand(s).

He might have then realized that the size of the bevel, where to put buttons etc are define by nature (except if you have 4 hands or two thumbs on each) - that's what I would call a light bulb moment.

His explanations have the smell of someone who profits from the system and tries to justify it at-any-cost even if common sense or "engineering pride" clearly are telling differently.

</comment><comment><USER3> This leads me wonder if another set of eyes need to look at the case. Its hard to discern too much from this short form. Juror seems something odd.</comment>


Epic CEO: "Universal Windows Platform can, should, must, and will die" - <AUTHOR> http://arstechnica.com/gaming/2016/03/tim-sweeney-to-microsoft-universal-windows-platform-can-should-must-and-will-die/ <comment><USER2> If this trend continues I can't see myself continuing to develop for windows. Creating an environment hostile to developers might makes some parts of windows more intuitive for inexperienced users, but it will hurt their ecosystem in the long run.</comment>


Top Programming Languages to Keep You Employed - Application Development - <AUTHOR> http://www.eweek.com/c/a/Application-Development/Top-10-Programming-Languages-to-Keep-You-Employed-719257/ <comment><USER2> PHP isn't a mainstream language? That's news to me!

<comment><USER3> It's on the 7th slide: "PHP was ranked No. 4 on the most recent TIOBE index"

<comment><USER2> 9th Slide:

 _While the demand for the dynamic or scripting languages such as Perl, Python and Ruby lags behind that of Java and more mainstream languages, the popularity of these languages is growing and there is a need for programmers in each of these communities._

<comment><USER3> To me, that read like: _demand for Perl, Python and Ruby lags behind Java, C#, C/C++ and PHP_

<comment><USER2> Ah...that makes sense...I just lumped PHP in with the "dynamic" or "scripted" languages.</comment></comment></comment></comment></comment>


Ask HN: How I stay motivated when learning foreign language(english)? - <AUTHOR>

I don't have a friend outside my country I live in third world. I like written books or articles
in English to share my ideas to the world.
Help me please. <comment><USER2> Read.As much as you can.I too live in a third(or maybe a two-and-half?) world country.You have the internet with enough number of things and articles to read.Start with small novels if you want(Enid Blytons,Franklin W Dixon etc) and move your way up.

</comment><comment><USER3> I live in a developing country as well. Watch as many English cartoons, shows and movies as you can. Most of the media you consume should be in English as well. Try to visualize the words at the same time you hear them.

<comment><USER4> learning a language is all about repetition. and listening to podcasts and watching youtube videos -- here i'm thinking of lectures, online classes, and tutorials -- over and over again, will help you pick up new (technical) vocabulary + you have the added bonus of learning, apart from the language, some new concepts and/or modes of thinking.</comment></comment>


Microblogging has become too important for Twitter to rule the field. - <AUTHOR> http://www.slate.com/id/2225283/pagenum/all/ <comment><USER2> Well then let them follow the trajectory that SMS has - since in many ways twitter is just SMS over HTTP. Let twitter be coerced into interoperability like the telcos have ( <http://bit.ly/jft6w> ). Surely the necessary technical bits could be plucked from XMPP.

<comment><USER3> I've always considered twitter to be nothing more than an indexed comment.

</comment></comment><comment><USER4> twitter is an SMS mailing list provider. Anyone can do this, but they quickly find that it costs lots and lots of money.

For whatever reason, twitter has been given lots and lots of money to provide this service. It's otherwise impossible to compete with "provide a very expensive service for free"

<comment><USER5> Twitter can also be seen as a special case of email where:

\- every account is also a mailing list

\- messages have no body, only a subject line

\- all the messages flow through a single company's servers

It would be technically trivial for a major email provider (say, Google) to create a Twitter clone.

<comment><USER4> Well, google has jaiku as well as gmail, of course. And there's plurk, and identi.ca, and several others.

identi.ca is promising as it's federated and all that, but when you go there, you see the same thing over and over again: "How do I use this with SMS?" I don't think users understand the enormous cost twitter is just eating for no apparent reason.

And that's the main thing twitter has that is hard to reproduce: SMS in and out at scale. It's not that that's a hard technical problem, it's just incredibly expensive to do that.

</comment></comment></comment><comment><USER6> _It won't be hard to build competitors to Twitter—systems that do as much as it does but whose decentralized design ensures that they're not a single point of failure._

For a given, plucked-from-thin-air definition of "hard", no, it's not hard.

In the real world, yes, it's hard.

I don't see why the fact that people rely on Twitter should mean that they need to be broken up or opened up or any such thing.

</comment><comment><USER7> identi.ca.

<comment><USER8> Actually, Laconica.

</comment></comment><comment> onreact-com We clearly need a open microblogging standard where Twitter updates would not be controlled solely by Twitter itself.

<comment><USER5> We have one. It's extremely scalable and stable. It's well-tested, having been in use for 40 years, with a user base that has grown to around a billion worldwide. It's called email. See my comment above...</comment></comment>


Ask HN: What are the alternatives to HN in 2020? - <AUTHOR> Hey!<p>What are the alternatives to HN in 2020? Do you have suggestions? <comment><USER2> Lobsters [0] is the first that comes to mind. Their content is much more directly focused on CS/EE-relevant subject matter. They're invite-only, however.

[0] [https://lobste.rs/](https://lobste.rs/)

<comment><USER3> Just a note for future/anyone else: you are replying to a spammer who is asking for more places to spam, because the mountain of spam he's posted under multiple accounts for his spammed site "Screpy" is being flagged and killed at HN.</comment></comment>


Giant Claw enters the Dark Web – Internet culture and layers of reality (2014) - <AUTHOR> http://www.factmag.com/2014/10/14/giant-claw-enters-the-dark-web-a-conversation-about-internet-age-culture-layers-of-reality-and-the-future-shock-of-consciousness-shifts/ <comment><AUTHOR> Orange Milk has been publishing some of the most interesting music of the past few years. Oneohtrix Point Never is much more well known and uses some similar sampling and sound techniques, but Giant Claw and others under Orange Milk Records bring a unique internet aesthetic that is truly relevant</comment>


The C-- Language Specification (2005) [pdf] - <AUTHOR> https://www.cs.tufts.edu/~nr/c--/extern/man2.pdf <comment><USER2> There's an alternative timeline where c— was better marketed / promulgated as a backend tool kit for optimizing compilers and everyone use c— instead.

That's not to say llvm isn't great, but some of the design choices it has make it a lot of work to do funky stuff ! And c— is a bit easier to write low level rts snippets in.

I do think the ghc c— flavor is super nice to write in these days.

</comment><comment><USER3> Short overview of "C--" : [https://www.cs.tufts.edu/~nr/c--/index.html](https://www.cs.tufts.edu/~nr/c--/index.html)

</comment><comment><USER4> A prominent project where I have encountered this is GHC, the Haskell compiler. The route there goes: Haskell --> Core --> STG --> C--

(It then goes to one of: \- Machine code generation \- into C for feeding to gcc \- into LLVM's intermediate representation. )

<comment><USER5> Would converting C-- to C/LLVM IR be redundant?

<comment><USER6> It's true that they are mostly on the same level but it's way easier to compile C-- to LLVM IR or C than to write three separate STG->(Imperative code) stages.

</comment></comment></comment><comment><USER7> Does compiling to C-- have any benefits compared to compiling equivalent C code (maybe a subset of C)? My guess would be modern C compilers, powered by decades of R&D and programming, would be able to optimize just as well and possibly better.

EDIT: One advantage that comes to my mind is that compiling to C-- will give slightly more power to deal with stack. E.g. implementing exceptions, continuations etc would be simpler. This is possible in C using inline assembly.

<comment><USER8> One benefit that is repeatedly mentioned in the papers is the ability to do tail-call optimization, which is more or less impossible with compile-to-c interpretations, and mandatory for functional languages.

</comment></comment><comment><USER9> C++++-=

"C++++-= is the new language that is a little more than C++ and a lot less." -Bill Joy

In this talk from 1991, Bill Joy predicts a new hypothetical language that he calls "C++++-=", which adds some things to C++, and takes away some other things.

[https://medium.com/@donhopkins/bill-joys- law-2-year-1984-mil...](https://medium.com/@donhopkins/bill-joys- law-2-year-1984-million-instructions-per-second-3a8c92165cfe)

</comment><comment><USER10> The other project named C-- [http://c--sphinx.narod.ru/indexe.htm](http://c-- sphinx.narod.ru/indexe.htm)

<comment><USER11> I used this in the mid- to late-90's on my 80386 (which was very much out of date at the time, but was all I had). I was very new to computing at the time, and the only other languages that I had under my belt were QuickBASIC and 80386 assembler, so I can't comment on if it were a "good" language or not. After less than a year, I ended up abandoning it, preferring to use QuickBASIC for high level, and machine language for low, not feeling like I needed the intermediate C--.

</comment></comment><comment><USER12> IIRC EiffelStudio compiled Eiffel to C-- as an intermediary stage, but I haven't used it since university and struggle to find information about that online.

<comment><USER13> Slightly off topic: did you do any projects using Eiffel, and if yes, what were the benefits / unique features?

<comment><USER12> I did not use it past university.

</comment></comment></comment><comment><USER14> Code at: [https://github.com/nrnrnr/qc--](https://github.com/nrnrnr/qc--)

<comment><USER15> Very neat, thank you!

</comment></comment><comment> inspector-g Interesting! I've been writing a lot of C/C++ for over a decade, but had never heard of C-- before.

So, I went to the website[1] linked in the PDF to learn more, but sadly it appears the domain has been taken over and now just displays a small collection of badly written articles about Windows.

[1] [http://cminusminus.org](http://cminusminus.org)

</comment><comment><USER16> Are there any projects other than GHC which still use C--? I had heard that it was unfortunately kind of dead these days.

</comment><comment><USER17> I would love to use it for my compiler backend…if I could find any maintained standalone implementations of it.

</comment><comment><USER18> Sometime in the 90's I downloaded a programming language called "C--" that was basically assembly with some loop control structures and functions. I'm assuming this completely unrelated.

Edit: ah, looks like dragonbonheur found and linked it already in this thread!

<comment><USER19> That was Sprinkx C-- Great Compiller with IDE in late 90's [http://c-- sphinx.narod.ru/indexe.htm](http://c--sphinx.narod.ru/indexe.htm)

</comment></comment><comment><USER20> This looks like a precursor of LLVM IR.

</comment><comment><USER15> Is GHC the only project that uses this?

</comment><comment><USER9> Generalizing Overloading for C++2000: Bjarne Stroustrup, AT&T Labs, Florham Park, NJ, USA.

Abstract: This paper outlines the proposal for generalizing the overloading rules for Standard C++ that is expected to become part of the next revision of the standard. The focus is on general ideas rather than technical details (which can be found in AT&T Labs Technical Report no. 42, April 1,1998).

[http://www.stroustrup.com/whitespace98.pdf](http://www.stroustrup.com/whitespace98.pdf)</comment>


Jay Turner, Head of Open Source CloudRouter Project, on SDN Tipping Point - <AUTHOR> http://ostatic.com/blog/guest-post-jay-turner-head-of-the-cloudrouter-project-on-software-defined-networking <comment><USER2> According to a recent survey of 28 carriers, 75% of them will deploy SDN in 2016. 100% of the carriers indicated that they will deploy SDN in the future. Read my article that highlights some of the current trends in SDN. [https://app.console.to/article/5800004da934601092304492/](https://app.console.to/article/5800004da934601092304492/)</comment>


Maxine VM: A Metacircular VM for Java in Java - <AUTHOR> https://github.com/beehive-lab/Maxine-VM#maxine-vm-a-metacircular-vm-for-java-in-java <comment><USER2> This is a "meta-circular VM".

It's a Java program that interprets JVM bytecode. Since the Java program itself is running on the JVM, it actually uses the underlying JVM to do a lot of the work.

This means you get a relatively fast VM but it will be a lot easier to code and debug than using a systems programming language like C++.

But why?

\- The original paper ([https://dl.acm.org/citation.cfm?id=2400689&dl=ACM&coll=DL](https://dl.acm.org/citation.cfm?id=2400689&dl=ACM&coll=DL)) thought of Maxine as "a highly approachable VM research platform and a productive basis for research and teaching." You can see on the roadmap ([https://github.com/beehive-lab/Maxine- VM/wiki#roadmap](https://github.com/beehive-lab/Maxine-VM/wiki#roadmap)) that they're exploring the cutting edge of VM research.

\- I do a lot of tricky network programming - threads and IO. I'd _love_ to have a VM which I could exactly control the threading and IO behaviour so that I could test tricky situations. If this VM is easy to embed in my programs and runs fast enough then it would be fascinating to try it out for writing testing code.

<comment><USER3> As per my other comment, at runtime there is no underlying "HotSpot" or other JVM, only when the bootstrap classes are compiled during the build process.

</comment></comment><comment><USER4> I skimmed, but it looks like this is just a fancy way of saying a self-hosted JVM? Can someone with more knowledge elaborate if this is in fact more significant than my assessment?

<comment><USER5> Its not self-hosted

AFAIK u need a real ugly-binary JVM to run maxime which runs the user classes.

See also Jikes RVM - all the way back from 90s.

<comment><USER3> Not entirely true regarding JikesRVM (I've worked on this project) and from memory still not true of Maxine. Maxine and Jikes' compiler components are run during build on Oracle HotSpot etc, however at run time they are entirely self sufficient.

At least in the case of Jikes, there is a small C initialiser that loads in the "Compiled" memory image of JikesRVM, initialises some handlers, then jumps into Jikes' initialisation routine which JIT compiles and brings up the remainder of the VM.

<comment><USER5> Oh?

This is interesting. Is this "compiled memory image" the pseudo-JIT output of the HotSpot?

Or is it output-ed of the Jikes already

<comment><USER3> It's Jikes having been compiled by the Jikes compiler, that just so happens to have been executed ontop of HotSpot</comment></comment></comment></comment></comment>


Outsourced: Employee Sends Own Job To China; Surfs Web - <AUTHOR> http://www.npr.org/blogs/thetwo-way/2013/01/16/169528579/outsourced-employee-sends-own-job-to-china-surfs-web

<comment><USER2> SO much time and he surfed the web :/ If I could have that kind of time... _sigh_</comment>


Hours from 'fiscal cliff,' still no deal in Congress - <AUTHOR> http://www.reuters.com/article/2012/12/31/us-usa-fiscal-idUSBRE8A80WV20121231

<comment><AUTHOR> If the current Congress fails to come up with something here, let's elect all new people during the next election.

<comment><USER2> Except we won't. We rarely do, and only at onesies and twosies.

Besides, they aren't working on the fiscal cliff anyway, even if it looks like they are. They're wielding a tool which they created which gives them another way to make the other side look bad. That's the entire point. Governing is a side effect.

Tip O'Neill said that all politics is local. That may be true for elections. But it is certain that all government is politics.

<comment><AUTHOR> If only the.. uhh.. "people" glued to Fox News and MSNBC could open their eyes and realize that their side is just as culpable as the evil side.</comment></comment></comment>


What Bullets Do to Bodies - <AUTHOR> http://highline.huffingtonpost.com/articles/en/gun-violence/ <comment><USER2> Let's count the signs.

Applying to emotion ("the blood, the pictures of bodies torn by bullets").

Showing only one side of the story (ignoring all the people who were able to defend themselves with a gun). "Rafi Colon was shot once in the abdomen with a 9 mm handgun during a home invasion in September 2005." Did Rafi have a gun in the house? Did he fight back? If no, why? Did Lamont Randell have a gun to defend himself from robbers? If no, why not?

Using non-neutral language ("gun violence" makes as much sense as "asphalt violence").

Knowing little about guns (AK-47s are pretty rare in the US because of the NFA).

Concentrating on the symptom rather than the cause. Addressing gang violence or rethinking war on drugs is not as easy as saying "guns are bad, amirite?"

<comment><USER3> Correct. In Europe we are all dead from criminals since we had nothing to defend ourselves.

<comment><USER2> Charlie Hebdo editor applied for a carry permit and was denied, because France is a civilized country and nobody needs guns. Not even police guards at Charlie Hebdo.

In America, he would have killed Saïd and Chérif Kouachi and got away with it. But in Europe Kouachi brothers were able to express their beliefs without fear of gun violence.</comment></comment></comment>


Npm search is now powered by npms.io - <AUTHOR> https://medium.com/npm-inc/better-search-is-here-363545703335#.z1j6h246l <comment><USER2> I was just submitting the same thing and it got added basically with a few minutes difference from yours. It looks like medium does something with the hash at the end of the page to give a unique url, I suppose for tracking purposes.</comment>


Clinton tech plan reads like Silicon Valley wish list - <AUTHOR> http://www.usatoday.com/story/tech/columnist/2016/06/28/clinton-tech-plan-reads-like-silicon-valley-wish-list/86474144/ <comment><USER2> This stuff is carefully crafted to get everyone on board. Notice that the wording is 'connecting every household'. You can interpret this to mean what you'd like (pay your bill? dig fiber to your house?). For utility companies they read 'subsidized'.

BTW what does the government have to do with proving wi-fi access at an airport? Frankly this sounds like the equivalent of handing out lollipops.

</comment><comment><USER3> "Some, such as Yorgen Edholm, CEO of cloud company Accellion, insist Clinton's policy proposals — especially on cybersecurity and data privacy — offer "platitudes" that are "thin on specifics.""</comment>