HN user

otis_inf

183 karma

Creator / Lead developer of LLBLGen Pro (Entity modeling system / ORM for .NET) http://www.llblgen.com || Ex-demoscene || Twitter: @FransBouma || Blog: http://weblogs.asp.net/fbouma

Posts3
Comments95
View on HN

We are in the exact same boat. We've been with them since 2002 (when it was still SWReg). We should have switched back in August when they changed the agreement and postponed payment till 60 days. It sounded 'legit' but it should have been a red flag. Yesterday we made the final changes to migrate over to PayProGlobal, and had our first order processed this morning. We have no illusions we'll ever get the money DR/MyCommerce owes us. It all sucks, tho in hindsight we were too naive and trusted them too much. Never again.

I'd happily pay for such an image hosting. Our gallery site Hall of Framed (https://framedsc.com/HallOfFramed/) with the best virtual photography shots from our Discord community is hosted this way (json file with the urls in a github repo, updated by a bot, the site is hosted on github pages). We directly pull the shots from discord, but we now have to refactor the site so the images are hosted elsewhere.

This poses a problem as the amount of shots is quite large... We have a channel where users post their shots, and the bot basically harvests the links of the shots which have a high amount of votes. So currently no re-hosting of images occurs.

I can image tho why Discord does this. Our gallery is likely not visited a lot, but I can imagine high profile files pulled from discord channels like pirated software/malware etc. are a big problem. The route to the server / channel where the files are coming from isn't known, only to discord

They also kicked out Karl Peterson, who designed the first MVP logo (the diamond with the large MVP inside it) and wrote about 3000+ reply posts a year in various visual basic groups. The reason? He was a VB6 MVP and very vocal against VB.NET. Yes, you can't have the spear head of a community you just kicked in the nuts with a 'VB.NET' in the program that is designed to promote that successor tech, now can we...

I've been a C# MVP for many years before they didn't renew me because I was too critical towards MS' direction (this was before they OSS-ed .NET). When I was awarded, it felt like I received an award for my position in the .NET community. When I didn't get a renewal years later it felt like I didn't get it because I didn't fit into their marketing machine. It was fine by me btw. The free MSDN universal subscription is nice, but that's about it.

ServiceStack has been a valuable contribution to the .NET community, and your continued development/support of it should defacto make you an MVP.

Yes, and back in the days when I received my MVP title, this kind of thinking was part of the criteria. Nowadays... no way. It started 7-8 years ago I think when they decided there couldn't be more than X mvp's for a given category and they wanted at least Y mvp's in a given region. So less in the west, and more in say India. While it's fine to make it a more world-wide program and recognize people in communities which are less known to people in 'the west', the criteria to accomplish this changed with it: if you started a user group somewhere in a region without an mvp and someone nominated you, you had a good chance becoming one.

This is all OK btw, if your criteria is about evangelizing. If your criteria is about 'the people who are the most skilled in ABC' then it's not. So this shift in who would receive the award changed the program.

Nowadays it's rather silly tbh. If you want to get renewed you have to fill in a form where you describe why you want to get renewed. wtf... it's an award you receive. Why would you need to tell MS why you'd want to receive an award you haven't received yet as they decide who gets it...

Or you know, Google could have emailed them, told them exactly that and waited for a response before pulling the plug on the servers.

While you make sense from Google's PoV, it doesn't from the customer's PoV. As google is a big corp, it's IMHO better to side with the customer here, as next time it might be you who's getting screwed over by Google/other corp.

I think they still are mainly focused on their ad business as the core of the company and cloud is something they 'do on the side'. For Microsoft, Azure is core business, it's the future of the company. If they fuck it up, they're dead. Google apparently doesn't see their cloud offering as their core business and therefore doesn't get the attention it needs.

- It gives then 'streetcred' in the OSS communities using GitHub. This goodwill is valuable.

- It allows them to peek into any private repo on GH right from their own office. All major players host code there, likely a lot of them in private repos too. Microsoft has a large trackrecord of 'me too' products (i.e. the ones released after the original from another company is successful) and corporate espionage isn't something that's just happening in the movies. This too could make things very profitable

