hacker news with inline top comments    .. more ..    29 Nov 2016 News
home   ask   best   3 years ago   
Writing C software without the standard library ddns.net
99 points by andreaorru  1 hour ago   18 comments top 7
vxNsr 55 minutes ago 1 reply      
He claims that your code will be easy to port but then goes straight to Linux system calls.

Still I like the idea. This is something that should be covered in a CS 102 type course. I know way to many cs guys who have no idea how to debug, let alone how their is being implemented.

nwmcsween 40 minutes ago 0 replies      
The comment section where gcc puts in ident info can be omitted with -fno-ident and syscall(2) is usually a very thin wrapper[0]. If you follow the musl syscall(2) it simply maps errors to errno[1] and uses the fancy count-args-in-macro[2] to call off the respective $arch/syscall_arch.h[3] syscall$n numbered functions.

[0] https://git.musl-libc.org/cgit/musl/tree/src/misc/syscall.c

[1] https://git.musl-libc.org/cgit/musl/tree/src/internal/syscal...

[2] https://git.musl-libc.org/cgit/musl/tree/src/internal/syscal...

[3] https://git.musl-libc.org/cgit/musl/tree/arch/x86_64/syscall...

dvfjsdhgfv 26 minutes ago 1 reply      
The guy is definitely a fan of old-school minimalism:http://weeb.ddns.net/0/articles/modern_software_is_at_its_wo...I have to say I miss the old days of Gopher, too. It was so much easier to focus on the content back then.
gibsjose 53 minutes ago 1 reply      
While this seems mainly useful as an academic exercise, the `printf "#include <unistd.h>" | gcc -E - | grep size_t` bit to easily grep in header files was worth the read.
capnfantasic 1 hour ago 3 replies      
Fantastic until you need to malloc. You're reimplementing libc, but at least you know what's going on at every level.
flukus 56 minutes ago 2 replies      
> Executables are incredibly small (the http mirror server for my gopherspace is powered by a 10kb executable).

Is this ever an real issue, even on any embedded system in the last 20 years?

partycoder 44 minutes ago 1 reply      
This is required if you do systems programming (e.g: kernel development).
Pwning coworkers thanks to LaTeX scumjr.github.io
44 points by zdw  1 hour ago   1 comment top
chj 5 minutes ago 0 replies      
shell-escape really should be turned off by default.
Inside tiny tubes, water turns solid when it should be boiling MIT News mit.edu
31 points by dkarapetyan  1 hour ago   3 comments top 2
barisser 14 minutes ago 0 replies      
1nm carbon nanotubes... I doubt these can be produced at macroscopic scale.

Moreover the difference between 1.05 and 1.06 nm drastically affected freezing point. I don't think these can be built, en masse, to such precision.

saganus 27 minutes ago 1 reply      
This gives us very stable water wires, at room temperature, he says.

Even the name is cool: "water wires".

So beyond fiber optics we could have water wires? This should help photonics researches make a (faster) computer with light, right?

Diamond-age of power generation as nuclear batteries developed bristol.ac.uk
191 points by triplesec  5 hours ago   88 comments top 19
ChuckMcM 3 hours ago 4 replies      
It would be more credible if the Cabot Institute linked the paper on their "All Research Papers" page (http://research-information.bristol.ac.uk/en/organisations/c...) or if they described how they are getting electricity out of beta decay (is it simple a thermo-electric generator? How much heat differential can they push? Or is it just bodging together chunks of radioactive material in a casement that has reasonable head conductivity and absorbs 99% of radiation.

My favorite "invention" of that form is the water heater "booster" ball. Basically you take a kilogram of spent fuel rod, encase it in a austenitic stainless steel ball, and suspend that bad boy in the center of your water heater holding tank. Hot water for the next 500 years without using gas or electricity :-).

hashin 2 hours ago 1 reply      
I can see that they are emphasizing on the #DiamondBattery hashtag so that general public will be hooked and share it more, but why haven't they given any hints (mildly technical) to the capabilities of the battery?

// A team of physicists and chemists from the University of Bristol have grown a man-made diamond that, when placed in a radioactive field, is able to generate a small electrical current.//

When I read the "small electrical current", the physicist in me was naturally assuming a very small current of the order of pico to nano amperes (without being conservative) - essentially useless. Metrics like the half life of the battery doesn't make any sense at all if the power or current rating is not specified. Current rating is something you could trust, that it will end up as a viable product.

This would appeal more if they can give a direct link to their research paper.

roel_v 4 hours ago 2 replies      
This will sound like neckbeard cynicism, but I actually mean this and in a positive way:

"There are so many possible uses that were asking the public to come up with suggestions of how they would utilise this technology by using #diamondbattery.

It's cool how they're engaging the public in their research in this way. Of course it's a transparent ploy to get social media mentions, but scientists of all sorts (and I kind of am one myself) would do themselves a favor by doing more to get the general public to know about their/our work. This particular thing 'feels' sort of slimy (to me at least, but I suspect to others on this site as well), but I think that's a bad reflex on my part, and that easy, low-friction things like giving people an opening to send a quick tweet or FB post reaches a different audience than having a stand at the 'open science fair' or having a lecture open to the general public; those tend to self-select in the audience they attract, to put it mildly.

zellyn 4 hours ago 1 reply      
Sounds cool. One annoying bit of breathless (and brainless) enthusiasm stuck out though: "In fact, diamond is the hardest substance known to man, there is literally nothing we could use that could offer more protection."

While diamonds are extremely hard, they are brittle, and shatter relatively easily.

wolfgang42 4 hours ago 3 replies      
From #diamondbattery tweets: https://twitter.com/search?q=%23diamondbattery

Could be used in underground seismic monitors https://twitter.com/Keminoes/status/803297734694465541

Car keys that require batteries. If we don't have a spare battery with us and our keys die, we're stranded. MP3 players, too https://twitter.com/tysongeisler/status/803438384052129796

To power a low-power-mode Arduino for gas detection (CO, CO2, Low O2, etc), fire detection, radiation detection, etc. https://twitter.com/noalear/status/803389146433626112

Could diamond batteries be used to power medical nanobots? https://twitter.com/weirbe/status/803418222972125184

Power clothes that contain sensors, as well as clothes that electrically regulate the temperature. https://twitter.com/CIMCloudOne/status/803440800759574528

how about in cell phones to give a little charge to the battery while the phone is not in use. https://twitter.com/W_Haas/status/803352403512872961

Is there the potential to power watches as a fair amount of waste is generated from depleted watch batteries each year. https://twitter.com/Merrett72/status/803297788163289088

tunesmith 4 hours ago 2 replies      
Haha this sounds straight out of Asimov's Foundation novels where a civilization was driven to innovate miniaturized nuclear power.
marrone12 5 hours ago 1 reply      
If civilization ever falls, future generations would think using crystals for energy must have been a fairy tale.
irq 5 hours ago 1 reply      
Does anyone have details? Like what is the nominal voltage, power density, etc?
kodfodrasz 1 hour ago 0 replies      
Even if this is true I think this is such a public safety hazard, that the authorities will never allow its public adoption.

Just think in terms of domestic terrorism and dirty bombs. Exploding a few such batteries would release radioactive powder, which is a quite dangerous if inhaled, and cleaning it up is very difficult.

kilroy123 4 hours ago 1 reply      
I'm not sure if this will lead to a new revolutionary battery.

But I'll say this, the man/woman who creates a company that builds a new revolutionary battery that will keep your laptop humming for a week; will be very rich. Probably the next richest person on earth.

outworlder 3 hours ago 1 reply      
> A team of physicists and chemists from the University of Bristol have grown a man-made diamond that, when placed in a radioactive field, is able to generate a small electrical current.

So, they are replacing the thermocouples as used in RTGs with this diamond-like stuff? And low radioactivity sources (as opposed to plutonium)? That would indeed be revolutionary if it worked.

downandout 4 hours ago 4 replies      
IMO the headline here isn't the minimally powered batteries, it's that this is a potential solution to the (very) secure storage of nuclear waste. In the US, for example, the proposal to store essentially all of our nuclear waste at one site (Yucca Mountain in Nevada) is a truly terrible idea that would create the world's most coveted terrorist target. Encapsulating the waste in small diamond shells that could be distributed among several sites seems like an ideal solution if they can get it to work at scale.
iseanstevens 2 hours ago 0 replies      
The part where they list "airplanes" as something it could potentially power was where it became silly... that's gonna be a lot of spent fuel rod mass.
codebook 45 minutes ago 0 replies      
How much is it? same as diamond?
sandworm101 4 hours ago 2 replies      
This is no diamond-age. These devices are all well and good, but think of the scales involved. To generate enough power to do something like power a home, let alone a vehicle, we are going to need kilos of this stuff. Kilos of diamond. It's also going to get rather hot. That is the point.

Using numbers from patch_collector:1 x 50watt lightbulb / 0.0013 Watts/gram = 38Kg = 83lbs of diamond per bulb.

Diamonds are far from indestructible. They shatter. More importantly, they burn. We don't see it very often but put enough of them together, add heat and electricity, and you better hope there isn't any oxygen nearby. Imagine a couple pounds of these things, on fire, pumping out radioactive carbon dioxide. At least when uranium burns it produces something heavy that can be filtered. Filtering radioactive CO2 would be a nightmare. These things will never find there way into any consumer product.

brandmeyer 1 hour ago 0 replies      
10:1 odds that this is just a use of the photoelectric effect with a clever dielectric. Based on the press-release description, it is probably not a radiothermal generator (like that used in deep space probes).

1) Have an ionizing radiation source.

2) Get a robust dielectric, with metal plates on both sides of it. Call the plate near the radiation source the cathode and the far one the anode.

3) As the ionizing radiation impacts one side of the cell, the released electron travels only a short distance through the cell. Ideally, the first interaction is with a cathode and the far side an anode, imparting a negative potential to it.

4) A potential difference now exists between the far-side anode and the near-side cathode, from which you can draw current.

Strictly speaking, this is a more like a capacitor which is trickle-charged by the radiation field rather than a battery. There is a design tradeoff between thickness of the metal and dielectric layers in that the initial and final ionizing interaction must be of a (cathode/dielectric -> anode) or (cathode -> dielectric/anode) to get any energy out of it. Ideally, the dielectric has an extremely small cross-section for interaction with whatever the ionizing radiation source is, while the metal plates interact very strongly. However, there will always be some losses due to internal ionization of the dielectric itself. I'm not sure how you would build an effective multi-layer structure, either.

Is this preferable to an RTG? Almost certainly not. The vast majority of the radiation energy in an ionizing photoelectric-effect cell is still released as heat. Very little energy can be captured this way, so it is quite inefficient in terms of energy produced relative to the radiation emitted. You can extract some more electric work by pre-charging the cell such that the freed electron is slowed in part by the electric field gradient, but in practice the bulk of the energy is still lost as heat.

Sea story time! The internal electric field within the dielectric will produce some weird mechanical stresses, too. When my ship's reactor plant went through a refueling overhaul one of the things they replaced was the reactor compartment windows. There are a couple of leaded glass windows that allow Mk. 1 eyeball inspection of the reactor compartment during operation. They are quite thick, electrically insulating, and they build up a large internal electric field along with internal stresses. Standard maintenance was to replace them well before the stress could fracture the glass.

