HNHacker News
TopNewBestAskShowJobs

plq

1,366 karma · joined April 2, 2010

github.com/plq ext-hn@burakarslan.com
submissionscomments
plq··on C++11/14 compiler and library shootout
"Safe" ? What do you mean?
plq··on Re: CVE-2014-6271 – remote code execution through bash
And I'd like to thank Gentoo developers for the usual very fast response they had towards this security advisory.

The moment I saw the news here, I ran to update my stuff -- the patch was already there, marked stable in the official gentoo repositories.

My impression is that they're following very closely the progression of this event and the relevant GLSA entries are being updated without any noticeable delays.

Thanks for running the show guys, you're true professionals!

Here's the relevant Gentoo Linux Security Advisory (GLSA) link: http://www.gentoo.org/security/en/glsa/glsa-201409-10.xml

plq··on Show HN: Pup – A command-line HTML parser
> It's way too much to ask of already overworked OS maintainers to handle all of the libraries of all of the development platforms

Not only that, but also different libraries can depend on "slightly" patched versions of the same library, making the kind of determinism an OS package manager needs completely impossible (or pointless, depending on who you're asking).

plq··on Hippie Daredevils Who Invented Mountain Biking
Are you sure about the rear suspension? Yes, it can save your wheel in some situations (which you should really be avoiding as an amateur), but %99 of the time it's unnecessery weight that also happens to eat some of the power that'd normally go to the wheel. (I'm not a competitive biker, mountain or otherwise, I'm just curious)
plq··on Conrod – A Rust GUI Library
I have mixed feelings about this.

On one hand, I'm enthused that Rust, arguably the only serious contender to C++'s throne, is gaining traction.

On the other hand, I'm scared that respectable projects like Qt (~6M lines of C++, man-millenia of work!) will be considered "obsolete" by the coming generation and another cyle of wheel reinvention will begin, tossing away man-centuries worth of polished, working code on the sole ground that it's C++.

It's not like C++ is going anywhere anytime soon, (Some serious infrastructure reportedly still runs on COBOL after all!) but what if we could finally settle down on a technology for a certain kind of problem and focus all our energy on building new stuff? Wouldn't that be grand?

I wonder whether there's another industry that keeps reinventing itself every 20 to 30 years and still gets away with it.

plq··on Show HN: Way.js – Simple, persistent, framework-agnostic two-way databinding
FWIW, with neurons, there's always the option to override markup generation on a field-by-field basis, so if you don't like the generated code for a certain part of the document, you can change it to your heart's content.

You'll even be able to pass templates down a certain object hierarchy, but that's further down the pipeline.

plq··on Show HN: Way.js – Simple, persistent, framework-agnostic two-way databinding
I've been working on something pretty similar, but on the server side. It's called 'Neurons', and it's a pre-alpha Python library. It's built on Spyne[3], an RPC framework which is another side project of mine that I've been working on for ~4 years now.

The aim with neurons initially is to let you generate a html form (e.g. [1]) and related services from just a model definition and an instance of this model (e.g. [2]), making it a breeze to publish CRUD pages. It currently handles complex stuff like dates, times, arrays and nested objects just fine.

In Spyne terms, that's "serializing a model instance using the HtmlForm protocol". The same object definition can be used to for other protocols like json as well as for persisting data to a relational database (via SQLAlchemy). You can play with the code generator at http://spyne.io to get a better feel about how it works.

One could even write a Spyne protocol that renders a given model instance to way.js code.

Help is welcome!

[1]: https://github.com/plq/neurons/blob/test_output/html/test_si...

[2]: https://github.com/plq/neurons/blob/fccab8fee4c1795f65ac3f9b...

[3]: http://spyne.io

plq··on Print this file, your printer will jam (2008)
Except this post wasn't "too long" at all.
plq··on Show HN: Aerobatic – Smart Hosting for Single Page Apps
Your anti-tracking addon (e.g. ghostery) is blocking google analytics. They're missing a simple try/catch block somewhere.
plq··on Remote Control Your Friends With Video App Sup
I'm starting to feel a real disconnect with what amuses teens nowadays. I guess I'm getting old ;)
plq··on ButterDB
ORM Stands for Object Relational Mapper. ORMS are software packages that map objects (class instances) to relational database tables (among other relational structures) and vice versa.

So maybe I'm nitpicking here but this project is not an ORM. There is no relational database here. Also it doesn't do joins, doesn't instrument attributes, makes no effort to convert object hierarchies to flat tables, etc, etc.

This is a (de)serialization library for google spreadsheets. Not much different from a CSV, XLS or even html table (de)serializer.

It's a nice hack though and certainly got its uses.

plq··on First stable release of Frameworks 5
Are these libraries at all portable? Do I have to be on Linux or KDE to make use of these? The feature set of eg Solid sounds very tricky to implement in a cross-platform way.
plq··on Sandstorm – Personal Cloud Platform
From my initial skimming of the source code, this is not just a web interface in front of the package manager of your favourite distro -- the apps need not be trusted and work isolated from the host operating system. But why not use docker instead of reinventing things like namespace instrumentation?

EDIT: Answering my own question: https://groups.google.com/forum/#!searchin/sandstorm-dev/doc...