- Developer relations across private repos could increase the value of linkedin profiles which in turn could make that more valuable.

But that's about what I could come up with. I seriously don't understand why one would spent $2B on github if it hosts your OSS stuff. Also, to make sure VSTS become more successful with an integration doesn't make sense to me: GH isn't the most profitable service out there and was losing money. Hell it might even go belly up sooner or later and VSTS would look to be a better alternative.

You missed a part:

Note: the release/2.0.0 branch of the CLI repo is based on the upcoming v2 of .NET Core and is considered pre-release.

i.e. it's still preview (albeit 2.0.1).

or we may just post the commit in chat for review before we build out.

Isn't that 'after the fact', considering your teamcity polls the gitlab repo a lot, so a commit will trigger a build right after it, and if everything goes well, deploy it too?

So you have to know up front whether a thing is 'risky', but that's a subjective term.

The whole point of Core is that MS have rewritten .Net and ASP to learn the lessons of more modern languages. ASP.NET 4.6 is standing on 19 years of cruft which is why it has so many weird and complicated parts.

MS hasn't rewritten .NET, most code is simply ported from .NET full. ASP.NET has been rewritten, but only a part of it (the rest is simply not implemented (yet)). '19' years of cruft? .NET 1.0 was released in 2002, not sure where your 19 years come from. Besides, it's better to use a framework that actually works and does whatever you throw at it, than some hip new thing that can only do a few tricks today and perhaps learns a few more tomorrow. You know, clients and all, they want to use the stuff you write and not have to stare at things that break down / crash.

If 'core' stuff is optional, it's not core at all, it's optional. Core material is the core of something. So naming things 'core' is stupid if it's not the core of something.

Here, the .NET core libraries/frameworks are a different direction. They're not core, but they're not to be seen as 'optional'. They're to be seen as 'alternative' to .NET full. Not a great alternative today, as many features are lacking and they're really rushing things towards a pretty stupidly set deadline (when you're adding features to a RC2, you're not doing it right), but perhaps someday.

Hierarchy is not only there for 'telling X to do ABC', but also to make clear who takes responsibility. If there's no leader, who's responsible for decisions taken? A random person who happens to be in a team who did something which turned out to be very stupid? All of them? No one? When a decision is made by X, the people who execute it didn't decide on it, X did, which means X takes responsibility, not the people who execute the decision.

Another aspect which is overlooked in the article is: to get things done, you have to make unpopular decisions sometimes: i.e. cut features to make a deadline, to ship a version, to stop adding stuff and work towards a release. No-one wants to make those, they're called 'unpopular' for a reason. But you have to make them to avoid a state where things aren't ready and never will be. There's a difference between 'being able to ship' and 'being able to ship a usable product'.

Funny that they refer to Valve with the text:

At the video-game maker Valve, new employees are told not to expect instructions, because even the managing director “isn’t your manager,” says the employee handbook. “You have the power to green-light projects. You have the power to ship products.” And so they do.

I'd like to mention 'Half Life 3'. ;)

Jitterdämmerung 11 years ago

Fully agree, JIT makes sense in dynamic languages or real-time conversion of op-codes, for everything else AOT is much better solution.

[Citation needed]

Blendle offers articles across various outlets. It's a dataminer's dream: they can monitor the interests of the readers of the articles like no online newspaper/article site can as they can track what readers read across various sites, how long the reader is paying attention, how it is shared, with whom, in what order they're reading the articles etc. etc.

This is also the downside of this system: Blendle can create a very detailed profile of your interests and thus you. This is very sad, as Blendle isn't free, so you pay for the articles you read not only with money but also with your privacy, and with no influence on what will happen with the profile data Blendle created.

I know the group of people who is concerned about their privacy is small (or not big enough, I'd say), and this might look like paranoid whining, but in case you didn't realize this: now you do :)

