HN user

Shamanmuni

386 karma
Posts1
Comments139
View on HN

I suppose you're talking about OWL. The thing is most programmers look at OWL, see the words class and property and immediately think that it's OOP, that they don't have to look more into it and it has the same problems.

But OWL is not based on OOP, it's based on Description Logic, which is a much more powerful abstraction than OOP and it let's you easily represent things which are very hard with something like Java. OWL includes the concept of complex class, in which you define the logical constraints of the class and then it is inferred automatically by a reasoner. This means that you can build really complex multidimensional hierarchies pretty easily.

For example, you can solve the circle/ellipse this way: the class circle is a complex class which is the intersection of the class ellipse and the class of two dimensional geometric shapes in which both major and minor axis have the same length. Any object that satisfies those constraints is a circle!

About the greek problem: you have to declare that the human class and the complex class which results from the intersection of the class two-legged animal and featherless animal are equivalent. It means that every human is two-legged featherless animal and viceversa.

You can even declare equivalences between ontologies, which lets you build conceptual bridges.

OWL has problems related with the maturity and performance of its implementations, and it remains to be seen if it's possible to treat the web as a gigantic Prolog program, but its conceptual model is powerful and sound.

Yes, picadas (which means chopped in Spanish) are pretty common in Argentina and people usually drink beer with them. You can order them at pubs and they are something standard in social gatherings.

But I think mezze includes more elaborated food; the typical picada includes cheese, cold cuts, olives, peanuts, bread, snack food and that's it. The things served are more similar to the italian antipasto, but the way of serving them (many small dishes distributed over the table) resembles the mezze.

Maybe I'm missing something, but asado de tira is one of the two most common cuts in Argentina's parrillas, the other one is vacío (flank steak). It's so common that you can just order "asado" and you will get that.

That's probably right, Fernet with Coke is a kind of national drink, especially in the province of Córdoba, where everything suggests it was invented.

If you order a Fernet in Argentina, it is assumed that it includes Coke. Nobody that I know of drinks it alone, and it sounds weird to us to do that.

In the movie "The Dark Knight Rises" there's a scene in which Alfred goes to Florence and drinks Fernet Branca alone. The comment from many Argentinians was "What? No Coke? That's gross!".

I try to be as cautious as any free software loving programmer when it comes to Microsoft, but it's hard to see how they could get away with that strategy in TypeScript's case. The code uses the Apache License 2.0 (FSF approved, OSI approved and compatible with GPL v3) and it's been on github for a year with lots of forks.

You don't need to depend on anything from Microsoft for development, I've toyed with TypeScript using Node.js and Eclipse on Linux without issues. And as stated before TypeScript compiles directly to Javascript and they are trying to align their syntax with ES6.

Seems quite kosher. I think at this point if Microsoft tried something shady a community fork is very doable, or if it doesn't happen you can always compile to plain JS and continue working there.

It's really different from the situation you describe because developers and users won't tolerate a MS JS that only works with MS browsers, they have to remain compatible with the others or risk irrelevance.