So... could the press release be ...excessively breathless? My guess is a qualified "probably". The physics behind the photoelectric effect are well known and understood. Diamond is special in part because it has a fantastically high dielectric breakdown strength. So, you can extract more work out of the ionized electrons by supporting a very high potential gradient between the anode and cathode, which could be seen as a breakthrough for this type of energy conversion device. BUT it also would enable a new generation of high-density ultra-capacitors. The energy density in a capacitor is limited (in part) by the breakdown strength of the dielectric, since the stored energy is a volume integral of the squared electric field strength. Since ultracaps are technologically much easier to commercialize, and much more investor-friendly than anything involving an ionizing radiation source, but that isn't what the press release points to, I think it is likely to be ... exaggerated.

I could also be wrong, and we'll soon have a new generation of ultracaps!

kbradero 4 hours ago 0 replies      
mm, I remember from a lecture that 'nuclear waste' is actually a label used by the nuclear industry but non all of them can be disposed, some by products can be used as a base atomic weapons.

So all countries with nuclear power plants have to return/control the 'nuclear waste'.

jaza 3 hours ago 0 replies      
Dilithium crystals, anyone?
JoeAltmaier 3 hours ago 1 reply      
Suspicious: sounds like a con, in every breathless undocumented wild claim.
Panic Status Board is being discontinued panic.com
52 points by cicloid  2 hours ago   30 comments top 9
mikeknoop 1 hour ago 0 replies      
The Panic status board is near to my heart. Back in 2010, their launch blog post was something that inspired me to try and build products for people instead of freelancing for a living.

It's really interesting/sad to read their second point for shutting down:

> pro users are more likely to want a larger number of integrations with new services and data sources, something thats hard to provide with limited revenue, which left the app close but not quite for many users

Because this is exactly what Zapier, the company I co-founded a year later, provides for free to other companies/products. Integrate once with us and automatically get integrations with hundreds of other apps (750+ and growing).

I love and use several Panic products (Transmit, Prompt, Firewatch) and hope this end-of-life enables them to spend more time on new ideas.

rdtsc 1 hour ago 3 replies      
> want a status board budget: companies would buy a $3,000 display for our $10 app.

I do this irrational stuff all the time. $15 for a wedge of cheese I haven't tried before - yap totally fine. A $2.59 app - hmm, yeah, not sure, think about for 5 minutes, read reviews, seems expensive, what if I don't like it, pass...

I know it is ridiculous and I see me doing it, but it still happens.

Animats 1 hour ago 1 reply      
That's a business model problem. Your $10 app is being used to drive a dedicated $3000 display. So what do you do? Sell integrated display and app systems? It works for Bloomberg. You don't have to use Bloomberg's hardware any more, but you don't save much by not doing so.
decasia 2 hours ago 5 replies      
Anyone know other good alternatives to this project? I've used the open-source Freeboard project[1] before, but curious what else is out there.

[1] https://github.com/Freeboard/freeboard

nodesocket 1 hour ago 1 reply      
Wonder if this is a case of the wrong pricing model? Status Board sold for $9.99, perhaps they should have made it free in the app store, but require a monthly subscription for data and integrations.

The monthly fees could also fund development of more 3rd party integrations.

deanclatworthy 57 minutes ago 0 replies      
For anyone looking for an alternative geckoboard has the most integrations I've seen, whilst still looking visually appealing.

I found others to look so boring and didn't have time to spend styling it and making new widgets.

breul99 4 minutes ago 1 reply      
Open source it.
cyberferret 1 hour ago 0 replies      
Damn. I've used Status Board for a while and love its simplicity. Shame to see so many dashboard apps closing down this year. 2016 is definitely not 'Year of the Dashboard'...
themodelplumber 1 hour ago 0 replies      
> as weve learned the hard way over the past couple of years, theres not a lot of overlap right now between pro and iOS.

There's not a lot of overlap right now between "pro" and "Apple, Inc." Right now I'd reckon Apple sees the puck heading for the laziest leisure class the world has ever known.

We turned $140k on Kickstarter into $40k debt and broke even medium.com
617 points by CaliforniaKarl  11 hours ago   219 comments top 29
ignostic 10 hours ago 2 replies      
I do a lot of marketing, and I smiled seeing what you spent money on. I've been most of those places with bigger budgets and similar results. When I'm working with good companies it usually turns into something more like product management with some relevant search or contextual advertising.

> We fell into a trap. We thought marketing meant we had to come at people sideways to get them to give us money. Turns [sic] out, the games just good and people want to play it.

One small suggestion: you're not doing a great job on the up/cross sale. I went to your site and added the game to the cart. But after reading about the expansion I WANTED the expansion. Make it easier for people to add them on. Every large ecommerce store does this. It's helpful to your users, increases RPS, and (when done right) relevant enough to not be annoying. Make sure to find a non-popup solution that won't get blocked by ad blockers.

I'll be buying the product and an expansion based on the Amazon reviews: good luck making some money!

soreal 11 hours ago 38 replies      
Facebook ads: spent $1000, got 20 clicks and 0 sales

Is that for real? Is everyone else's experience with Facebook advertising similar?

lxmorj 9 hours ago 1 reply      
I run a bootstrapped e-commerce fulfillment center that doesn't charge for storage. We also ship for GameBoxMonthly.com - might be a good way to move a decent percentage of your existing stock. Happy to intro to the GBM team and/or chat about working together. Hit me up: alex@monthlyboxer.com
uptown 4 hours ago 2 replies      
The first thing on your site -essentially the sales pitch - is a quote comparing it to Cards Against Humanity. While I've heard of CAH, I've never played it - so your product game concept is lost on me.
markwaldron 11 hours ago 5 replies      
Interested to know how many sales come through from this Hackernews/Medium post.
labster 9 hours ago 0 replies      
I wish I could have supported this, but I play board games so as to avoid thinking about current U.S. politics. Diplomacy is set in WWI which is distant enough to provide an escape, and even Arkham Horror is moderately more cheerful than the political news today.
mmastrac 11 hours ago 4 replies      
Destroying thousands of units kind of sucks - would it cost a great deal to have the inventory shipped to some sort of low-cost offline storage for later sale? Or is that just going to eat into margins?

Edit: since the game appears to be kid-friendly and non-partisan, maybe the company should consider a crowdfunding campaign to buy back the extra stock and send them to schools for free.

odbol_ 2 hours ago 0 replies      
Manufacturing in China vs the U.S.: for my company's Kickstarter project, the U.S. was about 5x more expensive. (It's a bit different for electronics).

However, after flying me and my co-founder to China, living there for a month to work out all the kinks in the process, then the incredible cost of shipping and customs taxes (has to rush ship for Christmas of course), I'm thinking the U.S.would have been a better choice (at the small volumes of 1000 per batch we were doing).

Now, if you are making 50,000 or a million of something, then China is definitely the way to go. But for small batches I recommend shopping around U.S. factories... They're pretty desperate for it at this point.

JPTeasdale 11 hours ago 4 replies      
Hey gang. I'm John Teasdale (author) happy to answer any questions you have about the write-up.
IshKebab 10 hours ago 1 reply      
It's got a 6.8 rating Board Game Geek which is actually pretty good. Anything above 7 is a solidly good game in my experience. Nice article too.
TheGRS 11 hours ago 0 replies      
Thanks for the write-up. Marketing seems really hard in many of the entertainment-oriented businesses out there. Weak ties and word of mouth are still the dominate way to sell things effectively, but they remain very hard to strategize around.
pretz 2 hours ago 0 replies      
> On September 9th, 2015 we received $127,827.01 from Kickstarter. This sounds like a lot of money, until we say that this week, November 22nd 2016, we have finally gotten out of debt. Thats 440 days of work after creating the product and running the Kickstarter before we made $1.

As someone who's spent their professional career working for venture-backed tech companies that hadn't yet made a profit, that sounds damn good. Many many companies never get that far.

appleiigs 6 hours ago 1 reply      
There seems to be many problems you faced that could have been avoided just be asking questions :(. For example, asking "do you have experience shipping to Amazon fulfillment centers?". Or talking to the several folk in industry and the CEO ahead of time.

I also have an issue with the Big Lesson of "order at most two times what you've already sold". The lesson shouldn't be a rule of thumb. The lesson should be to find methods to gauge interest better, not just "2X maximum".

Anyway, thanks for sharing. I obviously thought it was an interesting read and it got my brain thinking.

paulcole 9 hours ago 3 replies      
>Tried: Amazon Sponsored ProductsResult: Actually works. We spend about $2.70 on ads per sale of the base game.

You're throwing money away. I searched "presidential debate game" on Amazon and you're the #1 (non-paid) result. Why are you paying for clicks on a search for which you're the only relevant result?

shortstuffsushi 9 hours ago 2 replies      
I don't see this mentioned in the article, but I think the author makes the assumption that his Chinese company would have been more reliable / more experienced and would not have made these sorts of mistakes (which could be accurate, don't know the two companies). Imagine the setbacks his company had, except then add the delay of cross ocean (air or ship) shipping. Unless things had gone perfectly with the Chinese company, they may still have gotten a faster turn around having it in the US. He mentions in a comment here that they're thinking about doing a second batch overseas, I'm curious to see the turnaround on that.
netrap 10 hours ago 1 reply      
Interesting insight into selling via Amazon.. I didn't know about the long-term storage fees and whatnot. I guess also getting the game into some retail shops might help? How much would it cost to get those games back from Amazon to some other storage?
acedinlowball 7 hours ago 1 reply      
I will be buying a copy of this game to support a fellow HN-er.

Cheers, mate! I hope you become very rich.

Symbiote 10 hours ago 1 reply      
How about sending some free copies to board game cafs? Only if they want them, obviously.
relics443 10 hours ago 1 reply      
I started reading this article thinking, "nice try guys, not getting anything from me".

I'm about to order one, and sent a link to about 10 friends. Good job!

lz400 3 hours ago 0 replies      
Very interesting and well written post. I own a lot of boardgames and follow the hobby in BGG, YouTube, etc. There are a bunch of famous game reviewers in YT that bring sales if they like a game but to be honest I think they won't like your game as it's yet another clone of Cards Against Humanity, which is loathed among the board game community. That's the same reason I won't buy your game as I've no interest in CAH but I wish you the best of luck.
walshemj 8 hours ago 0 replies      
One tip would be get it in front of the guys at the d6 generation and some of the other mini/ board game podcasters.

If you get over to games expo in the UK I will have to buy you a beer

iampherocity 8 hours ago 0 replies      
I've listened to Justin all the way through this from the start on the other side, it's interesting seeing this from your perspective. Thanks for sharing.
Mz 11 hours ago 4 replies      
Kickstarter is a magical fantasy land where people get excited about your stuff in a way that doesnt translate into your small business.

I don't really get Kickstarter. The above sums up a lot of my concerns about it and why I have yet to look into it in a serious way.

tudorw 11 hours ago 0 replies      
thanks for sharing the level of detail on sales efforts, interesting read
guiomie 11 hours ago 1 reply      
Tried: Facebook Advertisements.Result: Spent ~$1000 on 30 different ads, ~20 clicks, 0 sales.

Is this a typical result with facebook ads?

ninjakeyboard 9 hours ago 1 reply      
I bet getting that article on the top of HN should help!
imchillyb 9 hours ago 0 replies      
Purchased! Making board games great again!
ccc111 6 hours ago 1 reply      
any comments on your greed?