Nothing will change. Remember, the XBox One sports a Blu-ray drive, made by their archenemy Sony. (maybe not physically made by Sony, but most patents regarding Bluray are in Sony's hands)

I believe computing has 1 concept needed to be understood by programmers: Input & Ouput. That's all programming is.

No, programming is making output from input. Input is just a set of bytes, and output is also a set of bytes.

One word that I don't associate with floppies is 'reliable'. I don't know how many times I had bad sectors on my floppies back in the day. There's no protection against magnetic fields, the material on the plastic disk isn't always OK (hence the 'single sided' 3.5" floppies you could buy and which you could transform into double-sided floppies by punching a hole in the corner ;))

So it was surprising to me that floppies were seen as reliable in the article and e.g. usb sticks aren't (they're not mentioned as an alternative at all, which I find a little odd)

Hit Charade 11 years ago

A few years ago, when dubstep was still fairly new, a build up and shift as dramatic as the typical dubstep 'drop' would have been fairly jarring for most pop music. Fast forward to today and you hear elements of it almost everywhere, but it all happened gradually enough to make it feel familiar but different enough to be exciting.

Agreed, and that's what's bugging me: I missed a bit in the article the following: how do they get massive groups of people buying into the products they are selling, every time? If you look at the whole pipeline, from writing the 'hit' to recording / mixing / mastering to getting it on iTunes (record store?) and the shows live in the halls / stadiums, where and more importantly: how, are they getting the people that far that they part with their money to 'own' a copy of these, often dreadful (music wise), songs?

It is, IMHO, that part of the whole pipeline that they have mastered, not the song writing/recording: the product isn't the music, the product is something else, the front person ('artist') + the whole entourage around it, but it's fascinating how they manage to construct _that_ entourage that is sought after by people with money to burn. they must know an answer (which is sold in the form of the artist+entourage+shows+music) to an unknown question / benefit sought a lot of people have.

(Disclaimer: I write ORMs for a living)

ORMs might issue lock hints but in general they simply start the transaction with the desired isolation level and let the RDBMS take care of the locking of affected rows/tables by statements executed.

Lock hints are sometimes used by naive ORMs who think you can implement optimistic concurrency using row locking. Their users will find out eventually that this whole row-locking doesn't help anyone as it simply reverses the tables on 'first write wins' vs. 'last write wins': there's still someone who loses, so the locking doesn't solve the problem of no-one losing their changes while it does give slower performance (and on SQL Server even the risk of deadlocks).

What developers often overlook is that there are two types of transactions: business transactions and DB transactions. A business transaction can span multiple DB transactions and a DB transaction can span multiple SQL statements. They're not the same, seeing a business transaction as equal to a DB transaction makes things get messed up and often gives food to the need of explicit lock hints for some queries to e.g. get the false sense of being able to implement optimistic concurrency. If you consider a business transaction, locking doesn't make any sense: it can take some time to complete it, so you have to deal with the side effects of stale data: it immediately becomes apparent that e.g. optimistic concurrency has no place here, one needs other ways to avoid people overwriting work of each other.

TFA re-orders statements to get the desired locks in place, and it IS possible to do so, e.g. some ORMs offer when to start a transaction or implement Unit of works which allow you to specify which batches to execute first (e.g. first deletes, then inserts). However the developer using the ORM isn't working at that abstraction level, as the ORM offers an abstraction level above all that; so re-ordering statements to get the desired read locks or avoid dirty reads within a transaction is abusing knowledge of how the abstraction offered by the ORM internally works. IMHO one shouldn't do that: the code utilizing the ORM is db agnostic: expecting certain DB behavior in DB agnostic code is going to give unpleasant side effects when the DB agnostic code will be used to e.g. utilize another RDBMS instead of the current one.

I think it's better to simply learn the commands than to have a tremendous amount of history logged. If you have to type a lot of command parameters a lot you can always automate that with aliases anyway.

Does it show more lines than consolas in the editor? I just measured Hack with Consolas (9pt) in VS.NET, and Hack shows 54 lines, Consolas 65 (and for reference, lucida console 131). The page you linked to shows the typeface, which is nice, but it's hard to measure whether it's a font that's going to lead to more lines or less lines in the editor.