HNHacker News
TopNewBestAskShowJobs

H3g3m0n

119 karma · joined April 27, 2013

submissionscomments
H3g3m0n··on HiFive1: A RISC-V-based, Open-Source, Arduino-Compatible Development Kit
Is there really a need? Most serial protocols can really be considered 'open'.

For low bandwidth there is RS232/UART/JTAG. Then there is I²C/SPI for networked. I²C ranges from 100kbit/s to 2.3Mbit/s. And SPI goes to 10Mbps/30Mbps.

For higher bandwidth stuff there is whatever you want over USB, Bluetooth, 802.11BLAH Wifi. Etc... Afaik USB can be considered 'open', you might need to 'register' for a certification/vendor id/logo but from what I understand if you don't want those you don't need to bother. There are also http://pid.codes/ and other organisations that are giving away free pids.

There is the Wishbone bus. https://en.wikipedia.org/wiki/Wishbone_(computer_bus)

But that's got quite a few pins. It allows for on chip networking as well as external stuff. Also RapidIO (which has heaps of pins).

There is a RISC-V debugging standard, but I think that's protocol agnostic.

H3g3m0n··on HTC Vive Headset Nearing 100,000 Sales
You can put the other people in the VR experience too.

Google at IO/2016 showed some experiment with schools using cardboard where they raytraced where each student in a classroom was looking at. https://www.youtube.com/watch?v=UuceLtGjDWY

With full body tracking and depth cameras you could put 3d avatar bodies in.

Obviously the face would be obscured by the headset, but it's dark in a cinema and people are normally looking at the screen when watching TV at home. So it might actually end up being more social.

Even with just simple 3d positioning of the headset and input devices with a simple visual indicator is enough to get a sense of someone being present. Add a microphone and 3D spacial positioning of voices.

Of course the current generation of technology would make that hard and rare. Not too many people you know will buy a $1000 headset. Everyone would need to bring that and a fairly powerful computer to the one place.

Although physically being present in the same room isn't required.

H3g3m0n··on Yubico: Secure Hardware vs. Open Source
> They can allow users to achieve the same goals by distributing the device un-flashed

There is the possibility of the device being intercepted before it reaches you. Or before you have gotten around to locking it down. Or when you plug it into your (compromised) system to lock it down.

Since all communication is done over the USB port, the problem is that the firmware can be flashed with a backdoored firmware that appears to be normal/unflashed. One that can be flashable (by basically having a virtual machine/emulator that runs the flashed image), appears to get locked down when you go through any lockdown process (since you just end up locking down the VM). But still has the backdoor in place.

Firmware aside, people can modify the hardware too. Unless you crack open the device and inspect the internals (which many devices are designed to prevent). And even then a really sophisticated attack could replace the chips with identical looking ones. If you are using off the shelf ones then it wouldn't be that hard. They can also add an extra chip before the real one that intercepts the communication. Or maybe compromise the 'insecure' USB chip (if it's programmable).

With locked down hardware the manufacturer can bake private keys onto the chips and ensure that the official stuff checks the hardware by asking it to digitally sign something with a private key. But if the attacker has added their own chip between the USB and the legit chip, they can pass through the requests to the official chip.

TPM will do something like keep a running hash of all the instructions that are sent to the hardware and use the resulting has as part of the digital signature verification, but if you mirror the requests that doesn't help.

The next stage is to use the keys on the chip to encrypt all communication between the 'secure' chip. So any 'pirate' chip won't get anything useful.

Users could be allowed to 'bake' their own keys in, but that leaves us with the intercepted hardware problem. The attacker gets the hardware, installs fake firmware that appears to accept your custom key and preforms the encryption.

Personally I think worrying about security to that level is over kill even if your dealing with quite a bit of money. It would have to be quite an organised attack. They would have to gain physical access to the device, compromise it, return it unknown and then gain physical access again later. Requiring both physical and digital security skills.

That's much more work than just, stealing it or applying Rubber-hose cryptanalysis. Attackers can also compromise the system being used to access whatever.