plq··on How we got read access on Google’s production servers
For those who'd like to know more about xml-related attack vectors, here's a nice summary: https://pypi.python.org/pypi/defusedxml
plq··on PostgreSQL: Jsonb has committed
There were lengthy discussions about this in the [postgres] hackers mailing list and it turned out that, no, it wasn't.
plq··on Introducing Bing Code Search for C#
Visual Studio's Python and Ruby plugins seem quite decent and free if you're on VS Pro and up. You don't necessarily need to let VS go if you're to migrate to a language supported on more than one platform.
plq··on What Happens When You Drop A Magnet Inside A Copper Tube [video]
Another cool physics experiment: What happens when you wring out a wet cloth in space?

Here's the answer: http://youtube.com/watch?v=KFPvdNbftOY

plq··on Review: Dungeon Keeper (iOS)
What a complete waste of my time. The only thing that's to be seen here is a gif of a baby throwing money out the window. The text that briefly flashes away is just placeholder text:

    <p>Ad nesciunt next level gastropub. Before they sold out pariatur fixie, small batch quinoa chillwave selfies actuall 
    (...)
What's this doing in front page again?
plq··on Edward Snowden nominated for Nobel peace prize
> The only real news here is if he wins...

Nitpicking a bit maybe, but he obviously can't win without being nominated. So this is still news.

plq··on Ship crosses Northwest Passage, sails into history
As far as I know, they could only have used Iridium satellites for communications. All of the alternatives that I'm aware of have satellites on geostationary orbit, which makes it impossible to cover anywhere outside 80 degrees North and South, whereas Iridium has 75 (originally 77, one failed, another collided with a defunct Russian satellite) satellites on the polar LEO orbit that covers literally the whole earth.

Iridium constellation consists of LEO satellites which have an orbital period of less than two hours.

Trivia: Iridium is #77 in the periodic table.

plq··on Grand Theft Auto V Earns $800 Million in a Day
I wonder how much consoles are to blame for that. Big studios that have the power to drive PC upgrades produce mainly for decade-old hardware, which is just peanuts by the standards of today's PCs.
plq··on Grand Theft Auto V Earns $800 Million in a Day
> GTA V shares literally nothing with GTA IV

So they threw GTA IV out and did everything from scratch? I very much doubt it.

That said, we're talking about GTA here, the game that outdid itself with every single iteration. Why should we expect any less this time? I want to see what they'll come up with now that they have the power of PS4 behind them.

Rockstar Games is famous for a reason.

plq··on Google rebrand experiment
The result ends up communicating "infinity" not "global". And there's nothing infinite about Google, I'd say.
plq··on Grand Theft Auto V Earns $800 Million in a Day
I'm a big fan of the series, but I decided to sit this one out until a PS4 / GTA V bundle comes out -- The game doesn't seem to look any better than GTA IV on PS3 and I don't want to feel like I'm playing yet another GTA IV expansion pack for the coming years. (I just recently finished all three GTA IV story lines. I'm not a huge player anymore)

Another thing of note about why GTA IV looks so much better than GTA 3 is that GTAIV uses what's now called Euphoria from Natural Motion: http://www.naturalmotion.com/middleware/euphoria/ Its synthesized animation looks way more natural than the stitching together of hand-made animation and I'm actually surprised that it didn't take the character animation world by storm by now.

plq··on Mapping the World, one Tweet at a Time
Very fun to look at :) Though I'm not sure about what novel insights one might get from this work.

Also, I wonder why there's a nice rectangular cluster of tweets around Japan.

plq··on Linux Performance Measurements using vmstat
Also have a look at "dstat - versatile tool for generating system resource statistics".

It uses colors, so it's a bit easier to interpret at first sight.

It's a simple "emerge dstat" away in Gentoo.

plq··on Eve: A Python REST API Framework
Have a look at Spyne: http://spyne.io

Specifically: http://spyne.io/#s=sql&ser=Json&show=Data

plq··on Tagging in Rails 4 using PostgreSQL arrays
Many-to-many relationships come with their own overhead -- you use additional resources for foreign keys, indexes, etc.

If your data is seldom updated (or not that big), not used for database operations, and having it all in memory is fine, it can be better to use native arrays.

plq··on Tagging in Rails 4 using PostgreSQL arrays
Actually, you can get away pretty well with most cases of searching inside postgres arrays (including joins) thanks to partial indexes. This of course doesn't invalidate the point that if you need to perform relational operations on arrays, you need to rethink your database design.

AFAIK, the real tradeoff using arrays vs tables is that any update to the array (or other columns) completely rewrite it as Postgres uses MVCC.

plq··on ZeroMQ instead of HTTP, for internal services
In my experience, ZeroMQ is very fragile in RPC-like applications, especially because it tries to abstract away the "connection". This mindset is very appropriate when you're doing multicast (and ZeroMQ rocks when doing multicast), but for unicast, I actually want to detect a disconnection or a connection failure and handle it appropriately before my outgoing buffers are choked to death. So, I'd evaluate other alternatives before settling on ZeroMQ as a transport for internal RPC-type messaging.

If you are fine with having the whole message in memory before parsing (or sending) it (Http is not that bad when it comes to transferring huge documents over the network), writing raw MessagePack document to a regular TCP stream (or tucking it inside a UDP datagram) will do the trick just fine. MessagePack library does support parsing streams -- see e.g. its Python example in its homepage (http://msgpack.org).

Disclosure: I'm just a happy MessagePack (and sometimes ZeroMQ) user. I work on Spyne (http://spyne.io) so I just have experience with some of the most popular protocols out there.

← PreviousPage 10 of 13Next →