HNHacker News
TopNewBestAskShowJobs

jbaiter

759 karma · joined September 23, 2012

[ my public key: https://keybase.io/jbaiter; my proof: https://keybase.io/jbaiter/sigs/HEEy5nsGmL_m1SoMcnQYA1mpRbXwkvPRtl6aL0kmS-I ]
submissionscomments
jbaiter··on Ask HN: What are some examples of beautiful x86 assembly code?
I bought a nice little booklet of small x86 gems a few years back[1][2] and this one is my favorite:

  .loop:
      xadd     rax,rdx
      loop     .loop
Fibonacci with two instructions.

[1] https://www.amazon.com/dp/1502958082

[2] https://www.xorpd.net/pages/xchg_rax/snip_00.html

jbaiter··on What Libraries Can (Still) Do (2015)
I work as a developer at a German library and privacy is taken very seriously here. We're not allowed to store full IP addresses in the logs (they have to be truncated to /16). Google Analytics is out of the question (we have to use self-hosted Piwik), as are direct social media buttons, we have to use wrappers that only load the JS after a user clicks on it, and even that has to be approved by the "Datenschutzbeauftragter". Even external links have to be explicitly marked as such so users know when their Referral information is leaked to other websites.
jbaiter··on Ask HN: Who is hiring? (July 2016)
Bavarian State Library | Munich, Germany | Backend Developer | Full Time | Onsite

The Bavarian State Library has one of the largest digital library collections in Europe with currently more than 1 million digitzed volumes. We would like to further improve our backend services that support a number of applications that provide ways for our patrons to access our data. We contribute to Open Source where possible and are part of a number of world-wide collaborations in the digital library sector.

We are looking for a software developer with experience in the following areas:

- Java web development with Spring MVC

- Dealing with complex XML datasets

- at least one of PostgreSQL, Graph Databases (we're using Neo4J), search engines (Lucene/Solr), Natural Language Processing

The position full-time and initially limited to two years. Compensation is based on German TV-L guidelines at level E13 (which works out to ~44-63k€, depending on your experience), as are vacation days (30 for the year). We're located right in the centre of Munich (10 minutes to the Englische Garten).

Drop me a line (johannes.baiter@bsb-muenchen.de) if you want to know more about the position (I'm a developer on the team you'd be working in) or apply directly or the head of the digital library department (brantl@bsb-muenchen.de).

jbaiter··on Google Fonts Redesigned
Looks the same for me.

  * Firefox 47
  * Debian unstable
  * freetype 2.6.3
  * fontconfig 2.11
jbaiter··on Pillow-SIMD: improving the performance of image processing
This is a bit OT, but if you only care about downscaling, cropping and/or rotating JPEG images by multiples of 90 degrees, you might also want to take a look at jpegtran-cffi (https://github.com/jbaiter/jpegtran-cffi).

It does all of the above operations without decoding the image, giving a significant speed boost.

I just benchmarked it against pillow-smd on my laptop (SSE4 only) and it's 1.3-1.8x faster, depending on the operation.

jbaiter··on 36TB FreeNAS Home Server Build
I just put together a list from this post on pcpartspicker: http://pcpartpicker.com/p/9f3s99

It sums up to around $2600.

jbaiter··on Disque 1.0 RC1 is out
If you look at the last paragraph, it seems aphyr has been involved in the development:

> I was not alone during the past months, while hacking with Disque and trying to figure out how to shape it, I received the help of: [...] Kyle Kingsbury, [...] Redis Labs and Pivotal, and probably more people I’m not remembering right now. Thank you for your help.

jbaiter··on Elsevier Says Content-Mining Research Papers 'Could Be Considered' Stealing
Zotero is pretty decent and Open Source.
jbaiter··on Too many classic films remain buried in studios' vaults
I did not read the article, so I don't know if it was mentioned, but Warner actually has such a program: http://instant.warnerarchive.com/

Lots of non-restored films (mostly from VHS/TV captures) are also circulating on BitTorrent, there are a few invite-only places that specialize in that kind of thing.

jbaiter··on Towards Neural Network-based Reasoning
Can you explain what you mean with "Highway CNN"? It's the first time I've heard the term and Google doesn't help much either.
jbaiter··on Towards Neural Network-based Reasoning
Well, usually you have to write quite a lot of code to be able to answer such natural language questions.

For university I'm currently writing something similar (with Prolog), its basically a pipeline that goes something like this: (1) natural language -> (2) syntax tree -> (3) annotate syntax tree with logical (in my case, lambda) terms that represent the semantics -> (4) use semantics to query knowledge base.

(2) requires you to write a grammar, which is a lot of work, even for a very limited subset of your target language. (3) is even harder, for every term and grammatical construction that you want to be able to parse, you have to write rules that translate the semantics into something the computer understands. And (4) is quite time-consuming as well, since you have to translate your knowledge into something that the computer can understand (in my case, logical terms).

From what I can understand, this system allows you to skip (2), (3) and (4) i.e. you just feed the system your facts and questions and it will perform the reasoning by itself, no more hand-written rules. Basically, you feed it only natural language (easy to do, even for untrained people!) and it does the rest on its own. Which is a huge timesaver, obviously :-)

jbaiter··on Towards Neural Network-based Reasoning
It's right there in the paper, table 1, page 9.

  Task I: path finding
  1.The office is east of the hallway.
  2.The kitchen is north of the office.
  3.The garden is west of the bedroom.
  4.The office is west of the garden.
  5.The bathroom is north of the garden.
  How do you go from the kitchen to the garden?
  -> south, east, relies on 2 and 4
  How do you go from the office to the bathroom?
  -> east, north, relies on 4 and 5

  Task II: positional reasoning
  1.The triangle is above the pink rectangle.
  2.The blue square is to the left of the triangle.
  Is the pink rectangle to the right of the blue square?
  -> Yes, relies on 1 and 2
  Is the blue square below the pink rectangle?
  -> No, relies on 1 and 2
jbaiter··on SQLite Release 3.8.11.1
This sounds really intriguing, do you know of any open source implementations for other operating systems/programming languages?
jbaiter··on SQLBolt: Learn SQL with simple, interactive examples
This is great, I've been looking for a good introductory resource for SQL in a while!

One thing, though, there's a mistake in exercise 3. While it says "Find all the titles directed by John Lasseter", only a "SELECT * FROM movies" query will make it go green, while "SELECT title FROM movies" (as would be expected from the wording) does not.

Is this Open Source?

jbaiter··on German author Guenter Grass dies
I think you're mixing some things up here. He never worked for the Stasi, on the contrary, he was under their observation since 1961.[1]

He was, however, a member of the Nazi Waffen-SS in his youth, though he claims to never have fired a shot. The fact that he chose to make this public only very late in his life (and many years after he had receiced the Nobel prize) is what is really problematic, in my opinion.

[1] http://de.wikipedia.org/wiki/G%C3%BCnter_Grass#Beobachtung_d... (the English article doesn't mention it, hence the German version)

jbaiter··on An easier way to use Python's cProfile
I found that writing cProfile's profiling data to a file and analysing that with either RunSnakeRun's[1] or KCacheGrind's[2] GUI gave me much more insight than just the tabular display from cProfile. It gives you a really good visual overview of where your code spends its time and has a really good interface for drilling down into subroutines to pinpoint the exact location of the slow code.

[1] http://www.vrplumber.com/programming/runsnakerun/ [2] http://kcachegrind.sourceforge.net/html/Home.html

jbaiter··on Thousands of early English books released online to public by Bodleian Library
I know from a similar German project (http://www.deutschestextarchiv.de) and they have two independent non-German speakers transcribe the digital facsimiles to ensure that the transcriptions are as accurate as possible.
jbaiter··on Zimg – A lightweight and high-performance image storage and processing system
This looks great!

Just a suggestion, but I think you could boost the performance of simple JPEG transformations (crop, rotate by multiples of 90 degrees, transpose/transverse) by using the transformation facilities of libjpeg or libturbojpeg (which has a far nicer API). For scaling there is also epeg which works directly with the DCT coefficients.

I created a Python library that uses these APIs and it beats all ImageMagick-based solutions by an order of magnitude: https://github.com/jbaiter/jpegtran-cffi

jbaiter··on Extracting audio from visual information
Am I the only one who isn't getting any audio from the video at all? I tried in two different browsers, downloaded the video with youtube-dl and tried to play it with mpv, everything to no avail, it's just a video with no sound.
jbaiter··on Image Protection on the Web
Working for a major library that does a lot of digitization work for external partners like museums and art galleries, I deal with this a lot. Our solution usually involves (in addition to the obvious approaches mentioned in the beginning of the article) not sending out full-sized images but only tiles, severely rate-limiting the API (heavy users can contact us for an exception) and displaying a discreet watermark with the origin. It's very frustrating as a developer, especially given the fact that 90% of the material is public domain anyways...
jbaiter··on Videogrep: Automatic Supercuts with Python
Last time I did this (~2011} "Subtitle Editor"[1] was a pretty decent solution for *nix-based systems. On Windows, VisualSubSync[2] was all the rage, iirc.

[1] http://home.gna.org/subtitleeditor/ [2] http://www.visualsubsync.org/

jbaiter··on TagSpaces – Open-source personal data manager
Why is software licensed under the AGPL a no-go for you?
jbaiter··on Intel unveils tiny $99 MinnowBoard Max open single-board computer
For a cheap x86 NAS, you might want to look out for the Asrock Q1900DC which was presented at CeBit this year and is supposed to come out soon.

It has 4x2ghz Intel Celeron J1900, 4 SATA2 and 2 SATA3 ports and 19V DC input, so no more need for a bulky ATX power supply (though for a NAS you need to find a way to power those hard disks).

Judging from the prices that similarly specced boards are fetching (between 50-70€), this one should be below 100€ as well.

Here is a slide from the Asrock CeBit presentation with the specs: http://4.bp.blogspot.com/-1wOiaMWiiXw/Ux7HGzZAl6I/AAAAAAAAHQ...

jbaiter··on A Review of Her by Ray Kurzweil
Also, "kurzweilig" in German means "exciting", "highly engaging"
jbaiter··on SQLite vs MySQL vs PostgreSQL
Absolutely. Turning on Write-Ahead Logging, disabling synchronous writes and putting temporary tables in memory can help tremendously, especially in situations where there are lots of concurrent read/writes.
jbaiter··on Profiling Python with cProfile
Then you might really enjoy runsnakerun: http://www.vrplumber.com/programming/runsnakerun/
jbaiter··on A Celery-like Python Task Queue in 55 Lines of Code
Are there any non-distributed task queues for Python? I need something like this for a tiny web application that just needs a queue for background tasks that is persisted, so tasks can resume in case the application crashes/restarts. Installing Redis or even ZeroMQ seems kind of excessive to me, given that the application runs on a Raspberry Pi and serves maximum 5 users at a time.
jbaiter··on No neutral ground in a burning world
maybe by having attended the actual talk at 30c3 on friday?
jbaiter··on The most Kafkaesque paragraph from today’s NSA ruling
Yesterday in a talk at 30C3, a historian discussed article 10 of the German 'Grundgesetz' (our constitution) whose logic is similar and which reads as follows:

> (1) The privacy of correspondence, posts and telecommunications shall be inviolable.

> (2) Restrictions may be ordered only pursuant to a law. If the restriction serves to protect the free democratic basic order or the existence or security of the Federation or of a Land, the law may provide that the person affected shall not be informed of the restriction and that recourse to the courts shall be replaced by a review of the case by agencies and auxiliary agencies appointed by the legislature.[1]

The logic sounds alike to me: Victims cannot know that they are being surveilled, and should they, under some circumstances obtain knowledge of the fact, take any real legal recourse against it. Fun fact: That article was imposed by the US.[2]

[1] http://www.gesetze-im-internet.de/englisch_gg/englisch_gg.ht...

[2] http://de.wikipedia.org/wiki/Deutsche_Notstandsgesetze (sorry, the English article doesn't cite any sources)

jbaiter··on Tried CSS hands on today, the result is this.
I suggest you take those down immediately... You're infringing on the copyright of over a thousand authors right now. Might give people the wrong impression of you...
← PreviousPage 3 of 4Next →