H3g3m0n··on Tmux 1.9 released
Just spent half an hour trying to figure out why 256 color mode stopped working in Vim.

I'm blaming you =P

In all seriousness actually trying to get 256 colour mode auto detecting and working reliability across different xterms, tmux/screen, ssh and so on, without some hack that forces the 256 on even when it's not supported seems impossible :/

I added the following to my zshrc, which seems to have helped. Why don't these terminals report 256 color mode by default?

    if [ "$COLORTERM" == "yes" -a "$TERM" == "xterm" ]; then
       export TERM=xterm-256color
    fi
H3g3m0n··on Nvidia seeks peace with Linux, pledges help on open source driver
That is just how chip manufacturing works.

In theory you make 1 model of chip. You manufacture them. You test them. What clock speeds are they stable at. Are any of the cores faulty. Many (probably most) will have defects. Some of them will be duds and must be thrown The bits with the defects are switched off and resold as lower end hardware.

The common less powerful failure cases cost less and the rare more powerful successes cost more.

The high end stuff sells for more than the cost of manufacturing and the low end stuff goes for less. They offset each other.

So when people force a model of GPU to preform higher they are basically ignoring the Q.C. and are going to be dealing with undefined behaviour. Did the card get reduced just because it produced more heat at the higher levels (in which case a highend heatsint might counteract the issue) or because there is a core that returns faulty data.

That's only the theory though.

In reality it might be artificially screwed with to increase profits. Maybe there are many more successes than the desired price level matches. Maybe they are selling more cheaper stuff so they turn off the bits of the chips even though they passed the QC. There are only 2 companies selling gaming GPUs so there could be an artificial duopoly. Nvidia only have to be price competitive with AMD.

