Janayugom, a Indian daily newspaper, has migrated completely to Free Software - <AUTHOR> https://poddery.com/posts/4691002 <comment><USER2> Great story with many details, including technical details.

As a summary,

* The migration involved 100 employees at 14 different offices at the state of Kerala.

* At the same time there was a migration from legacy text encodings to Unicode. They used a GUI program to convert text in legacy encoding to Unicode (language: Malayalam).

* It is a full software migration to free software, including the operating system.

* They use a Linux distribution based on Kubuntu

* The typesetting software is Scribus.

<comment><USER3> "legacy text encodings..." That sounds horrible !

<comment><USER4> Back in the 90s I assembled a binder of all the (not yet) legacy encodings then in use sourcing from ECMA and elsewhere. It was four inches thick double- sided. Unicode had just seen its initial release and it wasn't clear if that would be the universal text encoding or if it would be ISO-10646 which attempted to maintain a semblance of backwards compatibility with the morass of non-Latin/extended Latin text encodings then in use. There were five commonly used encodings covering different sets of Chinese characters alone (Japan, Korea, mainland China, Hong Kong and Taiwan all had their own encodings and selections of characters). Kids today with their UTF-8/16/32 don't know how good they have it.

<comment><USER5> Isn't the Unicode codepoint repertoire pretty much identical to ISO 10646? AIUI Unicode only differs by standardizing additional character properties and rulesets, but the encodings are supposed to be identical.

<comment><USER6> They weren't using Unicode at all. Instead they were using 'prehistoric' fonts patched by changing the glyphs in ASCII fonts(100s of them). This too without proper conventions. They way to convert these to Unicode is by creating character maps in a font-by-font fashion.

<comment><USER7> ISO 10646 does not work as you describe. I'm pretty sure most of the character encodings defined by creating a custom font were never standardized by ISO.

</comment></comment></comment></comment></comment></comment><comment><USER8> Not surprising as the FSF India is HQed in Kerala, one of the progressive states in India with a high HDI.

