Forgot your password?

Comment: Re:I find it interesting (Score 4, Informative) 223

by suy (#46258749) Attached to: Plan 9 From Bell Labs Operating System Now Available Under GPLv2

I like the idea how everything is a file etc. That is one reason why I originally became Linux user and now it feels Linux systems have become something totally different by new third/fourth generation "geeks" who don't care anymore about open file system and results are like systemd journalctl.

Funny that you mention that, because systemd exposes lots of features through cgroups and a nice filesystem on /sys. And to use systemd's journal's files, the documentaion already explains that you just open the files, memory map them, and use inotify, a classic notification API on files...

Comment: Re:standard c++ (Score 1) 430

by suy (#45871937) Attached to: Cairo 2D Graphics May Become Part of ISO C++

Is there anything it cannot do?

Garbage collection.

C++ does no garbage collection because C++ developers learn how not to produce garbage in the first place. Use proper mutex lockers, smart pointers or file handles, and you won't leak memory, won't miss freeing locks or file descriptors.

And is not that you need to be a genius to make use of them. Just use, for example, a QFile, or QMutexLocker, and at the end of the scope the resource is freed. Done.

Comment: Re:"So who needs native code now?" (Score 1) 289

by suy (#45763189) Attached to: Asm.js Gets Faster

Umm, anyone who wants their code to not run substantially slower. Seriously, do you front end programmers really think nobody does numerical simulations or other performance-sensitive work? In my line of work, I'd kill for the opportunity to make my code 1.5 times faster!

I'm surprised by your answer at so many levels. First, I thought the guys doing scientific calculations were scientists that many times (not always of course) are only used to Matlab, Mathematica or even Excel. Second, obviously we will need native code, as well as interpreted, functional, and lots of code in domain specific areas (what the heck... I spent this Sunday morning writing in VimL, a language so stupid that can't copy a file without reading the whole contents in memory or invoking system(), but I needed to program in that and there is no way around it).

But the final sentence of the article isn't targeted at people doing heavy lifting. Is an "attack" at Google's Native Client (NaCl). I peeked at NaCl, and you needed a some set up and some APIs to run some native code invoked from the browser. ASM.js is way simpler, since is just a subset of JavaScript, and has much more possibilities of being followed by vendors like Opera or even Microsoft.

Oh, and, I do native code for a living, and while I would kill for making my code faster, my manager would kill for making me finish projects earlier. :-) Native code is awesome, but sometimes dumb languages are more business successful if you can use all your developers in a project, including that 50% that, by definition, are below the average.

Comment: Re:Classic... (Score 1) 85

by suy (#45757161) Attached to: Kdenlive Developer Jean-Baptiste Mardelle Has Been Found

Heavily refactoring projects of this size rarely brings any benefit for the users, it's just technical masturbation. (...)

Some open source projects would benefit from proper managers who can stop them from shooting themselves in the foot.

You are missing an important point: many people that work on a software project in their spare time do it to have fun. I work as a programmer for a living, and at work I do what my employer wants me to do. I might not like the way I have to do things at work, but I do as my manager says.

If I work on a hobby project to have fun, I want to do things the way that make me happy. It might be the case that you are happy making a killer product that has tons of users, even if the internals are crap. Or it might be the case that you are only happy with something that has a nice architecture and uses bleeding edge technologies, even if that makes the product unstable an unpopular.

I don't know what is the state of Kdenlive and the opinion of Jean-Baptiste Mardelle, but I hope you know better if you make such assumptions about other's projects.

Comment: Re:Interesting. (Score 4, Informative) 118

by suy (#45566441) Attached to: Sailfish Can Officially Be Installed To Android Devices

As I understand it, that is not going to happen if you want Google's bless (i.e. their applications and Google Play Services, which are critical for some applications to work). Read Google’s iron grip on Android, especially page 3.

Since the Kindle OS counts as an incompatible version of Android, no major OEM is allowed to produce the Kindle Fire for Amazon. So when Amazon goes shopping for a manufacturer for its next tablet, it has to immediately cross Acer, Asus, Dell, Foxconn, Fujitsu, HTC, Huawei, Kyocera, Lenovo, LG, Motorola, NEC, Samsung, Sharp, Sony, Toshiba, and ZTE off the list. Currently, Amazon contracts Kindle manufacturing out to Quanta Computer, a company primarily known for making laptops. Amazon probably doesn't have many other choices.

Seems like a terrible move against market freedom. Even worse for consumer freedom.

Comment: Re:A suggestion... (Score 1) 147

by suy (#45484619) Attached to: WxWidgets 3.0: First Major Release in Several Years

OK, I give up. The fact that you still think that using a string as a vector of bytes is comparable with a class that is capable of understanding the text it stores, with some encoding conversion capabilities, and more, should be a clear enough indication that we don't have the same expectations on what is a class for human text. And the fact that you still try to put words in my mouth signals that it isn't worth wasting time with you.

Luckily enough that people admit that you should use a Unicode library, because even C++11 supports Unicode terribly, and there is work underway to improve it. Meanwhile, I'm happy to have QString. And I'll be happier if with Qt6 there is a type that can replace it.

Comment: Re:A suggestion... (Score 1) 147

by suy (#45475127) Attached to: WxWidgets 3.0: First Major Release in Several Years

Read again the thread. You said that MOC is a precompiler (wrong, is a code generator), and that it transforms the input text in ways impossible with C macros (even more wrong).

I said "Is the classic C preprocessor" in response to "these keywords are pre-processed by a special compilation step into C++ code" which is absolutely right.

And you still fail to explain how you can use std::string for text instead of for low level manipulation of the string bytes.

Comment: Re:A suggestion... (Score 1) 147

by suy (#45456421) Attached to: WxWidgets 3.0: First Major Release in Several Years

Qt uses the moc precompiler, which is *not* c macros. It does transformations to the input text that is impossible with C macros.

Next time you write about something, use it first, please. MOC is not a precompiler nor "transforms" input text. It generates code. Like a bazillion other tools that generate perfectly standard C++ code.

Only for fools who thought you need 16-bit code units to store a larger character set, rather than a variable-length encoding.

Execellent. That's why everyone is using std::string in i18n-ed text, and why C++11 didn't introduce new string types.

But yes, call people stupid as long as you want. Now you are probably right.

Comment: Re:A suggestion... (Score 1) 147

by suy (#45406229) Attached to: WxWidgets 3.0: First Major Release in Several Years

My C++ compiler does not compile signal: or slot: tokens. Qt is not C++ in the same way as Microsoft COM is not C++, even though its mostly built with C++ and MIDL generator spits out C++ boilerplate as an option.

My C++ compiler doesn't compile "#include" either. Because it doesn't have to. You need to run the file through a preprocessor. That's part of the standard, and is unavoidable at this time.

If don't like the use of the C preprocessor, fine. But don't lie saying that is not "standard". It might not be the part of the standard that you like the most, but is standard. And using a tool for generating code is perfectly normal. Or is protobuf no longer a "standard C++" tool?

There is a proof of concept clang plugin that would provide the QObject features without MOC. That doesn't make it better in all use cases, since that would be tied to a compiler.

No, seriosly, one might not like one solution to a problem. But having no solution is worse. If one day there is a better solution, the Qt project will adopt it. But right now there isn't one that fills all the features provided by Qt with the current implementation.

Comment: Re:A suggestion... (Score 1) 147

by suy (#45406055) Attached to: WxWidgets 3.0: First Major Release in Several Years

You've made me ruin my moderation in this thread, but I can't let such wrong statements unreplied.

The fact that these keywords are pre-processed by a special compilation step into C++ code does not make the code you actually edit standard C++.

Wrong. Is not a special compilation step. Is the classic C preprocessor, which is as standard C++ as any other feature of the language. Does this mean that udev is not standard C because it defines a foreach with a macro?

Also, Qt has its own notions of strings and files and threads and what-have-you. Once Qt is in your code, you ain't getting it out.

Qt has its own notion of string, because till C++11 there was no string type that allowed Unicode. Likewise for threads. Besides, QThread has features to integrate with an event loop, notion that the standard library doesn't have.

How the hell were programs written with WxWidgets using threads? Relying on Windows POSIX capabilities? Seriously.

And don't even try again the "but Qt duplicates all the containers". Qt's containers use a very different implementation (e.g. with implicit sharing), and so have pros and cons against STL containers. And Qt's containers have compatibility APIs with the STL ones as well. And you are not forced to use them at all. If some part of the API exposes a Qt container, you can convert to and from STL, since such functions are provided.

The C++ standard library is now much better than it used to be, but Qt started in an age where the STL wasn't even an acceptable option in all the environments where it had to run.

Once Qt is in your code, you ain't getting it out.

Certainly not. People is migrating from VxWidgets (e.g. VLC) to Qt, and not the other way around. Why it might be? Maybe is because is such a good application framework that is convenient to use, even for non-graphical applications.

Comment: Re:Symbian, really? (Score 1) 292

by suy (#45376159) Attached to: Stephen Elop Would Pull a Nokia On Microsoft

The problem wasn't if Nokia should have killed Symbian, the problem is how.

They told the world all their flagship products sucked, and they would replace them... eventually. They were only ready to deliver a first device almost a year after, and they killed Symbian for good much time afterwards. They should have lied, and tell that they were only adding Windows Phone to their portfolio, and then time will tell.

Or better: they should have done an embrace and extend to the whole Android ecosystem. Elop was selling that this was a "war of ecosystems", so Nokia should have said "The operating sytem is irrelevant. Just use Qt to target Symbian, MeeGo, Android, and next year iOS".

They could have taken several paths, and they took the worst, in the worst possible way.

Comment: Qt Project, please (Score 2) 86

by suy (#44194199) Attached to: Digia Releases Qt 5.1 With Preliminary Support For Android and iOS

Thank you for insulting the other companies and the individuals that work hard on Qt. Digia maybe owns the trademark and the right/obligation to relicense, but is not the owner of Qt, and certainly not the only contributor. See the statistics about Qt created by Thiago Macieira.

The Android port started as a community only project, by the way.

Comment: Re:bloat (Score 1) 103

by suy (#43634877) Attached to: ORBX.js: 1080p DRM-Free Video and Cloud Gaming Entirely In JavaScript

You use your Web browser to go to a web page and there's a video. How do you play it? Your browser uses some sort of plugin. This is not an example of the "Inner Platform Effect" but simply the most efficient and straight forward way to do it.

I am perfectly aware that for some people (most people?) playing the video embedded in the browser might be the most straightforward way of playing it. For some it might be somewhat challenging finding the "save as" option in the context menu, and deciding a path that later they have to find again, but...

Embedded video players are the worst video player ever. Ever. There, I said it.

I'm following a class in Coursera, and the first thing I do is save the videos as local files and play them with VLC. When I press the spacebar to jot down something, sometimes the video pauses, sometimes an invisible blank character is written in a text field of the page, or some link that has the focus is accidentally clicked.

If the embedded player in the browser can't get right something as simple as toggling the playback, don't get me started on the convenient shortcuts that a video player has to play faster and slower, or going some seconds/minutes/hours forward and backward.

Browsers are nice, and some cool fancy webpages can be done combinating transitions, text, images, and yes, video, but attempting that a browser is going to be a good video player is never going to happen.

Happiness is a positive cash flow.