H3g3m0n··on Next for Nest: A Smoke Detector
The buttons are on the fucking ceiling and your 'stylus' is a broom.
H3g3m0n··on Less is exponentially more (2012)
I'm not an expert but in the gamedev domain, control over memory is fairly vital. It seems like it would be for lots of the other stuff C++ is used with too. In C++ I can allocate all my memory upfront in a pool since I know the exact size of my level, the number of objects and so on. Then use custom allocators/static for just about everything. When I make an object at runtime I can just snag preallocated space from the pool. With the ability to cast the pool's primitive data types to pointers I can even save on any need to index the blocks since I can use the unused memory to point to the next block of unused memory (although it's probably a minor optimization).

Go drops that control totally in favour of it's inbuilt garbage collector which the Go devs think they can just get right. That seems unlikely (the current implementation is apparently quite bad stop-the-world implementation).

Another issue that strikes me is library building. Afaik Go doesn't produce object that can be linked against by non-go stuff. C does this, it has a ABI.

This means I can write one library in C/C++ (and apparently Rust) and then have wrappers for just about every other programming language in existence. (Although C++ can make this painful with things like exceptions http://250bpm.com/blog:4 ).

It might be that Go's interfaces make it really useful for making Go libraries in, but some libraries need to be language agnostic as much as possible.

Many of the things Go initially solved over C++ are being chipped away too. I love reflection, it would be very useful for games, serialization and so on. C++ doesn't have it but there is a standards working group looking at it now, so we could see it in either C++14 in a year, or C++17 (probably with implementations before then). C++11 got threads and so on and there is a working group doing transactional memory, more threading stuff, networking and so on. So we could see something like Gorutines and Channels but still have access to low level things like raw memory barriers. C++ tooling is set to explode with what the clang people are up to.

Go seems great, but it does seem focused in the 'business' kind of domain. Maybe future versions could address some of the issues like the GC (either fixing it so it does meet the performance requirements, or allowing custom memory options, C# has the unsafe keyword for example).

EDIT: I note that Go might provide a package "unsafe" that could allow for some things like a custom GC but apparently would be hard to implement.

H3g3m0n··on Food expired? Don't be so quick to toss it
That might be fine for a carton of eggs or milk but most things now days have heaps of ingredients in them.

The problem with this is you have to know enough to be able to make that determination.

How long does a ingredient last, when in a specific type of container at a specific temperature (ie shelf vs refrigerated vs frozen), when prepared in a specific way (ie eaten raw, microwaved for a few minutes, cooked at a high temperature for an hour)? Now figure it out for every ingredient in the container. For all your food.

Some of them can be Food Additive E1424.

How does a specific preservative effect the life time of ingredients.

Even if I had a massive lookup table it would be a pain.

EDIT: Here in Australia "used by" indicates the health and safety: "use-by date, in relation to a package of food, means the date which signifies the end of the estimated period if stored in accordance with any stated storage conditions, after which the intact package of food should not be consumed because of health or safety reasons." http://www.comlaw.gov.au/Details/F2012C00762

We also have best befoure for quality. And baked on/for dates for bread.

H3g3m0n··on NIST reopens draft recommendation on random number generation for comment [pdf]
> applications tend to "borrow" the OS's, and no OS I know of uses a design taken directly from NIST.

Windows has support for it (although it's up to applications to choose to use it or not).

If it's part of a standard then it might be required by some organisations. For example other government/military agencies and people dealing with them. They could also look to pass laws to require corporations protect their customers private data using the standard. And just have people recommend the standard to everyone, after all was designed by NIST/NSA.

It's also likely to end up in software that wants to support those use cases which could have seen it filter out to other uses. And possibly hardware support.

If the potential for a backdoor hadn't been discovered people wouldn't have objected/noticed.

> Dual EC is very slow. Nobody would willingly use it.

Which leaves the question of why it would end up in the NIST standard if it's not very good.

Of course maybe they where just testing the waters.

H3g3m0n··on Stealth Wear, Coming to a Store Near You
It isn't going to be able to record without a battery...
H3g3m0n··on Moore's Law Dead by 2022, Expert Says
Moore's law only states that the number of transistors doubles for a specific size of silicon every 1.5 years.

When it does end, we will move onto other forms of computing, memristor based, graphene, photonic/optical, quantum (only really useful for some classes of problems), spintronics and such. Might have a bit of a dip off during the change over but then it will be business as usual.

We could start to see computers with more and more processors in them. The cost of producing a processor should continue to drop. Energy efficiency, (reduced heat) and cooling improved systems will keep being developed. So maybe we will end up with computers that are almost a solid mass of processors. That scalability isn't fantastic though, but it would work for maybe 10 years. Things like FPGA coprocessors could also help.

Finally we can look at breaking away from the current paradigms of computer science into esoteric things like biological/dna computing.

Most desktop systems are as fast as most people will ever need them. Remember now days all they are doing is opening a webbrowser and going to Facebook. The UI's keep getting more and more simplified.

Graphics in games is about the most demanding thing that happens on a desktop, which will likely keep going for some time until we have photo-realistic, realtime raytracing at retina DPIs on large screens, in 3D (maybe with voxels for some kind of future volumetric display).

H3g3m0n··on Google has lowered the price of the Nexus 4 by $100
I put mine facedown at night to stop the annoying blinking light. They are curved to prevent scratching.
H3g3m0n··on The vi editor causes brain damage [2007]
Wouldn't rm as part of GNU binutils, be more likely written in Emacs?
H3g3m0n··on Calibre version 1.0 released
Have a look at MusicBrainz Picard. They have a massive community database with audio fingerprinting.

It's not %100 though so you do have to do a quick verification that it got the right one (some tracks can end up on compilation discs). Normally a normal lookup is better/quicker than the fingerprinting.

https://musicbrainz.org/doc/MusicBrainz_Picard

H3g3m0n··on Hacked Feature Phone Can Block Other People’s Calls
I could see it being potentially being much worse. Some could buy a phone for every tower, set them up to wait for a trigger call that when received will cause then block every call in the country simultaneously. There are probably close to 200k towers in America so it would be fairly expensive and unlikely to get that many devices into place. Then again someone could just target the top 5 populated cities or if they coordinate it with a terrorist attack or if they are smart enough to know what the stock market would do...
H3g3m0n··on SQLite 3.8.0 Release with next-generation query planner
Charging for encryption now days is horrible. We should be encouraging devs to put encryption everywhere. It should be the default.

Personally I don't like it when projects mix money with opensource.

H3g3m0n··on I hate the Pumping Lemma
I think a worse programming example is when inheritance is taught.

It's always Car>Vehicle>Entity kind of structures, which actually sucks and in most cases composition should be done.

H3g3m0n··on Google confirms Java and OpenSSL crypto PRNG on Android are broken
> If you don't trust the hardware, then you've already lost, no matter what algorithmic construction you are using. How are you going to trust your random number generator if 1 + 1 = 2 except when it equals NSA?

You can verify the random number generator. If you know the algorithm and the seed values you can run it on multiple different platforms, or with a pen and paper and verify that the output is as expected and repeatable. If you have large amounts of entropy you are feeding into it, you can log it for testing purposes.

There are also apparently some EC based algorithms that can be used to fix or at lease reduce the impact of a compromised random number generator.

That might not protect against a active attack on your specific system by the NSA (they could send/embedded a magic packet that gives them total control over the CPU for example), might even be possible for it to happen on the NIC controller rather than the CPU if it has access to the system bus. At the least they could flip it into some kind of backdoor random number mode by embedding some extra data in a TLS handshake or whatever. But it should protect against widespread passive surveillance.

H3g3m0n··on Google confirms Java and OpenSSL crypto PRNG on Android are broken
Except if /dev/urandom is using a hardware based random number generator, then you have to trust that the hardware hasn't received some NSA alterations at some point during the design.

The NSA did design a random number generator that likely had a backdoor in it: https://en.wikipedia.org/wiki/Dual_EC_DRBG#Controversy).

Here's Bruce Schneier talking about it: https://www.schneier.com/blog/archives/2007/12/dual_ec_drbg_...

Also it's in Windows (although it's not used by default but userspace programs could rely on it). https://www.schneier.com/blog/archives/2007/12/dual_ec_drbg_...

It would be possible for the NSA to go to Intel and get them to put in something in their random number generator that would let them to basically break the encryption by massively reducing the keyspace if they have the secret key.

H3g3m0n··on SpaceX Grasshopper completes highest leap to date
I think they land things like Dragon, they have a concept Red Dragon capsule design.

But they would probably need to look at having some rockets on Mars, otherwise what happens if someone needs to return to Earth. Also they could reuse the capsules too.

H3g3m0n··on Bootstrap-switch
Which is exactly when websites want users confused.

I remember Real Player had a bunch of 'opt-in' email options, they where in a scroll box. By default the visible ones where unticked, but if you scrolled down there where pages of preticked ones.

H3g3m0n··on Lasers boost space communications
'Quantum communications' isn't a real thing outside of scifi (and generally the crappier kind).

It's sometimes (inaccurately) used to describe quantum entanglement (or quantum encryption) but it doesn't actually allow for the transfer of information.

It can be used for quantum encryption but the actual information transfer has to take place over a traditional medium. When you hear those stories about quantum teleportation and such that is generally what they are talking about.

H3g3m0n··on The Sun's Magnetic Field is about to Flip
Personally I prefer a humorless HN. A culture of humur on the internet devolves fairly quickly into 4chan themed cat pictures and nothing but funny pics.
H3g3m0n··on MIT Researchers: Printable Keys Make Mechanical Locks Insecure
It has been possible to produce dupes of keys for ages now the old fashioned way. 'Printable' keys is just adding novelty.

More of a concern is bump keys and the fact that Lockwood dominate the industry when they can be opened with 2 paperclips (although you do have to flatten them with a hammer). You can also get lockpicks and pickguns off the internet for under $20 delivered to your house.

H3g3m0n··on Show HN: This page will disappear in 10,000 views
I would hardly describe requiring people to spam as cool. More like fucking annoying. Also you have no idea what the content will be until you have propagated the spam, it could just be penis pills.
H3g3m0n··on OpenGL 4.4 is launched
That one probably took a lot longer as it was a complete rewrite to deal with the core profile. 4.3->4.4 would only have to add the 4.4 stuff in.

4.4 doesn't seem to be a major change. Only adding some buffer stuff, DX10 compatibility and mega-texturing.

H3g3m0n··on One Laptop Per Child launches XO tablet via Walmart
I wonder if it still has the mesh networking too.

They also totally ditched their OS.

This just seems like a stock tablet with some apps preinstalled. The device is a software/design project more than a hardware one now.

Also it seems like they are trying to push the content to the kids rather than letting them explore themselves. The problem with the content push is now you have to provide all the content. You have just created a replacement for a text book. They can still fire up a webbrowser or dig through layers to what they want but it's not the same.

Without a keyboard it is going to be massively less productive. Say goodbye to teaching them programming skills. Kids learning to program on a tablet will probably begin to hate the entire concept as they are fighting a sluggish interface. I love reading comics on my tablet, but I still use a keyboard/mouse device for browsing. A plug in keyboard might help but it isn't enough since its a hassle (Also will they be providing keyboards to students?)

I don't think they are going to be able to fire up a copy of GCC (I remember having a go at C++ when I was like 12, my main problem was getting a compiler and tutorials since I had no internets, now days it should be easy). I learned heaps with qbasic since that was just sitting on my system.

imho tablets are largely hype/marketing. They are a massive growth industry right now because it's a new market and everyone is trying to grab the market share but we aren't going to see desktops/laptops replaced, just augmented. The tablet market will likely die back when it has reached saturation. They have basically 'perfected' the tablet already. People won't really need to upgrade their current generation devices, they already have fast, smooth web browsing, gigs of ram, retina displays and so on. I don't see a new version of Android being released over the next 5 years that will no longer be compatible with the hardware out now (although manufactures might not release the updates for those devices) other then a few gimick hardware features things like NFC or that TV streaming stuff which will be desirable to some but not all. About the only thing would be more storage space which will also reach a point when its enough for most people. Then it will mainly be people replacing broken devices or just needing the latest. Maybe we will see a glassed free 3D display and then a retina version or it. Maybe they will make a transparent one.

In any case the XO project isn't supposed to be about making a product to sell. It seems like it's been taken over by designers.

Maybe for the XO-4, they will do something like a dockable tablet. With Ubuntu's Mir based Android hybrid. You would get the productivity of a keyboard and the power of a full desktop OS under the hood. They could also bring back their Sugar stuff.

H3g3m0n··on Making a better, prettier, more functional Windows Command Line
Cygwins not bad if you just want a shell. It does Xorg too, but it's not fantastic. The main problem is not all programs will work on it (no tmux, but screen is ok), or be in the repos (I actually made an attempt to get Arch's makepkg/pacman working on it, but quite a few deps wouldn't compile properly, gpgme failed tests for example).

I think it would be great to have a tightly integrated VM. There are some that allow you to open Linux X apps in a Windows desktop rather than confined to a VM Window.

Perhaps we could get a Wayland/Mir port for Windows. Run the VM in the background but have a full Linux desktop environment. Might need a shim layer or some remote desktop extensions.

H3g3m0n··on First Look at Next.Data.gov
I really, really hate those 'tile' layouts. And I don't think they are appropriate for this kind of site.

You are given absolutely no idea what order stuff is presented in. Even if they are in some kind of order the 'double sized' ones will throw you off. There's no way to browse or sort by things like date.

Tiles are okish for ethereal content (although personally I hate ethereal content too), but something like a database of datasets should have more structure to it. I'm not trying to 'discover' what data exists, I will likely have something specific I wish to look up.

Cant they just stick to a standard list?

Or why not take a page from file managers and let you choose the layout.

H3g3m0n··on SculptGL - A WebGL sculpting app
I'm running into issues. After a while it starts tearing holes in the sphere. Also the performance seems to die off. But I don't know much about 3D sculpting so maybe I'm abusing it.

Running on Chrome under Arch.

Page 1 of 2Next →