[https://www.gnu.org/press/2001-07-20-FSF- India.html](https://www.gnu.org/press/2001-07-20-FSF-India.html)

[https://en.m.wikipedia.org/wiki/List_of_Indian_states_and_te...](https://en.m.wikipedia.org/wiki/List_of_Indian_states_and_territories_by_Human_Development_Index)

<comment><USER9> One of the longest serving democratically elected Communist parties leading the state as well.

<comment><USER10> The Kerala model is indeed awesome, and Communist did great things there. [https://en.wikipedia.org/wiki/Kerala_model](https://en.wikipedia.org/wiki/Kerala_model)

<comment><USER5> "High levels of political participation and activism among ordinary people along with substantial numbers of dedicated leaders at all levels"

It's an interesting point. Political activism has been noted before as a plausible contributor to high social capital (especially as traditional social-capital-providing arrangements tend to recede in modern societies), which in turn is a significant contributor to high quality-of-life.

Of course things are not that great if that very same political activism leads to misguided policies which keep you stuck in the middle-income trap, as we see in so many places in South America. But it seems that a legacy of substantial educational achievement (which is lacking elsewhere) has helped Kerala escape that trap.

<comment><USER11> Note that Kerala, like the rest of India, is definitely middle income. It just has much better education rates, public health, etc, than most of India.

</comment></comment></comment></comment></comment><comment><USER7> I didn't see a link to the actual newspaper in the article. I guess the layout of their homepage isn't done in Scribus, but there's an "epaper" version that looks like it's equivalent to the printed one: [http://epaper.janayugomonline.com/](http://epaper.janayugomonline.com/)

<comment><USER12> Scribus is for desktop publishing, not web pages

<comment><AUTHOR> In this case, the webpage contains a pictures of the printed version.

<comment><USER12> [https://janayugomonline.com/](https://janayugomonline.com/) I couldn't find that image here, am I missing something ?

<comment><USER13> Janayugom Online is the webversion It is done in wordpress. you can see the printed version in epaper.

</comment></comment></comment></comment></comment><comment><USER14> As a Malayalee/Indian American, I was not familiar with Janayugom but had a sneaking suspicion that it was a Malayalee paper — this tiny Indian state has several newspapers with circulations that rival that of Japanese and European papers. Awesome article.

<comment><USER15> I amazes me that even the smallest Indian states are still enormous by global standards. Kerala's population is over 30 million!

</comment></comment><comment><USER16> For those unaware while reading the article, "mash" is a term of respect used for teachers/professors.

</comment><comment><USER17> Scribus is amazing! I've used it for quite huge projects (like 200+ pages magazines) and it never let me down, especially if combined with LibreOffice, GIMP and Inkscape.

<comment><USER13> Wow that is very nice to see. I am member of dev team in Janayugom

</comment></comment><comment><USER18> My congratulations!

It's one of the few (probably only) indian states with an eye on the long term future. Rest have given to sound bytes.

</comment><comment><USER19> It is such a great moment for India.

</comment><comment><USER20> And at the same time GIMP still not migrated to GTK3...

<comment><USER13> Migration going on. Hopping a release on first quarter 2020

</comment></comment><comment><USER21> Amazing! I hope more small scale organizations in India migrate to Free Software and escape from the Microsoft OS Lock In.

</comment><comment><USER22> Congrats</comment>


Ask YC: What do you think of Apple's tactic of closing their online store for updated products? - <AUTHOR>

And if so, why don't other sites do it? (maybe some do that I'm not aware of) <comment><USER2> Works great from a PR standpoint. I think Twitter should develop tons of 'microproducts' so they can roll one out each time twitter goes down and say it was a planned outage to update their products.</comment>


Should you bootstrap your own animated video? - <AUTHOR> http://blogs.jpost.com/content/key-great-animated-video-get-professional-do-it

<comment><USER2> I made my own video and it cost me 39$. You could see that [http://www.youtube.com/watch?v=WLkrZ8bOEwM&feature=g-upl](http://www.youtube.com/watch?v=WLkrZ8bOEwM&feature=g-upl)</comment>


A Study of MAC Address Randomization in Mobile Devices and When It Fails - <AUTHOR> https://arxiv.org/abs/1703.02874v1 <comment><USER2> The main Android detection here can probably be defeated using a tool like Pry-Fi on a rooted device,

[https://play.google.com/store/apps/details?id=eu.chainfire.p...](https://play.google.com/store/apps/details?id=eu.chainfire.pryfi&hl=en)

You can also set specific MACs per-AP so it'll defeat probe-based attacks too theoretically. This should get it by 4/5 attacks here.

Their RTS/CTS method in particular sounds like it'll be impossible to defeat without Wifi chipset manufacturers simply removing their hardcoded MAC and switching to letting the OS pick it - unless there's a possibility of triggering that change via a driver already, might be time to start looking at datasheets on wifi chips.

<comment><USER3> At least for Broadcom (nee Cypress) WiFi chipsets used in a lot of these devices, the canonical MAC used by hardware is encoded in one of three places:

\- Onboard SPROM: easily modified by a driver, but shouldn't be rewritten to achieve randomized MACs; you'll blow through your flash write cycles.

\- Onboard OTP (one-time programmable memory): also easily modified, but it's one-time writable; you can only set bits to 1, never 0.

\- External NVRAM / NVRAM image (e.g. supplied by the driver): totally controlled by the driver/host OS, can be set to whatever you want.

Changing this behavior would require changing the firmware image uploaded to the WiFi chipset by the driver.

<comment><USER2> Ah, interesting, are these firmwares typically signed or is it something that could be reverse engineered and modified by anyone?

<comment><USER3> In theory you can supply your own firmware.

<comment><USER4> Some Sony Android phones apparently use your third model, with Linux pushing the firmware image to the wifi card. The MAC address is in that image, but not baked in to the distributed file, so something has to fetch the unique MAC from somewhere and write it in to be sent to the wifi chip. And the MAC seems to be unprotected by signatures.

At least this is what I gathered from looking at CyanogenMod source awhile back. mac-update[0] reads the MAC (multiple of them, apparently) from some files on /data[1] (which I think are put there by a proprietary blob that got them from a separate partition dedicated to storing provisioning data), copying the firmware image from /system and writing the patched version to /data (which path the kernel loads from to send into the wifi card.) As I recall, changing my MAC address "permanently" was as easy as changing the MAC file on /data, but I don't have the phone anymore.

[0] [https://github.com/CyanogenMod/android_device_sony_qcom- comm...](https://github.com/CyanogenMod/android_device_sony_qcom- common/blob/40c07439a871c94bfb386dc4435787f040ef8d17/mac-update/mac-update.c) [1] [https://github.com/CyanogenMod/android_device_sony_qcom- comm...](https://github.com/CyanogenMod/android_device_sony_qcom- common/blob/40c07439a871c94bfb386dc4435787f040ef8d17/mac-update/mac-update.h)

</comment></comment></comment></comment></comment><comment><USER5> I get the idea from reading this paper that the authors don't have much networking experience. Having lots of MAC addresses randomly changing in your network is more than a potential headache. It can really cause stuff to break and the authors don't even address that.

At the very least, I expected a discussion of arp for IPv4 and ICMPv6/NDP/RA/SLAAC/DHCPv6 for IPv6. But beyond that, I really need to see some discussion on the effect of randomization on L2 security mechanisms like limiting MAC learning on ports. A smart thing to do if you're a network admin concerned about security is to limit the number of MACs that can be learned on a given port/vlan. So randomizing MACs on devices would cause some devices to just drop connection occasionally. The authors don't address this.

It's almost like they don't even realize that MAC addresses are used for things in networks besides invading people's privacy. There might be very good reasons why manufacturers of mobiles do things the way they do them. However, it doesn't look like the author's reached out vendors at all to ask.

<comment><USER6> You're missing a key point - MAC addresses don't randomize while connected to a network, they only change while in a disassociated state. They need to use their true, assigned MAC while associated to a network.

The authors aren't proposing the use of randomization while associated to a network. Instead they're showing how current implementations aren't achieving their intent.

<comment><USER5> I missed that small but important tidbit in section 2.2, now I see it. But then in section 4 they mention mDNS. Which confuses me, because L2 switches will definitely learn MACs on mDNS traffic.

It also brings up another question I have which is what about roaming? And what about setups where there are L2 switches between radios and the devices that handle the 802.11 authentication? How does randomization affect learning in those environments?

In general I would have appreciated more discussion on on how randomization affects L2 switches and the protocols I mentioned. Either that, or ask someone at Google why Android behaves the way it does.

</comment></comment></comment><comment><USER7> Side question: the last time I watched broadcasts coming out of my unassociated iPhone, it was specifically asking for certain SSIDs. The set seemed somewhat random (I've joined all of them, but not recently), and I don't think any of them had ever been hidden networks.

Are these broadcasts viable for tracking (it seems like they would be)? Is there anything I can do as a user to mitigate the effects (other than turning off WiFi)?

<comment><USER8> Delete APs when you're done using them if they're not ones you'll regularly access. This is especially important for open, unencrypted WiFi since a malicious AP could claim to be that ID.

The only way to prevent this behavior entirely is to shut off WiFi.

<comment><USER7> iOS doesn't have UI to delete networks unless they're currently in range (except a big "Reset Network Settings" button). The only workaround I know of is to sync your networks with iCloud Keychain and use a computer to delete them.

</comment></comment></comment><comment><USER9> This is very similar to our earlier work on the security of MAC address randomization: [http://papers.mathyvanhoef.com/asiaccs2016.pdf](http://papers.mathyvanhoef.com/asiaccs2016.pdf) They provide some more practical details if you want to implement our probe request fingerprint tracking mechanism. This is a passive tracking technique.

Their method to track all devices requires actively sending packets for every single MAC address that is being tracked. The (imperfect) passive tracking techniques can be used to reduce the number of MAC addresses you have to try though. Nice finding overall! And it will likely be hard to patch this issue..

Sometimes there are also silly driver bugs that allow you to get the real MAC address of a device when the user is using a spoofed MAC address :) [http://www.mathyvanhoef.com/2013/11/unmasking-spoofed-mac- ad...](http://www.mathyvanhoef.com/2013/11/unmasking-spoofed-mac-address.html)

</comment><comment><USER10> They didn't mention of they used windows or Linux when testing the USB device as. I would expect different results.</comment>


Browser Games Aren't an Easy Target - <AUTHOR> http://jakob.space/blog/browser-games-aren-t-an-easy-target.html <comment><USER2> > _So I went back to the debugger and placed some breakpoints around where the > WebAssembly module is loaded, realizing that its only purpose is to > deobfuscate the JavaScript that eventually makes it into that "SOURCE" > pseudo-file I saw earlier. [...]_

> _So… the WebAssembly is essentially generating JavaScript on-the-fly. Of > course, all renditions of the code do the same thing, but the variable names > are changing. [...]_

> _So it seems the WebAssembly module is doing some sort of tampering > checking, [...]_

I remember various discussions when WASM was specced about the danger of WASM blobs being used for code obfuscation.

The fears were dismissed with the argument that WASM is easy to decompile and that there is a textual representation to preserve "view source" functionality.

And yet, as soon as WASM is practically usable, we get this - an application that uses WASM _solely_ because it is hard to inspect in the browser.

<comment><USER3> Javascript can be obfuscated too. What is the difference?

<comment><USER2> Well, someone went to the trouble of writing a Rust binary just to hide the game code, when they could have used standard JS obfuscation instead. This suggests to me that WASM has some properties that make reverse-engeneering harder than obfuscated JS could do alone.

This would give some validity to the fears of WASM becoming the "new Flash" that were voiced when it was still in development.

<comment><USER4> > new Flash

... but Flash was easy to reverse too, just download the .swf file and use one of many tools to reverse engineer it. It's probably why there are so many "hacked" flash games available if you search for them.

<comment><USER5> I never really found any of those tools. Granted I could have looked harder. Perhaps I was looking in the open source world too much and they usually came as binaries?

<comment><USER6> [https://github.com/AndreyMiloserdov/jpexs-flash- decompiler](https://github.com/AndreyMiloserdov/jpexs-flash-decompiler)

</comment></comment></comment></comment></comment></comment><comment><USER6> I also take a weird pleasure in running `scanmem` on some of these io games (not the multiplayer ones) and just messing with the values so that I can win everything.

I know a lot of time and effort goes into game development, and that I should take the time to appreciate the rhythm of the story and the nuances of the gameplay... but I am an addict.

I don't casually play games. I'm all in, or not at all. I will play day and night until a game is finished and then I will move on with my life. As an adult with a full time career I can't do these marathon sessions anymore, and so cheating is a great means for me to accelerate through a game, tick the mental block of completion, and then be refreshed Monday morning with my mind focused on work.

<comment><USER7> It's cool, you're just playing a different game.

</comment></comment><comment><USER8> It's slightly annoying that when I create a new game (for the browser) or think of ideas for games I inspect things through the lens of cheat-enabling. It happens to the point that I dismiss ideas based on the fact that there is no viable way for me to stop cheating when it leverages it. The funny thing is that I did most of what I could (source-like networking) and basically no one plays my games so the risk of cheaters spoiling it for everyone is super slim. I wonder if it ever makes sense to think in those categories or am I just paranoid.

<comment><USER9> that does kinda feel like premature optimisation. First make a game. Second make a game that people want to play. Third make a game that people want to hack. Then maybe look at stopping them from doing that.

Hard to resist that nagging thought, though.

<comment><USER10> Knowing and designing around the unavoidable wave of cheaters is extremely important when building online games.

If you build a multiplayer game then come back to "deal with cheaters" only a few months before launch (or heaven forbid, after launch) you're probably going to end up taking the easy route by using invasion ~~spyware~~ DRM solutions, which don't stop cheaters once it's broken. To contrast, designing the game around cheaters means you might actually implement sane networking design, such as nearly everything being server-authoritative, aka. "never trust the client". If your client is broken in to, the best your cheaters can do is script the game (scripting cheats are currently the only ones available for Dota2 and probably League of Legends) or see a small amount of information that's otherwise unknown (for dota 2 you can see which enemy illusions are fake, for example).

Of course this approach can be taken too far, eg. in Call of Duty: Modern Warfare (the new one) sometimes your camera positioning can lag due to packet loss; this probably stops some aimbots but things like camera orientation probably shouldn't be handled server-side.

</comment></comment></comment><comment><USER11> Very enjoyable read. It was especially interesting seeing the obfuscation techniques the devs had created to prevent cheating using WebAssembly.

</comment><comment><USER12> Alas, we killed Flash. It's undeniable that that technology enabled a Cambrian explosion of creativity.

<comment><USER13> I'm surprised someone hasn't made a flash-equivalent framework/environment for html5 or webassembly yet.

<comment><USER14> We have, with Construct 3 ([https://www.construct.net](https://www.construct.net))

Recent addition of our timeline editor means we think it ticks all the boxes as a replacement.

<comment><USER15> Can you create graphical assets within engine in Construct (vector or raster) or do you need to import them?

<comment><USER16> Yes, within Construct 3 you are able to create your graphical assets. Here's a demonstration of someone adding a sprite to their game which shows the interface for drawing the raster sprite: [http://www.youtube.com/watch?v=gVGOYvZxlqk&t=3m8s](http://www.youtube.com/watch?v=gVGOYvZxlqk&t=3m8s)

</comment></comment></comment></comment></comment><comment><USER17> Have you heard of Hordes.io? It's an advanced multiplayer .io game.

</comment><comment><USER18> A very decent breakdown of some more modern obfuscation and deobfuscation techniques. It's nice to see some Rust getting used as well, I wonder if it's made things easier or more difficult for the krunker.io dev in the long-run.</comment>


Ask HN: FizzBuzz for mathematicians ... - <AUTHOR> We have enough mathematicians here to ask this: What would you suggest as an equivalent of FizzBuzz for mathematicians?
Some suggest proving sqrt(2) is irrational, but many technical types who aren't really mathematicians can do that because they've read enough popular math books.  Similarly proving that there are infinitely many primes.
So, mathematicians, what would you suggest?
And for the non-mathematicians, what would you like to have explained, that you think every mathematician probably knows?
Added in edit: I thought this was a great discussion with some interesting suggestions, but I see it's been flagged off the front page.
http://hnrankings.info/4244266/
So that's that, another interesting discussion killed. Oh well, never mind. <comment><USER3> >many technical types who aren't really mathematicians can do that because they've read enough popular math books.

Well, fizzbuzz doesn't exactly require a masters degree either. Proving sqrt(2) is irrational requires at least some understanding of how math problems are approached (unless you do it completely from memory, which is also possible with fizzbuzz), so I would say it's the equivalent.

<comment><USER4> Yeah, the point of fizzbuzz is that it's an extremely simple test that demonstrates basic competence, nothing more.

I have a CS degree and took a bunch of math courses and did lots of proofs, but now (several years later) I'd struggle to write any of the suggested proofs.

<comment><USER5> I would say that failing to solve fizzbuzz demonstrates incompetence (excepting perhaps people new to the interviewing process). In other words, it weeds out but doesn't indicate competence.

</comment></comment></comment><comment><USER6> Derive the quadratic formula.

It's just about as simple as FizzBuzz, and requires primarily symbolic manipulation. Anyone from any branch of mathematics (including applied math and statistics) should be able to do it in their sleep.

<comment><USER7> But so should a high-school student...

<comment><USER8> Given how important computers are these days, the same could be said of FizzBuzz.

<comment><USER7> I suppose I will grant that, with regard to an ideal curriculum. With actual present day curricula, however - the highschool algebra summer course I took many years back had us produce the derivation.

</comment></comment></comment></comment><comment><AUTHOR> Other recent suggestions include:

* Show that two irrationals can add up to a rational.

* Find three whole numbers in arithmetic progression whose product is a prime.

* Find a prime that is one less than a square. Now find another.

<comment><USER9> For the middle one, would you accept the arithmetic progression 1, 1, 1?

I know that 1 is not considered to be a prime _now_ , but it was considered to be a prime by most mathematicians up through the 19th century, and Lehmer included it in his lists of primes as late as 1956.

<comment><USER10> 1 1 2

<comment><AUTHOR> Not in arithmetic progression.

</comment></comment></comment></comment><comment><USER11> I have been using this when interviewing people with math degrees:

Two players play a game with a single six-sided die. The player that starts can only win by rolling a 1. If he or she doesn't win, the other player gets to roll; he or she can only win by rolling a 6. The game continues until one player wins. What's the probability the first player wins (eventually)?

<comment><USER12> Let me see if I can work through this.

Player 1 wins based on the following series:

Chance to get a 1 (turn 1): 1/6 Chance to be allowed to roll: Previous chance to be allowed to roll * 5/6 (Chance player 1 didn't roll a 1) * 5/6 (Chance player 2 didn't roll a 6) Chance to get a 1 (turns 2+): Chance to be allowed to roll * Chance to get a 1

So... summation( 1/6 * (25/36)^(n-1) )

I don't know what that comes out to be.

<comment><USER11> It's actually 1/6 * Sum_n (5/6)^2n = 1/6 * 1 / (1 - 25/36) = 6/11. The first move provides a small advantage, as intuition dictates.

</comment></comment></comment><comment><USER13> I think I'm at least as competent at math as one would need to be at programming to solve fizzbuzz and I have no clue how to prove either of those things.

Fizzbuzz isn't trying to separate the professional programmers from the pretenders, its' trying to identify people who have no capacity for programming whatsoever. Fizzbuzz only requires basic knowledge of the syntax of any programming language and basic problem solving skills. I think a better equivalent would be something like "integrate x*e^x". Or maybe even some college-level algebra.

<comment><USER14> The idea behind the problem seems to be to separate the mathematicians from the engineers, which the problems seem to do reasonably well.

However, since both problems are fairly trivial proof-by-contradictions, I would like every computer scientist to be able to solve them as well.

That said, my masters degree is in programming languages, so I may be exposed to a bit more math than the average software developer. I do not consider myself competent enough to be a mathematician, though.

</comment></comment><comment><USER15> I think proving the sqrt(2) is irrational is great. That was the very first question on my first college math homework assignment. It's a great way to weed out people aren't even close to the level they should be at math-wise. Don't worry that others can do it. FizzBuzz can also be cargo-culted. FizzBuzz tells you nothing about how good someone is, but can tell you a lot about how bad they are.

I would also suggest this: Prove exp(pi*i)+1=0.

</comment><comment><USER16> Is it possible to prove that 0.99... = 1? If yes, how?

<comment><USER17> This one is just too much geek knowledge I think. E.g. I have read about it a bunch of times and I completely suck at math.

Something less "cool" would be more apt imo (fizzbuzz itself is rather uninteresting).

</comment></comment><comment><USER18> After reading some of the comments, it seems as though this has a tendency to turn into another one of those interviews where the interviewer gets to feel superior if you can't remember shit you learned 20 years ago verbatim.

</comment><comment><USER19> Explain and demonstrate the use of Taylor series. Quite a bit easier than many of the other suggestions below, and will weed out total idiots. Kind of like asking a supposed programmer to explain a "for" loop.

<comment><AUTHOR> Except that not every mathematician will actually have done Taylor Series. Algebraists, logicians, topologists and graph theorists, for example, may very well not have done analysis to that level.

<comment><USER20> Even logicians took freshman calculus.

This is actually more reasonable than expecting an analyst to produce basic group theory proofs.

<comment><AUTHOR> For reference, I never took "freshman calculus" and never did Taylor Series at University, and I have a PhD in discrete math. I do know about TS, but it was axtra-curricula.

<comment><USER21> In which country?

<comment><AUTHOR> I've gone and checked. They were mentioned, effectively with "when you need them they will be pretty much obvious" - and they were. They never formed a topic in their own right, they just "fell out" of the actual material.

This was in Australia in the early 80s, and to this day I think of TSs as sort of obvious. But I did Pure Maths, and I think TSs are more emphasised in applied where you use them for approximations, etc.

<comment><USER22> I guess I'm now intrigued as to where your "sort of obvious" threshold lies.

Which aspects of your undergraduate real analysis course did you not find obvious (if any)?

<comment><AUTHOR> It's way too long ago to have any measure of that now. I did my 4 year bachelor's degree from 1980 to 1982 inclusive, taking nearly 4.5 years worth of courses in that time. I did Analysis I, Analysis II, Complex Analysis and Mathematical Methods all in my first chronological year, and Taylor Series were never actually a subject of discussion. My recollection is that they were defined, and it was just pretty obvious that they worked when everything was "nice", and that things could and would go wrong if things were in any way "odd".

But this was 32 years ago, and while I've used calculus in one form or another constantly, I've never had to do anything "interesting" with Taylor Series. Now looking back I'm hard pressed to say what was easy and what wasn't, what was obvious and what wasn't.

It would actually be interesting to go be an undergraduate and see what is obvious now with the years under my belt, and what needs to be thought about hard.

<comment><USER22> I suspect the fact my degree was almost as long ago, and I certainly _can_ remember the real analysis topics that were non-obvious, means there were fewer of them for you than for me :-)

<comment><AUTHOR> Or that your course was harder than mine, or that I was struggling with more advanced courses _at the same time,_ and therefore had a different perspective on it all.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> What is the goal? If it's to test the mathematical ability of someone who you want to hire to code it might make sense to ask some probability questions.

</comment><comment><USER14> Prove that the inverse of any element in a group G is unique.

Edit: If this is too easy, prove that g in G, g -> g^2 is a homomorphism iff G is abelian.

Note: I am not a mathematician.

<comment><USER24> Maybe I'm just a sucker for group theory but that strikes me as too trivial for any mathematician.

In that same vein, I'd suggest proving that a group G is abelian if and only if (ab)^2 = a^2.b^2, where a, b are in G.

It's not as straightforward as your question in the sense that proving it requires a little idea that you have to come up with.

<comment><USER7> That seems too easy.

(ab)^2 = aabb a^2 b^2 = abab

ab = ba iff G is commutative, so for an Abelian group we can substitute for the middle bit

aabb = a(ab)b = a(ba)b = abab

Which won't hold if G is not commutative.

QED

I recognize that FizzBuzz is supposed to be easy, but it's supposed to recognize _programmers_ with basic competence; I am not a mathematician. (But maybe I underestimate myself or overestimate some of those with advanced degrees in mathematics?)

<comment><USER20> In fairness, if you handed this in for homework in a sophomore algebra course, you likely wouldn't get credit (you've definitely proven the "only if"; the "if" is a bit murky). However, it's not too much of a stretch to clean it up into a proper proof.

<comment><USER7> In what way did the

aabb = a(ab)b = a(ba)b = abab

fail to prove the if?

edit: I did fail to re-state it, but figured it was obvious in the not-really- formal-proof setting. If that's all you meant by "a bit murky" then nevermind.

<comment><USER20> You have very clearly established the following:

        ab = ba --> (ab)^2 = a^2b^2

It is less obvious that you have proven that:

        (ab)^2 = a^2b^2 --> ab = ba

If I were grading a sophomore algebra class, I would expect to see something along the lines of:

        Suppose (ab)^2 = a^2b^2.
        Re-associating gives us a(ba)b = a(ab)b;
        multiplying on the left and right by the
        inverses of a and b gives the result.

In any domain outside of a sophomore algebra class, I happily accept much briefer and more hand-wavy proofs.

<comment><USER7> Ah, when I read your response I flipped the order of the problem around in recalling it, so had the if and only-if backwards. Yes, I was handwavy there but it seemed clear enough for the setting (which you seem to be granting anyway) - just wanted to be sure I wasn't misunderstanding something. Thanks :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> Perhaps it shouldn't be solving one problem, but maybe explaining a base concept in a field most mathematicians know, and how it's important - <USER2> there's no one right answer, it would also show their experience and so forth - most people probably know what they _are_ , but the more experienced will be able to talk for quite a while. iono, Cauchy sequences, maybe. or groups

</comment><comment><USER26> Well, depends on your definition of »mathematician« – I'd probably go for a question about the very basics of algebra. Something like: How many elements does the symmetric group S_3 have? (Optionally: Write down its Cayley table.) Is it abelian?

Not exactly relevant to practice, and utterly trivial, but I suppose nobody comfortable with formal math should any problem solving it on the spot.

</comment><comment><USER24> In what sense are they to be equivalent?

In any case I'm going to suggest this:

Q. Give two different proofs of the fundamental theorem of algebra.

</comment><comment><USER27> The Monty Hall problem? Like other suggestions, too many people might be able to recreate it from memory.

<comment><USER28> Or apply Bayes' theorem to a real world problem <http://yudkowsky.net/rational/bayes/>

</comment></comment><comment><USER23> To take as much from FizzBuzz as possible - how about "What is the sum of all integers between 1 and 1000 that are divisble by 3 or 5?"

It's simple to figure out with pen and paper but the goal is to just confirm a basic level of competence.

<comment><AUTHOR> Scarcely requires math, seems only to require arithmetic.

<comment><USER23> Yea - I wasn't entirely sure what you meant by the "FizzBuzz" for math point. You were looking for something with more of an abstract focus?

You can have the person then turn it into a general case. What is the sum of 1...N given that the numbers divisible by x1...xk. Even that's pretty simple though.

</comment></comment></comment><comment><USER26> Another very basic question, maybe analogous to FizzBuzz in that regard, could involve some real analysis, e.g.: Let f: [0,1]->[0,1] be a continuous function. Prove that there exists some x in [0,1] such that f(x) = x.

</comment><comment><USER29> Compare e^Pi and Pi^e ?

EDIT: OK, that one is more for engineer. How about: find a bijection between R and P(N)?

<comment><AUTHOR> Interesting. Can you produce a bijection between R and P(N)? It might be harder than you think.

<comment><USER29> I can (actually between P(N) and [0,1), but it is equivalent)). Not sure if I should post it here though. Just email me if you want my answer (email is in my profile).

<comment><AUTHOR> You have email.

</comment></comment></comment></comment><comment><USER30> My suggestion: Prove the infinitude of prime numbers.

<comment><AUTHOR> Hmm. Did you see that I already mentioned that in the question?

<comment><USER30> urghh. my bad. didn't see it :(</comment></comment></comment>


Could a Peanut Paste Called Plumpy'nut End Malnutrition? - <AUTHOR> http://www.nytimes.com/2010/09/05/magazine/05Plumpy-t.html?hp

<comment><USER2> Anderson Cooper did an interesting report about this on 60 Minutes a couple of years ago. Video here:

[http://www.cbsnews.com/stories/2007/10/19/60minutes/main3386...](http://www.cbsnews.com/stories/2007/10/19/60minutes/main3386661.shtml)

</comment><comment><USER3> Interesting discussion in there about intellectual property. How innovative is this paste, since it's so easy to make and there are already competitors?

</comment><comment><USER4> I remember hearing about this some time ago - it's still pretty cool though. I love the name especially, fantastic imagery.</comment>


Socialcam: Further Proof That You Folks Really Like Your Filters - <AUTHOR> http://techcrunch.com/2011/10/28/socialcam-further-proof-that-you-folks-really-like-your-filters/

<comment><USER2> Almost all of the photos that people are filtering are uploaded straight off a phone. Generally the cameras on these devices suck. You get tons of pixel noise, weak colors, and relatively low resolution. You also don't get much in the way of creative control, such as the ability to play with depth of field and exposure.

Filters cover up these flaws. You no longer see all the noise and general crappiness after taking a photo blurring it, overlaying textures, and then blowing out the color. Plus they give you a bit of creative control. I think that's the reason that these apps are so popular.

<comment><USER3> Thats a pretty good explanation. I always wondered why do people love filters so much.

I think another reason is because its "cool" now.

</comment></comment><comment><USER4> Filters are quite a lot of fun, but they can't turn a crappy photo into a masterpiece. At best, they turn a bad photo into a mediocre on, or a decent photo into a good one. You can alter the mood, but in the end the subject matter needs to be interesting.

Not to say that filters are inherently bad. The "Mastergram" blog (<http://mastergram.tumblr.com/>) has some excellent examples of how masterpiece photos can be altered by Instagram but still retain that je ne sais quoi that made them masterpieces in the first place.

<comment><AUTHOR> Nick - I don't think the goal is to make a masterpiece.

Anyone with a smartphone is no more than 5 feet away from a video capture device 24/7. For the first time in history hundreds of millions of people have the ability to capture and share video instantly. Unfortunately most people don't take advantage of this fact because they find video intimidating.

Socialcam is trying to break down the wall and make video fun. It turns out that filters do a great job of this.

<comment><USER5> I just find video really slow to upload, and the motion capture quality / framerate awful.

</comment></comment></comment><comment><USER6> Socialcam was featured a few times but still they're not ranked very high in the Appstore (#41 top free in Photography, not even top 1000 overall free). They probably have most of their downloads from the times they were featured. I'm not sure if I buy the hype. Video is a difficult problem to solve and I'm not sure if they've really solved much.

</comment><comment><USER7> I made a mod for Oblivion back in the day that basically let you just add some filters to the game. It was way more popular than any of the gameplay mods I spent far more time on. People love filters.

<comment><AUTHOR> Its pretty crazy how much people love filters. Now almost 50% of Socialcam videos are taken with filters.

</comment></comment><comment><USER8> "Oh, and he also noted the biggest new use case for Socialcam: the folks at Occupy Wall Street."

Nice to see hipsters aren't too busy protesting to be ironic.</comment>


What would Britain be without drink? (2016) - <AUTHOR> https://www.theguardian.com/commentisfree/2016/jan/10/alcohol-guidelines-drinking-orwell-perfect-pub <comment><USER2> Libertarian soul that I am, in principle I am for its existence. But if it came to a vote, I'd happily pull the lever for "no". Complete hypocrisy, I know. But I have never seen alcohol improve people's behavior, and as the only teetotaler in a family of alcoholics, I was often at the business end of its worst effects.

<comment><USER3> Is there a good explanation for why people are so sensitive when it comes to alcohol? You can criticize basically everything in the West, but mention the dangers of alcohol, and you'll get blank stares at best[1].

I've never even had a sip and don't ever plan to, and I really don't see what I'm missing out on.

[1]: Now that I read that sentence, I feel like I pulled it out of a Dr. Seuss book..

<comment><USER4> Alcohol has long, deep ties to a lot of cultures. It strikes me as a very human thing, with complex emotional connotations.

For my own part, I've got very few negative memories involving alcohol and very many positive ones. It's difficult to argue against emotion with rational arguments. Especially when you're talking about a drug that seems to suppress rationality in favor of emotion.

For what it's worth, I've got friends that share your opinion. They don't drink, never have, never plan to. To each their own.

<comment><USER2> That's nice to know (not being facetious)

</comment></comment></comment></comment><comment><USER5> Not a great article. It doesn't really say anything; certainly nothing new or insightful.

<comment><USER6> Maybe if you take a drink or two, you'll cheer up!

<comment><USER5> It's just not a great article. Idk.</comment></comment></comment>


Show HN: Distributed Randomness Beacon Client - <AUTHOR> https://pypi.org/project/drb-client/ <comment><AUTHOR> Distributed Randomness Beacon client

Gathers entropy from multiple drand ( [https://github.com/dedis/drand](https://github.com/dedis/drand) ) instances, securely mixes responses and outputs to kernel entropy pool or stdout. Suitable for use with League of Entropy servers ( [https://www.cloudflare.com/leagueofentropy/](https://www.cloudflare.com/leagueofentropy/) ).

drb-client can be used as a standalone source of high-quality random number, or as additional source for entropy pool in Linux kernel. Produced amount of entropy should be sufficient to derail attacks based on RNG predictability.</comment>


Ask HN: Job Differences with B.Eng. IT and M.Eng. Software Engineering - <AUTHOR> I'm currently studying Bachelor of Engineering in IT, but with very software minded courses. The whole education is 3.5 years with 20 weeks full time internship (me as a software developer).
I love solving problems in software, so I'm wondering if I should go for an extension of my education with a (2 year) Master of Engineering in Software Engineering.
The problem is, that I don't know what employers prefer, and what the difference would be in the jobs with the two educations. I don't want to be excluded from some exciting software jobs. But on the other hand, I could use that time it takes to study the Master's to work full-time and get a lot of hands-on knowledge. I was primarily self-taught before starting on the education, and worked a few years a a PHP web developer. On the education, I've had multiple software engineering courses (three to be precise). Ranging from introduction to SE, more advanced SE and design of software systems, also have plenty of programming courses, but primarily in Java and C#, but I know other languages myself (PHP, Ruby, Python, whatever). I don't think it matters which languages you have worked in. If I work full time in a new language, I'll probably be fluent in it very quickly. I've also have courses like discreet mathematics, operating systems and networks, networks and security, CBSE, algorithms and data structures, AI etc.
What are the differences between the jobs I could get with a B.Eng and M.Eng? <comment><USER2> While there are certainly companies that hire mainly on credentials, over the long run most of the difference between jobs will come down to what you have learned and not learned via an M.Eng or learned and not learned by forgoing it and the relevance of those things or their absence to a particular employer. Both academic and industry experience will open some doors.

In my opinion, the reason to pursue a graduate degree is because a graduate degree is right for you. Whether it is right or wrong for someone else has no bearing that. Sometimes I think trying to guess about employment while a student is mostly a waste of time compared to just working hard and getting good at something enjoyable and interesting. Just get good grades, learn a lot and decide about graduate school when you are close to graduating.

Good luck.

</comment><comment><USER3> > What are the differences between the jobs I could get with a B.Eng and > M.Eng?

Once you've got to the point of getting a face to face interview - none at all, and then on day one of your job, your qualifications (even a PhD) in most reputable software shops become irrelevant to your colleagues.

In the longer term a masters can definitely help if you're involved with visa related processes.

If you obtained some specific domain expertise that is interesting to the employer in your thesis that can help. Then again, you don't necessarily need to do a masters to demonstrate such expertise. Creating and publishing applications, open source project involvement and the rest can be as valuable if not more so.

<comment><AUTHOR> Thanks! I also just noticed that it's actually a M.Sc. in Software Engineering (not M.Eng). Don't know if that makes any difference.

But you make a good point regarding OSS involvement. That is definitely something I will look into as a side project.</comment></comment>


Ask HN: How to explain to customers that we're part-time? - <AUTHOR> My co-founder and I are part-time on a new B2B SaaS side business. We'd like to remain honest and let our buyers know we are part-time but will that hurt our sales/adoption? How do people recommend we deal with this? FYI, full time is not an option as we need our primary jobs for income until side-project can support itself? <comment><USER3> I'm in the same boat, bootstrapping my SaaS and about to launch. Another issue I'm facing, perhaps you too, is that LinkedIn is for me a great resource for making initial sales contacts. Problem: I've had a LinkedIn account for years, and it references all the employers I've had that last 10 years. I'd like to create a second LinkedIn profile for myself and my SaaS, but LinkedIn's usage policy apparently doesn't allow this. Unless asked, I don't want potential customers to know that I have a full-time gig and thus can't devote 100% of my working hours to the SaaS. Any suggestions?

</comment><comment><USER4> What are customer needs likely to be, and how does that align with the part time schedule?

Will the side project support itself? I am asking because they will.

Do the day job people know?

Finally, what is the support expectation?

Assuming the answers to the harder questions are sane, tell them what you can do and exceed that expectation when you can.

Depending on the slow support impact, it may only affect sales a little.

What is that impact? Are there ways it can be marginalized?

What consideration can you put out there to sweeten the deal?

</comment><comment><USER5> It seems to me that a support contract for even one customer might be enough for you to be able to be full time. It also seems to me that you aren't likely to get such a support contract if you tell them that you're part time - <USER2> pays big money for part-time support.</comment>


MySQL 6.0 Nixed? - <AUTHOR> http://dev.mysql.com/downloads/mysql/6.0.html

<comment><USER2> Just talked to the #mysql people. 6.0 is dead, yes, but the plans for it will be put into a 5.x release. 6.0 is just being rethought as the roadmap as a whole is changed. 6.0 as it was is dead, but there will still be a 6.0 eventually.

<comment><USER3> Q. How does the concept with a single trunk maps to the current tree situation? A. 5.5 becomes the trunk. 6.0, 6.1-fk and 6.1-globalization become staging trees. Alpha features are taken out of the trunk into new staging trees. The result reaches maturity state and is released as the first milestone. [http://forge.mysql.com/wiki/Development_Cycle#Appendix_B._Fr...](http://forge.mysql.com/wiki/Development_Cycle#Appendix_B._Frequently_asked_questions)

</comment></comment><comment><USER4> May I recommend <http://www.postgresql.org/>?

:)

<comment><USER5> May I seize the opportunity and ask why MySQL is the prototypical Open Source SQL database software (LAMP, etc.), when PostgreSQL is considered to be so much better?

(This is a serious question.)

<comment><USER6> Mysql has great replication support which everyone who does webapps requires. Postgres has bolted on solutions which all don't work well for different reasons. It's really good at all the things that webapps don't tend to use when they get big though. Postgres is far the better database in terms of correctness and sometimes even in terms of speed, it's just that the web use case doesn't need real databases but replicated (fairly dumb) data stores.

<comment><USER7> _Mysql has great replication support which everyone who does webapps requires_

Not everybody who does web apps needs replication.

</comment></comment></comment></comment><comment><USER8> <http://dev.mysql.com/doc/refman/6.0/en/index.html>

<http://www.markleith.co.uk/?p=245>

<comment><USER9> Removing the manual is low.

</comment></comment><comment><USER10> Start following the development of Drizzle (<https://launchpad.net/drizzle>), it is based on MySQL and some of the core MySQL guys are working on it (for instance, Monty Taylor: <https://launchpad.net/~mordred>).

From what I understand (which may not be much...), long-time MySQL stalwarts would probably move to Drizzle instead of moving to MySQL 6, anyway.

</comment><comment><USER11> The title 'MySQL 6.0 Nixed' sounds so negative; it should probably be something more along the lines of 'MySQL starts cleaning up their act' ;)

I, for one, welcome the promise of more regular releases with open arms.

</comment><comment><USER12> I'll never understand why big companies buy out an open source project when the chances are it'll just stall and loose all credibility. Who gained from that transaction, aside from the team who got their cash windfall and ran.

<comment><USER13> s/loose/lose

Why do so many people make this mistake? It drives me crazy!

<comment><USER14> The word "choose" probably doesn't help much.

</comment></comment></comment><comment><USER15> They switched their version numbering scheme and release process after being acquired (IIRC). What used to be called 6.0 is now 5-point-something.

</comment><comment><USER16> More likely public release plans are something a massive public company does not want to have available.</comment>


Ideas I Have For Pedals - <AUTHOR> http://zedshaw.com/blog/2009-03-05.html

<comment><USER2> I was thinking of programmable pedals recently, Found these: Line 6 DSP dev kit <http://line6.com/tcddk/index.html>. Or open source Open Stomp <http://www.howleraudio.com/index.html>. Has anyone tried these?

</comment><comment><USER3> The branding for music products is embarrassing. But I strongly suspect that is because most of the consumer are in fact in their early teens.

<comment><USER4> Somehow, I don't think that most of the consumers of music products are in their early teens. Electric guitars, amps, and guitar pedals are expensive, and I doubt most teens have that kind of disposable income. I went to high school in a pretty affluent suburb, and even kids playing in bands there rarely had anything but entry-level guitars and a couple of cheap $40 pedals.

From my limited experience (working in a record store, giving guitar lessons, touring with a band), the biggest purchasers of these items seem to be men in their 20s and middle-age married men with kids trying to recapture some of their youth or introduce their children to music they love.

That said, I'd like to see where Zed buys his pedals (guitar center?), because most of pedals that I've seen have pretty tame names, like the popular Korg series of effects pedals, or technical names, like Behringer CL9 or Boss AD3. The only one that I use that come close to what he describes have been ones from Death by Audio, and they're so great that I don't mind the funny names.

</comment></comment><comment><USER5> How about Jesusonic? <http://www.jesusonic.com/> I haven't tried it because my tone goes to crap every time I throw something digital in my signal path.

Build a programmable analog device and I'll come running with an open wallet.

<comment><USER6> Not a pedal, but do you know the TriAxis? [http://www.mesaboogie.com/Product_Info/Rackmount- Preamps/Tri...](http://www.mesaboogie.com/Product_Info/Rackmount- Preamps/TriAxis/triaxis.html)

</comment></comment><comment><USER5> who wants to partner up and build an iPhone app that does this?

[edit] - I was half kidding before, but I looked into it and well, I think it is a great idea. no?

<comment><USER7> It is more complicated, you will need a hardware connection which I think is a different licensing world. Perhaps you can pull it off through the headphone port without extra licensing since both audio in and out are there and a switch.

Beyond that, I think it's a great idea. For anything other than a single function pedal, the user interface becomes a tedious nightmare. With an iPhone you have room and flexibility to make a nice user interface.

Plenty of horsepower in the phone, but you'd probably run the battery down in a few hours at full processing, so you'd have to plan on power.

I would envision the iPhone up on a stand or amp where you can see it and a floor box with the audio interface and a stomp button (in place of the headphone clicker button).

<comment><USER5> I like the idea of a stand-alone stomp box i/o port. This might make an interesting practice amp, too. Much like the Line-6 GuitarPort. I think the idea would be get the software started then license it to a Line6 or M-Audio.

I wonder what the iPhone's mic preamp sounds like.

</comment></comment></comment><comment><USER8> You might also want to think about musicians who use pedals as their instruments (I am one).

<comment><USER9> Pedals exclusively? Interesting! Do you have anything you can point to? Do you mean pedals + vocals like Reggie Watts?

<comment><USER8> I don't want to pimp my own stuff here but search Google, Youtube or Vimeo for pedal feedback loops or pedal noise. It's usually abstract drone or noise so not to a lot of people's tastes. There are a few businesses that have sprung up from making or selling products to these artists though.

</comment></comment></comment><comment><USER10> I want to make a web framework that I can control through pedals!

<comment><USER11> Well, you wouldn't want an analog guitar effect pedal, but it's easy to get MIDI pedals. I don't know what you'd do with the MIDI, but the sky's the limit.</comment></comment>


Cash scarcer for new technology firms - <AUTHOR> http://www.latimes.com/business/la-fi-shakeout7apr07,0,4520856.story

<comment><USER2> These deaths are just anecdotal evidence. Startups were dying 6 months ago too.

I'm not saying funding won't get tighter, but I have yet to see it.</comment>


The Cost of Preemptive Deals - <AUTHOR> https://blog.ycombinator.com/the-cost-of-preemptive-deals/ <comment><USER2> This post doesn't mention what is perhaps the greatest benefit for founders of accepting a preemptive offer from an existing investor: getting a known and trusted person on the board.

At the Series A and later, founders typically have to give up a board seat in financing rounds. This is no bueno, because it means they're giving up control of the company. Board members are hard to get rid of, can often veto big moves, and after a certain point can even fire the founder CEO.

Ensuring only extremely trusted, founder friendly, values aligned people make it on to the board should be a top priority of every startup founder.

By accepting a preemptive offer from an investor the founders have worked with directly for months/years, the founders are limiting the risk of having the wrong people on the board. Founders can, of course, run reference checks with other founders on new investors, to try to gauge how they would act as board members, but there's no stand in for direct experience working with an investor.

Given that the most important things to optimize for during later stage financings are ownership and control, it makes sense that founders might trade some ownership to have more certainty about the control situation.

</comment><comment><USER3> > ...we looked at 120 US Series A rounds...

> ...on average, founders taking preemptive offers are taking ~1.4% more > dilution for less money.

Is this finding statistically significant? It's unclear what the standard deviation in the distribution of dilutions is, but if it's less than ~7.7% or so then this would be less than a 2 sigma result. Granted, given that their prior was that this should have gone the other way, that would increase the statistical significance of the result. I really have no idea what this distribution looks like, though.

<comment><USER4> you are reading this blog post like a research paper, which is wrong. This is not a research paper.

this is the writers trying to influence the market so that future start ups they work with accept terms that are more favorable to YC.

they are using data and statistics because their target market would dismiss the information outhand if they did not.

</comment></comment><comment><USER5> This is helpful. Core takeaway at the end: "That suggests that to get the best of both worlds – to minimize the Work Premium as well as the work of running a full fundraise – founders should use pre-emptive offers to run an accelerated, abbreviated process with a handful of select investors. The way to do this is for founders to make sure they are cultivating relationships with a subset of investors they think would be good partners for their company far in advance of their actual raise."

</comment><comment><USER6> Makes sense - one should always price shop when able to.

As an employee When you get a job offer the very next thing you should do is reach out to those companies you are most interested in / furthest along in the process and ask for acceleration. They won't always be choose to accommodate but I've had it happen / improves the quality of my offers.

</comment><comment><USER7> Sorry for the dumb question, I'm not an expert on startup finance, but what _is_ a " pre emptive offer"?

The article assumes the reader knows( which is fine, but I don't know, hence the question here, thanks in advance )

<comment><USER8> The usual assumption is that founders go talk to investors to try and acquire funding. This article is about the scenario where the investor preemptively approaches the founders offering funding.

<comment><USER7> Thanks a lot!

</comment></comment></comment><comment><USER9> I don't find this surprising at all and I think it's likely often in founders' best interests to still take a preemptive deal. It removes risk (which creates value) and also allows them to remain focused on operating the core business. There are obvious downsides here but I'd guess on average the benefits of that slight extra dilution far outweigh the costs.

<comment><USER6> Remember dilution compounds into future funding rounds. I agree with point of this article intuitively - just take a month or two to run an accelerated process.

It's not just about the money, it's also entering into a partnership. So you shouldn't take the first offer, you should at least shop it to know your options (quant and qual).

<comment><USER10> There's a bias here in that as a founder if I'm disappointed in one of my investors I would decline the pre-emptive offer and actively seek alternatives. In some cases I may even be interested in more dilutive options if it re-structures the companies governance.

</comment></comment></comment><comment><USER11> This finding talks volume about two facts:

1) Competition, even among smart money investors, works 2) The implicit value of, as user sethbannon stated, "getting a known and trusted person on the board"</comment>


Rich Hickey Fanclub - <AUTHOR> https://github.com/tallesl/Rich-Hickey-fanclub <comment><USER2> My favorite talk of his is Simple Made Easy: [http://www.infoq.com/presentations/Simple-Made-Easy-QCon- Lon...](http://www.infoq.com/presentations/Simple-Made-Easy-QCon-London-2012)

<comment><USER3> That and Hammock Driven Development: [https://www.youtube.com/watch?v=f84n5oFoZBc](https://www.youtube.com/watch?v=f84n5oFoZBc)

Both of these talks are in my top 5.

Edit (okay, here are the other 3):

* All the Little Things by Sandi Metz [https://www.youtube.com/watch?v=8bZh5LMaSmE](https://www.youtube.com/watch?v=8bZh5LMaSmE)

* Programming is terrible—Lessons learned from a life wasted. [https://www.youtube.com/watch?v=csyL9EC0S0c](https://www.youtube.com/watch?v=csyL9EC0S0c)

* Some talk I saw by Dan McKinley on making Data-Driven decisions. I can't find the original video, but here's a really similar one: [https://www.youtube.com/watch?v=SZOeV-S-2co](https://www.youtube.com/watch?v=SZOeV-S-2co)

<comment><USER4> Give us the rest, please!

<comment><USER3> Okay! (see above)

</comment></comment></comment></comment><comment><USER5> This is why I am highly suspicious of Clojure and its fans. This is a little too much.

Is there a Martin Odersky fanclub? Or Brendan Eich? Or Rob Pike? (OK, Rob Pike is actually close to having one).

But this looks cult-ish to me.

<comment><USER6> > _Is there a Martin Odersky fanclub? Or Brendan Eich? Or Rob Pike?_

No, Hickey has a fan club. Go is a cult -- and judging from the language design, it's a "back to nature", Amish kind of affair.

<comment><USER7> Completely agree.</comment></comment></comment>


Minuet: A Scalable Distributed Multiversion B-Tree [pdf] - <AUTHOR> http://vldb.org/pvldb/vol5/p884_benjaminsowell_vldb2012.pdf

<comment><USER2> Having only read the abstract: Am I correct assuming this could be used as the core piece of implementing something like Datomic?

I have been thinking a bit about how amazingly useful a generic, distributed B-Tree would be, thanks to it's applicability with immutable data structures.

<comment><USER3> Datomic has a very simple concurrency model that makes a sophisticated distributed B-tree like this unnecessary. Minuet carefully manages concurrent access to the data, through snapshots and keeping track of read/write data access per transaction to manage concurrency according to the desired isolated level. Datomic has scalable read-only views, but a serial write transaction executor, so the distribution aspect is fairly simple.

On Minuet, while I do like the area of work, I think it is a mistake to keep track of read and write sets for concurrency control. The performance is not great when you want to do real-time analytical queries. Check Figure 17, where you can see that the throughput barely increases when adding machines for frequent snapshots.

<comment><USER2> Thanks for clearing that up, makes a lot of sense to me. I too would prefer the single transactor model.</comment></comment></comment>


Tell HN: Anybody else Noticing how Fast Google Indexes Here? - <AUTHOR>

A few times in the last week a HN'er would submit something as a quote where I didn't get the allusion. So I google it -- only to get the same comment coming back from Google as being quoted here, many times only an hour or so old.
A couple of times they were using famous quotes -- but Google ranked the news.yc comment higher than things like Wiki who contained the original plus a bunch of source material.
Wonder how we got so high on the priority list? They must be hitting and updating several times per hour. <comment><USER2> When the American elections were nearing the close I saw a headline on CNN that said that McCain had conceded flash by. I couldn't go to the snippet (it was video which my work computer isn't allowed to look at) so I Googled 'McCain Concedes' the first query got me two results from very obscure news sources outside of the US, I hit search again immediately and got three more hits including CNN and Fox etc. Hit search again and got screeds of results including the major news sources. In less than 30 seconds Google had managed to index a huge number of news articles as they got published. I was very impressed.

</comment><comment><USER3> Perhaps with a lot of people having HN in Google Reader helps them index it a lot quicker (they don't really have to crawl, seeing how they're already fetching the feed fairly often). I notice updates to my personal blog will appear in google very fast (30 minutes).

</comment><comment><USER4> [http://www.google.com/search?q=Tell+HN%3A+Anybody+else+Notic...](http://www.google.com/search?q=Tell+HN%3A+Anybody+else+Noticing+how+Fast+Google+Indexes+Here%3F)

<http://files.markbao.com/hngoogle.png>

Indexed says 52 minutes. At the time of this comment (and screenshot) it says it indexed it 21 minutes ago. Index speed looks like about 30 minutes here, though you can never tell.

</comment><comment><USER5> Google observes how frequently a page updates, and refreshes frequently- updated pages more often than rarely-updated ones. I believe it also ranks new content higher than old content, all else equal, presumably to allow recent coverage of current events to show up even though it won't have many links to it (and thus low pagerank).

</comment><comment><USER6> Google picks up blogs very quickly -- we get the same thing happenning at <http://www.amahi.org>

</comment><comment><USER7> Google likes YC companies.</comment>


Ask HN: The Latest in (small business) Web Design - <AUTHOR>

I been asked to advise a client on revamping their website. The client is a backend software shop with no usability expertise and no time to write a copy (my job). I have a pretty good handle on what they need. But would appreciate some visuals/links to the ever-changing small business websites samples. <comment><USER2> Read this recently on Mashable, had some good tips: <http://mashable.com/2010/09/09/vogue-redesign/></comment>


ElasticDump – Import and export tools for ElasticSearch - <AUTHOR> https://github.com/taskrabbit/elasticsearch-dump <comment><USER2> I haven't used this yet, but it seems like it should make updating mappings much easier. See the "using aliases for greater flexibility" section in this article: [http://www.elasticsearch.org/blog/changing-mapping-with- zero...](http://www.elasticsearch.org/blog/changing-mapping-with-zero- downtime/)

I had to write the scripts to implement this concept myself and it wasn't a quick and easy task. It would had gone along a lot easier if I was able to abstract away some of those queries with a tool like this.

<comment><AUTHOR> We use index mappings at TaskRabbit, and it does make things a lot easier. It helps with 0-downtime mapping changes (as you point out), and it also lets us combine large indexes. We segment large data collections by time (ie: events_year_month) which we roll up in an alias. This allows us to delete/add large collections without downtime as well.

What's cool about the elsasticsearch api (and therefore the elasticdump tool) is that with aliases, you can read/write to and from an index just like you can an alias.

</comment></comment><comment><USER3> This is a neat tool for moving data around, but for serious stuff I'm not sure why you would use this over the official snapshot / restore API ([http://www.elasticsearch.org/guide/en/elasticsearch/referenc...](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules- snapshots.html)).

While the API there is a bit more cumbersome, it's one less dependency, and should be more efficient.

For the specific use case of backups, the official API is even less cumbersome, esp. if you're using the cloud plugin and the S3 export option.

<comment><USER4> snapshot/restore doesn't allow applying new mappings.

Also I use our similar custom tool* for dev purposes where you might want to kill the copy after a while and just work with a subset of the data... or explicitly apply a filter to copy a subset of data.

* [https://github.com/lytics/escp](https://github.com/lytics/escp)

<comment><USER5> on top of that you can apply transformations to the data if you use scroll and bulk, but not with dump/restore. On the flip side, dump/restore allows incremental transfer which is a bit of work to do if you're implementing your own copy script.

</comment></comment></comment><comment><USER6> It really needs some cleanup and some extractions for public use, but we have a set of rake tasks to do all that and a bit more (e.g. reindexing into a new index and flipping the associated alias)

[https://github.com/asquera/elasticsearch-rake- tasks](https://github.com/asquera/elasticsearch-rake-tasks)

</comment><comment><USER4> While we don't have a spiffy logo, we made a tool for copying indexes around for testing/dev:

[https://github.com/lytics/escp](https://github.com/lytics/escp)

</comment><comment><USER7> So whats the difference from this and the embedded backup restore tools on ES 1.0.1?

<comment><USER8> snapshot/restore doesn't allow applying new mappings.

</comment></comment><comment><USER9> Replicating this could be a good way for me to exercise the (okay) index and (very poor at the moment) mapping support in [https://github.com/bitemyapp/bloodhound](https://github.com/bitemyapp/bloodhound)</comment>


BBC - Music - Developers - <AUTHOR> http://www.bbc.co.uk/music/developers <comment><USER2> /music and /programmes are implemented in Pinwheel, a Perl MVC framework strongly inspired by Rails. More details are available here: [http://www.bbc.co.uk/blogs/radiolabs/2007/11/perl_on_rails.s...](http://www.bbc.co.uk/blogs/radiolabs/2007/11/perl_on_rails.shtml)

</comment><comment><USER3> See also: <http://www.bbc.co.uk/programmes>

</comment><comment><USER4> This is an argument for the license fee in itself.

</comment><comment><USER5> Looks nice. Wonder what platform they're using...

<comment><USER6> Pretty sure BBC A+MI is a Rails shop (most of the rest of the BBC, including iPlayer, is Perl).

<comment><USER5> I thought it was in Rails judging by the url schema (the .format notation, and yaml), but the headers and cookies differ from the usual Rails ones...

</comment></comment></comment><comment><USER7> The BBC has had excellent policies on web development for a long time, it's only recently they started following them.</comment>


Economics of Software - <AUTHOR> http://blogs.sun.com/bmc/date/20040828 <comment><USER2> Great article on open source, the peculiarities of software economics, etc.

"To put this in retail terms, open source software has all of the properties of a loss-leader -- minus the loss, of course."

"either the demand-side will ultimately force sufficient improvements to the existing open source databases, or the supply-side will force the open sourcing of one of the viable competitors."

</comment><comment><USER3> One thing he didn't mention is how the Internet has affected the economics of software.

Internet drastically reduces the distribution costs creating close substitutes widely available for free.

This makes the other economics of software kind of irrelevant. Just ask Microsoft.</comment>


1,250-mile road linking Europe to China given green light - <AUTHOR> https://www.cnn.com/travel/article/road-europe-russia-intl-scli/index.html <comment><USER2> Hey, I thought they shut down the silk road!

[laugh track]</comment>


Encryption software creator becomes crime lord - <AUTHOR> http://www.theaustralian.com.au/news/nation/us-finally-catches-up-with-australias-new-mr-big-paul-calder-le-roux/news-story/2531611c7f95554bd30e24750f2e0d1f <comment><USER2> Subscriber only article</comment>


JRuby Core Team Members Moving to Red Hat - <AUTHOR> http://www.rubyinside.com/jruby-redhat-5856.html

<comment><AUTHOR> Update: Engine Yard has posted about it from their perspective at [http://www.engineyard.com/blog/2012/engine-yard-is- teaming-w...](http://www.engineyard.com/blog/2012/engine-yard-is-teaming-with- red-hat-on-jruby-2/)

Oh, and JBoss director Mark Little: [https://community.jboss.org/blogs/mark.little/2012/05/22/jru...](https://community.jboss.org/blogs/mark.little/2012/05/22/jruby- comes-to-red-hat-jboss)

<comment><USER2> I think that's called damage control.

</comment></comment><comment><USER3> I wonder how it will tie in with Torquebox. I understand torquebox from red hat's point of view, it's a natural extension of JBoss. I guess it's part of Redhat's work on extending the JVM support for JBoss to be a more powerful application server.

</comment><comment><USER4> Glad to hear it. I think jruby's going to have a much larger role to play in ruby's future going forward. From a strategic standpoint I'd say that RedHat seems like more of a fit than engineyard at this point.</comment>


U.S. Senator Questions Attorney General about Aaron Swartz - <AUTHOR> http://www.cornyn.senate.gov/public/index.cfm?p=InNews&ContentRecord_id=b026c108-ff4c-4ff9-a771-7307c72e14c5&ContentType_id=b94acc28-404a-4fc6-b143-a9e15bf92da4&f6c645c7-9e4a-4947-8464-a94cacb4ca65&Group_id=bf378025-1557-49c1-8f08-c5df1c4313a4 <comment><USER2> This is the same hyperpartisan Senator who was at the forefront of the effort to deny habeas rights to Guantanamo inmates; he was also involved in the Bush wiretapping scandal.

Expect to see lots of superficial genuflection from Republicans towards the Swartz case; the GOP is in a constant low-grade conflict with the Democratic DoJ.

Here, let me put it this way: what do you honestly think Aaron Swartz would think about this clown using his name to score political points?

<comment><USER3> Cornyn has for many years been a leader on open access to science. Together with Joe Lieberman he introduced the Federal Research Public Access Act (FRPAA) into Congress in 2006. This Act would, if passed, make almost all scientific publications funded by the US Govt openly accessible within 6 months of publication:

[http://en.wikipedia.org/wiki/Federal_Research_Public_Access_...](http://en.wikipedia.org/wiki/Federal_Research_Public_Access_Act)

The act has not yet passed. It was re-proposed in 2010 and 2012, each time with increased support from a bi-partisan group of sponsors, in both Houses. Cornyn is still a sponsor.

My understanding is that Cornyn was instrumental in the passage of the 2008 NIH public access policy, which makes NIH-funded research available within 6 months of publication:

<http://publicaccess.nih.gov/>

This is by far the largest victory for open access to date. It would, however, be eclipsed by FRPAA, should it pass.

Given all this, I believe it is natural that Cornyn has an interest in the case, and questions.

<comment><USER2> John Cornyn and science get along great, as long as the science doesn't involve stem cell research (which he has casted Senate votes to ban) or climate change.

<comment><USER4> A discussion, let alone a democracy, cannot function if one requires everyone to agree with them on every sub-point of every item related to the topic of question.

<comment><USER2> I agree completely. I'm not suggesting that people can't applaud overtures towards open science or open access or an accountable DOJ. I'd just hope to maybe shape and direct the applause, so we're clear what its real target is.

I like Richard Posner, for instance, but I'm disquieted by how quickly the Reddit/HN crowd decided to lionize him once he came to a conclusion they liked regarding patents. Posner for SCOTUS! from people who understand the abstract from _one case_ he worked on. Sheesh!

</comment></comment></comment></comment></comment><comment><USER5> Regardless of eventual outcome, I think it's probably safe to say that Ortiz's post-Justice department political career is probably done.

I don't see how she could win a democratic primary in Massachusetts anymore-- too many other ambitious Dems who'd have field day with this, and Republican opposition will keep her from being appointed to anything requiring confirmation.

It's a lot less than she deserves, but there's some gratification in the thought that the over-aggressive prosecution which was most likely designed to advance her political career will prevent it.

<comment><USER6> I wouldn't be so sure of that. Try reading the comments on any Boston globe article about this affair. Ortiz has strong support from law-and-order voters and many people in Massachusetts outside of tech; in addition to Swartz, she's been very aggressive in her prosecution of corruption and misconduct in the state government. She has a compelling back story and (at least before this) was blessed by Deval Patrick.

I think she could definitely replace Martha Coakley as state Attorney General, at minimum (Coakley also did many odious things as a prosecutor and has never, to my knowledge, paid a political price for it). And a decade from now, long after Aaron has disappeared from the press cycle, she'll make a run for Senate or Governor and his prosecution will likely be nothing more than a subsection of her Wikipedia bio. These are the sad realities of politics in Massachusetts.

<comment><USER7> "These are the sad realities of politics in Massachusetts."

This is the sad reality of America. But the trouble is us (the people). The average American has the attention span of a gnat.

<comment><USER8> "This is the sad reality of America" This is the sad reality of a democratic system. People have short memories.

</comment></comment></comment></comment><comment><USER9> "Finally, the U.S. Attorney has blamed the "severe punishments authorized by Congress" for the apparent harshness of the charges Mr. Swartz faced. Does the Department of Justice give U.S. Attorneys discretion to charge defendants (or not charge them) with crimes consistent with their view of the gravity of the wrongdoing in a specific case?"

Interesting game of "hot potato" going on. Nonetheless, I applaud Sen. Cornyn for asking these questions.

</comment><comment><USER10> I don't care if this is blatant pandering or not; At least he's asking some of the tough questions. It's good to see someone other than Lessig saying "I'm not sure this was appropriate"

</comment><comment><USER11> The good news is that some good questions have been asked, and the reply will be available for scrutiny.

I'm not sure Cornyn was the best member of Congress to write this sort of letter. Yes, he is on the Committee of the Judiciary, but his political leanings might result in posturing that obfuscates the issues we care about. That being said, I'm glad someone asked.

<comment><USER12> Perhaps, but this letter was focused and, on the whole, loaded with serious and important questions. It looks like his political posturing on this one is going to be aligned with our politics.

<comment><USER13> Just keep telling yourself that politics is a branch of biology, not of physics. It's messy, unclear, somewhat random and does not operate by simply observable rational rules.

</comment></comment></comment><comment><AUTHOR> It's worth noting that Cornyn, though not an official PIPA co-sponsor, wasn't someone who was much against it either (until after the blackout) <http://projects.propublica.org/sopa/C001056>

<comment><USER14> This seems like a good thing, no? A Senator listening to his constituents.

<comment><USER2> His constituents also wanted him to try to ban the NYC "ground zero mosque". He was happy to oblige.

</comment></comment></comment><comment><USER15> I'm sure this senator is doing this for political points (+10 points for Gryffindor), but we can still be glad for the pressure applied to the DOJ.

<comment><USER16> Politics helped get us into this mess, we're going to need it to get out.

</comment></comment><comment><USER17> Puppets, strings, now it's calling for it's right of FOIA ? Can't they just recognize they should not have the right to mess with individuals, specially if no harm is done.

These prosecutors jobs is a dream job for psycopaths, jack the ripper would exceed in a job like this.

We need the hacker news party.

</comment><comment><USER18> I would like them to question her why after 2 yrs of holding this over Aaron's head, depleting his finances, that they didn't think a plea deal for a misdemeanor instead of felony counts would be sufficient deterrent? When I read below Fri. Jan18th, I was incensed even more at how they treated Aaron:

"Last Friday, on the same day that Swartz hanged himself in his Brooklyn, N.Y., apartment, prosecutors from Ortiz's office stood in a Boston courtroom and allowed a former state representative named Stephen "Stat" Smith to plead guilty to a misdemeanor for rigging absentee ballots in three elections. Swartz's lawyers asked for the same consideration, that Swartz be allowed to plead guilty to a misdemeanor. Prosecutors refused.

So, given that Ortiz will not explain herself, we'll just have to presume she believes that illegally manipulating the outcome of elections, which are the essence of our democracy, is less serious an offense than downloading an online archive of obscure academic articles." (Excerpt fm article by Kevin Cullen, Boston Globe). [http://bostonglobe.com/metro/2013/01/18/taking- heat/L1rfSF47...](http://bostonglobe.com/metro/2013/01/18/taking- heat/L1rfSF472wEPsGX5PWfu5I/story.html)

</comment><comment><USER19> Cornyn has been gunning for Holder for a little while, asking for his resignation earlier last year.

<http://www.google.com/search?q=cornyn+holder>

Edit: spelling

</comment><comment><USER20> IF Only, this was done earlier. Any system which requires a health check when the water rises above your head is a bad system.

</comment><comment><USER21> Decent letter, I'm glad someone from the Senate stepped up. I would add this :

Seventh, really? 35 years for a kid who learned his lesson and didn't do something horrible in the first place? Some decency and common sense people.

</comment><comment><USER22> There is nothing new about this behavior, Len Rose went through much the same 20 years ago. Maybe we are finally getting a clue that the system is, in fact, broken.

</comment><comment><USER23> Regardless of where you stand on Cornyn's politics, it's important that someone with authority is trying to find answers to this situation in a public forum.

</comment><comment><USER24> Holder will reply that the prosecution had nothing whatsoever to do with the FOIA.

</comment><comment><USER25> These school baby killers should watch and listen more to politics; maybe they'd find a better target for their suicidal idiosyncrasies.

</comment><comment><USER26> I couldn't read beyond: "The Honorable Eric Holder". Seriously now? This should sound like an insult even to Eric himself.

[http://www.westernjournalism.com/polls-and- petitions/impeach...](http://www.westernjournalism.com/polls-and- petitions/impeach-holder/)

[http://www.policymic.com/articles/9602/eric-holder-should- re...](http://www.policymic.com/articles/9602/eric-holder-should-resign-or- else-congress-should-impeach-him)

<http://www.metnews.com/articles/2012/snip081712.htm>

<comment><USER16> It's a salutation based on his position, not an award.</comment></comment>


GameStop Opening Boxed Copies of Deus Ex, Removing Free Game Coupons - <AUTHOR> http://www.anandtech.com/show/4679/gamestop-opening-boxed-copies-of-deus-ex-removing-free-game-coupons

<comment><USER2> A similar story was already posted here: <http://news.ycombinator.com/item?id=2921543> (176 points 21 hours ago, 62 comments), linking to this ArsTechnica article: [http://arstechnica.com/gaming/news/2011/08/report- gamestop-o...](http://arstechnica.com/gaming/news/2011/08/report-gamestop- opening-deus-ex-copies-removing-free-game-code.ars)

This post adds new, interesting information about GameStop's motivation (the Facebook post), but the former also has a lot of good commentary.</comment>


Ask HN: advice on rails - <AUTHOR>

Hi Hackers,
I am a complete rails newbie, and I am working on exposing a RESTful API via rails.   I had the following questions:
1. What stacks do you folks use (RedHat -based platforms), and why did you choose the stack you use?
2. What would be a simple book for a Rails beginner? I need to get the API up and running quickly, and I prefer hacking to reading (i.e., I don't have the luxury of doing a lot of reading).
Thanks! <comment><USER2> Simple guide for getting started...<http://guides.rubyonrails.org/getting_started.html>

This will lead you to many other great on line guides.

In general, I am running MRI Ruby 1.8.7, Rails 2.3.5, MySQL 5.1

<comment><USER3> +1 for the Rails guides reference, they're quickly becoming the de-facto rails reference and are being maintained well.

re: Stack for production environments, these days almost everyone uses passenger+apache/nginx which uses ruby enterprise

<comment><AUTHOR> Thanks for the help guys.

I also had another question: have you used the peepcode screencasts to learn about passenger + rails stuff? If so, how would you rate the screencasts? I used their git screencasts in the past, and they were terrific; just wanted to know how their rails stuff compares...

<comment><USER3> peepcode and railscasts are both great!</comment></comment></comment></comment>


Go engine with no human-provided knowledge, modeled after the AlphaGo Zero paper - <AUTHOR> https://github.com/gcp/leela-zero <comment><USER2> This is really neat!

Crazy to think that even with a GTX 1080 Ti:

> Recomputing the AlphaGo Zero weights will take about 1700 years on commodity > hardware, see for example: [http://computer-go.org/pipermail/computer- > go/2017-October/01...](http://computer-go.org/pipermail/computer- > go/2017-October/010307.html)

Sidenote: At first glance, I looked at the code and thought, 'This is all C++... not Go?' _smh_

<comment><USER3> What this tells me is that the near future of AI is going to be solely the domain of megacorporations who can drop >$25M USD on hardware (figure from the linked thread). That's pretty disappointing.</comment></comment>


Ask HN: Is there a payment processor for 5ct payments? - <AUTHOR> I think we need a platform where you would load 10$ on your account with a payment method of your choice, and then have the ability to pay tiny amounts of money with virtually no fees.
You could set it to give 5ct to the creator of every YouTube video you watch. Pay 20ct for that game micro transaction. Pay 5ct to send a private message to an unknown person in a social network.. Fraud prevention would be done upstream by the providers letting you load your account.
I'm aware there's a critical mass challenge, but except for that, why doesn't this already exist? You could put a tiny paywall on things, that'd be so low that free users might consider paying for it <comment><USER2> This has been discussed _many_ times over many years, and was actually one of the original use cases presented by proponents of cryptocurrency. The short answer is that processing fees in fiat currencies make this infeasible, even on software platforms (ex. PayPal generally charges a 30 cent minimum), so you're going to be stuck with a virtual currency that is easily abused/walled off from the real world.

</comment><comment> BA4gDY-cqjsEPWn I considered doing something like this in the past with crypto and arrived to the conclusion that to do it right I would need critical mass and my very own exchange. Before critical mass, the fees would still have to be higher if you want to make the system self-sustainable. If you don't mind investing your own money upfront then you could start with the low fees hoping that critical mass will be reached before you run out of the money subsidizing the operation.

Definitely sounds like something that VC money could be used for given how ride-share companies low prices are just subsidies from VC money with the hopes that they'll reach profitability in the future with a dominant market share.

</comment><comment><AUTHOR> Thank you for your answer. So if we were to put some restriction on the virtual currency, it would be worthless, and if we didn't it would be used to do money laundering from stolen credit cards?

</comment><comment> kiran-rao Venmo?</comment>


Ask HN: Realistic to get an entry-level C++ job without professional experience? - <AUTHOR> Hello everyone,
I've been in the tech industry for 10 years now, working in a consultative role for a tech Fortune 100. I've always had an interest in programming and growing up I occasionally created scripts for gaming projects using the Allegro Library in C. While I've so far have had a successful career, I've found myself intellectually unchallenged in my job and unwilling to keep trying to convince myself that I was passionate/interested in my work. So, I decided I would try to pursue programming professionally and as a back-up, I could always go back to a similar role if for any reason it didn't work as planned.
I enrolled in a web development boot camp since I figured that would help me become a stronger candidate (I didn't complete my bachelors), but after completing the course, I couldn't help but find myself far more interested in the case uses of C/C++, such as game production, audio programming, computer graphics, desktop software, etc. more than back-end and front-end web development. The problem I see with that is - there are barely any Junior/entry-level C++ roles. The few that I see require 2+ years of experience AND a degree from a top CS program. I'm considering enrolling in a C++ course at one of the largest university in my city, but I figured I would ask for some advice/feedback from HN first.
Is it unrealistic for someone without a CS degree to get an entry-level C++ developer job without prior professional experience? Would it be best that I get experience as a front/back-end developer first? I'm aware that a language is just a tool, it just so happens that the programming fields that uses C++ are much more interesting to me.
Thank you!
(side note: I live in one of the largest cities in the US, but I have also been keeping an eye out at other tech hubs. I wouldn't mind relocating if it'll help me get my first job.) <comment><USER2> > Is it unrealistic for someone without a CS degree to get an entry-level C++ > developer job without prior professional experience?

If you have no degree, and can not otherwise demonstrate competency in C++ in particular (github projects, etc? C experience could do too), then I think yes. C++ requires stronger programming skills than most other languages.

<comment><USER3> Are you the creator of C++?

</comment></comment><comment><USER4> I'm in a similar spot at you. I have no CS degree but I was fairly active in creating game projects with C++ many years ago. Although I used SDL instead of Allegro :)

I taught myself C++ when I was still in college for a digital media degree. As time went on, I was learning how to use various IDEs and build processes, and became active for a while on GameDev.net. I even made homebrew that natively runs on PSP hardware, using an unofficial community-built toolchain. But there was no Github to post my code to, and I didn't consider showing my game projects to the companies I interviewed at as a beginner, because I was not applying to game companies.

I eventually picked up web development jobs after graduation, but still doing some C++ hobby work up until around 2011. My most complex C++ project was a graphics framework built on the DirectX 9 API.

I would consider a C or C++ programming role for the right company, but you're correct in that it's hard to get your foot into with your kind of credentials. That is, unless you know someone who works at a company that is using it. A lot of it is gatekeeping, honestly, but there is a real need to understand how to write high-performance code with it.

Unfortunately most of my C++ dev work was lost in a hard drive crash. But I don't know if project age is a factor too. As in, would most companies even put stock in my ability to program in a language that I last used 7 years ago?

<comment><AUTHOR> Hey, thanks for sharing your background. It does sound like we're in a similar situation and although you're still looking for an opportunity to switch over to C++ development, it is still motivating to hear someone else is striving for a similar goal. The projects you've worked on in C++ sound interesting and I think if you were capable of creating them when you were younger and had less professional programming experience under your belt, there isn't any reason you can't create some amazing projects now if you set your mind to it. I would assume employers would want recent C++ examples/projects, but if you can retrieve some of your old work, it wouldn't hurt to add them on GitHub for someone to look over. Hopefully we can both get some good advice on this thread. :)

</comment></comment><comment><USER5> My degree isn't in CS and I did this (at the time I didn't even have that non- CS degree).

Leave the bootcamp off your resume, consider working for free (academia in STEM fields tends to have volunteer C++ opportunities for undergrads), consider gateway positions where you'll get to do some code. (For example, you can usually get to write firmware even if hired as an electrical engineer, if the hardware design responsibilities leave you the time, and most C++ shops have QA positions where they'll let you write automated google tests). Consider a .NET or Java position (there you can apply with your bootcamp cred) for an app that also has some C++ components; apps dealing with audio/video or performance bits are good for this.

Fewer companies use C++, so expect the search to take time.

Don't be afraid of smaller companies or newer companies, they tend to have hiring processes that do not emphasize degrees as much. Ask everyone you know on linkedin if they know of a company that uses C++; you could have a surprise and referrals will help if you have no degree.

</comment><comment><USER6> Show, don't tell: a well-crafted portfolio aimed at the industry that suits you the most will help you get your foot in the door... as for the doors to be knocked on, corporate websites and LinkedIn are your best friends. Good luck!

<comment><AUTHOR> Thank you, I'll keep this in mind when I'm actively applying for positions regardless of the path I take.

</comment></comment><comment><USER7> I was in a similar situation, and now I have my first C++ job. I think that learning a few frameworks and libraries (Qt, Boost, ...) helped as well.

Definitely not unrealistic, just slightly harder.

What industry (finance, gaming, etc) are you looking to join by the way?

</comment><comment><USER8> Have you considered reaching out to your contacts in your current network to ask about positions? Maybe one of the customers you consulted with?</comment>


An Interview with Kevin Novak, Data Scientist at Uber - <AUTHOR> http://chartio.com/blog/2013/10/kevin-novak-interview

<comment><USER2> Creepy: "at Uber, we've got every GPS point for every trip ever taken at Uber, going back to the Trip #1"

<comment><USER3> That's not creepy, that's useful.

Most retailers have the address of the source and destination of every case they've shipped going back many years. Most bus companies have the starting and ending points for every trip that most riders have taken.

<comment><USER4> No, it's creepy. I can't think of any benefit to the passenger.

<comment><USER5> I wouldn't call it creepy, but for those that value their privacy, I would call it concerning. In the 'post-Snowden' era, it's not far fetched to imagine that the NSA et all would or could get their hands on the data.

Then again, if your privacy is so essential, you should probably already be wary of using any mobile device/web service to hail a taxi.

<comment><USER6> If you don't want people to know where you're going, why are you taking a cab? How would you prevent the taxi driver from knowing where to send you?

</comment></comment></comment></comment></comment><comment><USER7> Kevin's great. I got to know him after he came to present at HackerDojo and did a heck of a job -- extremely helpful guy!

</comment><comment><USER8> I wish he actually discussed his work as a data scientist, not just the field in general

<comment><AUTHOR> That's a great point and great feedback. I'll adjust the questions in the next interview I do.</comment></comment>


Wreq: a Haskell web client library - <AUTHOR> http://www.serpentine.com/wreq/

<comment><USER2> Nice. I've finally jumped onto the lens bandwagon myself, out of necessity.</comment>