1999, Trump takes a stab at presidential politics, he finds out people received him negatively and that he polled slightly better with Republicans than with Democrats
In 2004, Donald establishes a TV series based on presenting himself as a competent leader with companions to oversee competing groups of people of different walks of life vying to become business leaders themselves. Though he experiments for years before he identifies how to achieve ratings through placing himself above the bickering of those beneath him. He popularizes the term "Your Fired" as a trademark of his no-nonsense business tactics. He also earns the trust of many people who choose not to waste their time fact checking what they read.
In the 2008 election, Trump picks a battle with Obama and needles him and attacks him publicly to test the waters with voters to see how he would fair against Obama. A guy who literally invented the crowd-funded campaign. He basically chose a line "Change!!!" and stuck to it and raised a lot of money through micro-donations online.
By attacking Obama as opposed to adopting party standpoints, Trump began moving himself into a position of influence in the Republican party. His perpetual needling and elevating attacks of Obama and more importantly, the generally overly intellectualized return attacks towards Trump established Trump as the common "red blooded American" being attacked by this 'not-even-American" black snob looking down his nose at him.
All this time, Trump kept his different pursuits separate from one another and aimed at focus groups and aimed at polling. While running the apprentice, he made sure that week after week for 7 years, he would do one thing or another to increase his approval ratings.
Trump systematically through the primaries picked target after target and weakened them and eventually forced them out of the primaries. In addition, he even made most of them publicly support him... though sometimes with really funny coerced looks on their faces.
When it came to the election, he focused on all the little places one by one which would get him most of the small town and small state votes. He earned loyalty and town by town won the love of people who generally don't respond well to politicians that sound condescending when talking to "country folk"... in other words, the democrats... Hillary was just a nasty ass snot... especially to the country folk.
Trump then work up enough votes in the right voting districts that while he could never win popular vote, he could win loyal voters who would show up and vote for him even if it were a lost cause.
By the time election day came around, he had earned vote by vote enough loyal voters that they all showed up and Hillary spent the last few weeks bragging about how much of a land slide it would be and how people didn't even have to show up and she'd still beat him.... and he let her do that and even helped her do that. The result being that while she would have nailed the vote, she was the hair who lost to the tortoise because she was an absolute frigging moron.
Donald since he's been in office has worked almost entirely through trial and error. He throws out a proposal as if it were a law and then reads the polls to see how people respond. He then backs out on it if runs the risk of costing him political capitol working towards his one and only goal.
Every decisions he makes one by one all go back to a single solitary thing. The great wall of Trump. He builds and uses political capital little by little to earn a little more wall. Look around NYC for the name Edison and you'll understand what he's trying to accomplish. Now that he's president, it's possible that when he dies, there will be high schools names for him. He's probably hoping for a monument of some type. There will be a presidential library... probably in NYC... and he wants a big ass wall... so big it could never be practically taken down completely. 500-1000 years from now, there will be a stone gate somewhere as a monument
While I smile about the joke, I disagree with the statement.
There is an obscene amount of H1-B visa abuse. But for any country to develop, it absolutely has to have open doors to skilled foreigners. Patriotism and all that crap is great for people who have nothing else to make them special. But for people who define themselves as engineers or scientists for example, the world needs to be globalist.
I moved to Norway from America 20 years ago... and I took on of their jobs. I took one of their women. I spread my seed in the country. I have worked 6 years as an IT instructor to make some extra money and have heavily influenced society and culture here. I often during breaks or to lighten the mood share more than just IT knowledge, but also things like what a Turducken is or what Bacon Explosion is. Many of my students have tried both. I work longer hours than the locals, I work harder than they do (almost universally), I produce more and I take more. In 20 years, while I'm fully functional in their language and by American standards am fluent at this point, I never speak their language to them except in rare cases. I work purely in English... though I leave them the option as to what language to speak to me in or send me e-mails in.
The only thing which differentiates me from what you see as an H1-B worker is my skin color. There are cultural differences, I directly "corrupt society" here. I change peoples habits, behavior, etc... but they also change mine and over time I've become much more like them. And because my skin is almost light enough to be Norwegian, I am welcomed and embraced. When I choose to change jobs, I insight bidding and package battles between companies... though to be fair, I rarely choose the best package in lieu of the best coworkers.
Understand than in 99% of all cases, immigrants imported in the spirit of the H1-B as opposed to the abuse of the H1-B are almost always the best and highest performing workers. They are the people most interested in being part of your society as well. They will hopefully bring the best parts of their culture and improve yours in the same way that a new spice will help your pasta sauce recipe.
H1-B is a really really really good thing if it can ever be brought under control.
I was just at Microsoft Build to update my knowledge "of the enemy" and learned a great deal and looking at the people I spoke with, I think America would be a much poorer place if the H1-Bs working at MS weren't there.
I wrote some more on it below to an AC about why I feel Bush wasn't the sharpest spoon in the drawer. So I'll avoid reiterating.
What I will repeat is my stance about the differences between the political parties (with the exception of the current administration)
The republican party works as a team to establish a cabinet of power wielders and power brokers with something of a common compatible message. The are built of representatives of businesses, churches, special interests groups and they often even believe what they're selling. They then hold primaries to test the people to identify who will have the best chances of conveying their message to the people (friend or foe) and also to gain enough traction to make it into office. As you've heard many times, the GOP doesn't actually have to choose what the people vote for in the primaries. That's not their purpose. It's just a practical means of polling.
The democratic party generally takes people who decide to work up through the ranks. They gather the strength they need from around them. They make friends, coalitions, partnerships, and of course co-dependencies. Where the republicans have individual cabinet members making promises and owing favors, the democrats instead do this as individuals and as they gain power and favor, they progress through the ranks, but at the cost of owing all those around them. We saw this with Sanders vs. Clinton. It will probably never be made clear what happened here, but I believe that Sanders must have been pushed out because Clinton was willing to make more promises with compromises.
To a certain extent, the republican system makes more sense. The GOP found a great work around for the term-limits. If the power resides with the cabinet as opposed to the president, then it doesn't really matter who the president is so long as the voters chose their party. The cabinet will simply roll from one republican president to the next to the next. This is why you see that Reagan, Bush and Bush's presidencies were so similar.
Another thing which is obvious in this case is that in order for the GOP cabinet to maintain their power, it's important to have a president that is the perfect balance of being loved by the people and being simple enough to "control" and I don't like the term control, but I couldn't find a better word. Maybe mold or bendable... I'm not sure.
The idea is that the president should never have to lie. If he is kept only informed enough to stay on message and share himself with the people as one of them, that's a perfect thing.
He of course will make decisions. But the decisions he'll be given to make is "Mr. President. If we do this, it would be good, but if we do this other thing, it would be bad. You choose sir". And this way he could honestly sit in front of the people and say "I made the decision to...."
This is not a bad system. Most every election, people are not voting for the power and decision makers. They are voting for the face of the person who will represent the power and decision makers while sitting in the oval office. Why shouldn't the president be little more than a puppet. If anything, it probably would be better than someone who makes unilateral decisions with no advice from the experts they have available to them within the same house... and posting them on twitter.
Did Bush start two wars... hmmm...
Ok... Bush made the decision twice.
One time he was told "Bad people did bad things to us. If we don't want them to do more bad things to us, we have to do bad things to them. It's not an easy choice Mr. President, but if you choose to do bad things to them, at least we can stop them from hurting Americans. It's your choice sir"
The other time he was told "A bad man is doing bad things to people we don't even like. But more importantly, he's trying to make nuclear bombs to make it so we can never keep those people safe from him again later. If you choose to, we can get that bad man out of power before he can make the bad weapons th
Seriously... watch him and try to do it with less of a focus on him as a politician. Watch interviews with him as a person.
Is it that he lies like a politician or is it that he was never given enough information to be able to lie? I'm simply not convinced in his case. I can't tell for sure.
First of all... I like the guy now... I'm not calling him a nitwit as a cruelty. It's like when I look at my teenaged daughter and realize she's the most beautiful thing in the world to me but am glad that her attention to personal hygiene as opposed math, science and art will probably make it so I won't have to worry about boyfriends for a while longer. It's a simple assessment.
Watch the interviews with him and hear what he really has to say. Especially the interviews post-presidency. He is a GOOD PERSON but he actually entered office believing that simply being a good person would make it so that the Americans wouldn't be mean to him. I mean, he honestly seems utterly confused as to why people would say bad things about him. Almost like a child.
I believe strongly that while he was in office, no matter what decision he was presented, if it was done in the most positive light, he was likely to be malleable. If decisions were kept simple for him and presented in a clear white hat/black hat way, he would choose the white hat way.
Don't mistake me, when you vote, you generally always know (except this time) that when you vote republican, you're voting for the cabinet who is choosing their visible representative to present the team in the most positive way. This is one of the reasons that Reagan would sit during the trials and say "I can neither confirm or deny the allegations" and the reason is simple, the cabinet was making the decisions and using a friendly personality that people would genuinely want to like to present them to the people.
When you vote democrat, you're choosing an individual who would need to pay back a lot of favors they owned from working their way into office. This is why you can get a really nice guy like Obama who fills the entire White House with RIAA and MPAA lawyers as his legal staff. Then when the cabinet makes decisions, the president has to stand up and knowingly do what he's told because that was part of the deal.
GWB took a beating because he had Cheney pulling his strings and Cheney was not a good person. He never even pretended to be one. Just as GWB was not a smart person an he genuinely never pretended to be one.
If you need any proof of GWB's brains follow a timeline.
GWB, the son of an oil man and upcoming politician attended Yale from 1964 to 1968. His father won his seat to the house in 1966. GWB studied at Harvard from 1973 to 1975. His father has just served as Nixon's ambassador to the UN and had then become the chairman of the Republican National Committee making him one of the most influential men in Washington.
Bush graduated Yale with a 2.35 GPA. He never received an A and one professor even gave him a D. When interviewed on the topic, he would joke about being bad at school (http://www.foxnews.com/story/2001/05/21/self-deprecating-bush-talks-to-yale-grads.html)
Keep in mind that he studied history at Yale. An undergraduate degree in history is not particularly demanding. It's not until you study for a masters or Ph.D. in history that you have a lot of stiff requirements. Depending on how seriously you take it, a bachelor in history can be extremely useful or it can be a fluff degree. As it's very popular among the rich and famous, I'll let you decide what is more likely for a guy who managed to pull a C.
Let's also consider that if your father is rich and powerful, and I would never ever suggest that Yale would ever do something of the sort, but if your father is rich and powerful, your professors most likely would prefer not to receive a phone call about having given a D or F to the son of said person. But again, he never once got a single A as a grade... not even on the easy classes.
GWB tried to enter law school, but was turned down to University of Texas School of Law. We're not talking about Ivy League here. A millionaire son of the ambassador to the UN was turned down for a slot in a state school's law program. We're talking about LAW!!! a field of study where earning brownie points with
I hated GWB as president. His dad too. But have you seen interviews with GWB afterwards?
I've come to realize he was one of the nicest people I've ever heard of. If there's such a thing as an angel... imagine GWB as a smiling cherubic flying baby with a halo and a diaper. He was truly one of the nicest people EVER to step into that office. And if love and care counts for anything, he was possibly the greatest man ever to step into that office.
Oh... and he's a nitwit.
I just can't bring myself to call him hurtful names like Dubya anymore.
A bunch of big bad people like Cheney used him as their meal ticket to get into the power position and they let him stand there helpless in front of the American people as they jammed a carrot up his ass and made his lips move.
We talked about having Bush and others court martialed. The truth is, Cheney and the others should be court martialed for child abuse which is basically what they did to GWB. Cheney would walk into GWBs office and offer him a Werther's Original and gently ask him to drop to his knees.
Be nice to GWB... he really tried his best. He was absolutely horrible at the job, but he really really really tried his best. More often than not, he managed to color within the lines with his crayons.
And I hope someday to have a beer with the guy and tell him I was truly wrong to say so many bad things about him while he was president. I didn't truly grasp his situation until he left office and was able to speak more comfortably... without all the campaigning and saving face.
Let's assume you were a congressperson. How exactly would you get into this position?
Let's assume you start as a servant of the people. You became so pissed off that you wanted to stand up for yourself and those around you. So you're going to become a politician and make America great again. You know that to do this, you would need to be in a position of power. Being in the state senate or a mayor isn't going to change anything you seem to care about. You need a seat in the house, the senate, the presidency or to become a supreme court justice.
I think the supreme court is out because it's reserved for lawyers.
I think the presidency is out because it's reserved for reality TV show people.
You're down to rising through the ranks to the house or the senate.
Before you start, you should sit and read a few books you thoroughly ignored in primary and secondary school. You should learn how the government is designed and how it is built. You should choose the house or the senate and then you should study what your job responsibilities should be as well as study strategies that could be used to make a difference while in the office. You should also consider taking a few night courses on law to better understand how the laws passed by the government are used and enforced from a practical perspective.
You should choose most importantly whether you want to be a person who presents new laws, someone who simply exercises a vote, or someone who will attempt to influence the votes of others in favor or against proposals from others.
As someone presenting new laws, you need to amass huge amounts of political capitol in a very expensive power struggle. You'll need sponsors to help you. Of course you can't take gifts or payments, even harmless ones like guns from the NRA. Instead, you would need to ask some political powerhouse to make A LOT of noise for you. To pay for this, you'll have to agree to do something for them.
As someone exercising a vote, you will be paid with political capitol. Your "peers" will be calling you and vetting you and trying to get that vote they need from you. Of course, you don't want anything from them and therefore you'll gain no capitol. You'll just vote in a way that will help with this one issue. Of course, you don't give a shit whether the salt flats of Utah should be swept and you can't be bothered to research whether it's even a good idea. In fact, because you're now in D.C. you have extremely limited access to resources or freedoms you could have used earlier to research it. You have a black tie dinner you absolutely have to attend because some other law you do actually care about is trying to build enough political capitol to be passed and if you don't stand with the group you support on this, it won't have any hope of passing.
As someone hoping to be a power broker and influence votes, you'll spend most every second on the hill getting support from companies, your peers, etc... you'll need to throw parties which cost money. You'll need to get those sponsored through channels which aren't considered conflicts of interest. You'll need to get in front of cameras and you'll need the right clothing, etc...
Ok, so now that you're learning the ropes and you have a plan of where you want to be to represent the people best, you'll have to figure out how to get there.
You learn that pretty much anyone can run for office. In fact, you don't even have to run to get into office, the people just have to vote for you. So that's easy enough... you just need to get the people to vote for you... and remember it's critical you don't sell your soul to get there. You want to get to Washington with no major political capitol owed.
So... what are your options.
1) Latch onto a power broker who will back you as opposed to their normal horse. If you use this guy, you're nothing more than his puppet and you'll have already failed.
2) Join a political party and gain their backing and support for running. Remember they'll generall
Dude... in 2001 we pirated because we had no alternative means of acquiring the media. I still pirate when this is the case.
Even now, "white pirating" is often done by children who do things like chip in together to buy a film and then realize they can't share it because it's locked to one account or another. As a result, one owner pirates the film.
I recently bought a math book for kindle which was unusable because of the page layout. So I pirated a PDF while waiting for a print copy in the mail.
But outright pirating with no intent of attempting to reward the author for their work is just wrong. Even the worst movie ever made, if you find yourself distracted for 2 hours because of it deserves at least a little love.
Yesterday, I mailed a company and informed them that I would pirate their software until such time as they switched to using a payment processing company that didn't strike me as a scam. I recommended using the Windows Store, but they complained about this. So I told them that my money is waiting for them when they're ready to take it.
The American prison system. The best tool that politicians have to manage job statistics is to increase prison population and to hire more guards.
As we automate more jobs, it will become more and more important to decrease the unemployed through more creative methods. For nearly the past century, America has produced large numbers of jobs through fear, uncertainty and doubt. So long as the people of America are convince there is a necessity to do so, politicians have a more less carte blanc to produce jobs through FUD. Prisons are some of the best.
To manage the job statistics, it is necessary to accomplish two primary things.
1) Decrease the number of people eligible to be counted as unemployed.
2) Increase the number of jobs for the remaining number of people.
Here are some methods of decreasing the number of people counted as unemployed.
1) Get the killed
2) Imprison them.
The military has been traditionally very lucrative in the sense that we can send massive numbers of children to their deaths before they have the opportunity to reproduce in a means that produces American citizens eligible to be counted as part of the employment statistics. Not only that, but if we can't get them killed, maybe we can get them boom boom in Europe or somewhere else where they can settle down and procreate on some other country's dime.
Navy is far better than army, marines or air force since we can in a single stroke kill off hundreds or thousands of children, lose a ship and massive amounts of equipment and create tons of jobs in the name of national security to create more ships, planes, equipment, etc... as a replacement. The army and marines are a nightmare since you don't have any great direct profit from getting your children killed one by one unless they get blown up in a ground vehicle like a bus or tank which will need to be replaced.
Prisons are a fantastic means of removing people from the employment statistics. If you send a person to prison, they are no longer counted as unemployed and the massive number of jobs created by sending them to prison is well worth it. All that matters is that you have to convince the American people they are safer paying to lock this person up and place them on extremely expensive welfare than to let them run lose and be in far less expensive welfare. This means however that we need to selectively choose people who we believe will be more profitable to the system as progressively hardening criminals as opposed to tax payers.
For example, if you're a wealthy male in his prime, locking that person up for more than a year or two, even if they commit a mass murder is not profitable. It shouldn't be done.
On the other hand, taking a kid from a family in the ghettos with two parents collecting welfare and generally low grades, unless you can get them to join the military as canon fodder, it's far more profitable to sentence him/her for 10 years for possession of a joint than to risk them simply collecting welfare or working a minimum wage job.
A beautiful thing is that if you convince some sucker that he could be a hero by being canon fodder and they don't die, they can come back with PTSD and knock over a 7-Eleven, kill off some minimum wage worker leaving a job open for someone else and then go to super-max which is nothing but bank for the job statistics.
See prisons are absolutely amazing because as long as the American people are scared of criminals and especially as long as we focus A LOT of effort on penalizing them as opposed to correcting them, we can increase the general temper of the American people allowing us to spend even more money on prisons and then even stress other areas of the economy causing more people to commit crimes, leave jobs open for others, be removed from the employment statistics and create jobs for others.
Consider that prisoners require prisons. Prisons require guards. Prisons built in or near former coal towns tak
You're making the mistake of thinking that a person in your age group should interview. I'll imagine that you're at least 35+ possibly even as high as 50. We don't interview at that age anymore. We figure out what we want to do, then we think about who we'd like to work for. Then we make the friends through social networking that would present us with the opportunity to meet the right people to get us on payroll.
I don't even hire people I have to interview. I sometimes have lunch with someone that's recommended to me. But to be fair... as soon as I see a resume and I hear job interview, that's over with. I sure as hell don't want to hire anyone who is over 30 who is going to send me resumes.
I have often talked with people who I find on Github and Gitter. If I like their code and they play well with others and display a good work ethic and they make the comment they're looking for a job or make hints they're interested in moving, that's a great way to meet people. Meetups are more for desperate people. It's like speed dating for people who were splashed with acid.
If you're interested in something, invest the time in making sure people know you're a smart guy and willing to move. This way you draw jobs to you not the other way around.
Interviewing is something you do as a college grad trying to get that first job. Or it could be something you do if you're trying to pimp yourself off to Microsoft, Amazon or Google for example. But even with those companies, I'd just make friends with senior level developers and mention that I think it would be interesting to work for a behemoth from the inside for once... but I wouldn't want to be just another badge number. I would recommend in that case that you don't express interest in their vest and rest plans.
I would never hire anyone anywhere for a job requiring analytical skills who would live in a rental.
Live with mom and dad or with 5 room mates crammed like sardines while putting away a legitimate down payment for an affordable flat.
Pay that for 2-5 years and hope the market rate goes up... as it usually does, though with the occasional catastrophic hiccough.
Move into something more comfortable once you're further along.
I would never under any circumstances hire anyone who is going to bitch about the cost of rent and how they can't get ahead in one of the highest paying places on earth when they're simply throwing away their money.
I was making $50 an hour after 4 years without any degree in Oslo, Norway. Cost of living is peanuts compared to the valley. Flats and semi-detached are pretty reasonable here. Ranging between $250,000 and $1.5 million... the desirable stuff lingering around $800k. You could of course get a big expensive house, but there's no real value in that. The country is liberal... not SV liberal nutjob liberal... but liberal in the sense that a good quality of life for everyone is a good quality of life for everyone.
Of course, SV is really exciting if you want someone to define you for yourself. SV hasn't ever been famous for personal mental health. The personality adaptation it requires for you to survive in the valley is horrifying to outsiders. I'm heading to Seattle in a week and I'm actually frightened because I'm worried it will be like SV on steroids. Like "We're nothing like the valley... we're so much better". I never liked the toxic overly judgmental environment of the north west.
My son buys my daughter loot boxes for her birthday and she opens them in hopes of getting cosmetic enhancements in Overwatch.
I would not be overly upset if the thing she wanted could be outright purchased. I'd even bless it as knowing that she would get what she paid for. But last year, she got loot boxes and every one of them had something she already had. The result being that the money was entirely wasted.
My son and daughter stood by the computer while he prayed his baby sister would get what she'd wanted for so long. And while she was so happy he bought her the loot boxes, he was so disappointed that he wasted his allowance.
Loot boxes are shit. If you want to sell loot boxes, you shouldn't be able to put anything in them you can't outright buy in a store as well.
P.S. - I stopped spending an average of $800 a year on games when these shenanigans came in.
So, PTO... nifty terminology. What is it with people insisting that everyone thinks they're some sort of a root vegetable? First you try to explain to me that you're a potato and then you refer to taking time off as something that's associated to PoTatOs? Just teasing, I actually think of PTO as being PTSD from being worked to the point of snapping. I would like to recommend GTC as a description of what you would send me e-mails about when I try to contact you and you've "Gone To the Can". Or maybe GBH for "Giving Boss Head" to let us know you're asking for a raise.
Of course the entire American culture is corrupted. I hear kids yelling "Momma, let's get these. There's a BOGO" in the grocery stores.
It really doesn't matter how absolutely stupid these things make people sound, they'll use those terms anyway.
Yep... so 5 weeks paid vacation a year here. And once a year, your employer has to pay you 10.2-12% of your entire previous year's salary with a major tax break instead of your normal salary to make sure you have money to travel and have fun. This is whether you're a burger flipper or a doctor or a billionaire. Everyone gets 5 weeks paid vacation.
Then there's 10 paid sick days by default.
Then there's 10 additional paid sick days in case you need to stay home with your kids.
Then there's Christmas week, Easter week, lots and lots of long weekends.
Altogether, it's nearly 20% of the year you're paid to not work... as a rule in Norway.
I haven't come close to using all my days except for a year when I had the worst boss EVER.
For all of those who have read this. I want you to know that because of the way you treat your poor, while not official, it has become common in Europe to refer to the U.S. as a third world country. Only a third world country would exploit their weak instead of developing them into real assets. Only a third word country would punish their people for getting sick instead of investing in making them well and able to contribute again.
BTW... I am an American, I just left before I was old enough to see how bad it really is. And I have traveled to far less developed countries than the U.S. and they would never let their people live the way America does... and even worse, only a third world country would elect a casino owner as their leader.
The vast majority of super computers are distributing tasks through a scheduler which happens to be written in C. The code they distribute is most often developed in Matlab or similar languages... which are hogs and run so amazingly inefficiently, They generally work on extremely static data sets as well. Super computers are best suited for consuming data, not producing it. The key exception is the LHC.
Two years ago, I saved an oil exploration company $4 million a year in super computer rentals by introducing their scientists to Intel's VTune. Now, code which used to require time on Top500 computers to calculate runs fairly well on 3 rack servers with 4 GPUs each. Never ever ever use super computers as a method of describing efficiency.
If you want to test a small scale example of this, get your hands on Cisco Prime. A function of Prime is to consume data from spread spectrum radio analyzers for many purposes ranging from adjusting transmitter power levels for wireless networking to performing rogue device detection... you know... all that nifty math stuff for radio. Cisco requires 16 dedicated Xeon CPU cores and 24 gigs of RAM to run this software. And as soon as you do that it becomes a dog with flees. If you ignore Cisco's hardware requirements and use a $500 computer containing a $69 NVidia GPU and slipstream the NVidia drivers into the Linux distribution, the Matlab code will use the GPU and run 1000 times faster than on 16 dedicated Xeon cores. On the other hand, if they were to actually tune and profile their Matlab code, it could probably run 100,000 times faster as the Matlab code they're running is actually incredibly slow.
What they're doing is basically a super computing task. And the math they're performing is typically super computing math. It's super-inefficient and even after a so called super computing expert analyzes their code and attempts to make optimizations, there's very little that can be done for most code like this. You'd have to rewrite it for there to be any hope of it not sucking and since the code is often highly convoluted crap, it simply is generally impossible.
So we use super computers that generally run massive schedulers written in C that should have been written in a scripting language but someone was an idiot. The we run code which probably should have been rewritten to work on a laptop GPU but instead will burn computing time at $25,000 or more an hour. We do that because the code can run on the super computer now, rewriting for a laptop GPU will set things back a year.
Finally, don't forget that 99% of the C code which is run on super computers is compiled to C from other languages. This is done because you would never write that kind of code in C. The other reason is that you can't really easily distribute the programming language you coded in to all the systems. Oh... and to make your code work on x86, Cuda, OpenCL, whatever else... you don't hand code that. You use a high level language like Matlab which will compile your code into code that can run on all these things.
Relocatable memory has absolutely nothing to do with malloc and free. It's the principle that memory can be relocated. So, as opposed to using a pointer to a fixed memory location, you would use a pointer to a pointer and access the memory through helper functions.
The purpose of this is that when you're performing a massive amount of allocation and frees, there is a tremendous amount of memory fragmentation that occurs. So, if a web browser for example which is very dynamic in nature will end up with massive amounts of wasted memory because it is nearly impossible to defragment the memory.
Solving this problem in C is definitely possible, but the static nature of C makes it very very difficult. As such most dynamic applications written in C are hogs. It looks like "wow I'm hardly using any memory" but the entire system is suffering because C is so poorly suited for memory management.
Let me start by asking. Have you always has problems in reading comprehension? Or is it that you simply choose to interpret what you read in a way that seems most convenient to you for a meaningless response? If it seemed strange to you, you may have tried reading again and asked yourself "Did he get it working or did he leave the comment there as the relevance of whether he got it working or not wasn't pertinent to the comment?"
Either way, I'm guess you make a great party guest. I'm generally an asshole, but I can choose to be less of an asshole which I lack the skill for, or I could invite you to the party and people would think I'm less of an asshole in comparison.
I'm not a C# person, though I do code C# and like it. It's a strong language... about the same as most. The platform is more interesting to me. This platform is what you called earlier "A bubble", so when I asked whether you're in the Python bubble, I was using it as a comparison of one platform vs. another. It appears, I should have been more clear as you seem to only interpret one sentence at a time without identifying the reference it was made it. Even if the reference was to your own wording. Of course, it's possible I didn't understand your reference to "Bubble" as if it weren't referring to the platform or infrastructure surrounding the language, your statements would make little sense.
As for complaining I couldn't get simple stuff to work. Thank you for your concern, I made it work.
Let me help you with reading comprehension. The reason for not clarifying this earlier was in reference to the issue that the platform (in this case Java) which has had this same problem with Web Start for many years didn't work out of the box as it should have. If you were to ship a tool to simplified launching a Java Web Start application from... well the Web, it seems reasonable to assume that the installation program for the platform would create the references itself. Of course, one could say that by using Chrome I made a crappy choice in browsers, but Chrome does have the majority market share at this time. Therefore, it is logical to assume that platforms which claim to be called Web Start should start smoothly from what many people see as being the most popular means of accessing the Web.
Now to be honest, given your comments that I've read so far, I would suspect that you're even more full of shit than I am. As such, I'm not particularly concerned with whether you respect me or not. I probably wouldn't have bothered responding to you if I didn't think I could entertain myself by self aggrandizing in the process. You of course know what I'm talking about, otherwise you wouldn't have made a ridiculous comment bashing a platform you obviously don't understand if it weren't for the purpose of attempting to make yourself seem smarter by adopting and voicing an arrogant and uninformed perspective you believed to be popular given the typical audience you would cater to.
The "I guess you're in the Python bubble?" comment was a friendly way of saying "Dude, we're all pretty much in the same ship one way or another" by proposing an apples to apples comparison.
Should we discuss religion or politics next? I believe you and I can have a wonderful discussion on the topic. Should I chose the topic and your attack me for my opinions or would you prefer to choose the topic and I'll attack you instead?
Lua is a language without a platform. It's amazing technology and I use it (LuaJIT) in some of my projects. But you have to provide the platform for it. JavaScript is more of a platform at this time. It's a horrible language, but it is an excellent target to compile to.
I hadn't really considered Lua as a suitable compilation target as again, it lacks the underlying platform. but now that you mention it, it could be interesting to look into.
Thanks for bringing me down this track of thinking.
I honestly have no problems with other platforms... except maybe Java... and that's because I simply feel completely disconnected from the platform when I'm using Java. I spent 30 more wasted minutes of my life yesterday trying to make WebStart... well web start. But it seems that Oracle seems to think making WebStart work in Chrome is a waste of time.
I have chosen C# and.NET for many reasons for my current project, I can honestly see no real downside to the platform. It is completely open, it's very often community driven. The tools are far more advanced than for any other platform. The performance isn't quite JavaScript (currently the fastest language out there for anything but static code) but I don't think it could ever be as slow as Python no matter how bad the.NET project messes up..NET supports many different languages with integration between languages handled as a native feature of the.NET platform as opposed to the who SWIG lifestyle. It probably is the most versatile platform ever made for handling more than just one programming language. Sure, using the C ABI is pretty powerful too, but there has never been a standard for handling object oriented programming that way.
I also use.NET because it's lovely for coding on Mac and Linux.
I owned a Windows Phone for a while. It was pretty ok. I think it was extremely well made... with the exception of Microsoft making the stupid ass mistake of trying to force.NET down everyone's throat. No one wanted to rewrite their entire system to support Windows Phone. Even Apple didn't reach critical mass until they released ObjC++ allowing existing code bases to be ported to Mac pretty cleanly,
I never considered Silverlight an option for anything. I did however write the original port of Flash to Qt for the Qt Embedded platform on Linux. I never liked Flash either. I would rather just extend the web standards to support the features I was missing. I also don't like the video tag. With WebAssembly and WebGL, I can't imagine why any company would ever choose to try and standardize a codec when they could have supported a TPM for web kind of thing and simply supply their own. I'm pretty sure Netflix, HBO, YouTube and others will lose hundreds of millions a year by using Flash or the HTML5 video.
The only problem I could ever see to.NET was that people seem to dislike it because it's a Microsoft thing.
I'm heading to Microsoft Build next month because I feel that.NET is worth investing in. I expect it to be around for a while. I expect it to be supported for a while. I expect it to be constantly modernized for quite a while. I expect it remain one of the most open platforms for a while (permissive licensed only, no so called free GPL code). I am hoping to learn a lot of stuff there.
Should I mention here that I voluntarily use C# and the.NET eco system and even use them in the browser by compiling to Javascript? Soon, Mono will have a WebAssembly back end, but for the moment, we're a bit far from that since WebAssembly doesn't really do garbage collection... yet.
Excellent example. In modern times, C is one of the worst languages you could ever use for any project. It is the language of freedom and by extension is a language that through lack of any real intelligence is the language designed to give you the freedom to make truly destructive code. C is almost certainly the best language you could ever learn in order to have a great example of precisely what not to do in language design.
The static nature of C makes it really slow unless you're writing very static code with very simple data.
The super-loose nature of C makes it utterly impossible to ever implement any good static code analysis. C developers love the language for many reasons, but it's generally a belief of "I am smarter than the computer and after writing a million lines of code, if I decided I did something wrong, I want to go back and fix it manually with no help of any intelligent tools". Yes, there are some tools which can assist, but let's be honest, if you look at something like GStreamer, you'll see code which will never be able to be processed by static code analysis tools. When something goes wrong in that code, it's a permanent fixture and it will never be properly fixed.
C is great because the ABI is so stupid simple that you can easily look at the assembly and make sense of it. It is a nightmare when considering things like system calls because the ABI is so impressively stupid that the language can not possibly help you create data segments easily passed between memory modes. As such, we get horrifying extensions to C such as structures with indeterminate sizes and absolutely no help from the language supporting bounds.
Because of the free nature of C, memory management is just the worst thing ever. Implementing relocatable memory in C is basically impossible, Theoretically, you can go completely crazy with a build your own local descriptor table, but memory management in C is generally so bad that you should be imprisoned for criminal negligence for ever writing dynamic code in C. Most systems run like hell because of the lack of intelligent memory allocation in C as a standard. The GDT on Linux generally looks like a trash bit from hell because of the horrifying memory structure that can't possibly be defragmented after some use. C code is parasitic and wastes so much memory it's terrible. The only possible redeeming feature is that a lot of modern C code tends to favor stack over heap. This at least offers the slightest chance of cleanup. But overall, you should never ever write any C code that uses heap. This is the reason we need gigabytes of RAM to run programs which used to fit in less. Of course, you would argue that C gives you more control over memory than other languages, but that's juvenile thinking. You only have more control over your own heap. You don't have any control over the complexity of the MMU's structures. And once you trash those (and you will in C and C++), there's no going back without killing lots of processes.
There are some languages better than C for tasks C is well suited. Rust seems promising now. In fact, due to massive backing, there's even a chance Rust could take some market share. But C really isn't very good for much anymore. C is mostly reserved for programmers who prefer religion over knowledge. C is a simple language for simple things. But as you say, this religion will stick. Sadly, if I were to sit down and write an new OS kernel, at least the first few bits of it would be in C as I still don't see a true alternative to it. Though I would consider writing a new language which would be strongly reminiscent of C which would interpret to C, but support strong static code analysis rules.
Unlike ShanghaiBill, I write languages often enough to not say things like Bison anymore. Bison and Flex are 1960's to 1970's technologies for compiler design. These days, writing a new compiler is far easier than that.
Step 1) Parser generator Using Antlr which is pretty much one of the most common solutions (though I really don't like Antlr myself) is very easy. You can open Eclipse, setup Antlr and pretty much have a parser up and running very quickly.
For prototyping a language quickly, using a Packrat parser generator is far quicker, but generally requires building your own AST. Though in modern languages, this is stupid simple. Simply start defining the grammar and add a new abstraction for each type. Then reduce the types as common features become obvious. Expression parsing is generally some of the more difficult tasks you can encounter as they tend to be highly recursive, but it's pretty simple.
To do a great, job, hand coding a parser is pretty simple these days. While a tokenizer can be a very powerful approach to doing this, generally tokenizing as you parse is really super simple. Same concept as is generally applied to a Packrat, but you just make a class which allows pushing and popping states. Then you make a function to match a regular expression or series of regular expressions. I like to make a solution which takes accepts a list of expressions and lambdas, then given the current state which I'm parsing, I concat all the valid expressions for the state into a single expression with named matching. Then I pass the parser state to the lambda as a parameter. The result is a ridiculously easy parser to write which performs pretty well. It's also very easy to later optimize by caching the compiled expressions.
A major advantage of the hand coded parser is that it's far easier to add extensive static code analysis to a hand coded parser than most generated ones.
2) Make a simple tree optimizer architecture
While tree optimization probably isn't necessary in earlier phases for the purpose of performance, it's extremely useful for reducing more complex states of the tree into more easily compilable branches. For performance, it's really nice to find things like AST states of multiple consecutive if statements against the same variable with the same type and reduce it to a select clause which can be easily optimized.
3) Produce a backend
Compiling to C is super easy. C++ is also really super easy. On the other hand, while LLVM IL is somewhat complex for people who don't understand things like startup code and exit code... and things like register allocation can be confusing to many, it's actually pretty easy to generate.
Compiling to WebAssembly is great option as well.
These days, I tend to favor compiling to JavaScript. JavaScript is a far better compiler backend than most. It generally produces far better code than even the best C and C++ compilers. This is because C/C++ generates good/great code once. JavaScript JITs however have a modern runtime which constantly optimizes code for the platform it's executing on. It's far more intelligent with regard to SIMD instructions when possible that most other platforms. It's generally truly cross platform as well. If favoring a specific platform such as Qt (which I believe embeds v8), it's quite easy to build GUI extensions. I prefer to compile to JavaScript 5 as it's available everywhere. It's greatest weakness is that it doesn't properly support regular expressions.
The other beautiful thing about compiling to JavaScript is that massive amount of work has been done to allow easy synchronization for compiling. This is handled well through map files. As such, building a great debugger experience is practically free.
Using.NET as a back end is absolutely a wonderful experience as well..NET has excellent extensions for language design. As part of the.NET experience, it's made al
I worked on the first major device running QNX as a kernel for an interactive device. It was the most difficult platform I ever coded for and to be honest, there were many things which were very problematic with the platform.
I do chalk most of this up to QNX being an RTOS as opposed to it being a Microkernel.
These days, with multi-core CPUs everywhere, I think the whole Microkernel/message passing vs everything else is basically irrelevant since the real-time stuff can be run on one core while everything else runs elsewhere. In fact, if most of the rest of the system is written as an OS within an OS... the scheduler and message dispatch mechanism should be fine.
Actually, Google will make Fuschia work as a smartphone/tablet platform and whatever else. From a design perspective, it's actually quite bad.
When I first started reading the code to Fuschia, I was going line by line asking myself "Haven't we already made this mistake before?". It was like one major compilation of "I took an OS course based on Tananbaum's book and decided just to copy every mistake we never learned from". And in the end we have a brand spanking new 30 year old operating system.
Ok, I'm being harsh and it's only partially fair. Let me start with your issues.
It's not necessary to sort out the issues with latency and message passing. They are making a real-time (or near real-time) operating system which in its own right already suggests that they're willing to sacrifice performance in favor of deterministic time. Telephones always benefit from real-time kernels in the sense that it allows dropping overall transistor and component count. Every telephone which ever boasted 4 day batteries ran real-time operating systems and it was generally a good idea.
Secondly, there's been a pretty huge move in Firefox and Chrome to optimize their shared memory systems to reduce or eliminate hardware locks by marshalling the memory reads and writes. Add to that that almost all modern development paradigms are asynchronous programming... unless you're stuck with some shitty language like C or C++, and most of the switch and latency issues are irrelevant. This is because you can keep multiple cores spinning more or less non-stop without much concern for kernel level inter-thread synchronization. Take it a few steps further and expose things like video hardware access directly to individual applications that would operate their own compositors based on a GPU context and apply shaders to support windowing type tasks... then it's going to be quite impressive and the locks should be a lot less relevant.
From that perspective, I don't see a good solution to the audio problem as I've never seen a sound card which would support the principle of shared resources. I don't think it would be even mildly difficult to design such a device though. The only real issue is that if mixing is moved entirely to hardware, then depending on the scenario, it would be necessary to have at least quite a few relatively long DSP pipelines with support for everything from PCM scaling to filtering. There's the other problem which is that protection faults to trigger interrupts could be an issue unless there's some other creative means of signalling user mode code of buffer states without polling. Audio is relatively unforgiving of buffer starvation.
So, let's start on my pet peeves.
Google's been working on this for some time and they still don't have a system in place for supporting proper languages. C and C++ are nifty for the microkernel itself. But even then, they should have considered Rust or rolling their own language. This world has more than enough shitty C based kernels like Linux and BSD. If you want to search the CVEs and see what percentage of them would never have been an issue if the same code was written in a real programming language, be my guest, but I'm still sitting on WAY TOO MANY unreported critical security holes in things like drivers from VMware, drivers from Cisco, OpenVPN certificate handling code, etc... I absolutely hate looking at C or C++ code because every time I do, unless it's painfully static in nature, it's generally riddled with code injection issues, etc...
And yes, I've been watching Magenta/Fuschia evolve since the first day and I follow the commit logs. It's better than TV. It's like "We have a huge number of 22 year old super hot-shot coders who really kick ass. Look at this great operating system kernel" and it looks like some bastard high school or university project written by people who have little or no concept of history.
Linux is good for many things. It's amazing for many reasons. Linus did an amazing job making it and it's a force of natur
It's whoever is president in general really. It's a thankless job and congratulating the president on a job well done isn't really that fun. On the other hand, bashing the president is very popular and more or less always has been. Even Lincoln was a topic of much debate and hostility for most of his career. It was believed that when he died, his wife was the only person who wouldn't line up to piss on his grave.
I didn't like Reagan, because he was the ultimate puppet. He managed to sell anything the cabinet wanted because he always believed he was doing a good and righteous thing. So, it was almost impossible to believe otherwise. He had a gift for selling his belief in what was good to the Americans and the people behind him were simply not good and righteous.... but scarily, many believed they were trying to be.
Bush version 1 was something scary. He was in some ways the same cabinets attempt to have lightning strike twice. But he just wasn't as lovable as Reagan was. Instead he was kind of stupid and clueless. You went along with him because it felt bad to pick on the slow kid. Every decision he made, he made because he truly believed he was trying to help people. The problem was, he lacked the capacity to understand the consequences of his actions, he only ever saw the good that could come of it. So, he was the type of person you could convince to cut down 4 million acres of rain forest because the tribesmen in the forest have allergies and it would help them breath a little better.
Bill Clinton was the lovable and cuddly rubber faced democrat. He was a living, breathing, feel-good campaign. You just wanted to like that guy. He did all kinds of things. Like he balanced the budget... that's FRIGGING AWESOME!!! except that there's another was of looking at balancing the budget.
1) You defer purchases you really need to make in order to live within your budget. As those deferrals are in place, the quality of the infrastructure decreases. Roads erode, ships rust, engines freeze from sitting idle, etc... the result is a fantastic cost later at an inflated price to attempt to bring all those things back into repair. Poor roads seriously hurt many American industries and were part of what enabled the Chinese to take over much of America's industries. I'm not blaming everything on this one thing. But it was a big contributor.
2) You don't deflate the currency. Wealth is created when governments work together to dilute the value of their currencies. It's how wealth redistribution works. Unlike the gold standard, people gain wealth by receiving money (filtered down through 100 levels or more) of larger government purchases that come from money printed by increasing the deficit. World wealth increases greatly as more governments around the world work together to devalue their currencies in sync with each other to feed more money into their countries and circulating more money to the people. Clinton starved the economy of this necessary wealth by balancing the budgets. This caused inflated interest rates as this currency devaluation is also needed for banks to have money to loan to people. We were all forced to live more conservatively with a near constant fear that while the government was doing well, our kids wouldn't be able to go to college, etc... all because it became too expensive to send them there. Prices can't rise if there's no new money to pay those prices with. A balanced budget is terrible for that.
3) Clinton didn't understand that a balanced budget didn't mean the government should stop increasing their national deficit. So, he basically lined us all up for the shit storm associated with what would eventually be the devastation of the GWB economic fall out. The road to hell is paved with good intentions and Bill Clinton and GWB were possibly two of the best and kindest people EVER.
Bush v.2. I honestly don't know where to start with him. I hate to say anything mean about a person I admire as a human being so much. He was such an i
1999, Trump takes a stab at presidential politics, he finds out people received him negatively and that he polled slightly better with Republicans than with Democrats
In 2004, Donald establishes a TV series based on presenting himself as a competent leader with companions to oversee competing groups of people of different walks of life vying to become business leaders themselves. Though he experiments for years before he identifies how to achieve ratings through placing himself above the bickering of those beneath him. He popularizes the term "Your Fired" as a trademark of his no-nonsense business tactics. He also earns the trust of many people who choose not to waste their time fact checking what they read.
In the 2008 election, Trump picks a battle with Obama and needles him and attacks him publicly to test the waters with voters to see how he would fair against Obama. A guy who literally invented the crowd-funded campaign. He basically chose a line "Change!!!" and stuck to it and raised a lot of money through micro-donations online.
By attacking Obama as opposed to adopting party standpoints, Trump began moving himself into a position of influence in the Republican party. His perpetual needling and elevating attacks of Obama and more importantly, the generally overly intellectualized return attacks towards Trump established Trump as the common "red blooded American" being attacked by this 'not-even-American" black snob looking down his nose at him.
All this time, Trump kept his different pursuits separate from one another and aimed at focus groups and aimed at polling. While running the apprentice, he made sure that week after week for 7 years, he would do one thing or another to increase his approval ratings.
Trump systematically through the primaries picked target after target and weakened them and eventually forced them out of the primaries. In addition, he even made most of them publicly support him... though sometimes with really funny coerced looks on their faces.
When it came to the election, he focused on all the little places one by one which would get him most of the small town and small state votes. He earned loyalty and town by town won the love of people who generally don't respond well to politicians that sound condescending when talking to "country folk"... in other words, the democrats... Hillary was just a nasty ass snot... especially to the country folk.
Trump then work up enough votes in the right voting districts that while he could never win popular vote, he could win loyal voters who would show up and vote for him even if it were a lost cause.
By the time election day came around, he had earned vote by vote enough loyal voters that they all showed up and Hillary spent the last few weeks bragging about how much of a land slide it would be and how people didn't even have to show up and she'd still beat him.... and he let her do that and even helped her do that. The result being that while she would have nailed the vote, she was the hair who lost to the tortoise because she was an absolute frigging moron.
Donald since he's been in office has worked almost entirely through trial and error. He throws out a proposal as if it were a law and then reads the polls to see how people respond. He then backs out on it if runs the risk of costing him political capitol working towards his one and only goal.
Every decisions he makes one by one all go back to a single solitary thing. The great wall of Trump. He builds and uses political capital little by little to earn a little more wall. Look around NYC for the name Edison and you'll understand what he's trying to accomplish. Now that he's president, it's possible that when he dies, there will be high schools names for him. He's probably hoping for a monument of some type. There will be a presidential library... probably in NYC... and he wants a big ass wall... so big it could never be practically taken down completely. 500-1000 years from now, there will be a stone gate somewhere as a monument
While I smile about the joke, I disagree with the statement.
There is an obscene amount of H1-B visa abuse. But for any country to develop, it absolutely has to have open doors to skilled foreigners. Patriotism and all that crap is great for people who have nothing else to make them special. But for people who define themselves as engineers or scientists for example, the world needs to be globalist.
I moved to Norway from America 20 years ago... and I took on of their jobs. I took one of their women. I spread my seed in the country. I have worked 6 years as an IT instructor to make some extra money and have heavily influenced society and culture here. I often during breaks or to lighten the mood share more than just IT knowledge, but also things like what a Turducken is or what Bacon Explosion is. Many of my students have tried both. I work longer hours than the locals, I work harder than they do (almost universally), I produce more and I take more. In 20 years, while I'm fully functional in their language and by American standards am fluent at this point, I never speak their language to them except in rare cases. I work purely in English... though I leave them the option as to what language to speak to me in or send me e-mails in.
The only thing which differentiates me from what you see as an H1-B worker is my skin color. There are cultural differences, I directly "corrupt society" here. I change peoples habits, behavior, etc... but they also change mine and over time I've become much more like them. And because my skin is almost light enough to be Norwegian, I am welcomed and embraced. When I choose to change jobs, I insight bidding and package battles between companies... though to be fair, I rarely choose the best package in lieu of the best coworkers.
Understand than in 99% of all cases, immigrants imported in the spirit of the H1-B as opposed to the abuse of the H1-B are almost always the best and highest performing workers. They are the people most interested in being part of your society as well. They will hopefully bring the best parts of their culture and improve yours in the same way that a new spice will help your pasta sauce recipe.
H1-B is a really really really good thing if it can ever be brought under control.
I was just at Microsoft Build to update my knowledge "of the enemy" and learned a great deal and looking at the people I spoke with, I think America would be a much poorer place if the H1-Bs working at MS weren't there.
I wrote some more on it below to an AC about why I feel Bush wasn't the sharpest spoon in the drawer. So I'll avoid reiterating.
What I will repeat is my stance about the differences between the political parties (with the exception of the current administration)
The republican party works as a team to establish a cabinet of power wielders and power brokers with something of a common compatible message. The are built of representatives of businesses, churches, special interests groups and they often even believe what they're selling. They then hold primaries to test the people to identify who will have the best chances of conveying their message to the people (friend or foe) and also to gain enough traction to make it into office. As you've heard many times, the GOP doesn't actually have to choose what the people vote for in the primaries. That's not their purpose. It's just a practical means of polling.
The democratic party generally takes people who decide to work up through the ranks. They gather the strength they need from around them. They make friends, coalitions, partnerships, and of course co-dependencies. Where the republicans have individual cabinet members making promises and owing favors, the democrats instead do this as individuals and as they gain power and favor, they progress through the ranks, but at the cost of owing all those around them. We saw this with Sanders vs. Clinton. It will probably never be made clear what happened here, but I believe that Sanders must have been pushed out because Clinton was willing to make more promises with compromises.
To a certain extent, the republican system makes more sense. The GOP found a great work around for the term-limits. If the power resides with the cabinet as opposed to the president, then it doesn't really matter who the president is so long as the voters chose their party. The cabinet will simply roll from one republican president to the next to the next. This is why you see that Reagan, Bush and Bush's presidencies were so similar.
Another thing which is obvious in this case is that in order for the GOP cabinet to maintain their power, it's important to have a president that is the perfect balance of being loved by the people and being simple enough to "control" and I don't like the term control, but I couldn't find a better word. Maybe mold or bendable... I'm not sure.
The idea is that the president should never have to lie. If he is kept only informed enough to stay on message and share himself with the people as one of them, that's a perfect thing.
He of course will make decisions. But the decisions he'll be given to make is "Mr. President. If we do this, it would be good, but if we do this other thing, it would be bad. You choose sir". And this way he could honestly sit in front of the people and say "I made the decision to...."
This is not a bad system. Most every election, people are not voting for the power and decision makers. They are voting for the face of the person who will represent the power and decision makers while sitting in the oval office. Why shouldn't the president be little more than a puppet. If anything, it probably would be better than someone who makes unilateral decisions with no advice from the experts they have available to them within the same house... and posting them on twitter.
Did Bush start two wars... hmmm...
Ok... Bush made the decision twice.
One time he was told "Bad people did bad things to us. If we don't want them to do more bad things to us, we have to do bad things to them. It's not an easy choice Mr. President, but if you choose to do bad things to them, at least we can stop them from hurting Americans. It's your choice sir"
The other time he was told "A bad man is doing bad things to people we don't even like. But more importantly, he's trying to make nuclear bombs to make it so we can never keep those people safe from him again later. If you choose to, we can get that bad man out of power before he can make the bad weapons th
Seriously... watch him and try to do it with less of a focus on him as a politician. Watch interviews with him as a person.
Is it that he lies like a politician or is it that he was never given enough information to be able to lie? I'm simply not convinced in his case. I can't tell for sure.
First of all... I like the guy now... I'm not calling him a nitwit as a cruelty. It's like when I look at my teenaged daughter and realize she's the most beautiful thing in the world to me but am glad that her attention to personal hygiene as opposed math, science and art will probably make it so I won't have to worry about boyfriends for a while longer. It's a simple assessment.
Watch the interviews with him and hear what he really has to say. Especially the interviews post-presidency. He is a GOOD PERSON but he actually entered office believing that simply being a good person would make it so that the Americans wouldn't be mean to him. I mean, he honestly seems utterly confused as to why people would say bad things about him. Almost like a child.
I believe strongly that while he was in office, no matter what decision he was presented, if it was done in the most positive light, he was likely to be malleable. If decisions were kept simple for him and presented in a clear white hat/black hat way, he would choose the white hat way.
Don't mistake me, when you vote, you generally always know (except this time) that when you vote republican, you're voting for the cabinet who is choosing their visible representative to present the team in the most positive way. This is one of the reasons that Reagan would sit during the trials and say "I can neither confirm or deny the allegations" and the reason is simple, the cabinet was making the decisions and using a friendly personality that people would genuinely want to like to present them to the people.
When you vote democrat, you're choosing an individual who would need to pay back a lot of favors they owned from working their way into office. This is why you can get a really nice guy like Obama who fills the entire White House with RIAA and MPAA lawyers as his legal staff. Then when the cabinet makes decisions, the president has to stand up and knowingly do what he's told because that was part of the deal.
GWB took a beating because he had Cheney pulling his strings and Cheney was not a good person. He never even pretended to be one. Just as GWB was not a smart person an he genuinely never pretended to be one.
If you need any proof of GWB's brains follow a timeline.
GWB, the son of an oil man and upcoming politician attended Yale from 1964 to 1968. His father won his seat to the house in 1966.
GWB studied at Harvard from 1973 to 1975. His father has just served as Nixon's ambassador to the UN and had then become the chairman of the Republican National Committee making him one of the most influential men in Washington.
Bush graduated Yale with a 2.35 GPA. He never received an A and one professor even gave him a D. When interviewed on the topic, he would joke about being bad at school (http://www.foxnews.com/story/2001/05/21/self-deprecating-bush-talks-to-yale-grads.html)
Keep in mind that he studied history at Yale. An undergraduate degree in history is not particularly demanding. It's not until you study for a masters or Ph.D. in history that you have a lot of stiff requirements. Depending on how seriously you take it, a bachelor in history can be extremely useful or it can be a fluff degree. As it's very popular among the rich and famous, I'll let you decide what is more likely for a guy who managed to pull a C.
Let's also consider that if your father is rich and powerful, and I would never ever suggest that Yale would ever do something of the sort, but if your father is rich and powerful, your professors most likely would prefer not to receive a phone call about having given a D or F to the son of said person. But again, he never once got a single A as a grade... not even on the easy classes.
GWB tried to enter law school, but was turned down to University of Texas School of Law. We're not talking about Ivy League here. A millionaire son of the ambassador to the UN was turned down for a slot in a state school's law program. We're talking about LAW!!! a field of study where earning brownie points with
I hated GWB as president. His dad too. But have you seen interviews with GWB afterwards?
I've come to realize he was one of the nicest people I've ever heard of. If there's such a thing as an angel... imagine GWB as a smiling cherubic flying baby with a halo and a diaper. He was truly one of the nicest people EVER to step into that office. And if love and care counts for anything, he was possibly the greatest man ever to step into that office.
Oh... and he's a nitwit.
I just can't bring myself to call him hurtful names like Dubya anymore.
A bunch of big bad people like Cheney used him as their meal ticket to get into the power position and they let him stand there helpless in front of the American people as they jammed a carrot up his ass and made his lips move.
We talked about having Bush and others court martialed. The truth is, Cheney and the others should be court martialed for child abuse which is basically what they did to GWB. Cheney would walk into GWBs office and offer him a Werther's Original and gently ask him to drop to his knees.
Be nice to GWB... he really tried his best. He was absolutely horrible at the job, but he really really really tried his best. More often than not, he managed to color within the lines with his crayons.
And I hope someday to have a beer with the guy and tell him I was truly wrong to say so many bad things about him while he was president. I didn't truly grasp his situation until he left office and was able to speak more comfortably... without all the campaigning and saving face.
Let's assume you were a congressperson. How exactly would you get into this position?
Let's assume you start as a servant of the people. You became so pissed off that you wanted to stand up for yourself and those around you. So you're going to become a politician and make America great again. You know that to do this, you would need to be in a position of power. Being in the state senate or a mayor isn't going to change anything you seem to care about. You need a seat in the house, the senate, the presidency or to become a supreme court justice.
I think the supreme court is out because it's reserved for lawyers.
I think the presidency is out because it's reserved for reality TV show people.
You're down to rising through the ranks to the house or the senate.
Before you start, you should sit and read a few books you thoroughly ignored in primary and secondary school. You should learn how the government is designed and how it is built. You should choose the house or the senate and then you should study what your job responsibilities should be as well as study strategies that could be used to make a difference while in the office. You should also consider taking a few night courses on law to better understand how the laws passed by the government are used and enforced from a practical perspective.
You should choose most importantly whether you want to be a person who presents new laws, someone who simply exercises a vote, or someone who will attempt to influence the votes of others in favor or against proposals from others.
As someone presenting new laws, you need to amass huge amounts of political capitol in a very expensive power struggle. You'll need sponsors to help you. Of course you can't take gifts or payments, even harmless ones like guns from the NRA. Instead, you would need to ask some political powerhouse to make A LOT of noise for you. To pay for this, you'll have to agree to do something for them.
As someone exercising a vote, you will be paid with political capitol. Your "peers" will be calling you and vetting you and trying to get that vote they need from you. Of course, you don't want anything from them and therefore you'll gain no capitol. You'll just vote in a way that will help with this one issue. Of course, you don't give a shit whether the salt flats of Utah should be swept and you can't be bothered to research whether it's even a good idea. In fact, because you're now in D.C. you have extremely limited access to resources or freedoms you could have used earlier to research it. You have a black tie dinner you absolutely have to attend because some other law you do actually care about is trying to build enough political capitol to be passed and if you don't stand with the group you support on this, it won't have any hope of passing.
As someone hoping to be a power broker and influence votes, you'll spend most every second on the hill getting support from companies, your peers, etc... you'll need to throw parties which cost money. You'll need to get those sponsored through channels which aren't considered conflicts of interest. You'll need to get in front of cameras and you'll need the right clothing, etc...
Ok, so now that you're learning the ropes and you have a plan of where you want to be to represent the people best, you'll have to figure out how to get there.
You learn that pretty much anyone can run for office. In fact, you don't even have to run to get into office, the people just have to vote for you. So that's easy enough... you just need to get the people to vote for you... and remember it's critical you don't sell your soul to get there. You want to get to Washington with no major political capitol owed.
So... what are your options.
1) Latch onto a power broker who will back you as opposed to their normal horse. If you use this guy, you're nothing more than his puppet and you'll have already failed.
2) Join a political party and gain their backing and support for running. Remember they'll generall
Dude... in 2001 we pirated because we had no alternative means of acquiring the media. I still pirate when this is the case.
Even now, "white pirating" is often done by children who do things like chip in together to buy a film and then realize they can't share it because it's locked to one account or another. As a result, one owner pirates the film.
I recently bought a math book for kindle which was unusable because of the page layout. So I pirated a PDF while waiting for a print copy in the mail.
But outright pirating with no intent of attempting to reward the author for their work is just wrong. Even the worst movie ever made, if you find yourself distracted for 2 hours because of it deserves at least a little love.
Yesterday, I mailed a company and informed them that I would pirate their software until such time as they switched to using a payment processing company that didn't strike me as a scam. I recommended using the Windows Store, but they complained about this. So I told them that my money is waiting for them when they're ready to take it.
The American prison system. The best tool that politicians have to manage job statistics is to increase prison population and to hire more guards.
As we automate more jobs, it will become more and more important to decrease the unemployed through more creative methods. For nearly the past century, America has produced large numbers of jobs through fear, uncertainty and doubt. So long as the people of America are convince there is a necessity to do so, politicians have a more less carte blanc to produce jobs through FUD. Prisons are some of the best.
To manage the job statistics, it is necessary to accomplish two primary things.
1) Decrease the number of people eligible to be counted as unemployed.
2) Increase the number of jobs for the remaining number of people.
Here are some methods of decreasing the number of people counted as unemployed.
1) Get the killed
2) Imprison them.
The military has been traditionally very lucrative in the sense that we can send massive numbers of children to their deaths before they have the opportunity to reproduce in a means that produces American citizens eligible to be counted as part of the employment statistics. Not only that, but if we can't get them killed, maybe we can get them boom boom in Europe or somewhere else where they can settle down and procreate on some other country's dime.
Navy is far better than army, marines or air force since we can in a single stroke kill off hundreds or thousands of children, lose a ship and massive amounts of equipment and create tons of jobs in the name of national security to create more ships, planes, equipment, etc... as a replacement. The army and marines are a nightmare since you don't have any great direct profit from getting your children killed one by one unless they get blown up in a ground vehicle like a bus or tank which will need to be replaced.
Prisons are a fantastic means of removing people from the employment statistics. If you send a person to prison, they are no longer counted as unemployed and the massive number of jobs created by sending them to prison is well worth it. All that matters is that you have to convince the American people they are safer paying to lock this person up and place them on extremely expensive welfare than to let them run lose and be in far less expensive welfare. This means however that we need to selectively choose people who we believe will be more profitable to the system as progressively hardening criminals as opposed to tax payers.
For example, if you're a wealthy male in his prime, locking that person up for more than a year or two, even if they commit a mass murder is not profitable. It shouldn't be done.
On the other hand, taking a kid from a family in the ghettos with two parents collecting welfare and generally low grades, unless you can get them to join the military as canon fodder, it's far more profitable to sentence him/her for 10 years for possession of a joint than to risk them simply collecting welfare or working a minimum wage job.
A beautiful thing is that if you convince some sucker that he could be a hero by being canon fodder and they don't die, they can come back with PTSD and knock over a 7-Eleven, kill off some minimum wage worker leaving a job open for someone else and then go to super-max which is nothing but bank for the job statistics.
See prisons are absolutely amazing because as long as the American people are scared of criminals and especially as long as we focus A LOT of effort on penalizing them as opposed to correcting them, we can increase the general temper of the American people allowing us to spend even more money on prisons and then even stress other areas of the economy causing more people to commit crimes, leave jobs open for others, be removed from the employment statistics and create jobs for others.
Consider that prisoners require prisons.
Prisons require guards.
Prisons built in or near former coal towns tak
You're making the mistake of thinking that a person in your age group should interview. I'll imagine that you're at least 35+ possibly even as high as 50. We don't interview at that age anymore. We figure out what we want to do, then we think about who we'd like to work for. Then we make the friends through social networking that would present us with the opportunity to meet the right people to get us on payroll.
I don't even hire people I have to interview. I sometimes have lunch with someone that's recommended to me. But to be fair... as soon as I see a resume and I hear job interview, that's over with. I sure as hell don't want to hire anyone who is over 30 who is going to send me resumes.
I have often talked with people who I find on Github and Gitter. If I like their code and they play well with others and display a good work ethic and they make the comment they're looking for a job or make hints they're interested in moving, that's a great way to meet people. Meetups are more for desperate people. It's like speed dating for people who were splashed with acid.
If you're interested in something, invest the time in making sure people know you're a smart guy and willing to move. This way you draw jobs to you not the other way around.
Interviewing is something you do as a college grad trying to get that first job. Or it could be something you do if you're trying to pimp yourself off to Microsoft, Amazon or Google for example. But even with those companies, I'd just make friends with senior level developers and mention that I think it would be interesting to work for a behemoth from the inside for once... but I wouldn't want to be just another badge number. I would recommend in that case that you don't express interest in their vest and rest plans.
I would never hire anyone anywhere for a job requiring analytical skills who would live in a rental.
Live with mom and dad or with 5 room mates crammed like sardines while putting away a legitimate down payment for an affordable flat.
Pay that for 2-5 years and hope the market rate goes up... as it usually does, though with the occasional catastrophic hiccough.
Move into something more comfortable once you're further along.
I would never under any circumstances hire anyone who is going to bitch about the cost of rent and how they can't get ahead in one of the highest paying places on earth when they're simply throwing away their money.
I was making $50 an hour after 4 years without any degree in Oslo, Norway. Cost of living is peanuts compared to the valley. Flats and semi-detached are pretty reasonable here. Ranging between $250,000 and $1.5 million... the desirable stuff lingering around $800k. You could of course get a big expensive house, but there's no real value in that. The country is liberal... not SV liberal nutjob liberal... but liberal in the sense that a good quality of life for everyone is a good quality of life for everyone.
Of course, SV is really exciting if you want someone to define you for yourself. SV hasn't ever been famous for personal mental health. The personality adaptation it requires for you to survive in the valley is horrifying to outsiders. I'm heading to Seattle in a week and I'm actually frightened because I'm worried it will be like SV on steroids. Like "We're nothing like the valley... we're so much better". I never liked the toxic overly judgmental environment of the north west.
My son buys my daughter loot boxes for her birthday and she opens them in hopes of getting cosmetic enhancements in Overwatch.
I would not be overly upset if the thing she wanted could be outright purchased. I'd even bless it as knowing that she would get what she paid for. But last year, she got loot boxes and every one of them had something she already had. The result being that the money was entirely wasted.
My son and daughter stood by the computer while he prayed his baby sister would get what she'd wanted for so long. And while she was so happy he bought her the loot boxes, he was so disappointed that he wasted his allowance.
Loot boxes are shit. If you want to sell loot boxes, you shouldn't be able to put anything in them you can't outright buy in a store as well.
P.S. - I stopped spending an average of $800 a year on games when these shenanigans came in.
Infoseek all the way.
I was thinking the same thing. I was shocked when I saw the name. I honestly had to dig deep to even remember who they were.
Somehow I'm almost tempted to go to their web site and see what they do these days.
So, PTO... nifty terminology. What is it with people insisting that everyone thinks they're some sort of a root vegetable? First you try to explain to me that you're a potato and then you refer to taking time off as something that's associated to PoTatOs? Just teasing, I actually think of PTO as being PTSD from being worked to the point of snapping. I would like to recommend GTC as a description of what you would send me e-mails about when I try to contact you and you've "Gone To the Can". Or maybe GBH for "Giving Boss Head" to let us know you're asking for a raise.
Of course the entire American culture is corrupted. I hear kids yelling "Momma, let's get these. There's a BOGO" in the grocery stores.
It really doesn't matter how absolutely stupid these things make people sound, they'll use those terms anyway.
Yep... so 5 weeks paid vacation a year here. And once a year, your employer has to pay you 10.2-12% of your entire previous year's salary with a major tax break instead of your normal salary to make sure you have money to travel and have fun. This is whether you're a burger flipper or a doctor or a billionaire. Everyone gets 5 weeks paid vacation.
Then there's 10 paid sick days by default.
Then there's 10 additional paid sick days in case you need to stay home with your kids.
Then there's Christmas week, Easter week, lots and lots of long weekends.
Altogether, it's nearly 20% of the year you're paid to not work... as a rule in Norway.
I haven't come close to using all my days except for a year when I had the worst boss EVER.
For all of those who have read this. I want you to know that because of the way you treat your poor, while not official, it has become common in Europe to refer to the U.S. as a third world country. Only a third world country would exploit their weak instead of developing them into real assets. Only a third word country would punish their people for getting sick instead of investing in making them well and able to contribute again.
BTW... I am an American, I just left before I was old enough to see how bad it really is. And I have traveled to far less developed countries than the U.S. and they would never let their people live the way America does... and even worse, only a third world country would elect a casino owner as their leader.
The vast majority of super computers are distributing tasks through a scheduler which happens to be written in C. The code they distribute is most often developed in Matlab or similar languages... which are hogs and run so amazingly inefficiently, They generally work on extremely static data sets as well. Super computers are best suited for consuming data, not producing it. The key exception is the LHC.
... you know... all that nifty math stuff for radio. Cisco requires 16 dedicated Xeon CPU cores and 24 gigs of RAM to run this software. And as soon as you do that it becomes a dog with flees. If you ignore Cisco's hardware requirements and use a $500 computer containing a $69 NVidia GPU and slipstream the NVidia drivers into the Linux distribution, the Matlab code will use the GPU and run 1000 times faster than on 16 dedicated Xeon cores. On the other hand, if they were to actually tune and profile their Matlab code, it could probably run 100,000 times faster as the Matlab code they're running is actually incredibly slow.
Two years ago, I saved an oil exploration company $4 million a year in super computer rentals by introducing their scientists to Intel's VTune. Now, code which used to require time on Top500 computers to calculate runs fairly well on 3 rack servers with 4 GPUs each. Never ever ever use super computers as a method of describing efficiency.
If you want to test a small scale example of this, get your hands on Cisco Prime. A function of Prime is to consume data from spread spectrum radio analyzers for many purposes ranging from adjusting transmitter power levels for wireless networking to performing rogue device detection
What they're doing is basically a super computing task. And the math they're performing is typically super computing math. It's super-inefficient and even after a so called super computing expert analyzes their code and attempts to make optimizations, there's very little that can be done for most code like this. You'd have to rewrite it for there to be any hope of it not sucking and since the code is often highly convoluted crap, it simply is generally impossible.
So we use super computers that generally run massive schedulers written in C that should have been written in a scripting language but someone was an idiot. The we run code which probably should have been rewritten to work on a laptop GPU but instead will burn computing time at $25,000 or more an hour. We do that because the code can run on the super computer now, rewriting for a laptop GPU will set things back a year.
Finally, don't forget that 99% of the C code which is run on super computers is compiled to C from other languages. This is done because you would never write that kind of code in C. The other reason is that you can't really easily distribute the programming language you coded in to all the systems. Oh... and to make your code work on x86, Cuda, OpenCL, whatever else... you don't hand code that. You use a high level language like Matlab which will compile your code into code that can run on all these things.
Relocatable memory has absolutely nothing to do with malloc and free. It's the principle that memory can be relocated. So, as opposed to using a pointer to a fixed memory location, you would use a pointer to a pointer and access the memory through helper functions.
The purpose of this is that when you're performing a massive amount of allocation and frees, there is a tremendous amount of memory fragmentation that occurs. So, if a web browser for example which is very dynamic in nature will end up with massive amounts of wasted memory because it is nearly impossible to defragment the memory.
Solving this problem in C is definitely possible, but the static nature of C makes it very very difficult. As such most dynamic applications written in C are hogs. It looks like "wow I'm hardly using any memory" but the entire system is suffering because C is so poorly suited for memory management.
Using proper modern languages, things like movi
Let me start by asking. Have you always has problems in reading comprehension? Or is it that you simply choose to interpret what you read in a way that seems most convenient to you for a meaningless response? If it seemed strange to you, you may have tried reading again and asked yourself "Did he get it working or did he leave the comment there as the relevance of whether he got it working or not wasn't pertinent to the comment?"
Either way, I'm guess you make a great party guest. I'm generally an asshole, but I can choose to be less of an asshole which I lack the skill for, or I could invite you to the party and people would think I'm less of an asshole in comparison.
I'm not a C# person, though I do code C# and like it. It's a strong language... about the same as most. The platform is more interesting to me. This platform is what you called earlier "A bubble", so when I asked whether you're in the Python bubble, I was using it as a comparison of one platform vs. another. It appears, I should have been more clear as you seem to only interpret one sentence at a time without identifying the reference it was made it. Even if the reference was to your own wording. Of course, it's possible I didn't understand your reference to "Bubble" as if it weren't referring to the platform or infrastructure surrounding the language, your statements would make little sense.
As for complaining I couldn't get simple stuff to work. Thank you for your concern, I made it work.
Let me help you with reading comprehension. The reason for not clarifying this earlier was in reference to the issue that the platform (in this case Java) which has had this same problem with Web Start for many years didn't work out of the box as it should have. If you were to ship a tool to simplified launching a Java Web Start application from... well the Web, it seems reasonable to assume that the installation program for the platform would create the references itself. Of course, one could say that by using Chrome I made a crappy choice in browsers, but Chrome does have the majority market share at this time. Therefore, it is logical to assume that platforms which claim to be called Web Start should start smoothly from what many people see as being the most popular means of accessing the Web.
Now to be honest, given your comments that I've read so far, I would suspect that you're even more full of shit than I am. As such, I'm not particularly concerned with whether you respect me or not. I probably wouldn't have bothered responding to you if I didn't think I could entertain myself by self aggrandizing in the process. You of course know what I'm talking about, otherwise you wouldn't have made a ridiculous comment bashing a platform you obviously don't understand if it weren't for the purpose of attempting to make yourself seem smarter by adopting and voicing an arrogant and uninformed perspective you believed to be popular given the typical audience you would cater to.
The "I guess you're in the Python bubble?" comment was a friendly way of saying "Dude, we're all pretty much in the same ship one way or another" by proposing an apples to apples comparison.
Should we discuss religion or politics next? I believe you and I can have a wonderful discussion on the topic. Should I chose the topic and your attack me for my opinions or would you prefer to choose the topic and I'll attack you instead?
Lua is a language without a platform. It's amazing technology and I use it (LuaJIT) in some of my projects. But you have to provide the platform for it. JavaScript is more of a platform at this time. It's a horrible language, but it is an excellent target to compile to.
I hadn't really considered Lua as a suitable compilation target as again, it lacks the underlying platform. but now that you mention it, it could be interesting to look into.
Thanks for bringing me down this track of thinking.
Ok... I'm going to bite.
.NET for many reasons for my current project, I can honestly see no real downside to the platform. It is completely open, it's very often community driven. The tools are far more advanced than for any other platform. The performance isn't quite JavaScript (currently the fastest language out there for anything but static code) but I don't think it could ever be as slow as Python no matter how bad the .NET project messes up. .NET supports many different languages with integration between languages handled as a native feature of the .NET platform as opposed to the who SWIG lifestyle. It probably is the most versatile platform ever made for handling more than just one programming language. Sure, using the C ABI is pretty powerful too, but there has never been a standard for handling object oriented programming that way.
.NET because it's lovely for coding on Mac and Linux.
.NET down everyone's throat. No one wanted to rewrite their entire system to support Windows Phone. Even Apple didn't reach critical mass until they released ObjC++ allowing existing code bases to be ported to Mac pretty cleanly,
.NET was that people seem to dislike it because it's a Microsoft thing.
.NET is worth investing in. I expect it to be around for a while. I expect it to be supported for a while. I expect it to be constantly modernized for quite a while. I expect it remain one of the most open platforms for a while (permissive licensed only, no so called free GPL code). I am hoping to learn a lot of stuff there.
I honestly have no problems with other platforms... except maybe Java... and that's because I simply feel completely disconnected from the platform when I'm using Java. I spent 30 more wasted minutes of my life yesterday trying to make WebStart... well web start. But it seems that Oracle seems to think making WebStart work in Chrome is a waste of time.
I have chosen C# and
I also use
I owned a Windows Phone for a while. It was pretty ok. I think it was extremely well made... with the exception of Microsoft making the stupid ass mistake of trying to force
I never considered Silverlight an option for anything. I did however write the original port of Flash to Qt for the Qt Embedded platform on Linux. I never liked Flash either. I would rather just extend the web standards to support the features I was missing. I also don't like the video tag. With WebAssembly and WebGL, I can't imagine why any company would ever choose to try and standardize a codec when they could have supported a TPM for web kind of thing and simply supply their own. I'm pretty sure Netflix, HBO, YouTube and others will lose hundreds of millions a year by using Flash or the HTML5 video.
The only problem I could ever see to
I'm heading to Microsoft Build next month because I feel that
Oh.. my old bubble was the Qt bubble.
I guess you're in the Python bubble?
Should I mention here that I voluntarily use C# and the .NET eco system and even use them in the browser by compiling to Javascript? Soon, Mono will have a WebAssembly back end, but for the moment, we're a bit far from that since WebAssembly doesn't really do garbage collection... yet.
Excellent example. In modern times, C is one of the worst languages you could ever use for any project. It is the language of freedom and by extension is a language that through lack of any real intelligence is the language designed to give you the freedom to make truly destructive code. C is almost certainly the best language you could ever learn in order to have a great example of precisely what not to do in language design.
The static nature of C makes it really slow unless you're writing very static code with very simple data.
The super-loose nature of C makes it utterly impossible to ever implement any good static code analysis. C developers love the language for many reasons, but it's generally a belief of "I am smarter than the computer and after writing a million lines of code, if I decided I did something wrong, I want to go back and fix it manually with no help of any intelligent tools". Yes, there are some tools which can assist, but let's be honest, if you look at something like GStreamer, you'll see code which will never be able to be processed by static code analysis tools. When something goes wrong in that code, it's a permanent fixture and it will never be properly fixed.
C is great because the ABI is so stupid simple that you can easily look at the assembly and make sense of it. It is a nightmare when considering things like system calls because the ABI is so impressively stupid that the language can not possibly help you create data segments easily passed between memory modes. As such, we get horrifying extensions to C such as structures with indeterminate sizes and absolutely no help from the language supporting bounds.
Because of the free nature of C, memory management is just the worst thing ever. Implementing relocatable memory in C is basically impossible, Theoretically, you can go completely crazy with a build your own local descriptor table, but memory management in C is generally so bad that you should be imprisoned for criminal negligence for ever writing dynamic code in C. Most systems run like hell because of the lack of intelligent memory allocation in C as a standard. The GDT on Linux generally looks like a trash bit from hell because of the horrifying memory structure that can't possibly be defragmented after some use. C code is parasitic and wastes so much memory it's terrible. The only possible redeeming feature is that a lot of modern C code tends to favor stack over heap. This at least offers the slightest chance of cleanup. But overall, you should never ever write any C code that uses heap. This is the reason we need gigabytes of RAM to run programs which used to fit in less. Of course, you would argue that C gives you more control over memory than other languages, but that's juvenile thinking. You only have more control over your own heap. You don't have any control over the complexity of the MMU's structures. And once you trash those (and you will in C and C++), there's no going back without killing lots of processes.
There are some languages better than C for tasks C is well suited. Rust seems promising now. In fact, due to massive backing, there's even a chance Rust could take some market share. But C really isn't very good for much anymore. C is mostly reserved for programmers who prefer religion over knowledge. C is a simple language for simple things. But as you say, this religion will stick. Sadly, if I were to sit down and write an new OS kernel, at least the first few bits of it would be in C as I still don't see a true alternative to it. Though I would consider writing a new language which would be strongly reminiscent of C which would interpret to C, but support strong static code analysis rules.
I was thinking in this direction as well.
.NET as a back end is absolutely a wonderful experience as well. .NET has excellent extensions for language design. As part of the .NET experience, it's made al
Unlike ShanghaiBill, I write languages often enough to not say things like Bison anymore. Bison and Flex are 1960's to 1970's technologies for compiler design. These days, writing a new compiler is far easier than that.
Step 1) Parser generator
Using Antlr which is pretty much one of the most common solutions (though I really don't like Antlr myself) is very easy. You can open Eclipse, setup Antlr and pretty much have a parser up and running very quickly.
For prototyping a language quickly, using a Packrat parser generator is far quicker, but generally requires building your own AST. Though in modern languages, this is stupid simple. Simply start defining the grammar and add a new abstraction for each type. Then reduce the types as common features become obvious. Expression parsing is generally some of the more difficult tasks you can encounter as they tend to be highly recursive, but it's pretty simple.
To do a great, job, hand coding a parser is pretty simple these days. While a tokenizer can be a very powerful approach to doing this, generally tokenizing as you parse is really super simple. Same concept as is generally applied to a Packrat, but you just make a class which allows pushing and popping states. Then you make a function to match a regular expression or series of regular expressions. I like to make a solution which takes accepts a list of expressions and lambdas, then given the current state which I'm parsing, I concat all the valid expressions for the state into a single expression with named matching. Then I pass the parser state to the lambda as a parameter. The result is a ridiculously easy parser to write which performs pretty well. It's also very easy to later optimize by caching the compiled expressions.
A major advantage of the hand coded parser is that it's far easier to add extensive static code analysis to a hand coded parser than most generated ones.
2) Make a simple tree optimizer architecture
While tree optimization probably isn't necessary in earlier phases for the purpose of performance, it's extremely useful for reducing more complex states of the tree into more easily compilable branches. For performance, it's really nice to find things like AST states of multiple consecutive if statements against the same variable with the same type and reduce it to a select clause which can be easily optimized.
3) Produce a backend
Compiling to C is super easy. C++ is also really super easy. On the other hand, while LLVM IL is somewhat complex for people who don't understand things like startup code and exit code... and things like register allocation can be confusing to many, it's actually pretty easy to generate.
Compiling to WebAssembly is great option as well.
These days, I tend to favor compiling to JavaScript. JavaScript is a far better compiler backend than most. It generally produces far better code than even the best C and C++ compilers. This is because C/C++ generates good/great code once. JavaScript JITs however have a modern runtime which constantly optimizes code for the platform it's executing on. It's far more intelligent with regard to SIMD instructions when possible that most other platforms. It's generally truly cross platform as well. If favoring a specific platform such as Qt (which I believe embeds v8), it's quite easy to build GUI extensions. I prefer to compile to JavaScript 5 as it's available everywhere. It's greatest weakness is that it doesn't properly support regular expressions.
The other beautiful thing about compiling to JavaScript is that massive amount of work has been done to allow easy synchronization for compiling. This is handled well through map files. As such, building a great debugger experience is practically free.
Using
I worked on the first major device running QNX as a kernel for an interactive device. It was the most difficult platform I ever coded for and to be honest, there were many things which were very problematic with the platform.
I do chalk most of this up to QNX being an RTOS as opposed to it being a Microkernel.
These days, with multi-core CPUs everywhere, I think the whole Microkernel/message passing vs everything else is basically irrelevant since the real-time stuff can be run on one core while everything else runs elsewhere. In fact, if most of the rest of the system is written as an OS within an OS... the scheduler and message dispatch mechanism should be fine.
Pretty sure it's about making a replacement for Linux which isn't 30 years of bloat.
As for the license, I believe it's actually more open than Linux.
Actually, Google will make Fuschia work as a smartphone/tablet platform and whatever else. From a design perspective, it's actually quite bad.
When I first started reading the code to Fuschia, I was going line by line asking myself "Haven't we already made this mistake before?". It was like one major compilation of "I took an OS course based on Tananbaum's book and decided just to copy every mistake we never learned from". And in the end we have a brand spanking new 30 year old operating system.
Ok, I'm being harsh and it's only partially fair. Let me start with your issues.
It's not necessary to sort out the issues with latency and message passing. They are making a real-time (or near real-time) operating system which in its own right already suggests that they're willing to sacrifice performance in favor of deterministic time. Telephones always benefit from real-time kernels in the sense that it allows dropping overall transistor and component count. Every telephone which ever boasted 4 day batteries ran real-time operating systems and it was generally a good idea.
Secondly, there's been a pretty huge move in Firefox and Chrome to optimize their shared memory systems to reduce or eliminate hardware locks by marshalling the memory reads and writes. Add to that that almost all modern development paradigms are asynchronous programming... unless you're stuck with some shitty language like C or C++, and most of the switch and latency issues are irrelevant. This is because you can keep multiple cores spinning more or less non-stop without much concern for kernel level inter-thread synchronization. Take it a few steps further and expose things like video hardware access directly to individual applications that would operate their own compositors based on a GPU context and apply shaders to support windowing type tasks... then it's going to be quite impressive and the locks should be a lot less relevant.
From that perspective, I don't see a good solution to the audio problem as I've never seen a sound card which would support the principle of shared resources. I don't think it would be even mildly difficult to design such a device though. The only real issue is that if mixing is moved entirely to hardware, then depending on the scenario, it would be necessary to have at least quite a few relatively long DSP pipelines with support for everything from PCM scaling to filtering. There's the other problem which is that protection faults to trigger interrupts could be an issue unless there's some other creative means of signalling user mode code of buffer states without polling. Audio is relatively unforgiving of buffer starvation.
So, let's start on my pet peeves.
Google's been working on this for some time and they still don't have a system in place for supporting proper languages. C and C++ are nifty for the microkernel itself. But even then, they should have considered Rust or rolling their own language. This world has more than enough shitty C based kernels like Linux and BSD. If you want to search the CVEs and see what percentage of them would never have been an issue if the same code was written in a real programming language, be my guest, but I'm still sitting on WAY TOO MANY unreported critical security holes in things like drivers from VMware, drivers from Cisco, OpenVPN certificate handling code, etc... I absolutely hate looking at C or C++ code because every time I do, unless it's painfully static in nature, it's generally riddled with code injection issues, etc...
And yes, I've been watching Magenta/Fuschia evolve since the first day and I follow the commit logs. It's better than TV. It's like "We have a huge number of 22 year old super hot-shot coders who really kick ass. Look at this great operating system kernel" and it looks like some bastard high school or university project written by people who have little or no concept of history.
Linux is good for many things. It's amazing for many reasons. Linus did an amazing job making it and it's a force of natur
It's whoever is president in general really. It's a thankless job and congratulating the president on a job well done isn't really that fun. On the other hand, bashing the president is very popular and more or less always has been. Even Lincoln was a topic of much debate and hostility for most of his career. It was believed that when he died, his wife was the only person who wouldn't line up to piss on his grave.
I didn't like Reagan, because he was the ultimate puppet. He managed to sell anything the cabinet wanted because he always believed he was doing a good and righteous thing. So, it was almost impossible to believe otherwise. He had a gift for selling his belief in what was good to the Americans and the people behind him were simply not good and righteous.... but scarily, many believed they were trying to be.
Bush version 1 was something scary. He was in some ways the same cabinets attempt to have lightning strike twice. But he just wasn't as lovable as Reagan was. Instead he was kind of stupid and clueless. You went along with him because it felt bad to pick on the slow kid. Every decision he made, he made because he truly believed he was trying to help people. The problem was, he lacked the capacity to understand the consequences of his actions, he only ever saw the good that could come of it. So, he was the type of person you could convince to cut down 4 million acres of rain forest because the tribesmen in the forest have allergies and it would help them breath a little better.
Bill Clinton was the lovable and cuddly rubber faced democrat. He was a living, breathing, feel-good campaign. You just wanted to like that guy. He did all kinds of things. Like he balanced the budget... that's FRIGGING AWESOME!!! except that there's another was of looking at balancing the budget.
1) You defer purchases you really need to make in order to live within your budget. As those deferrals are in place, the quality of the infrastructure decreases. Roads erode, ships rust, engines freeze from sitting idle, etc... the result is a fantastic cost later at an inflated price to attempt to bring all those things back into repair. Poor roads seriously hurt many American industries and were part of what enabled the Chinese to take over much of America's industries. I'm not blaming everything on this one thing. But it was a big contributor.
2) You don't deflate the currency. Wealth is created when governments work together to dilute the value of their currencies. It's how wealth redistribution works. Unlike the gold standard, people gain wealth by receiving money (filtered down through 100 levels or more) of larger government purchases that come from money printed by increasing the deficit. World wealth increases greatly as more governments around the world work together to devalue their currencies in sync with each other to feed more money into their countries and circulating more money to the people. Clinton starved the economy of this necessary wealth by balancing the budgets. This caused inflated interest rates as this currency devaluation is also needed for banks to have money to loan to people. We were all forced to live more conservatively with a near constant fear that while the government was doing well, our kids wouldn't be able to go to college, etc... all because it became too expensive to send them there. Prices can't rise if there's no new money to pay those prices with. A balanced budget is terrible for that.
3) Clinton didn't understand that a balanced budget didn't mean the government should stop increasing their national deficit. So, he basically lined us all up for the shit storm associated with what would eventually be the devastation of the GWB economic fall out. The road to hell is paved with good intentions and Bill Clinton and GWB were possibly two of the best and kindest people EVER.
Bush v.2. I honestly don't know where to start with him. I hate to say anything mean about a person I admire as a human being so much. He was such an i