if you just made the kick starter amount we wouldn't have to read this, however now the publicity of your failure will bring you more sales...

ccc111 6 hours ago 0 replies      
any comments on your greed? if you just made the kick starter quantity we wouldn't read this crap.
Iceland uses lava to heat its banana farms modernfarmer.com
23 points by JumpCrisscross  1 hour ago   3 comments top 3
lomereiter 5 minutes ago 0 replies      
Sorry for a stupid joke, but I misread 'lava' as Java and immediately thought of all those Hadoop clusters big enterprises put into cold countries to save on cooling costs.
gpvos 4 minutes ago 0 replies      
*Its single, tiny banana farm.
thomasfl 8 minutes ago 0 replies      
How could this be useful to other freezing cold nations? Like Norway that's placed far away from any tectonic plates?
Samsung Electronics, Pushed by Investors, Will Consider Restructuring nytimes.com
23 points by JumpCrisscross  3 hours ago   3 comments top
w1ntermute 1 hour ago 2 replies      
Korean conglomerate (chaebol) owners utilize interlocking relationships between companies in order to maintain control despite having only a minority ownership[0,1]. This can cause lots of corporate governance issues, such as when family disputes end up affecting companies[2].

0: http://www.esadegeo.com/download/PR_PositionPapers/43/ficPDF...

1: http://onlinelibrary.wiley.com.sci-hub.cc/doi/10.1111/1467-8...

2: http://www.bloomberg.com/news/articles/2016-09-29/death-prob...

Tips for Success in Undergraduate Math Courses stanford.edu
79 points by isolier  5 hours ago   31 comments top 12
griffinmichl 3 hours ago 5 replies      
I mostly aced my math degree. The keys for me were:

1. Read and get a basic understanding of the material before lecture.

2. Attend every lecture and take notes very few if any notes. Most of what you need is in the book and math is about understanding. You cannot grok and write at the same time, and it's better to try to grok while an expert is explaining it to you.

3. Do a shitload of problems / proofs, depending on the class. Be honest with yourself when you don't fully understand something and stick with it until you do.

Math is different from other subjects, and you need to treat it that way.

WalterBright 4 hours ago 1 reply      
Haha, this is very similar to the list I came up with when I was flunking at Caltech:

1. attend all the lectures

2. attend all the recitation sessions

3. do 100% of the homework, and on time

4. make sure to understand every homework question and how to solve it.

5. write legible notes

This was good enough to get a baseline B. To get an A, you had to put in much more work.

I know this stuff seems obvious. But it took me a while to figure out I couldn't just coast and wing it like in high school, and many other students had the same experience.

analog31 2 hours ago 0 replies      
My math grades had some ups and downs, and the key variable was doing the problems / proofs over and over. Likewise for physics courses, which involved a lot of the same kind of stuff.

I think it's important to get the "mechanical" work, e.g., step by step derivations, so it can be done quickly and accurately. For me, this is also resulted in committing the definitions, axioms, theorems, etc., to memory. During exams, being able to speed through this work gave me the spare time I needed to sit back and think about each problem, especially the one "surprise" problem in the set.

Oddly enough, I kind of treated the humanities courses in a similar way. I signed up for courses that were known to be graded based on mostly written work -- essays, papers, etc. Because all of these courses involved the same "mechanical" work, e.g., writing a paragraph supporting a concept, I also got very quick at it, which compounded itself in terms of getting assignments done quickly and writing fairly lengthy, coherent answers, in blue-book exams.

Note: It also helps a lot to actually enjoy the stuff. Attending the lectures helped me later in life, as I observed the teaching styles -- good and bad -- of my teachers. That experience has helped me with presentations and other kinds of interactions in my regular job.

yeowMeng 3 hours ago 1 reply      
(Other useful strategies not mentioned)

* Watch video's on Khan Academy/youtube* Use Wolfram Alpha to confirm/deny yr solutions* Get a tutor who can explictly show you how they approach solving any arbitrary problem you bring them* Accumulate a list of math tricks that you can use and how to use them (example: how to long divide polynomials)* Print out old exams and pretend to take them ~3 days before final* Rewrite your lecture with each example problem on it's own page(s)* Create an index on your lecture notes so that you can quickly identify what type of problems and topics were covered in each lecture.* Identify yr strenghts - we can't all be good at everything - knowing yr strenghts will give you a foundation of confidence to build upon* Queue cards for memorizing all those trig identities* Expect to spend a lot of time - this is not always possible

hyperhopper 2 hours ago 1 reply      
For my first classes this was true. Now I'm getting courses that fewer students take, and it goes like this

1. Skip lectures because the professors barely speak english and can't teach

2. Barely rush through the homework before its due, it doesn't matter if you understand it as it has no relation to the rest of the class

3. Find last semester's exam and study that for a morning, as the questions are pretty much the same.

Its a shame that the higher level courses that should be more interesting and useful end up being the most painful and disregarded.

chrismealy 2 hours ago 0 replies      
My breakthrough in math came when I started studying with other people. Best way to learn something is to explain it to somebody else. And you're a lot less likely to get stuck on something for half an hour if you have other people to help you. By studying with people I aced calc just by going to class and keeping up on homework.
isolier 5 hours ago 0 replies      
There is some pretty obviously advice in here; basically take notes and do your homework for the sake of comprehension and not merely completion. But, "keep a list of hard problems" is pretty good advice that, I think, most people do not adhere to.
mfsch 2 hours ago 0 replies      
The issue I have with lists on how to be successful in a class is that they rarely provide much guidance on how to prioritize the work. Of course students are successful in a class when they read & understand the material before the lecture, follow the lecture attentively, redo all example problems, solve & understand all assignments and maybe read a few textbooks on the subject. The difficult part, at least for me, is how to decide what learning activity will help your understanding in the most any given moment and how to split your time between the different classes and other activities.
unimpressive 3 hours ago 1 reply      
For the memorization aspect, I would say use spaced repetition software:


Source: I actually did this and it improved my grade 55% in Calc I.

gizmo686 1 hour ago 1 reply      
I'm a math major.

This list reads like my strategy to do well in a math class without learning the material (literally; this method got me through numerical methods and advanced calculus, both classes that I had no interest in and took only to satisfy the degree requirements).

My thoughts on the particular points:

>Keep a list of THINGS TO MEMORIZE.

If this list is anything but empty you should feel bad. "Memorizing" something in math is a way to act (and test) like you understand it without understanding it. The one exception is in computationally heavy classes, where you memorize the completed solution of common forms. However, if your goal is to understand the material, you should be able to derive everything you are memorizing without thinking. The memorization is only to save you time on the exam by skipping the computation. Having said that, as I mentioned above, if you do not understand something but still want a good grade; memorize it. The professor will never see the difference.

>Watch for example problems.

Because these will be the problems on the test.

>Know how to do every homework problem assigned!

Yes. Also, know how the book/teacher wants you to do the problem. It is often times hard to write a problem that can only be solved one way, so it is sometimes possible to avoid using a method you don't like or understand.

> Start the homework at least a few days before it is due.

Yes. Also, if possible, consider homework due at the last office hours before it is actually due. Otherwise, you can't go to office hours for help.

>Keep a running list of HARD PROBLEMS.

Good advise if you are going the memorization route; otherwise, this is just memorizing the solution to a particular form of questions. Also, in my experience, if you are going for the understanding route, this list just does not stay relevant long enough to justify keeping it.

>When you get your homework back: Look over the things you got wrong.

Always good advice. Having said that, if you got a problem wrong (for reasons other than computational/algebraic mistakes), the bigger issue is that you thought you got it right. This means that you not only did not know how to solve the problem, but that you have misunderstood some concept that you need to learn.

>Find a quiet place, set a timer for the amount of time you'll have in the exam, and take the practice test. Don't look at the practice test before you do this.

Good test prep advice in general.

>If a problem is hard, skip it and come back later.

I triage problems much more aggressively. If a problem looks time consuming I skip it. If a problem looks like it involves thinking, I do enough work to verify that it actually involves thinking then skip it.

>Do a quick check of each problem to be sure your solution is reasonable. E.g. if the problem asks for a distance, is your solution positive?

Do this check after you finished the test. If you got something wrong, but didn't finish the test, then knowing you got it wrong doesn't help; you still didn't have a chance to correct it. Also, you are more likely to notice an incorrect answer after spending time away from the problem.

Having said that, sometimes you answer "feels" wrong as you are solving it. If this happens and you see where you went wrong, correct it. Otherwise, complete the incorrect solution (if feasible), and mark it. This gives you the chance for partial credit; and sometimes your feeling is just wrong, and the answer is weird.

>Write SOMETHING on every problem. The grader really wants to be able to give you some partial credit.

If you have time. If you really have no idea how to approach a problem, then your time would be better spent doing better on the rest of the exam instead of producing a plausible looking solution. Mark these problems, and, if you have time at the end, come back and look at them again.

Having said that, this is still good advice. If you think you know how to solve part of the problem; do it. If the part you know how to do requires you having computed something that you do not know how to compute, then clearly write "let a = thing I can't compute". Graders don't have time to look closely at your answer; make it easy for them to give you partial credit.

If you are answering a proof based question, and cannot figure out how to prove a particular fact that you need for your proof, consider writing "it is clear that". You will be amazed how often this works.

>When you've tried everything, go back to the problems worth the most points first.

Triage. Go back to the problems that you think you got wrong and can improve first.

>Given time, double check your algebra carefully!

If possible, verify your answers using a different method. For example, if you are asked to find the integral, verify your answer by taking its derivative. You are less likely to make the same mistake, and for many problems it is easier to verify an answer is correct then to find the answer

>After the Exam

Write down what you can remember about the problems you could not solve (including ones where you put down something that might be correct, but were not sure about). Solve these problems (using book/notes/TAs/etc if needed).

When you get the exam back, compare it to the list of problems you knew you didn't get. You don't care about these problems at this point; you already knew you missed them and worked through them. You learn nothing new by the grader telling you that you missed these.

The problems that you did not know you got wrong are where you should focus your attention. If you just forgot about them, then work through them like you did the ones you already knew about. If it was a computational/algebraic error, don't worry about it (but do do more practice if these errors cost you a significant amount of points). Pay special attention to problems that you thought you got right but didn't. These highlight the areas where you have a misunderstanding of the material.

Final remarks:


As you might have noticed, I don't like this. What I do like is a concepts list. When you go to study, read through the list and make sure you understand all the concepts. It should be small enough that there is no point in creating a separate list for hard concepts; and what you consider to be an easy/hard concept will change as you get more practice with some things, and never see other things between the first month of class and the final.

Studying for the test:

As you probably noticed, my opinion is that many of these points are techniques to study for the test. This is a valid thing to do in school (after all, you are graded on the test, not understanding), but be aware when this is what you are doing. If you plan on taking another class that builds on this one, then this method will come back to bite you then.

In class notes:

Do not make them. The only reason you should be writing during a math lecture is to use the paper as a scratchpad to think about what is being said. Anything else is a distraction from the lesson. All the material should be in the book. If it isn't, you can ask the professor for a copy of his notes. If you want your own notes (which can be a good idea), write them after class. If you do take notes, keep them in a separate notebook. Interspersing them with problems and scratchpads just makes it more difficult to use them.


