Cool stuff
110 karma · joined November 25, 2016
Cool stuff
Basic computer forensics needs a copy of the drive as unaltered as possible so you should start with that before running or installing anything. Basically don't run the server if you want to be able to get anything our of it.
If it's not a user data breach its par the course to reintsall and sweep it under the rug lol.
Next time make sure the server takes snapshots and dumps logs to an external place where they can't be deleted.
Eventually I had 3 on-site interviews lined up, all with companies I loved in positions that matched my skills. Success seemed guaranteed!
I was rejected from all of them. Crushed. Scared. I had to ramp up applying again and go through the same 3 stage interview process all over. On top of that, I was running out of money. Actually, running out of credit cards was more accurate.
At this point I had been out of work for months. I had graduated school and immediately moved to a hot market, thinking I could land a good job right away. Now I had no money and a three month gap in work history, and no support system to fall back on within 1000 miles.
I started driving for Uber. The only job I could think of that wouldnt look bad. It sucked. I had a ton of student loan debt, a masters, and I was doing a job you can do without graduating highschool.
Eventually I got another round of three on site interviews setup.
In my second round of interviews I got an offer from all three. What changed? No clue. In the depressing down time I got some cool stuff on GitHub, spent an inordinate amount of time making my resume perfect, and studied lists of stupid cs interview questions for days. Going through so many interviews also taught me how to interview to some extent.
It was still a crap shoot and everybody goes through the same unless you've got something like Harvard on your resume.
It's gonna suck but you can do it. It will probably take 50-200 applications to land your first job. It's mostly a numbers game.
At my last company I was part of the hiring process occasionally. About 100 people would apply to one position. 15-20 would have the desired skills and experience listed on the resume. 5 of those would pass the phone screen questions. All of those would come in for an interview and we hired one.
It's a personal example but I feel like it's a pretty average hiring process. From there you can figure out your own odds average case. So on average to get a job: apply to 100 places, get 15 phone screens, around 5 on sites. At this point 50% of the average candidate would get hired.
Keep strong, once you land something this will be behind you
Hopefully you're taking regular VM snapshots so you've got some logs they can't delete. Otherwise good luck, someone Bitcoin mining is probably clever enough to cover their tracks.
Realistically an breach bad enough that they have server control is probably through the web. The most common way I've seen is through various CMS code execution exploits. If your web apps allow file upload that's a really common way to get code running on the server as well
Their core service is DDoS protection, but the reality is that these attacks are rare and usually small. Most people using cloudflare could save money by just running their own Nginx/varnish reverse proxy. Cloudflare for the most part is just an http reverse proxy, and I've heard they just use nginx internally to do it.
I worked at a software/IT consultancy and some of our clients ran controversial political sites. Lots of them. They were surprising never "attacked" with more than a few hundred requests per second. In fact, none of the few hundred sites we ran was ever attacked while I was there. The only ones that went down a lot were wordpress based sites that could only handle like 7 requests per second past the cache. We ran cloudflare on some of these, but only so it wasn't our fault when they inevitable crashed from xmlrpc bots and other primitive garbage.
Worse is that users will start associating the amp icon with fast sites, forcing everyone to start using amp or suffer lower conversions even if their normal site is just as fast or faster. This is because google forces amp sites to be fast, but doesn't punish slow sites in their other search results. Suddenly this amp thing starts to look less innocent.
There is absolutely nothing stopping google from putting an icon next to fast sites that don't use amp. They used slow sites as an artificial crisis to market a fence they're building around the open web.
Pretty dark for the "don't be evil" google. Facebook isn't doing anything better but at least their platform doesn't pollute search engine results
Before an hour ago you were one of the only people in the world to know this little bit of history, and the fact would have probably died with you.
Google should just stop pretending that AMP is any different than fb instant articles. Yeah it gives you more syntactical freedom and you can run some scripts in iframes, the lock in factor is the same.
Not sure why it matters that the scripts are hosted by Google, you can easily add hashes to external scripts to guarantee they haven't been altered.
Yes it's more open than fb instant articles but both act to build a fence around open web
Some higher end cars will detect your location on various racing tracks and void your warranty.
Cars equipped with OnStar cam be shutdown and located remotely.
Famously, the Nissan skyline also voids your warranty if you use the launch control feature more than a handful of times.
Seems pretty innocent so far, but this type of thing should be banned before it gets worse. Right now there's zero manufacturer incentive not to hide these kinds of things in the firmware.
Many have labeled trump as a near fascist and one of the hallmarks of such a regime is suppression of free speech and thought. In banning unpopular speech MIT has become closer to the very thing it's trying to distance itself from
Using an alternative to base64 encoded data for web pages and node is a horrible idea. If I came across a code base using that I would scream. A lot. None of my tools work with it, and now my browser has to run a bunch of js for something that's normally native and very fast. Its a 1-2kb savings per page that's going to make somebody jump off bridge one day.
More terrifying is that the JavaScript community is so fascinated by shiny objects that thousands of people are going to use this. I'm not sure if it's more funny or terrifying.
Anyways, this encoding is still useful if you need to pass data between legacy systems. I've used html escapes and ASCII85 before to get around annoying old stuff that doesn't use Unicode many times
You generally only care about cycles in real-time stuff. In simpler CPUs like those used for microwaves and such, each CPU instruction takes constant time. You can count the number of instructions in your assembler loop and know how long the loop will take. Mind you sometimes each instruction takes constant time but some can take more time than others. A cpu cycle is defined as 1/clockspeed . A fast instruction can take 1 cycle, others 3 or more.
Usually there's multiple cpu instructions for GOTO and loading from memory, a fast set for things "close by" and a slow set for far away code or data. Loops and conditional instructions even on simple cpus can take different amounts of time depending on the outcome, so it gets pretty complicated to time things sometimes.
So when doing really low level timing critical code, you can use a super accurate signal generator to drive your CPU clock, then count your instructions to time things. Common uses include generating audio from bit banging and similar.
In more complex CPUs a number of things made it difficult or impossible to figure out exactly how long an instruction will take. None of the software for these CPUs is written to depend on exact cycle timings. Because nothing depends on cycle accuracy you don't have to worry about the timings when emulating these kinds of CPU's.
A lot of big industrial processes have a ton of different control loops that try to optimize parameters. The systems are usually complicated enough that the ideal state for these parameters is unknown, so controllers try to approximate.
An easy example is the engine controller in cars. It tries to optimize for power, efficiency, emissions, engine longevity, etc...
Machine learning could crunch tons of historical data from these systems to build a CNN that performs better than the usual controller.
In some systems, like stoplight timings or freight packing.... An AI driven controller could possibly be revolutionary, performing orders of magnitude better than current algorithms.
AMP is a competitor of instant articles rather than the 'cure'.
If google really cared that much about speed they would just punish slow sites. I see amp as a land grab in cute packaging.
The whole point of AMP is so that nobody ever really leaves Google. Anyone who thinks otherwise is naïve, and it's pretty fucking obvious with how the AMP UI is setup. People are saying "oh it's okay they'll change the UI when they improve AMP, V2". I doubt it, the UI was built the way it is intentionally to see if they can get away with it. "making the web faster" is just their marketing to get everyone to buy in.
Look, Google made my phone and my web browser. They are my main source of email, news, videos, and content. I spend most of my day using google devices and Google software on Google sites. Now google wants to host every site in the search results for "speed". Seem like a disturbing pattern? The internet needs to push back or be owned by Google. AMP has gone too far.
It's pretty bad that some third party startups are offering products to determine if Amazon reviews are likely fake and Amazon with all of their resources doesn't seem to be doing it themselves.
This feels like MySpace all over again. It's clearly possible to build a superior product, in contrast to something like Google who have constantly reinvented themselves to stay on the top of the curve... it doesn't look good..
Would you start a restaurant without ever working in one? A bank with no finance knowledge? If you're not a tech cofounder become one. The reality is that a company with a handful of people needs to have every one of those working on their product or they will be at a massive disadvantage to anyone else that does.
I can say the next big thing probably won't be an AI breakthrough, I'm guessing it will be a new way of using existing machine learning structures like CNN's. Maybe a new use for the incredibly powerful gpu's being pumped out for machine learning applications?
Rant aside, if you have any computational demand stay far away from js. Lack of threading support absolutely kills performance. The hacky alternatives are terribly slow, like using redis to share state between processes. Js is also still about ~10x slower than .Net or Java (and runs a single thread) which matters in hardware cost at scale. The only strength of node is the ability to run pages on the server. Great for server side rendering and testing, a step backwards for everything else.
That said, I would avoid .net core for now as well. We tried using it but it required us to abandon too many of our mainstay libraries and tools to be productive. Many parts of the standard libraries that you and other libraries rely on no longer exist. MS is working on this but for now I would definitely stick with regular .net.
Arguably best stacks for most use cases are Java (Spring boot or Jersey) and .net MVC using WebAPI. Plus Angular or whatever crazy shit you want for the frontend. Not exciting but extremely practical, well tested, well understood.
There's a myriad of different solutions for inspecting http requests that work just fine and have been around for eons. These days it seems like anything with the right buzzwords in the title makes it to the top