No, the AGPL uses strong copyleft, so any future derivative work must be released under the same terms (and the same license or later versions if I'm not mistaken). The only possibility is to start a closed source clone that doesn't use any of the original code from zero.

The cases in which the community forks a project licensed with a copyleft license (like LibreOffice) has to do with insatisfaction with the direction in which the company that owns the original trademarks is leading said project. There's no risk of closing the source code.

I don't know about the JVM, but what you mention about MySQL has to do not strictly with the GPL but with it being dual licensed (GPL and propietary) and as a result many Linux distributions like Red Hat, OpenSUSE, Fedora and Arch decided to make MariaDB -which is only GPL, compatible with MySQL and has more features- the default and it's readily available in most -if not all- distros, Windows and Mac OS X. So I would take the part of "competitors always a step behind you" with a very big grain of salt.

But that's perfectly OK and working as intended. I mean, if you want to distribute a closed source product, then you're working against what the FSF and GPL were created for, and it's wise to stay away from them. Remember, free software doesn't measure its success by the number of corporations that choose their code to use in closed source products, but by the amount of freedom it gives to its users (not just the developers). Having corporations use GPL code in their products is great but not the main objective.

You have some guarantees of access to the present source code (and as jdjb points out, not necessarily), but you're certainly not guaranteed access to changes made in the future by that or other parties like the GPL does. That's the whole point of copyleft and why I prefer it, I don't want to worry if I'll be able to access the features and fixes that will be made by others or if I will be left in the dust. And fair's fair, if you benefited from the work made by others then it's only fair to them to benefit from yours.

Maybe I'm mistaken, but I have the feeling that many -of course, not all and I'm not saying that you do- think that their precious code is so amazing and it will give so much competitive advantage that they need to leave open the option for a closed source version that will make them rich, and that's why they defend "freer" licenses very passionately. Newsflash, it almost surely -like 99,99%- won't happen.

[dead] 11 years ago

Yes it is because people expect their office suite to handle MS formats flawlessly as a basic requirement, and the best at that is naturally MS Office. Nobody cares how or if Word handles ODT files, but if another word processor doesn't handle DOCX for exporting and importing without issues then it will be treated as unusable by lots of users, no matter how wonderful it is in other respects. In this space UI and features are (for me, sadly) secondary and support for a specific file format is king.

The article mentions Kary Mullis' use of LSD helped him develop the polymerase chain reaction, which revolutionized genetics and for which he won a Nobel Prize.

But I suspect from your tone that I could give a thousand examples and you wouldn't change your mind. C'est la vie.

If you read "What the Dormouse Said" by John Markoff you could reach the conclusion that a fellowship of LSD-fueled Übermenschen existed during the 60's and 70's and we had the personal computer revolution as a result. And no, I'm not talking just about Steve Jobs and Apple, there were many people involved with the nascent computer industry who turned on, tuned in and dropped out at that time.

Please enlighten me on the ideas! concepts! Microsoft held back again and again that were not available on free software systems?

Are you joking? I'll just give you one example: IE 6 and its complete disregard for open standards, end-user security and its lack of change put the web in stasis for years. At first, it didn't make much difference that we had Firefox because developers still made their pages only compatible with Microsoft's non-compliant browser, which was understandable as most people used it. Since IE lost ground the web has become a much more open and welcoming space for experimentation and advancement of its technologies. And that's undeniable.

Amazon Echo 12 years ago

So, for you this is an all or nothing thing. If I made some things public through Facebook then I'm automatically OK with Echo possibly sending data to Amazon about the things I didn't want to make public?

Perhaps I want to be in charge of what can and can't be known about my personal life. I know, a radical thought... Maybe I want other people to know some things and not others. Why so many people seem OK with notion of corporations doing whatever they want with the data they collect without accountability?

They even blame the victims: "You bought a device with the things that 99% of devices in that category bring and can be used to collect information about you. So it's your fault, you could have bought that very difficult to get (or obsolete) device that doesn't have them, or none at all. Of course, neither corporations nor security agencies can be blamed for their sociopathic behaviour. It surely has something to do with business or security that's entirely reasonable even though they kept it in secret."

I assume you haven't used Chromium. It's not an issue, as I said they don't come by default as in Chrome, but those codecs are easily installable through the package manager.

I hadn't even noticed Chromium doesn't have support by default for those codecs as I have used HTML5 audio and video without an issue. Really, for a non-expert Chromium is just Chrome with a blue icon.

I know that you know it, I was talking about your hypothetical user.

Except for the color of the icon and the lack of support by default for AAC, H.264 and MP3 (I have support for those 3 in Chromium in Arch), do you find anything relevant that will make some non-expert notice they are using Chromium and not Chrome?

We owe a lot to those who work on package managers and the packages, but he has a point in that if it works so well it has a lot to do with the software being free.

Important things like good and efficient dependency management and library reuse are far easier to achieve when all the relevant sources are available to packagers.

IceWeasel and Chromium visually are Firefox and Chrome with different icons and you'll find them if you search their "real" names in the package manager. Not so hard, right? You can find about why they exist if you are interested, it's not required.

KDE makes Qt 12 years ago

I use Transmission regularly. I have tried Brasero, Rythmbox and Simple Scan. These last three aren't bad, I just think that K3B, Amarok and Skanlite offer more and aren't that difficult. I just installed Shotwell to make a more informed opinion.

From what I can see, Simple Scan's "magic" is using a default DPI for Text (150 dpi) with grayscale, and another for Photos (300 dpi) and color. What if I want a light photo for the web, or a photo in grayscale? I think these aren't unreasonable examples at all. I suppose I'll have to use the counterintuitive Text for both examples, but now my photo looks awful on print and it's overkill (and monochrome) for the web! And if I have to go to Preferences for such common examples then it would be better to offer them right there in the main screen. Presets are good, guessing is good if you make the options easily available to tweak them. Simplistic presets and hidden options are not good IMHO.

You see, there's simple and there's simplistic. I already agreed that some options in KDE are overkill and should be hidden by default, but some of them are really useful. For example, why can't I preview a large photo while navigating visually the rest in Showell? It's something I usually do with my photos. With Digikam I just press a button and have that, I haven't found it possible in Shotwell, it's either one large photo at a time or many little photos.

KDE makes Qt 12 years ago

VLC, Scrivener, Skype, Spotify for Linux; I think they all qualify as quite usable applications.

On the other hand, in GTK you have GIMP and Inkscape, which aren't exactly an UX expert's dream. In Qt you can find similar counterparts in Krita (specially Krita Sketch) and Karbon, which I think are much cleaner.

I hope they help with your preconceptions.

KDE makes Qt 12 years ago

Well, I won't deny that there's some truth in what you said, but first a couple of comments about the examples.

Transmission is as much a Gnome as a KDE application. It has both Qt and GTK clients that look the same.

Brasero looks as complex as K3B.

I understand that Skanlite can look intimidating (especially on the Image Intensity properties), but Simple Scan seems simplistic. Scan source, scan mode and scan resolution are important properties when scanning and it's very useful to have direct access to them.

The default view in Digikam is not so different than that from Shotwell, a folder list to the left and the corresponding pictures to the right. The metadata widget is not opened by default.

As jstanek pointed out, even if some things could be made simpler and more polished, it's not so much that KDE doesn't have a clue about design and GNOME knows its stuff, but that they have different objectives. GNOME tries to be as simple as possible while KDE wants to give you power in the friendliest way possible. It's apples and oranges.

I feel uncomfortable with GNOME because I think it treats its users as perpetual newbies. I understand that a person's first use of an application should be made as simple as possible, but then they should be able to require more from their software if they want to. There are some things about KDE applications that maybe you won't find a use for at first, but then you need them and it's great to have them at your disposal.

I don't want GNOME to be like KDE, it's good at what it does even if I don't like it. The reverse holds true, too.

KDE makes Qt 12 years ago

But that's not what he wanted to point out, at all. It's not about percentages of contributions. He classified them as coming from KDE or not and wanted to demonstrate that many important Qt contributors started in KDE. If someone started contributing to Qt before they contributed to KDE, even if they contribute 99% to KDE, then they don't count as "a KDE person" for this metric.

As far as I understand, it's a message to everyone who uses Qt. Even those who don't use KDE have an interest in keeping it healthy as many valuable Qt contributors come from there. And the graph supports that wonderfully.

From what you say I assume that you think a publishing house's only job is to take your manuscript to the printer. Well, no, there's much work involved in the editing and design process prior to that. There's people working on the logistics and marketing of books. There're legal, financial, technical and administrative issues (as in any business). And paying all those, plus the books, costs money.

I don't know with which publishing houses you've been in contact with, and I think most of what you say comes from a bad experience with dubious publishers. But, in a serious one you work with an editor, whose job is to read your manuscript and tell you what's good and what can be improved, and how it can be improved. A good editor with some knowledge of the field your book is about is an enormous help.

It's not just a matter of how much money the writer will get. And even when talking about that, you assume that any published book will sell, and that's not true. When you publish through a publishing house, they assume the financial risk. I hope you get back your $10.000 (and much more), but it surely is not a given, most books don't sell much. It's the same situation we have with startups and VC's, the publisher can never be sure if a book by a small author will succeed before it's on the market. It's always a gamble. So they even those who succeed with those who don't.

And more important, to many new and more established writers, the editors in publishing houses provide serious value in the form of advice and guidance. It's easy to think that because you read books you surely know how to write a good one. But that's similar to thinking that because you use applications you surely know how to code a good one.

And lastly, good publishing houses serve as brands for consumers. People won't see a self-published technology book with the same eyes as if it was published by O'Reilly (for example). From past experiences they probably feel guaranteed of a certain level of quality from the O'Reilly book that a small lone author almost never can provide

I'm not claiming that the publishing system is a panacea or that all editors are amazing. But you described it as mostly useless, bordering on a ripoff, and I think it's far from the truth.

Well, I'm a Qt fanboy, but I think a Linux distro + Qt5 + KDE5 will probably be quite close to what you want. Take a look at Qt Quick and especially QML, which is being used for developing KDE 5.

QML is basically a Javascript-based declarative language for building user interfaces in which you can use full Javascript to augment them. It has its own IDE (Qt Creator) with a visual designer and it's pretty easy to learn, and Javascript is not a hard language at all for newbies. You can even use C++ to extend your applications. KDE 5 is not ready yet, but Qt5 is mature and improving with every release.

I would recommend that combination to a young aspiring programmer without a doubt.

I don't agree with everything he says (the invasion of desktop linux seems completely unsubstantiated) but there are a couple of problems he points out that worry me, and I think we should pay attention.

Maturity: it certainly feels rushed that in less than four years systemd went from nothing to the default init system in most Linux distributions (if I'm not mistaken). For something so basic and important you'd think a good amount of testing and bugfixing should happen before that. We are taking our time with btrfs and Wayland, so why the rush with systemd? We certainly could endure some more years with the previous init systems. And this comes from an Arch Linux user, I like my software as fresh as I can I get away with, but it still seems odd.

Compatibility: this troubles me the most, you see hard dependencies appearing like what we currently get with Linux, systemd and GNOME. When people talk about this they are usually referring to the BSD family. That's a legitimate concern, but think about this: if in the future appears a brilliant programmer who designed a free kernel which runs circles around Linux, what will we do if everything is so tightly coupled? We have to consider the possibility that we won't be running the Linux kernel forever and be prepared to switch if something better appears.

What you are saying doesn't make much sense. The "private property" of the ISP's is valuable for content providers only when the public is using it. An ISP with 10 users has exactly 0 power to demand money, even if they have the largest and greatest infrastructure on the market.

Think about this: I, as a user, am paying my ISP money in order to connect and receive content through the Internet, irregardless of the source of that content. I trust my ISP to send that content, and I don't care where it comes from. They should send it as fast as they can (according to my plan) because that's what I pay them for. I think there's no argument there, any user would want to get any content as fast as his plan allows.

Now, my ISP wants to be paid by content providers to give them preferential treatment, breaking completely the trust I put on them when I chose their service. Isn't this exactly "money or favor given or promised in order to influence the judgment or conduct of a person in a position of trust"?

The only way I can imagine this isn't bribery is if they start sending the preferential content faster than your plan allows, while maintaining the rest at the same speed as before. But we know it won't work like that.

Read what the other commenters are pointing out. Maybe the situation is better in C++ now than it was before, but it doesn't mean you can't shoot yourself in the foot, specially for a beginner. Rust was built with safety in mind from the start, there are errors you can make in C++ that the Rust compiler simply won't let.

My advice is, if you're learning it for work, then go with C++. Even if it succeeds, it will take some years for Rust to be mainstream and as pointed out the library support is great.

If you're learning it for fun or for the sake of learning something new. Then Rust is a very nice and promising language bringing things from functional languages that C++ lacks and offering very interesting tooling around it.

Whatever you choose, after you feel confident with one go and learn the other as it will probably give a better perspective in the strengths and/or weaknesses of both.

Rust Guide 12 years ago

I like Go and feel quite productive when building web services with it. It works well, but I think the Golang team neglected many advances in Computer Science, particularly the ones coming from the functional world, and the result is a nice language which could have been great. Rust appears to be that great language.

When you see Rust it's clear that they have taken note of these advances and added them to the language. Pattern Matching, Algebraic Data Types, Hindley-Milner type inference accompanied by a sophisticated type system, everything is an expression (well, most), immutable variables by default and type classes are all things that many of us who were exposed to the functional world miss sorely in mainstream languages like Java. Rust includes all of them while Golang doesn't, and C++ doesn't have some of them.

And it doesn't end there, in Rust you can also do OOP, though it's different from Java (no classes, more similar to Go). You have concurrency primitives baked into the language as in Go. You have generics as in C++ (the most cited criticism of Go, which lacks them). It lets you manage memory but in a safer way than C. And it can be made compatible with C, which lets a library written in Rust be used by other languages.

So, Rust really feels like the superior replacement of C++, and possibly C, that Golang promised at first, and it has a chance of becoming mainstream when it's stable. Rust offers all the things that Golang does, and many more. The tooling is generally better in Go, but it surely can be improved.

Rust Guide 12 years ago

You better get over that problem because, depending on the language and context, you will find function written as fn, func, def, ->, lambda and many more. Some languages even don't offer a keyword for it.

In Rust, the function keyword is written 'fn', there're no assumptions or ambiguity there. You just have to learn "in Rust fn means function". It's as capricious as any other keyword, including function.

As a non-native English speaker I find this amusing because for me it's very clear that keywords are magic incantations for the compiler or interpreter, they aren't meant to explain anything. You just learn how to use those keywords and deal with it. For me, it's not clearer to write function instead of fn because in my native language you write it 'función'.

In my experience, it's not rare for Spanish-speaking programmers to ommit the t in function as it is the clearest and most natural way for them to write it. Then, when the program doesn't work, they have to add the missing ts. I feel fn is an improvement with regards to this, as it's not so English-centered. Let's stop pretending that programming a computer is a mixture of Logic, Math and English.