If you are taking math as a gen-ed requirement, ignore this. If you are going into a math heavy field, learn LaTex as early as possible. Write you notes in LaTex. Do your proof based homework in LaTex. This will pay off down the road, when you A) know LaTex and B) have a digital record of you previous math classes. Plus, turning in proofs written in LaTex make them feel far more correct, so you might get graded easier.

Study groups:

Form a study group of people with similar skills as you. If you try studying with people far better than you, then you will end up just having them give you the answer; in which case you are better off talking to a TA (who is probably better at explaining things). In a study group, you want to be part of finding the answer. Along the same note, if part of your group just gets the answer (and you are in the part that does not), start by talking with the other people who do not know the answer. That way you can figure it out together, instead of just being told what the answer is.

viach 41 minutes ago 0 replies      
Imho, you only need motivation. And where to get it, that's the question.
quickben 3 hours ago 0 replies      
What worked for me:1. Get a solutions companion to your calculus book.2. Solve everything twice.
Windows 10 in-place upgrades are a severe security risk win-fu.com
90 points by rewrew  6 hours ago   52 comments top 11
wz1000 1 hour ago 2 replies      
I don't know whether this works in newer versions of Windows, but it was extremely simple to elevate your priveleges on almost any Windows 7 machine. I've done this dozens of times.

I haven't used Windows for years now, so the details are a bit fuzzy, but it essentially worked like this:

Start the machine. During boot(when you see the orb splashscreen), turn off power or hold down the power button for a few seconds.

The next time you boot up the machine, windows will say it failed to boot and offer to go into startup repair. Do that, wait for some time, and click through until eventually you see a bug report that you can open up in notepad.

Once you are in notepad, open up the "open file" dialog. From there, navigate to "C:\Windows\System32" and replace "sethc.exe" with "cmd.exe". Now, reboot normally.

Once you reach the login screen, spam left shift until you get a command prompt with admin privileges. Now, you can create new users, change the password and privileges of existing users, or even start up explorer.exe and use the computer normally as admin, bypassing the login screen entirely.

This works because "sethc.exe" is the executable responsible for Sticky Keys, which is activated by pressing shift repeatedly. Instead of sethc.exe, now cmd.exe would be run instead.

gnu8 5 hours ago 2 replies      
Sounds like a case of 'already behind the airtight hatch'. If you have administrative privileges to install an OS upgrade then you have administrative privileges to disable filesystem encryption.

On the other hand, if MS pushes the update to the PC and it self-launches or can be initiated by a non-administrator, then it seems like there is a real security problem here.

donatj 2 hours ago 2 replies      
Is there not a presumption that with physical access to a machine it can be rooted if you try hard enough? I certainly make that presumption.

The number of Macs I've unlocked by creating a new admin by removing the "install is finished" file in single user mode is in the teens.

kagamine 20 minutes ago 0 replies      
All this and the comments assume Windows will let you upgrade at all. Google "windows 10 upgrade something happened" and then try to find the fix for that amazing piece of error reporting.

In my case it was either that the language pack was wrong: Eng UK not Eng US, neither of which actually have language pack installed... or it was the Win toobar/menubar being docked to the left of the screen and not the bottom. One of these stopped the upgrade completely, repeatedly. The greatest security risk had to be getting stuck on an old version of Windows with no good info on how to fix a 2 year old bug in the upgrade process.

cm2187 22 minutes ago 0 replies      

> Combined with other significant security advances, such as Credential Guard, Windows Hello and others, weve made Windows 10 Anniversary Update the most secure Windows ever.

saipenguin 4 hours ago 1 reply      
To really be considered white hat wouldn't you have to wait until the fix is deployed?
aq3cn 2 hours ago 0 replies      
What's the fix of it?

There must be an option to stop full automation of upgrade process or MS can just recommend disconnecting from network while upgrade is taking place.

MS does it for connivence I assume, so people aren't promoted while upgrade is taking place. This is my presumption, I may be wrong.

alien3d 4 hours ago 1 reply      
I'm disable windows update and windows background intelligent service . The most reason was windows keep re downloading broken update and cost a lot my broadband bandwidth. To secure my laptop, i only remove csript.exe and wscript.exe.
ams6110 5 hours ago 1 reply      
> Stick to LTSB version

Good advice in general for almost any software.

devoply 4 hours ago 5 replies      
Come join Linux my friends. My fedora hat wearing greybeards wait for you. Only operating system left that gives semblance of privacy and security.

And to those who think I am derailing... http://news.softpedia.com/news/microsoft-wants-all-linux-dev...

satysin 4 hours ago 1 reply      
TL;DR When you do an in-place upgrade it does so in the SYSTEM authority. If you hit Shift+F10 during part of this process you get a Command Prompt running as SYSTEM. Then you can do some file system and registry changes to replace an accessibility feature exe with cmd and again run it under the SYSTEM authority pre-login and add your account to the Administrators group.
Amazon Worker Jumps Off Company Building After E-Mail to Staff bloomberg.com
198 points by jw2013  7 hours ago   111 comments top 15
Futurebot 4 hours ago 2 replies      
Tyler Cowen has written a lot about this:

"Individuals dont in fact enjoy being evaluated all the time, especially when the results are not always stellar: for most people, one piece of negative feedback outweighs five pieces of positive feedback. To the extent that measurement raises income inequality, perhaps it makes relations among the workers tenser and less friendly. Life under a meritocracy can be a little tough, unfriendly, and discouraging, especially for those whose morale is easily damaged. Privacy in this world will be harder to come by, and perhaps second chances will be more difficult to find, given the permanence of electronic data. We may end up favoring goody two-shoes personality types who were on the straight and narrow from their earliest years and disfavor those who rebelled at young ages, even if those people might end up being more creative later on."


Pervasive employee monitoring and feedback isn't costless. Some people will improve, others will get fired/quit find a new job, but there will be some who cannot take it at all. If losing a job wasn't so punishing economically and status-wise, it would take a lot of, but certainly not all, of the sting away.

u489utaa 3 hours ago 6 replies      
Amazon screws employees in ways unseen in other companies. From the perspective of an engineer, this is a terrible place for people to work and grow. To list a few things:

- Equity vesting schedule is 5%, 15%, 40%, 40% over 4 years

- Relocation package is prorated for TWO years. If you leave after staying for a full year, you still need to return 50% of it.

- 401K matching only vests after working for 3 years. If you leave within 3 years, no matching for you whatsoever.

- No tuition reimbursement. Want to get a part-time masters in CS? Pay it yourself!- No catered food. No free soda. No free snacks. If you are hungry, you can eat at one of the shltty cafes.

- Obnoxious oncall routines. You are woken up 3:30am waiting for the event to be over. Why not automate things? Because replacing people is cheaper than building great software!

This is Amazon's mindset TOPDOWN. The root of the problem is that the leadership does NOT care about employees or technology. This is a retailer and a powdered Walmart, what do you expect?!

SDE 1 and SDE 2 are simply the slaves working at a sweatshop. Some of my co-workers are hired without onsite interviews. They do some video chat and they are hired at Amazon. They don't even know how to write bash scripts. Our team used to have technical program managers who can't even write a Python script. With simple things like running a command line tool, he cuts a ticket and let the engineers do it.

The managers at Amazon pocket bonuses and don't give a damn. They don't carry pagers and when they do, they just page lower level employees. The only reason people take offers at Amazon is that they can't get better packages from Facebook/Google.

* I worked at AWS for 2 years.

amzn-336495 3 hours ago 3 replies      
Amazon tries to trap people through control by visas, and they will go so far as to relocate people overseas to Seattle. They have a fucked up system where rank and file get the darwin treatment but management gets the rewards. They will pay bonuses around $250k, $500k, $1 million to senior managers, directors, and VPs respectively to abuse the shit out of employees. The "PIP someone who is trying to get away from their abusive manager" is their oldest trick in their book.

Something needs to be done to help people financially who are looking for a way out from the abuse.

rdtsc 3 hours ago 3 replies      
I was interviewing for AWS, and it was a circus. Completely disorganized. However, I have to say, I enjoyed the parroting back of "the leadership principles" part. It was like being in the Soviet Union again and singing praises to the great party leaders. Very much worth wasting a day over it.

However my nephew didn't have such a fun time. He was working for one of their warehouses in Kentucky and they were ruthless to the workers like him. They had a snow storm, he got stuck in the snow and instead of being understanding they reprimanded him for it. He liked the pay but couldn't take the humiliating treatment, so he quit.

sssilver 1 hour ago 2 replies      
Following some of the discussion on this thread, I am constantly reminded of a priceless advice I got from a senior friend years ago.

When thinking about an employer, above a certain size threshold, never judge a company. Always judge a department. You don't work for a company. You work for a department. Above a certain (fairly small) size, the only thing you'll share with the employees in the other departments will be the domain name in your email. Everything else will be coincidental.

outworlder 1 hour ago 0 replies      
> The man had recently put in a request to transfer to a different department, but was placed on an employee improvement plan

Having escaped from an abusive manager myself, I can imagine what this person went though. Managers that are skilled in the art are able to inflict pain without leaving much of a paper trail.

I did ask for (and got) professional help, including medication. There's only so much stress 24/7 that you are able to handle before you start to crack. Who knows what would have happened if I just tried to ride it out.

I'd have gone bananas if I had been placed in a PIP instead. This was one of the possibilities identified by my branch predictor, so I was collecting a mountain of evidence against said manager. Thankfully, it wasn't needed.

(I realize that nowhere in the article it says a manager was the issue, but corporate pattern-matching gets pretty good after a while)

Buge 3 minutes ago 0 replies      
Not too long ago an Apple employee shot himself in the office.


kafkaesq 7 hours ago 6 replies      
The man had recently put in a request to transfer to a different department, but was placed on an employee improvement plan, a step that can lead to termination if performance isnt improved, said the person, who asked not to be identified discussing company personnel matters.

PIPs are bullshit, and fundamentally degrading. Just tell people "Maybe it's your fault, maybe it's our fault - but either way, it's not working out", offer a (truly decent) severance, and move on.

(I know, I know, I know: "because laywers.")

SuperPaintMan 3 hours ago 3 replies      
>The man survived the fall from Amazons 12-story Apollo building at about 8:45 a.m. local time Monday and was taken to a Seattle hospital, police said.

Aside: That is a testament to the resilience of a body. The physics behind that fall would be astounding to analyze! I come from a long line of suicidal people we're not jumpers, but swingers.

ajkjk 2 hours ago 0 replies      
As has happened before on these threads, every opinion on Amazon is super negative. To balance things out I'll chime in to say that I had a highly positive experience working there as an SDE for 3 years, and would estimate that most of my coworkers felt the same way.
madman2890 2 hours ago 1 reply      
268,900. That is the number of employees amazon has. According to this article, we should expect 25.2 suicides out of these employees.
Tempest1981 3 hours ago 4 replies      
Do they still have the backloaded RSU vesting schedule? Something like 5%, 15%, 40%, 40% (each year)?

Does anyone else do this?

jimmywanger 1 hour ago 0 replies      
It's great how this no content article has been turned into a huge Amazon bashing thread that confirms everybody's biases against Amazon employment practices.

The facts are: a guy put in for a transfer, got put on a performance improvement plan, threatened self-harm, and then jumped off a building.

There are no details why he requested a transfer, the reasons he got put on a PIP, and if he was mentally unstable or not, where these fairly common life events would cause him to contemplate self harm.

