North Texas (Dallas, Ft. Worth, etc.) get pretty cold during the winter. I've spent a fair amount of time in North and Central Texas and while high AC bills during the summer (i.e., mid-April to early October) are common, the single highest electric bill I've ever had was one January in North Texas when I was living in an apartment with an electric heater.
Yep, furthermore, Texas is in the bottom 20% of states in terms of residential energy use per capita (which is pretty remarkable given how ubiquitous and essential AC is there). It's all about industrial use.
This is really about Peachpie, an open source PHP to .NET compiler. (Edit: the title has now been updated) From the comments on the article, here's a set of benchmarks showing Peachpie with a significant performance advantage over PHP 7 in a number of benchmarks: http://www.peachpie.io/benchmarks. That said, it's still hard to get excited about PHP.
I think the fact that the 27" monitors next to it are closer to the camera in that photo makes the TV look artificially smaller. It absolutely dwarfs the 27" monitors. If you're close to any store that carries 40" 4k TVs, though, just go there and stand 28" away from one. I think you'll see what I'm saying about having to turn your head to comfortably read text in the corners, something that has never been the case for me with smaller monitors.
Mine is a 40" Samsung UN40KU6300 though Samsung appears to rev its model lineup frequently so they may have already released a successor to this model. It was a little difficult to confirm that it supported 4k@60hz with 4:4:4 chroma, but I relied on the experiences of some folks on an audio/video forum who confirmed that they had been able to run with those settings. Unfortunately, I don't remember the name of the forum or have it in my browsing history. I do wish manufacturers would make that information easier to come by though it's certainly a tiny minority of consumers that know or care about those kinds of specs.
I detect no lag when moving windows around. It might not (or might -- I simply don't know) be good enough for gamers, but it's definitely smooth enough for development, document, or web browsing (aka productivity) tasks.
I've been using a Samsung 40" 4k TV as my main monitor for development work for about 8 months and it's been great for me.
A couple caveats -- Because I don't game or do graphics work, I don't know or care about color reproduction. I made sure to get a TV, graphics card, and cable that supported 4k@60hz with 4:4:4 chroma so the text is perfectly sharp and the refresh is not obtrusive. It's not hard to find a Samsung TV around $350 that supports that, but as far as I could tell, I had to go up to a GTX1050 graphics card to get that. I sit between 24 and 28" away from the monitor so the text is readable to me at full resolution. At that distance, I do have to turn my head to comfortably read text in the corners of the TV, especially the upper corners. In practice, that means I keep monitoring-type applications such as CPU charts, Datadog graphs, etc., in one of those corners for quick reference. While I still have two 1920x1080 monitors on either side of the TV, it's quite nice to be able to open up on my main monitor a huge IDE window and, when necessary, put 3-4 normal-sized windows next to each other for comparison work.
We used a code conversion tool from Artinsoft (now Mobilize.Net) and brought one of their consultants onsite for a week. The cost for that was in the low 5 figures, but our CTO (rightfully) recognized that as a bargain given the amount of developer time it would save us. The consultant helped us analyze the code conversion results and got us some custom builds of their tool to handle certain edge cases in our code. We had to make a pass over the converted code by hand for certain things such as changing from VB6 to C# coding conventions, etc., but as I recall, the overall effort was 3-4 months for a team of about 10 developers. That's not bad considering it was a critical part of our flagship product in ~2010 and MS had dropped support for the VB6 IDE.
I was involved in the conversion of over 500k lines of Visual Basic 6 to C# motivated by Microsoft's EOL'ing of VB6. Most of it was a desktop application although part of it was a server component. We used an automated code conversion tool which did a surprisingly good job of handling the mindless parts. Some pieces such as the database interaction code had to be hand-ported. I was pretty surprised that we were able to pull the whole thing off while maintaining functional parity. In the end, there wasn't much of a change in performance, but C# proved to be a much more productive development platform than VB6 in terms of tooling, ability to refactor, use automated test tools, etc., so the team's velocity increased significantly over the next few years.
I'm guessing that the sci-fi practice was due to the sociological similarities between spacecraft crews and ship crews on isolated, long-term voyages. At present, the US Air Force has been responsible for most high-tech concerns including cyber warfare and space warfare, so it probably was the least organizationally disruptive to bring the new branch in alongside the AF.
I would say, based on some experience with async capabilities in Python, Java, Go, and C#, that C#'s async/TPL implementation is among the more elegant. Its internals may be complex and it is not without some caveats that must be understood, but I find that it introduces the least amount of extraneous keywords and code constructs in the business logic of an application. And unlike some languages such as Java, C#'s async capabilities are well-supported throughout its core libraries. As someone who builds a lot of data processing applications in Java that benefit from both high concurrency and non-blocking IO, I find myself wishing Java's async capabilities were more like C#'s.
That's probably overstating the case a bit. If you're hiring remote workers from other parts of the USA, I'd say you can pay somewhat less, get roughly equivalent work, and reap the profits so long as you have the skills to manage a distributed team.
I've heard that case made for certain write-heavy workloads, too, but I would expect that to be highly dependent on the details of the db engine's implementation and your particular workload. While UUIDs, as you said, would generally be written to different pages on insert, you'd also experience a higher page split rate when UUIDs arrive that need to be written to pages that are already full which could be expensive. Without knowing the details of your db engine and/or workload really well, I'd expect you'd have to do some testing of your workload to see which one would come out ahead. In a series of tests that I did on application with a 95% write, 5% read workload, integer IDs were substantially higher performing than GUID IDs.
I've been consistently surprised by how little optimization MySQL does on joins. As of 5.6, it didn't even eliminate join clauses that weren't referenced in either the select or where clause which should be a pretty basic optimization and one whose absence hurts a lot given MySQL's nested loops join algorithm.
Citus is building functionality on PostgreSQL to provide sharding for data sets too large for a single machine. There aren't really any PG 10 features that duplicate that. Some of the new PG features such as increased query parallelism allow for better utilization of single-machine resources. Other features such as logical replication may allow for some horizontal scaling by splitting read workloads across replicas, but none of them provide any sharding capabilities.
The attack was usually introduced via a phishing attack and then spread through SMB vulnerabilities. It generally wasn't that SMB endpoints were open to the internet.
I'm a fan of PostgreSQL, but I've found certain T-SQL features that pg does not have such as manual transaction management within stored procedures to be very useful in certain applications.
Not specifically apropos of the buyout, but my experience with Angie's List has been similar to that of Yelp, that is, businesses that paid to advertise on AL were better able to maintain high rankings. The top-rated companies were not the best from either a quality or price perspective. While it's a great idea to crowd-source referrals for contractors like that, it's unfortunate that that model falls prey to the same impulse to increase revenue by soliciting advertising contracts with the firms that it purports to rank impartially.
In >15 years of professional development, I've probably worked on only one project in which there were any significant technical challenges. I should probably consider myself fortunate that I've had even that one technically challenging project. It was a lot of fun, but it has been rather demoralizing looking for equally challenging work since then and largely failing to find it.
I think much of the reason for that is that most software projects that deliver business value involve plugging together a bunch of components to deliver functionality that is not particularly complex. It doesn't involve pushing the limits of your datasources or inventing new algorithms. If performance problems come up, it's almost always cheaper to throw money at AWS or more hardware than to spend a couple developer-months addressing the bottleneck in the application. In some ways, I guess that's efficient from the perspective of the market, but it's disappointing for engineers who like to build applications that require solving hard problems.
>>I'm not sure I agree with this. There is a massive benefit to having not just your entire engineering org thinking in an object oriented fashion, but also your entire product org. Designers and PMs having a deep understanding of the data model is extremely useful, and to the extent that everyone is already speaking in OO terms (ie: your records are already going to be structured in this fashion), an ORM makes a ton of sense.
Not only does it give you abstracted and simplified syntax for common access patterns, it gives you a shim to add in all kinds of stuff like caching, analytics etc., that would be extremely difficult without an ORM.<<
Whether you use an ORM or not, your data layer can (and generally should) be designed to present a logical data model that may differ from your physical model. While some ORMs offer easy hooks for the addition of caching and analytics, the same is true for a well-designed data layer. I've also seen naive ORM implementations of those kinds of features cause more trouble than they were worth.
>>Of course there are pitfalls, mostly poorly constructed queries that don't perform well, but any ORM will let you write raw SQL when you need to.<<
While this is technically true, many ORMs force you into database access patterns such a multiple synchronous roundtrips to the database that do not perform well and cannot be resolved simply by dropping to raw SQL. A highly performant data layer is going to interact with the database in ways that ORMs generally cannot.
The Sony Xperia line, especially the Compact models, is known for good battery life. My wife and I routinely get 48 hours on a charge on the Z3 Compact and X Compact models and that's without disabling any features such as Bluetooth or GPS, etc.
As for the bloatware, that could be the fault of your carrier rather than Samsung. Android has a "Disable" option in the App Info dialogue that allowed me to disable almost all the pre-installed apps on my phone. Those apps are effectively removed in that they're not running or available in the app drawer. They still exist on disk, but that's a relatively minor burden.
Clustered indexes aren't an all-or-nothing choice. SQL Server allows heap tables without any clustered indexes, tables with a clustered index on the primary key, and tables clustered on a secondary index with the primary key as a non-clustered index. It is really nice to have all three of those options available.
I'm pretty concerned about their commitment to Google Voice functionality, too. I'm so invested in that ecosystem that I don't even know what my carrier number is anymore. I'd happily pay money for the service, but I don't think Google is interested in a subscription model for it. Does anyone know of third-party products with similar functionality? I dread the thought of having to figure something out on short notice.
The database he's referring to is Peloton (http://pelotondb.io) and it appears that its "killer feature" is that it's self-managing or self-tuning for highly concurrent workloads. That's certainly an interesting idea. I wonder how closely that kind of functionality will parallel the logic in superscalar CPUs where instructions are run in parallel so long as those instructions can be determined to be independent of each other. In practice, that usually works well, but it can work even better with programs specifically designed for superscalar CPUs. In other words, I wonder if Peloton will offer reasonable performance improvements for concurrent workloads, but at the very high end of the spectrum, specific design and/or tuning will still be required for maximum performance.
The article mentions that it's currently single-node but multi-node support is planned. If it's a fully ACID-compliant database with support for horizontally scaling with multiple nodes, that's an area where there's plenty of room for another database.
The fact that the author just dismisses columnar indexes because he doesn't use them leads me to question his credibility as a serious critic of tools for typical analytics workloads since columnar indexes make a huge difference in performance on many of those workloads. SQL Server has them built in and they're available as extensions for PostgreSQL.
Same here, but it's still gratifying to hear that it's making a difference for him plus advances in motorized exoskeletons have the potential to help lots of other people, too.
Aurora PostgreSQL and Citus are pretty different. The big draw of the former is that it provides PostgreSQL as a managed service on top of a cloud-optimized flash storage layer that facilitates high availability, durability, and low-latency read replicas for PostgreSQL workloads that fit on a single machine. The latter provides a product (or managed service in the form of Citus Cloud) that performs transparent sharding that allows for scaling relational workloads beyond the limits of a single machine. Most workloads will favor one or the other of those scenarios pretty clearly, either by not stressing the capabilities of a single machine or by being easily shard-able.