I actually agree with you. I *want* that stuff to be irrelevant. When I describe a rectangle, I don't really care if its a Java rect, a.Net rect or what. I'm talking about a 2d object with orthogonal sides.
However I worry about your literate programming. Definately, it should be readable without an IDE as I end up using nano a lot:-) But where i get concerned is when you say "cannot keep the required number of methods and members". The API calls are very specific, not general things and something like a const parameter is a very important decoration that conveys a specific behavior. I'm not saying I like "const" (it's rather confusing at times) but it's needed to tell the computer exactly what to do. We're not going to get to using natural languages to program computers, it'd be like esperanto, because we lack the specificity required for digital computers.
But I do agree we can make big advancements towards literate programming for the better.
Because we no longer solve original problems. Because we all repeatedly solve the same problem that was solved by someone else years before. The only new thing to come out of computing in the last 30 years is the highly parallel general purpose GPU. The rest of it is data schema, transforms to the schema and logic.
Ask yourself this: How many Rectangle implementations do we need? As in X,Y, Height, and Width. Why do we have a Java version, multiple C++ versions, a.Net version, and Obective-C version.... Each time we reimplement the thing it isn't new. Ok so Qt has QRect::translate()... but why can't we just add translate to all languages and implementations when we decide we need a translate() function. Why are the Java and.Net ones seperate, with different methods and signatures despite it being one concept.
To bring in you construction analogy, we are not worried about tools (it's an ill fitting parallel) but rather contruction materials. Tools do the operations in the materials. Here I argue that the libraries are materials like the 2x4s. 2x4s come in 2 basic favors: steel (commercial construction) and wood. They all are 1.5x3.5", and cut to length. We use them to solve walling and supporting problems. We arrange them as needed. We call the API as needed.
It's not me that knows so little. What the fuck do I care where the division is between language and framework? You're the one that is short sighted. These are all mechanisms to achieve an end. Sometimes its language, sometimes its framework. I would have thought that someone who witnessed C++11 (assumed by your UID) that you would see that they are adding elements to the language that had previously been implemented as libraries or frameworks.
Let's look at the major programming environments of today: 1. Web 2a. Native Apps (machine languages (C/C++ etc)) 2b. Native Apps (interpreted/JIT languages (intermediary byte code)) 3, Mobile Apps
1. is made by 5 main technologies: XML, JavaScript, MIME, HTTP, CSS. To make it do anything you need another component, of no standard choice:your language of the server (PHP, Rails,.Net, Java, etc) 2. Was POSIX or Win32, then we got Java and.Net. 3. Is Java or Objective C.
We don't do things smart. There is no reason why web development needs to be 5 technologies all thrown together. We could reduce it all to Javascipt: JSON documents instead of XML/HTML, JSON instead of MIME, NodeJS servers, and even encode the transport in JSON as well.
Then look at native development. Java and.Net basically do the same thing. Which do what POSIX whas heading towards. Java was invented so Sun could keep selling SPARC chips,.Net came about because MS tried to extend Java and lost.
Then, we have the worst offenders. Mobile development. Not only did Apple impose a Objective-C requirement, but the frameworks aren't public. Android, the worst offender is a platform that can't even be used to develop native apps. At least Objective-C can. Why did Android go with Java if it's not portable? Because of some good requirement that they don't want to support a specific CPU, but then they go and break it so that you have to run Linux, but your GUI has to be Android's graphical stack. Not to mention that Android's constructs - Activities, Intents, etc are all Android specific. They don't solve new problems, they solve problems that Android made for themselves. We've had full-screen applications for years the same goes for theading, services, IO, etc.
I'm tired of reinventing the wheel. I've been programming professionally for 13 years now and Java was neat,.Net was the logical conclusion of it. I was hoping.Net would be the final implementation so that we could harness the collective programming power into one environment of best practices... a decade later we were still re-inventing the the wheel.
The answer I see Coming up is LLVM for languages. And Qt, a C++ toolkit. Qt runs everywhere worth running, and its one code base. Sure, I wish there was a java or.net implementation. But I'll deal with unmanaged memory if I can run one code base everywhere. That's all I want. Why does putting a text field on a screen via a web form have to be so different from putting a text box on the screen from a native app? It's the same text box!
Witty, a C++ webtoolkit (webtoolkit.eu) is mirrored after Qt and is for the web. You don't write HTML or JS, you write C++. Clearly the C++ toolkits are onto something. If they were to merge and have a common API (they practically do now) in an environment with modern conveniences (lambas (yes, C++11) managed memory) we'd have one killer kit. Based on 30 year old technology. And it would be a step in the right direction.
When I see the commercials for new releases I put them in my DVD queue, Some amount of time (weeks) later they actually show up at my door and I'm pretty good about keeping my queue moving. Usually I put the disc back in the mail immediately after viewing.
But anyway, Netflix has a wait queue for new releases.
I always just assumed Netflix didn't put it all on streaming just to have a rental business. If there was a premium streaming option for the cost of DVD+streaming, I'd go for that, Fios/Comcast throttling included.
Things on my list: - Custom lego parts. - A grill to help my laptop breathe when it is on a pillow. - Phone stands, cases at a price they can't be bought for or a niche that does not exist in the mass market. - Replacement parts like clips (most are plastic anyway)
I'm on a core i5 at work, and the CPU is damn fast, but the entire Eclipse UI is slow. Closing a tab takes a noticeable amount of time, even for files that fit on the screen. And my biggest complaint is that somehow this glorified text editor is capable of halting my machine when it tries to auto-complete. How a Java app can do that is beyond me.
Then when I first start it up, it complains that my project has "problems". It's just not done loading it yet. Refesh, its gone.
I have yet to like any java app or servlet. The GU library is ugly and slow. I like the language well enough, but anything done is java is just terrible.
Seriously, this trademark is too vague. If you want a specific shade, put Putnam Brown (UPS) it's silly but ok. But to say yellow and some other color effectively names only an unspecific yellow.
And what do the drivers communicate with? The firmware.
Your normal device will provide a memory mapped structure to the device where values are read and stored. They use IOCTLs to command the hardware usually through interrupts. The Firmware has the corresponding data structure on its side. I'm not an expert but I have written a kernel driver or two, but not recently.
While I am not an expert, I don't believe that we're just talking about reflashing here. It is possible that the firmware relied on to perform operating system functions in exploited all the way back in user-space. Some program gets some arguments from somewhere that get passed on to the kernel level, the kernel then passes that to the hardware and voila, exploited.
It looks like if you don't want to deal with Flash, you have basically two options: Qt's QML for non-web-pages or HTML for web-pages. Soon though, thanks to QMLWeb, you'll be able to use QML-to-JS in the browser.
"Or maybe you could isolate control systems from the Internet." Wasn't Stuxnet partially a sneakernet operation? I can't imagine Iran being so stupid to connect secret centrifuges to the internet.
Your criticisms are accurate, and they've worked to address them. A significant reason for the '5' in the Qt versioning is they granular-ized the libraries, which is why you need to specify widgets if you want widgets.
Yes, 4.3 was a slow loader. I believe the speed ups came around 4.6.
One of the new Qt5 features is the surfaces are OpenCL/GL. So drawing is not sucking down the CPU. It doesn't do much for loading, but its nice not having to push pixels through a CPU.
Which version of Qt did you use? There were a few releases that focused on load-time speedups. Have you tried it against Qt5? It should be 99% identical, the only change I know you need is to add widgets to the QT line, as Widgets are no longer the default application environment.
When you use the above merchants to pay, only the money is transferred and no re-usable billing information like credit card info is sent to the recipient of the funds. So when doing ecommerce you don't have to put your CC# everywhere on the internet then wonder why you've got credit card fraud.
In some cases you can set up or are forced to automatic authorization from PayPal, but you can revoke that immediately. PayPal really is the safest way to pay. No comment on the rest of PayPal's operations though (disputes and seizures).
Or, use another set of tools I invented to do just this. Browser plugin or Website when you don't have the plugin. Neither ask for your password, and produce a unique password for each domain. Neither stores passwords. You can verify the browser plugin isn't storing passwords by using the website to generate the password without ever using your username. If their output matches you know I'm not lying.
I actually agree with you. I *want* that stuff to be irrelevant. When I describe a rectangle, I don't really care if its a Java rect, a .Net rect or what. I'm talking about a 2d object with orthogonal sides.
However I worry about your literate programming. Definately, it should be readable without an IDE as I end up using nano a lot :-) But where i get concerned is when you say "cannot keep the required number of methods and members". The API calls are very specific, not general things and something like a const parameter is a very important decoration that conveys a specific behavior. I'm not saying I like "const" (it's rather confusing at times) but it's needed to tell the computer exactly what to do. We're not going to get to using natural languages to program computers, it'd be like esperanto, because we lack the specificity required for digital computers.
But I do agree we can make big advancements towards literate programming for the better.
Because we no longer solve original problems. Because we all repeatedly solve the same problem that was solved by someone else years before. The only new thing to come out of computing in the last 30 years is the highly parallel general purpose GPU. The rest of it is data schema, transforms to the schema and logic.
Ask yourself this: How many Rectangle implementations do we need? As in X,Y, Height, and Width. Why do we have a Java version, multiple C++ versions, a .Net version, and Obective-C version.... Each time we reimplement the thing it isn't new. Ok so Qt has QRect::translate()... but why can't we just add translate to all languages and implementations when we decide we need a translate() function. Why are the Java and .Net ones seperate, with different methods and signatures despite it being one concept.
To bring in you construction analogy, we are not worried about tools (it's an ill fitting parallel) but rather contruction materials. Tools do the operations in the materials. Here I argue that the libraries are materials like the 2x4s. 2x4s come in 2 basic favors: steel (commercial construction) and wood. They all are 1.5x3.5", and cut to length. We use them to solve walling and supporting problems. We arrange them as needed. We call the API as needed.
VPSs are cheap. besides, it's an illogical computing unit since it is so abstracted.
Native apps are a run around on android... that's what Qt is. Native.
You still don't get it. Android reinvented the wheel yet again, in a context that is not re-usable outside of android.
The fact that C++ can still be used on any platform, and effectively at that, proves that nothing has been added since C++.
It's not me that knows so little. What the fuck do I care where the division is between language and framework? You're the one that is short sighted. These are all mechanisms to achieve an end. Sometimes its language, sometimes its framework. I would have thought that someone who witnessed C++11 (assumed by your UID) that you would see that they are adding elements to the language that had previously been implemented as libraries or frameworks.
Let's look at the major programming environments of today:
1. Web
2a. Native Apps (machine languages (C/C++ etc))
2b. Native Apps (interpreted/JIT languages (intermediary byte code))
3, Mobile Apps
1. is made by 5 main technologies: XML, JavaScript, MIME, HTTP, CSS. To make it do anything you need another component, of no standard choice:your language of the server (PHP, Rails, .Net, Java, etc) .Net.
2. Was POSIX or Win32, then we got Java and
3. Is Java or Objective C.
We don't do things smart. There is no reason why web development needs to be 5 technologies all thrown together. We could reduce it all to Javascipt: JSON documents instead of XML/HTML, JSON instead of MIME, NodeJS servers, and even encode the transport in JSON as well.
Then look at native development. Java and .Net basically do the same thing. Which do what POSIX whas heading towards. Java was invented so Sun could keep selling SPARC chips, .Net came about because MS tried to extend Java and lost.
Then, we have the worst offenders. Mobile development. Not only did Apple impose a Objective-C requirement, but the frameworks aren't public. Android, the worst offender is a platform that can't even be used to develop native apps. At least Objective-C can. Why did Android go with Java if it's not portable? Because of some good requirement that they don't want to support a specific CPU, but then they go and break it so that you have to run Linux, but your GUI has to be Android's graphical stack. Not to mention that Android's constructs - Activities, Intents, etc are all Android specific. They don't solve new problems, they solve problems that Android made for themselves. We've had full-screen applications for years the same goes for theading, services, IO, etc.
I'm tired of reinventing the wheel. I've been programming professionally for 13 years now and Java was neat, .Net was the logical conclusion of it. I was hoping .Net would be the final implementation so that we could harness the collective programming power into one environment of best practices... a decade later we were still re-inventing the the wheel.
The answer I see Coming up is LLVM for languages. And Qt, a C++ toolkit. Qt runs everywhere worth running, and its one code base. Sure, I wish there was a java or .net implementation. But I'll deal with unmanaged memory if I can run one code base everywhere. That's all I want. Why does putting a text field on a screen via a web form have to be so different from putting a text box on the screen from a native app? It's the same text box!
Witty, a C++ webtoolkit (webtoolkit.eu) is mirrored after Qt and is for the web. You don't write HTML or JS, you write C++. Clearly the C++ toolkits are onto something. If they were to merge and have a common API (they practically do now) in an environment with modern conveniences (lambas (yes, C++11) managed memory) we'd have one killer kit. Based on 30 year old technology. And it would be a step in the right direction.
Ben Goldacre at Nerdstock
NSFW: language
When I see the commercials for new releases I put them in my DVD queue, Some amount of time (weeks) later they actually show up at my door and I'm pretty good about keeping my queue moving. Usually I put the disc back in the mail immediately after viewing.
But anyway, Netflix has a wait queue for new releases.
I always just assumed Netflix didn't put it all on streaming just to have a rental business. If there was a premium streaming option for the cost of DVD+streaming, I'd go for that, Fios/Comcast throttling included.
Thanks for the tip!
I figure they would be an even bigger treasure trove of account information than the original sites that were breached?
Things on my list:
- Custom lego parts.
- A grill to help my laptop breathe when it is on a pillow.
- Phone stands, cases at a price they can't be bought for or a niche that does not exist in the mass market.
- Replacement parts like clips (most are plastic anyway)
I have used Solid Works and it is very good.
I also like Rhino 3D which is cheaper.
But these days I run Linux exclusively so I am SOL.
I have one at home. But not at work. I don't see how that helps. As a matter of fact, I think it would make it worse.
I'm on a core i5 at work, and the CPU is damn fast, but the entire Eclipse UI is slow. Closing a tab takes a noticeable amount of time, even for files that fit on the screen. And my biggest complaint is that somehow this glorified text editor is capable of halting my machine when it tries to auto-complete. How a Java app can do that is beyond me.
Then when I first start it up, it complains that my project has "problems". It's just not done loading it yet. Refesh, its gone.
I have yet to like any java app or servlet. The GU library is ugly and slow. I like the language well enough, but anything done is java is just terrible.
Seriously, this trademark is too vague. If you want a specific shade, put Putnam Brown (UPS) it's silly but ok. But to say yellow and some other color effectively names only an unspecific yellow.
And what do the drivers communicate with? The firmware.
Your normal device will provide a memory mapped structure to the device where values are read and stored. They use IOCTLs to command the hardware usually through interrupts. The Firmware has the corresponding data structure on its side. I'm not an expert but I have written a kernel driver or two, but not recently.
While I am not an expert, I don't believe that we're just talking about reflashing here. It is possible that the firmware relied on to perform operating system functions in exploited all the way back in user-space. Some program gets some arguments from somewhere that get passed on to the kernel level, the kernel then passes that to the hardware and voila, exploited.
Because you know, if it isn't secure, then it's not firm.
We have easier ways of collecting information. We could even do it in a decentralized manner so there is no one to moderate/sue.
It looks like if you don't want to deal with Flash, you have basically two options: Qt's QML for non-web-pages or HTML for web-pages.
Soon though, thanks to QMLWeb, you'll be able to use QML-to-JS in the browser.
"Or maybe you could isolate control systems from the Internet."
Wasn't Stuxnet partially a sneakernet operation? I can't imagine Iran being so stupid to connect secret centrifuges to the internet.
The only way to win is not to play.
If he's using direct-fb he's doing something special. I assumed it was some embedded device.
But Qt has adjusted to those criticisms since he he last tried it. No idea what it would be now.
Your criticisms are accurate, and they've worked to address them. A significant reason for the '5' in the Qt versioning is they granular-ized the libraries, which is why you need to specify widgets if you want widgets.
Yes, 4.3 was a slow loader. I believe the speed ups came around 4.6.
One of the new Qt5 features is the surfaces are OpenCL/GL. So drawing is not sucking down the CPU. It doesn't do much for loading, but its nice not having to push pixels through a CPU.
Which version of Qt did you use? There were a few releases that focused on load-time speedups.
Have you tried it against Qt5? It should be 99% identical, the only change I know you need is to add widgets to the QT line, as Widgets are no longer the default application environment.
When you use the above merchants to pay, only the money is transferred and no re-usable billing information like credit card info is sent to the recipient of the funds. So when doing ecommerce you don't have to put your CC# everywhere on the internet then wonder why you've got credit card fraud.
In some cases you can set up or are forced to automatic authorization from PayPal, but you can revoke that immediately. PayPal really is the safest way to pay. No comment on the rest of PayPal's operations though (disputes and seizures).
Or, use another set of tools I invented to do just this.
Browser plugin or Website when you don't have the plugin.
Neither ask for your password, and produce a unique password for each domain. Neither stores passwords.
You can verify the browser plugin isn't storing passwords by using the website to generate the password without ever using your username. If their output matches you know I'm not lying.