Nope, the pitchforks and the torches come out.

auvi 2 hours ago 0 replies      
where can I find the text of the email?
khnd 7 hours ago 3 replies      
wow. i wonder if bezos is going to address this.
The Probability and Statistics Cookbook statistics.zone
84 points by kercker  6 hours ago   11 comments top 3
mooneater 3 hours ago 1 reply      
Cool, but I would call this a cheatsheet. Almost the inverse of a cookbook, which I think of as a set of "how tos" for tasks you want to accomplish.
geokon 3 hours ago 3 replies      
Anyone have a recommendation on a good statistic textbook?

Everything I've tried has been absolutely horrible except for "An Introduction to Error Analysis" by John Taylor (yeah the classical mechanics guy). Unfortunately it's a bit basic...

neves 3 hours ago 3 replies      
Nice! Did anyone make a mobi file so I can read it in my Kindle? PDF s*cks!
Beating the Compiler codersnotes.com
79 points by panic  6 hours ago   42 comments top 15
Joky 5 hours ago 4 replies      
This seems quite ridiculous to me, I have seldom seen "modern compilers are always faster than you" but rather "they are good enough that it is not worth it". It provides a very over-confident "conclusion" based on a single dubious test.

The main advantage of compilers is that the optimizations scale across a large codebase through inlining for example.

Also, just moving from Sandy-Bridge to Haswell for example can have significant performance swing (in both direction). The maintenance cost of the assembly is again a scaling issue.

If you have a single function that takes a significant amount of time in your program, and performance is critical, of course you can try to go with lower level. But it is likely that it will be more profitable to start with 1) pre-optimized libraries (i.e. don't write your own "sort") ; 2) follow the optimization guidelines of the CPU vendors regarding memory layout, etc. ; and 3) start with vector C-level intrinsic if possible if you can benefit from vectorization.

bjourne 2 hours ago 1 reply      
I ported the recursive variant of the quicksort test and ran it on my computer. Changes I made was to replace the Windows specific timing functions with Linux-specific clock_gettime() calls. Then I also changed the rcx and rdx registers to rdi and rsi because those are what the Linux 64bit calling convention uses.

Here are my results:

 sort_asm_recurse.asm 69 ms/loop clang++ 3.8.0/sort_cpp_recurse.cpp 65 ms/loop g++ 5.4.0/sort_cpp_recurse.cpp 70 ms/loop
Compiler flags: -O3 --std=c++11 -fomit-frame-pointer -march=native -mtune=native

So on my computer, the assembly code (barely) beat g++ but not clang++. From a cursory glance of the assembler code clang++ generates, the difference seem to be that it adds alignment to critical loops.

It is also smarter at using 32bit registers when it can get away with it. F.e the handwritten assembler code contains "xor r9, r9". An equivalent but faster variant that the compiler generates is "xor r9d, r9d".

There is also a slight error in the assembly code. rsp should be aligned to a 16 byte boundary when a call instruction is executed and the code doesn't ensure that. Likely it loses a whole bunch of performance by calling from unaligned addresses.

dalailambda 4 hours ago 2 replies      
While this may seem silly to some people, I definitely appreciate the sentiment. "The compiler is smarter than you" is thrown around often here, and on Reddit, and a lot of people consider it "common wisdom", but it's not really correct.

Writing code is having a dialogue with the compiler, it can do better than you sometimes, and vice versa, but treating the compiler as a magic box that always spits out faster code than you is pretty silly.

donovanr 3 hours ago 0 replies      
Sedgewick's 1978 paper[0] on implementing quicksort has some interesting hand optimizations of the assembly code -- loop rotating, unrolling, etc. I wonder if modern compilers do the same?

[0] http://penguin.ewu.edu/cscd300/Topic/AdvSorting/Sedgewick.pd...

sweettea 5 hours ago 3 replies      
Bestcase seems like a poor metric when the CPU scheduler could certainly cause 7% variation. I would be interested to see, say, 100x the number of runs, and see mean rather than best, since one usually cares about average more than best.

I also wish I knew what optimization settings GCC/etc was using, and what effect tweaking those has.

prestonbriggs 1 hour ago 0 replies      
It's easy to beat a compiler in the small - just takes time & patience. But such an approach doesn't scale. We don't write tiny routines and throw them away; instead, we write big programs made of lots of routines & classes, and we maintain them for years, probably porting them from machine to machine.

I encourage everyone to write some assembly; you'll learn a lot. But use a compiler for your work.

gabrielcsapo 4 hours ago 0 replies      
"I suppose if there's anything to be learned here, it's that people on the Internet may sometimes be full of shit." most undervalued quote.
DannyBee 2 hours ago 0 replies      
Yes, you can pretty easily beat the compiler in simple cases when you do this.

I would seriously challenge anyone to try to, by hand, do what PLUTO+ does .http://dl.acm.org/citation.cfm?id=2688512It is implemented in at least one real production C++ compiler. The analogue would be graphite in gcc, and polly in llvm, but they don't have the full cost modeling it does.Then try to do it for multiple architectures or even different cache models (IE newer vs older processors).

Even simpler things than that, like deciding when it is profitable to add runtime vectorization/alignment checks, etc, is really hard by hand.Hell, in larger functions, i doubt people can even optimally do register allocation (including live range splitting, remat, etc).

So yeah, stupid quicksort, sure, you can beat it.

I'm not sure what it's supposed to prove?

If you restrict yourselves to small cases that are easily optimizable without any thought, and not amenable to any even slightly advanced optimization, yes, you can beat the compiler.

swolchok 4 hours ago 0 replies      
It's not mentioned in the article, so I'll note that the code presented is Windows-specific. Windows uses a different calling convention (https://en.wikipedia.org/wiki/X86_calling_conventions#Micros...) from the one used on Mac and Linux systems (https://en.wikipedia.org/wiki/X86_calling_conventions#System...), so if you want to see the assembly you get from clang on Mac, you'll want to annotate sortRoutine with __attribute__((ms_abi)).
swolchok 4 hours ago 0 replies      
I would like to see in the article a discussion of the assembly the compiler produces, how it differs from the assembly the author wrote, and perhaps why the differences are worse.
mistercow 4 hours ago 1 reply      
>where making good use of the SIMD intrinsics can allow assembly to massively beat the compiler.

Is this the correct use of this terminology? I thought intrinsics were functions that allow you to tell the compiler to use particular instructions, specifically so you can avoid dropping into assembly. In assembly, wouldn't you just call them "instructions"?

mnarayan01 3 hours ago 1 reply      
Should the second assembler statement use `jle done` rather than `jbe done` to preserve the original semantics? (I know nothing about assembly so could be missing something obvious.)
keithnz 5 hours ago 1 reply      
I'm just curious if there is any overhead in the compiler outputs as the author seemed to be timing the .exe

It would be interesting to see the assembly output of all the compilers, and what the compiler settings are

partycoder 5 hours ago 0 replies      
Intel and AMD publish programming guides that would help you producing more optimized code.

Then there are some aspects that compilers might not optimize a lot for. I like this guide: http://www.farbrausch.com/~fg/seminars/lightspeed_download.p...

It's old, dated, whatever you want, but covers the basics.

edit: it seems that link got the "HN hug of death".

olzhas 5 hours ago 2 replies      
why the best-case was chosen instead of mean or median?
Where are the Voyagers? nasa.gov
141 points by lelf  8 hours ago   44 comments top 11
sidcool 5 hours ago 1 reply      
> Because Earth moves around the sun faster than Voyager 1 is traveling from Earth, the distance between Earth and the spacecraft actually decreases at certain times of the year.

So obvious yet so mind blowing.

josho 8 hours ago 6 replies      
As amazing as space technologies are, we are in the stone ages when it comes to spaceflight:

> Earth moves around the sun faster than Voyager 2 is traveling from Earth, the distance between Earth and the spacecraft actually decreases at certain times of the year.

We don't even have the technology to escape the sun's gravity without needing a gravitational slingshot from other planets, and that still leaves us with a space craft moving slower than the earth.

hanoz 7 hours ago 2 replies      
This is all very well, but where are they in the night sky is what I would like to know.

And no I'm not expecting to see them, just to think about them in the right direction.

ars 7 hours ago 0 replies      
It's sad to think they only have about 9 years of life remaining before they run out of power.

And only a couple of years of useful life remaining.

Normal_gaussian 8 hours ago 1 reply      
Would be really cool to stick some velocity numbers on there as well, I find it hard to relate to such huge distances. 62 thousand kilometres per hour feels larger because I can kind of comprehend it.

Though really cool anyway, I was going to say that Voyager 1 managed short of 30 light seconds a year until I realised the question is one of acceleration and deceleration not velocity. If I wasn't on my way to bed I would dig around for some data to make acceleration graphs for them (hint hint :P ).

cyberferret 7 hours ago 3 replies      
Anyone know why in the second video (side plane view of solar system), they show 4 separate items moving out into deep space? I could pick Voyager 1 and 2, but no idea what the other 2 probes are?
pkituu 8 hours ago 2 replies      
You can ride along with Voyager in "Eyes on the Solar System" (https://eyes.nasa.gov) It's an open world Solar system with NASA missions and imagery.
Animats 6 hours ago 0 replies      
Leaving the solar system, as usual.[1]

[1] https://xkcd.com/1189/

parish 3 hours ago 0 replies      
Eventually, the Voyagers will pass other stars. In about 40,000 years....
milansuk 4 hours ago 0 replies      
I wish my code runs without maintenance for so long as these "babies" fly.
0942v8653 8 hours ago 2 replies      
Um, what about Voyager 6? I'm worried...
Who Is the Genius Behind Merriam-Webster's Social Media? lithub.com
72 points by JoshTriplett  5 hours ago   4 comments top 4
jackfrodo 3 hours ago 0 replies      
Probably the funniest writeup of a twitter account I've seen: http://www.slate.com/blogs/lexicon_valley/2016/09/08/merriam...

A guy writes about his brush with fame when MW was rude to him on Twitter.

subpar 2 hours ago 0 replies      
"Thats why our Twitter is so good: its not a marketing construct, its who we really are."

I really wish this mind-set was more common.

dilemma 1 hour ago 0 replies      
Good social media is a sign of a good organization. Why? Because it shows it gives employees the autonomy they need to do a good job. Poor organizations on the other hand sound canned and corporate because they have to follow some type of guidelines and get things approved before publication.
eternalban 1 hour ago 0 replies      
Since when is a point in space -- "between" -- the answer to a "what" question?
Arduboy A game system the size of a credit card arduboy.com
186 points by bpierre  11 hours ago   78 comments top 21
jdietrich 10 hours ago 4 replies      
Good luck to them. My cigarette-packet maths says that the BoM cost is about $12 at Shenzhen prices. If they gain any traction, they're going to get killed by the Chinese clone merchants. They don't appear to have much in the way of defensible IP, so the healthy margins on that $49 retail price are going to get squeezed hard.
malkia 8 hours ago 1 reply      
So much fun, similar other projects:

PocketCHIP - http://getchip.com

LameStation - http://www.lamestation.com

Gamebuino - http://gamebuino.com

Meggy Jr RGB Soldering Kit - http://shop.evilmadscientist.com/productsmenu/tinykitlist/10...

I bought for my son, the piper (minecraft+scratch) - http://playpiper.com and

there is also Kano - http://kano.me

qwertyuiop924 8 hours ago 2 replies      
$49 is pretty steep compared to a gameboy, which goes for $20, has a massive catalogue, affordable flashcarts, and several decent toolchains (I personally reccomend WLA-DX). And it also doubles as an excellent music production platform (provided you like chiptunes) thanks to LSDJ.

The GBA goes for similar prices, and has similar benfits (and yes, it's got a solid toolchain). Plus, it plays all the old gameboy games, so all of the above applies (although LSDJ is a royal pain to use on the original GBA, as it assumes a standard GB button layout. Nanoloop has a version explicitly for the GBA, which takes advantage of the new sound hardware, but Nanoloop carts are very expensive).

cr0sh 8 hours ago 1 reply      
I wish this thing wasn't the size of a credit card; I mean - I understand cuteness and marketability and everything...

...but with buttons that small and close together, for me it would be painful to play for any long period. Heck, I didn't play my gameboy color for long because it's smaller size caused my thumbs to ache after a while.

Maybe my hands are just too big.

snissn 8 hours ago 2 replies      
Hi! Could you please make an iPhone case with arduboy in it? Like this but playable


felideon 10 hours ago 3 replies      
Reminds me of https://getchip.com/pages/pocketchip which runs PICO-8.
rtpg 7 hours ago 0 replies      
I tried out this (and WifiBoy ) at Maker Faire Tokyo a couple months back. It's pretty neat tech, but a bit limiting.

Ive found PICO-8 to be just limiting enough to still offer excellent games, but this seems a bit more gadgety.

Tbh the killer features with any of these retro consoles would be to have a good button feel. The buttons used on these are usually pretty weak. I would be much more excited with a system with a GBA d-pad and buttons.

That and maybe something a bit more powerful than an Arduino. The magic of PICO-8 with Lua is that your first lines of code are about the game, not memory book keeping.

dleslie 10 hours ago 2 replies      
Why this over the CHIP, or even an actual GameBoy with a flash cart?
tonmoy 9 hours ago 1 reply      
$49 seems very expensive. I could get an android device and start learning "programming" by making android games instead for the same cost.
keanutah 9 hours ago 0 replies      
I own one of these, and have written a game for it. Definitely a good bit of fun, and the hardware quality is pretty solid.
brilliantcode 8 hours ago 0 replies      
I was a bit taken back by it's pricing of $49 USD.

That's almost 70 Canadian dollars. I was expecting something around $19 USD.

In all it's shape or form, this is a great idea, credit card sized handheld gaming, can be put forgotten until you realize your phone is out of battery, and you suddenly have nothing to do. Also, I just love the small screen with it's tiny controllers, I can see myself playing Pokemon Blue on it.

sturmeh 4 hours ago 0 replies      
It's pretty awesome (have 2 from Kickstarter) but I don't see the appeal for anybody but a developer.
hoodoof 10 hours ago 1 reply      
This is what the BBC microbit should have been.
83457 9 hours ago 0 replies      
Reminds me of the Dreamcast VMU. If some cool little games I'd get it for a lower price.
brink 10 hours ago 1 reply      
If only this had bluetooth / WiFi in it. I think it would have made a wonderful IoT controller.

Oh well... missed opportunity.

pryelluw 5 hours ago 0 replies      
Site is offline. Any relevant links?
developer12 8 hours ago 1 reply      
Have one of these and love it. Game creating community is big and only getting bigger. Its very small but its fun watching what people create within its limitations. Recently had a friend order one with a free shipping coupon NOVEMBER2016.
revelation 9 hours ago 1 reply      
Such a shame it contains an actual ATmega..

I agree with others that you probably don't want another embedded Linux, but a M0 or M3 would have been nice.

desireco42 10 hours ago 2 replies      
This is device in search of application. Shame, I would totally buy one if they could show me good use-case.

Obviously, I would be overjoyed to be proven wrong.

oftenwrong 9 hours ago 1 reply      
Better headline:

"Arduboy, the game system the size of a credit card"

smnplk 10 hours ago 0 replies      
Dear Santa...
Show HN: React Native Express Learn React Native Through Interactive Examples reactnativeexpress.com
434 points by dabbott  15 hours ago   48 comments top 16
hackcrafter 12 hours ago 3 replies      
Q: Should one get familiar/experienced with React[0][1] first before jumping into React Native dev?

Or is this tutorial sufficiently stand-alone without React (web) experience?

[0] http://survivejs.com/react/introduction/

[1] https://online.reacttraining.com/p/reactjsfundamentals

primitivesuave 9 hours ago 0 replies      
This is the gold standard for online tutorials - concise explanations, interactive code, and a well-thought-out flow. Really appreciate you taking the time to produce such a high quality resource.
jblz 11 hours ago 1 reply      
This is really well done. I'm fairly familiar with React & was able to pick this up around Section 3 "Core Components" [0] & feel like I could be decently productive with React Native.

Thanks for sharing your work!

[0] http://www.reactnativeexpress.com/core_components

brentvatne 14 hours ago 2 replies      
This is the best way to get started learning React Native, really amazing work Devin!
p0larboy 2 hours ago 0 replies      
I built a personal finance app using RN - https://www.titmiceapp.com/. I had some prior React.js knowledge but rest assured as long as you have javascript experience, you can do without it.

The biggest pain point so far is adding analytics but otherwise, everything is pretty smooth sailing.

Also I come from a web developer background, so structuring layout isn't too unfamiliar. AMA if you have any qns. I'm looking to pour all these experiences into a blog post before my next distraction comes and terrorizes my short-term memories

HodGreeley 11 hours ago 1 reply      
Hod @ Couchbase. Looks like an excellent tutorial. I understand you have limited time, and this is providing a great resource to the community. I'd ask, if you have the chance, to take a look at Couchbase Mobile. I'm of course biased, but I think I can legitimately claim that Couchbase is on par with Realm (as evidenced by business critical apps using it in large scale deployments). Happy to chat about it (hod@couchbase).
WhitneyLand 11 hours ago 2 replies      
Can anyone give pros/cons of RN vs Native in a nutshell?

I'm already familiar with native coding, but not sure how much better RN is than say PhoneGap.

pbrb 14 hours ago 1 reply      
The sections with ES6 vs output compiled with babel is amazing. Javascript really has come a long way.
disposablename 11 hours ago 1 reply      
Doesn't work at all on IE11/Win7, blank page, errors

 SCRIPT438: Object doesn't support property or method 'findIndex' File: bundle.js, Line: 2, Column: 26381

RubenSandwich 14 hours ago 2 replies      
Small nit pick. Realm does not use the "underlying SQLite database" as listed here: http://www.reactnativeexpress.com/persistence. Realm is built from scratch as an append only database, see here: https://realm.io/products/realm-mobile-database/ and here: https://github.com/realm/realm-core.
danpalmer 11 hours ago 1 reply      
Quick feedback: the first code example on http://www.reactnativeexpress.com/redux defines the action types in an object, but then never uses the definitions, instead just hard-coding strings. Would be good to fix.
KeatonDunsford 10 hours ago 0 replies      
Omg perfect timing. I was just looking for something like this. Y'all are the best.
misiti3780 14 hours ago 2 replies      
This looks pretty useful!

Question - is it possible to make a third-party keyboard in react native currently (the kind you download an install from the app store)?

phaed 13 hours ago 2 replies      
FYI Array Spread section is missing the example.
chownation 11 hours ago 0 replies      
Keep up the great work! Upvoted ;)
therealmatt 13 hours ago 0 replies      
Amazing work!
Neutralize ME Firmware on SandyBridge and IvyBridge Platforms hardenedlinux.org
279 points by madars  14 hours ago   61 comments top 12
sounds 12 hours ago 3 replies      
This appears to be a legitimate ME neutralization.

The ME is purportedly placed in "recovery" mode:

 According to Nicola Corna, the current ME state should have been changed from normal to recovery.
Since the MEI interface is disabled (not visible from a PCI bus scan), there is no way to activate the ME at runtime, even after a full system compromise. It would still be possible to rewrite the BIOS flash chip with a new ME image, but the system would need to be restarted before the ME would read the changes.

I don't speak for the FSF, but it sounds like this is as close to an FSF RYF certification as any Intel CPU is going to get. FSF approval of a device requires that all user-modifiable software be Free Software. Previously, no recent Intel CPUs could be FSF certified as "RYF" because the ME chip would shut the system down after 30 minutes. (Side note: no recent Intel CPUs can be considered "stable" without microcode updates which also violate the FSF's RYF guidelines.)

[1] http://www.fsf.org/resources/hw/endorsement/respects-your-fr...

twr 3 hours ago 0 replies      
I succeeded at doing this to an old Asus Z68 motherboard. Steps:

 flashrom -p internal -r bios.rom ifdtool -x bios.rom python3 me_cleaner.py flashregion_2_intel_me.bin python2 dump_me.py flashregion_2_intel_me.bin -x python2 me_sigcheck.py FTPR_part.bin ifdtool -i ME:flashregion_2_intel_me.bin bios.rom exit # Skip this line if you're okay with bricking your motherboard. flashrom -p internal -w bios.rom.new
`lspci | grep -i mei` and `lsmod | grep mei` are now empty.


 ME: FW Partition Table : OK ME: Bringup Loader Failure : NO ME: Firmware Init Complete : NO ME: Manufacturing Mode : NO ME: Boot Options Present : NO ME: Update In Progress : NO ME: Current Working State : Initializing ME: Current Operation State : Bring up ME: Current Operation Mode : Normal ME: Error Code : Debug Failure ME: Progress Phase : BUP Phase ME: Power Management Event : Pseudo-global reset ME: Progress Phase State : 0x3b ... ME has a broken implementation on your board with this BIOS ME: failed to become ready
It took a hard reset to re-enable integrated ethernet.


snvzz 12 hours ago 4 replies      
The ridiculous shit that needs to be done just to rid of some blob.

RISC-V can't take the market over fast enough.

phantom_oracle 11 hours ago 2 replies      
Has Intel ever commented about this issue of removing ME?

Surely, at least 1 Intel staffer reads HN and they must have discussed this internally.

Unless they just brush this off as negligible (a couple thousand paranoid/"extremist" users) ?

kevin_b_er 11 hours ago 1 reply      
rootkit is defined by google search as "a set of software tools that enable an unauthorized user to gain control of a computer system without being detected."

* A set of software tools: Check

* Unauthorized user: Check Caveat: user is not authorized by you, but by someone else (Intel)

* Gain control of a computer system without being detected. Can access your machine while it appears to be "powered off" but plugged in. Has full access to RAM. Can draw undetected on top of screen. Can read screen. Check.

So. Does this qualify the Management Engine as a rootkit? It meets the definition. Just because the rootkit is installed by the manufacturer doesn't make it less of one.

WhitneyLand 11 hours ago 0 replies      
Beautiful work. Standing offer to buy dinner for any of the contributors if they come through Dallas.
bsharitt 11 hours ago 2 replies      
As a potential backdoor with access to a computer with compromising the OS, how much is ME neutralized by just not using the integrated NIC and instead using a PCI-E or USB NIC?
spikengineer 3 hours ago 0 replies      
Any research on how to disable AMD PSP.
Puts 10 hours ago 1 reply      
What happened to VIA and their x86 CPUs and mini-itx platform people used to build media PCs on? Wouldn't that be a viable option if you really want to avoid ME?
gwu78 10 hours ago 0 replies      
Seems like the BBB is more versatile than the x220. Not to mention it has no ME.

+1 for the use of ifdtool.

tedunangst 11 hours ago 2 replies      
What if I like using the integrated NIC?
yuhong 11 hours ago 0 replies      
I think the most important lesson is that the arms race against laptop theft is ridiculous.
Stanford Degrees in Statistics docs.google.com
146 points by wyldfire  10 hours ago   26 comments top 6
ktamura 6 hours ago 2 replies      
I'm still amused/saddened by how little theoretical work you need to do at Stanford to get a statistics BS (they call it Mathematical & Computational Science). I get it: you don't need a rigorous foundation of math to be useful as a workaday "data scientist". That said, university is probably the last time you get to indulge/immerse yourself in deep, rigorous, mathematical thinking. Not requiring students to take theoretical courses is such a pity.

In hindsight, I am glad that I studied math at Stanford (also I ended up doing something completely different: marketing). It pushed me to think deeply and patiently about a problem at length and taught me how to mix intuition with analytic rigor.

I believe it was Paul Graham who said that math was one of the better subjects to pursue in school because it's one of the most difficult. I kind of agree with pg on this one: I was nowhere near the top of my math classes, but whenever I took theoretical CS or stats classes, I found them shockingly easy and did well with much less effort.

tbatchelli 9 hours ago 4 replies      
This is very helpful to me, and I bet to many that want to get into Data Science the right way. A big "thank you" to whoever put this together.

What are we looking here for someone that wants to learn all this while keeping a full-time job? 3 years?

sharmi 3 hours ago 0 replies      
What do the units specified against each course signify? They do not seem to map to the syllabus.
rohkes 2 hours ago 0 replies      
Thanks for this, but is there any way I can download the spreadsheet.
spiritusmundi 6 hours ago 1 reply      
Huge thank you!
joelbondurant 2 hours ago 0 replies      
Statistics = Science - Mathematics - Science
SeaHash: A fast, portable hash function in Rust docs.rs
154 points by pcwalton  12 hours ago   97 comments top 8
aappleby 10 hours ago 3 replies      
Looks like a pretty straightforward 64-bit block hash unrolled 4 times. I'd prefer a bit more assymetry in the diffuse() method, but since it passes SMHasher it's probably OK.

I wonder how the Rust version compares with plain-jane C.

-Austin (murmurhash guy).

aleyan 11 hours ago 9 replies      
This is is not a knock against SeaHash, but I was looking at buffer.rs [0] and noticed pretty much all the code is wrapped in unsafe {} blocks. How much advantage is there to rust implementation vs c++ if unsafe is used so liberally? I ask this in ernest.

[0] https://docs.rs/crate/seahash/2.0.0/source/src/buffer.rs

sp332 11 hours ago 2 replies      
I was trying to figure out how this is so much faster than FNV https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo... Is it only because of the parallelism? Or are the operations really that much cheaper somehow?
tibbe 7 hours ago 0 replies      
How does it perform on short strings (e.g. <= 16 bytes)? We've seen several new hash functions lately with great throughput numbers, but unfortunately they often end up being slower than FNV when used e.g. on keys in hash maps, which are often short strings.
nullnilvoid 11 hours ago 2 replies      
Great to see another piece of code written in Rust. That said, how do you make claims of something being blazingly fast without any comparisons to implementations in other languages such as C or C++?
Dylan16807 10 hours ago 0 replies      
I was unsure how to read the diffusion function's description, so I went to the source.

The first line, "x x 32", might have a typo? It's actually assigning (x XOR (x >> 32)).

With "x px", p is a fixed prime number being multiplied by x.

eridius 11 hours ago 0 replies      
Very cool!

BTW, the hyperlink for "reference" in the "Specification" section is broken.

jedisct1 12 hours ago 2 replies      
Great. But keep in mind that this is not a keyed hash function.
Scientists find way to make water freeze at boiling temperatures newatlas.com
16 points by futureguy  3 hours ago   3 comments top 3
james_a_craig 53 minutes ago 0 replies      
I wonder if the forced phase-change the confinement causes applies to other contexts? Could we use a similar trick to force superconductive materials into their low-temperature superconductive phase at higher temperatures?
soperj 1 hour ago 0 replies      
This reminds me of an experiment my physics teacher did in gr.12. The way he explained it was that water would boil when there was a temperature delta, so he boiled some water in a test tube, to eliminate most of the air in the tube, and then plugged it and removed it from the heat. Let it cool down and then put it on ice. It looked like full rolling boil. I've never tried it again since.
CECPQ1 results imperialviolet.org
48 points by arkadiyt  7 hours ago   2 comments top 2
Panino 2 hours ago 0 replies      
Thank you for doing this experiment!

> [W]e did not find any unexpected impediment to deploying something like NewHope. There were no reported problems caused by enabling it.

It's great to have this data.

Minor question: I assume CECPQ1 stands for something like Concatenated Elliptic Curve w/ Post-Quantum #1, right?

Bigger question: will there be a CECPQ2 experiment? I really hope so! Based on how CECPQ1 was constructed (X25519+Newhope), and how this experiment was executed, I'd love to see Google continue playing an active role in PQ experimentation.

problems 2 hours ago 0 replies      
Holy shit, this is potentially huge.

Any good "Cryptography Engineering"-style post on this NewHope algorithm explaining what it does and its limitations? Any reason not to get excited about this being done in a practical application?

Thought as a Technology cognitivemedium.com
98 points by chewxy  9 hours ago   17 comments top 7
westoncb 4 hours ago 0 replies      
Part of this reminds me of a project idea I've had in the past: figuring out how to teach people an 'abstract visual relationship' language. I'll quote from the article:

> ... he immediately responded that when he taught algebra courses, if he was discussing cyclic subgroups of a group, he had a mental image of group elements breaking into a formation organized into circular groups.

Jacque Hadamard once conducted a study of how mathematicians approach their work, which can still be found in a book called "The Psychology of Invention in the Mathematical Field". Here's an excerpt:

> Indeed, every mathematical research compels me to build such a schema, which is always and must be of a vague character, so as not to be deceptive. I shall give a less elementary example from my first researches (my thesis). I had to consider a sum of an infinite number of terms, intending to valuate its order of magnitude. In that case, there is a group of terms which chances to be predominant, all others having a negligible influence. Now, when I think of that question, I see not the formula itself, but the place it would take if written: a kind of ribbon, which is thicker or darker at the place corresponding to the possibly important terms; or (at other moments), I see something like a formula, but by no means a legible one, as I should see it (being strongly long-sighted) if I had no eye-glasses on, which letters seeming rather more apparent (though still not legible) at the place which is supposed to be the important one.

It seems to me that this is a surprisingly common approach to dealing with highly abstract subject matter. I first noticed myself doing it while reading Structure of Scientific Revolutions and later used it intentionally in working on math and CS stuff.

My experience with it so far leads me to believe it can be taught/strengthened. I've written a much more in depth essay on this in the past, but it's fairly unfinished. I still wonder about it though...

joelg 5 hours ago 1 reply      
I think there's a subtle danger to "cognitive outsourcing", or at least an important distinction to be aware of. "Cognitive outsourcing" works like an oracle, but many of our best tools work more like bicycles: very direct, very fluid, very analog, with continuous feedback that helps us build an constructive intuition. Bicycles extend the range of what a human can do; oracles do something that a human tells them to do.

Sometimes this difference is a function of how information is displayed and how it reacts to the user. Terminals and REPLs are inherently oracles; spreadsheets connect our fingertips directly to raw information.

Other times its just a difference in the conceptual model that users construct. Some people think of Google as an oracle ("what is the weather like?"); others as a bicycle ("weather"). Those who bicycle around Google arent just better at Googling; they have a fundamentally different view of what they're doing.

This isnt to say that oracles are inherently wrong or that bicycles are always better, but theres a huge difference between truly augmenting a human and merely interfacing with one. Its important to know which idea is appropriate for any given problem space.

(most of this comment was ripped from here: http://joelgustafson.com/ideas/2016/08/25/oracles-and-bicycl...)

(see also http://mental.bike, which I don't know why I own)

Animats 8 hours ago 1 reply      
This is interesting, but combines about five ideas. Expanding any one of those would be useful. The notion of a "transformative interface" seems to combine two concepts - "Wow factor" and "representation that yields insight". Those are different. The latter is more useful (but the former is more profitable.) Feynman diagrams come to mind.

Sussman's talk on how to think about circuits is here.[1] Here are the slides.[2] The video shows Sussman's talking head and him pointing at an off-screen display of the slides, which is not too helpful.

[1] https://www.infoq.com/presentations/We-Really-Dont-Know-How-...[2] http://web.mit.edu/xtalks/Sussman-xTalk-3-2-16.pdf

bcheung 7 hours ago 1 reply      
One things that I think would enable the kind of thinking necessary to come up with new interfaces for exposing concepts is to have a library of existing patterns.

I have seen various books and resources that come close (Edward Tufte books for example) but I think there could be much more work done.

There seem to be quite a few books on mechanical motion that are basically an encyclopedia of patterns that can be used to create new devices but I haven't really seen much type of this work done for computer interfaces.

If anyone has any good references please share.

eddieone 2 hours ago 0 replies      
Imagining is the easy part if you ask me. What would you do, if you could program your own mind? My first app would probably be some more manual control over the body. Sure would be nice to have a 75 bpm in a stressful situation.
tannerc 8 hours ago 1 reply      
Interesting insights. There's a lot to unpack here, but ultimately it boils down to working with, and creating, a "bicycle for the mind." The computer is one such example of such a technology, but so are the software programs it runs, as are art forms and language.
6 hours ago 6 hours ago 1 reply      
Neuroscientists Wirelessly Control the Brain of a Scampering Lab Mouse ieee.org
47 points by aaronyy  7 hours ago   24 comments top 5
sethbannon 5 hours ago 3 replies      
If you look more than 50 years into the past, to any civilization on earth, there are a number of behaviors and norms that were totally acceptable to the people of the time that modern man/woman would consider morally repugnant. Not allowing gays to marry, not allowing people of different races to marry, not allowing women to vote, slavery, ritual sacrifice, etc. It follows then, that there are likely things we view as morally OK that future generations of humans will condemn us for. It's a healthy exercise to imagine what those things might be.

Reading about this research makes me think that this sort of animal experimentation will certainly be one of those things.

nacc 5 hours ago 1 reply      
There is also the roboroach if you want to have a taste of this on your hand, with a cockroach. https://backyardbrains.com/products/roboroach

In the neuroscience conference they also showed a DIY optogenetic fruitfly kit, but it's a pity the channelrhodopsin transgenic fly is not available outside a neuroscience lab.

netsec_burn 6 hours ago 1 reply      
I can't help but feel sorry for the mice, I can't imagine what it would be like to not have control of your limbs. I understand the purpose is the opposite, however.
return0 5 hours ago 0 replies      
Impressive, however nature itself is even more impressive http://www.scholarpedia.org/article/Neuroethology_of_Parasit...
dkarapetyan 5 hours ago 1 reply      
I understand this is valid science but at the same time I'm extremely creeped out. Seems to me like all these findings follow from some physics and chemistry and the mice didn't need to be implanted with these devices. Don't really see the point of making them go in circles either.
The Leduc ramjet scottlocklin.wordpress.com
32 points by LordFrith  4 hours ago   2 comments top 2
ragebol 19 minutes ago 0 replies      
Not sure whether the TIE fighter-like sound on the second movie clip [0] is edited in or that a nazi aircraft really did sound like an Empire spacecraft

[0] https://youtu.be/MvtxjSrImHw?t=41s

fernly 2 hours ago 0 replies      
Momentarily confused between a ramjet[1] and a valveless pulsejet[2] -- the latter are played with by many amateurs( e.g.[3]) producing amusing videos of their cherry-red glow and eardrum-piercing noise.

[1] https://en.wikipedia.org/wiki/Ramjet

[2] https://en.wikipedia.org/wiki/Valveless_pulsejet

[3] https://www.youtube.com/watch?v=8cR6bD57AKw

Theranos Sued for Alleged Fraud by Robertson Stephens Co-Founder Colman wsj.com
109 points by pinewurst  11 hours ago   58 comments top 7
Naritai 10 hours ago 2 replies      
So there have been several suits from investors / lenders at this point. I read earlier an interesting point that these suits are essentially Theranos' investors & bondholders for priority in the inevitable bankruptcy.

Because in a bankruptcy judgments are given priority over debt, if you holding Theranos' debt you can try to jump to the front of the line by suing for fraud (etc), in the hopes that you can get a judgement in your favor.

So the real takeaway is, it seems all these companies have concluded that bankruptcy is inevitable.

brilliantcode 10 hours ago 8 replies      
I think this exposes a great deal of how money and wealth concentrated at the top is flowing to people not based on merits but by their socioeconomic lineage.

Imagine that $15 million dollar invested in $50k USD increments into 300 startup ideas, the jobs that will be created, increased human capital and impact on their respective local economies, that are not there because of risk adversity (it still amazes me VCs would shun risk but still throw around "venture") towards people of lower class then them. For example, somebody coming straight out of university vs. the daughter of a CEO at a large company who also attends the same country_club/religious functions, suddenly looks like a safer bet.

It looks like a pretty hopeless situation for Theranos but it also exposes the crony capitalism that you'd find in other parts of the world with ease, with heavy hitters like Henry Kissinger (wtf) sitting on the board.

He will most likely never see that money again because he thought he was mitigating risk by piggybacking behind a powerful individual with powerful connections that's accessible by blood.

It's hard to feel any sympathy.

rezashirazian 5 hours ago 1 reply      
Is there a reason as to why this company is not dead yet?
JustSomeNobody 11 hours ago 1 reply      
It's going to be mighty interesting to see what all comes of Theranos and these suits.
thinkcomp 2 hours ago 0 replies      
arcaster 6 hours ago 0 replies      
The Theranos story seems to get darker by the week...
nafizh 2 hours ago 1 reply      
I hate these links to articles that are behind a pay wall. If people cannot read it, what's the point?
Probabilistic Data Structure Showdown: Cuckoo Filters vs. Bloom Filters fastforwardlabs.com
186 points by williamsmj  14 hours ago   39 comments top 10
kibwen 13 hours ago 4 replies      

 > Since its possible to hash multiple items to the same > indices, a membership test returns either false or maybe.
As someone who perpetually has trouble keeping the terminology of {false|no false} {positives|negatives} straight, I just wanted to remark that this is a very intuitive and straightforward way of explaining the guarantees of lookup in a Bloom filter.

saidajigumi 12 hours ago 1 reply      
For those who are new to Bloom filters, the article doesn't quite finish connecting the dots to a common use case:

Bloom filters give no false negatives but a controllable rate of false positives. If a Bloom filter indicates that an item has not been seen before, we can be certain thats the case; but if it indicates an item has been seen, its possible thats not the case (a false positive).

This style of probabilistic data structure can be used to achieve a significant speedup when the full test for set membership is very expensive. For example, run the test using the Bloom filter. A negative result can be taken as truth, while only positive results will have to be tested against the expensive algorithm to weed out false positives. Obviously, the expectation should be that negative results are far more common than positive results.

manish_gill 12 hours ago 3 replies      
The Cuckoo Hashing algorithm is quite fun. I've been reading quite a bit about probabilistic data structures like Bloom Filters, Cuckoo Filters, HLLs etc lately. Here's a paper where they're empirically compared to bloom filters of various types: https://www.cs.cmu.edu/~dga/papers/cuckoo-conext2014.pdf

> A single HyperLogLog++ structure, for example, can count up to 7.9 billion unique items using 2.56KB of memory with only a 1.65% error rate.

Incidentally, Redis has an implementation for HyperLogLogs that has an even smaller error rate of 0.83%, though it uses more memory if I recall correctly. :)

mgunlogson 8 hours ago 0 replies      
Hi there,I've wrestled with Cuckoo filters myself, so I took a look at your lib and there's a some things that stood out.

Fingerprint size- It allows fingerprints that are too short, basically less than 4 bits doesn't allow a reasonable fill capacity. The paper authors only hinted at this, but check out the fill capacity graphs on page 6. This could be why your inserts are slowing down around 80% level when in my experience it doesn't happen till around 93%.

Modulo bias - Your filter capacity code doesn't seem to round the filter size to a power of two. This is a simple fix, but without it your array indexes will be skewed by modulo bias, possibly badly if someone picks a nasty number.

Alternate bucket positions - Your code seems to do a full hash for calculating alternate bucket positions. I know the paper mentions this, but I haven't seen anyone actually doing it :). Its a lot faster to just XOR with a mixing constant. TBH that's what most libraries are doing... whether it's a good idea is debatable :).

Fingerprint zero corner case - I'm not that great at python, but I didn't see any special handling for the rare case that the hash fingerprint is zero. In most implementations zero means empty bucket, so this could violate the "no false negatives" aspect of the filter by making items rarely disappear when they were supposed to be inserted. Most implementations either just add one to it, but I prefer to re-hash with a salt.

No victim cache - Didn't look too much into it, but I didn't see a victim slot used in your code. This will cause problems when the first insert fails. The problem is, by the time the first insert actually fails, you've relocated a bunch of different fingerprints like 500 times. It becomes unclear which fingerprint you originally tried to insert, and you're left holding a dangling item from a random place in the filter that you cannot insert. This violates the "no false negatives" mantra. Even though the filter is full it shouldn't break by deleting a random item when the first insert fails. You either need to store this last item or figure out a way to unwind your insert attempts to be able to reject the item that originally failed to insert.

Check out my Java library if you want to see how I dealt with these things. Also I have a bunch of unit tests there that I either came up with or borrowed from other Cuckoo libs. Should be pretty easy to convert some of those to python :) .



ScottBurson 11 hours ago 1 reply      
> With the Cuckoo filter, we notice an insertion throughput increase of up to 85 percent as it fills up to 80 percent capacity

That's not a throughput increase, that's a throughput decrease. Throughput is operations per unit time, not time per operation.

taeric 12 hours ago 3 replies      
I maintain that if you want to think of how a bloom filter works, think of it as the front desk staff at an office building. You can ask a series of questions such as "Has anyone wearing a hat come in?" "Any exceptionally tall people?" etc... It won't help answer if Peter from accounting is there, but can help give a good indication if you know enough about him today.

Obviously, if this is not a correct way to think of it, I'm open for more correct ways.

blauditore 11 hours ago 2 replies      
There are two things I don't fully understand:

1. If an item in the Cuckoo filter needs to be moved, how does one know its other hash/location if only a fingerprint of the original item is stored (i.e. it can't be hashed again)?

2. [From the linked pdf] "Insertions are amortized O(1) with reasonably high probability." In case of a rehash, every item needs to be hashed and inserted again. This seems very expensive and impractical for data on Twitter scale, even if it only happens seldomly. Or are there any workarounds to mitigate this?

grogers 9 hours ago 1 reply      
Does anybody have an example of an application where you need the counting/deletion properties of a counting bloom filter or cuckoo filter over a normal bloom filter? If you do, how do you deal with the filter rejecting your writes because a bucket is full?

It seems like for most applications, silently degrading (instead of rejecting the insertion) when the bloom filter is above capacity is a super useful property.

pklausler 13 hours ago 2 replies      
If a writer doesn't know the difference between 'unique' and 'distinct', suspect their mathematics.
stonewhite 11 hours ago 0 replies      
The election memes apparently really got to me, I was confused to see the headline 'Cuck filter' for a moment in HN frontpage.
Huawei Boss Crashes; News Stories Disappear cambodiadaily.com
95 points by _coldfire  4 hours ago   23 comments top 7
jacknews 3 hours ago 2 replies      
Unfortunately this kind of hit-and-run is quite common in Cambodia.

Sometimes there is genuinely no way to find the perp, but a lot of the time, either the police are cowed into not really investigating too hard (when the perp turns out to be the son of a highish ranking government official, or wealthy business family, for example), or there is this kind of attempt to make things go away by paying-off the victims, police and anyone else necessary.

I would guess (but you never know) Huawei itself may have little involvement, other than providing the salary required to drive such an ostentatious vehicle, etc, in what is still a poor, developing (though thoroughly corrupt) nation (http://i46.photobucket.com/albums/f135/gavinmac/15181532_346...)

PeterStuer 20 minutes ago 1 reply      
In Belgium, a EU country, we even have a law that allows criminals to buy off their trial. It is highly controversial and recently it was exposed that the law was designer made to allow a caught Uzbek businessman to buy his way out of a tax-evasion conviction. It has even been used to buy of convictions of corruption.(Link in Dutchhttps://nl.wikipedia.org/wiki/Minnelijke_schikking )
Ericson2314 3 hours ago 0 replies      
This is a great example of the Ned for a free and adverbial press. It's also a good example of the need for independently run forums. Sadly both are under assault.

Also, I'm sure were this domestic that a returned-to-China Facebook would do the same thing.

jimjimjim 48 minutes ago 0 replies      
This sort of thing happens a lot in the world. With the internet people may think that all countries are the same but just with different languages and food but every country is really different.

my opinion on this story: some rich wanker tries to make problems go away with money and intimidation, not unusual. The worry is that there needs to be recognition and kudos for news sources that don't cave in.

chmod775 3 hours ago 2 replies      
Someone is going to get some first-hand experience with the Streisand effect [1]

[1] https://en.wikipedia.org/wiki/Streisand_effect

ncdr 3 hours ago 0 replies      
Bad PR is never bad PR ...
tmptmp 2 hours ago 0 replies      
This incidence underscores the importance of the Internet (neutral) and social media that is not a walled garden totally. Reddit, Telegram, Signal (HN to a lesser extent, due to its less popularity amongst general public) are good mechanisms to spread news which the mainstream media chooses to suppress due to reasons like corruption, pressure, political correctness.

In US also the mainstream media mainly sold out to Saudi money, tends to suppress news critical of Islam and the pseudo-liberal practice of intimidating any critique of the oppressive ideology of Islam in the name of racism, islamophobia and what-not.

If not for the Internet and social media, the ex-Muslims' voice would not been suppressed by the corrupt mainstream media. [1] [2]

[1] https://www.youtube.com/watch?v=xDIR3GhXszo[2] https://www.reddit.com/r/exmuslim/

       cached 29 November 2016 08:02:02 GMT