But here's what I don't understand at all...
Has anyone ever been sailing? On yachts we have radios, but these radios are designed assuming the person operating it might be completely ignorant.
So we have this literal red button, you lift a flap, hold down the button and the radio sends an SOS with complete GPS coordinates and boat name on Channel 16. Then it leaves it on channel 16 so you can describe the emergency.
So back to smartphones, on smartphones we have dialer apps, these apps know when you dial 911. Why in holy heck don't they have a big red button on-screen which when pushed sends your current GPS coordinates USING VOICE over the open line?
Here's what we need to do that:
- Dialer app. CHECK.
- GPS. CHECK.
- Some kind of UI. CHECK.
- Text to voice system. CHECK.
We have all of the components to roll out a system TODAY which tells 911 via voice where you are calling from. It would almost be free, but we haven't, and nobody is suggesting it.
Everyone is talking about these crazy complicated standards that will, best case, be available in 2021 and cost ungodly amounts. I am talking about using voice which the operator themselves can type in.
Am I mad here? Why isn't this a thing? Why doesn't the dialer even DISPLAY GPS coordinates when you dial 911?
Seriously I bet if someone made this a big deal we could get Apple and Google to sign on almost immediately and this would be available within a year. All smartphones already have all of the prerequisites to do this!
She entered scattershot information from a frantic caller, and using a combination of keyboard shortcuts, foot pedals (yes, foot pedals), and stand-up-and-hand-signal-to-a-colleague-while-keying-a-mic, dispatched an ambulance within seconds. Way faster than the caller would ever realize.
You're not just replacing software/hardware, you've also got to make allowances for the humans in the system. Little things make huge differences in those situations, so throwing the old system out is painful. Evolving the current one (as davismwfl pointed out) is challenging for its own reasons.
Doesn't mean it isn't important. Just hard to do.
First, most pizza apps are just that, an app. That app has access to your phones location data through GPS and some even use WiFi location services. Hence it can send a nearly exact position to where you are standing.
Contrast that to the standard phone network and systems ANI/ALI solution, which still does not (completely) support GPS coordinates at this point. In addition, while there were phases (phase I and phase II) of cell phone location compliance put into place by the federal government, most networks and phone companies lagged far behind in implementation of those standards. On top of that, city and county 911 dispatch centers (PSAP and secondary centers) also have to upgrade their phone and CAD integrations to support better location services.
As for why it isn't being disrupted. Simple, looooooooong sales cycles for an extremely limited market that is vigorously defended by the incumbents. Seriously, it isn't rare for a 2-3 year sales cycle for a lot of 911 components and systems. 18 months is about the normal when it involves critical systems with 12 months being probably the fastest you see anything change. Not to mention, the partners you need involved to make a solution work and be palatable to the 911 centers are the exact same companies who want to keep you out of their market, so it isn't easy. Not impossible, just not very probable without seriously deep pockets to support what would likely be a 3-5 year development to first sale. It makes selling to enterprises look like a fast process and cake walk.
Granted, it could rely on the software running on your phone to add information for the dispatcher, but not everyone has one, and not everyone who does has the same kind. And that's a good thing!
So it takes standardization, and government regulation. Standardization can work pretty well when there's a nice tight feedback loop with customers who are interested in the results (web browsers, for instance). How many telephone customers would switch phones based on the details of how well the phone supports 911-related features? It's not like we can test them without actually calling 911.
Government regulation can also work, provided you're willing to pay the costs: time and money. Lots of time, and lots of money. In fact, it costs so much for the government to regulate things like this that we end up in this exact situation. Phones have completely changed since the last 911 regulations were updated, requiring telcos to provide location information to 911 when the caller is using a mobile phone. It took years after that regulation was introduced before the telcos were compliant, and before all the local dispatch operations could use the information.
The same would happen today if new regulations were introduced requiring the phone itself to send this information; it would take years for anything to happen. (Though I bet Google and Apple could move faster than the telcos, they've certainly proved to be capable of that.)
And that's all ignoring the inaccuracy of GPS when inside of buildings, the time it takes for the phone to determine the location, etc.
Still, in spite of all of that, now is probably a decent time to start making those changes. It's been long enough since the last updates to the regulations, and new phones are capable enough now, that you'd have a decent chance of getting it done eventually.
- If the user doesn't know the location, and they have given the app permission to read GPS data the assistant operator could check the phone's location data and chime in with the correct address in the conversation.
- If the user is unable to speak, they could send text messages to the assistant operator, who would relay them to the 911 dispatcher.
- If the user is unable to do anything more than pressing a button, and if they've given the app permission for this, the assistant operator could check the messages or other data on the user's phone to try and find out what the issue is (e.g. domestic violence.)
- The user could initiate a video call with the assistant operator who could theoretically be able to more accurately describe certain issues (assuming they are better trained medically) than the user themselves could.
Here there is an app that will send that information to 911, without worrying about giving special permissions at the time of the call. I'm not sure why that isn't standard on cell phones everywhere, especially since phones generally come pre-loaded with apps. I know that landlines in the states send the information to 911, so I would think some people much smarter than I would be able to make an interface to go between the two. I suppose that would take some time, given how well the government seems to work together to get important things done these days.
Not to say you cant make money off it.
The phone companies COULD upgrade to newer technology right now, but that would cost money.
They could wait until it is a crisis and then DEMAND that municipal governments pay for the upgrade.
Which would you do?
(This is not snark, in case you are wondering.)
It certainly may be the case that they actually are interested in seeing interviewees past such points in a somewhat controlled environment.
Such "gauntlet" interviews seem common among large technology companies and while I think some of it is a semi-intentional attempt to push interviewers to limits to see how they react, I think it's also just as much "everybody else does it" and that continual momentum of existing interview processes. Which is precisely how such hazing processes in organizations get normalized and their problems ignored over the long term. (Yes, pushing someone to the limits of their productivity is strenuous activity and the very definition of hazing.)
Especially, if it won't be English-only or, even better, could be taught other languages by a skilled end-user.
1. The Web Application Hacker's Handbook
Probably the first book you want to read; this will teach you the core mindset you need for finding security flaws in web applications as well as give a very strong foundation for the different classes of vulnerabilities.
2. The Mobile Application Hacker's Handbook
Good supplement to #1 for application security, obviously focused on mobile apps.
3. The Art of Software Security Assessment
The bible of the security industry. Especially instructive for source code review.
4. Security Engineering (Ron Anderson)
Supplements #3. Very instructive for injecting security into the overall SDLC and designing secure software.
5. The Tangled Web
Excellent historical background and good high level overview of many information security topics. Every engineer should read this, even if they don't work in security.
6. Gray Hat Python
Very hands on, good introduction to aspects of reverse engineering and the typical work an e.g. security consultant will do at a top firm.
7. Practical Malware Analysis
Very good introduction to malware analysis.
8. Practical Reverse Engineering
This book, along with #9 will teach you everything you need to know to effectively reverse engineer software for security-focused analysis.
9. Reversing: Secrets of Reverse Engineering
10. The IDA Pro Book
You'll want this if you have any plan to work with IDA Pro at all, which is the gold standard for decompiling and reversing software.
11. The Shellcoder's Handbook
If you'd like to write exploits after you're done reversing software to find an exploitable bug, this is a good book to pick up.
12. Cryptography Engineering
Very solid and broad introduction to cryptography. Every engineer should read this, even if they don't work in security.
13. Introduction to Modern Cryptography
This book, along with #14 is what you want to read if you're going to work as a cryptographer or cryptanalyst professionally.
14. Handbook of Applied Cryptography
Theoretically, these books should resolve your known-unknowns and your unknown-unknowns. Anyone who reads and works through the list should be capable of designing secure software, finding errors in white and black box source code reviews and finding errors in white and black box penetration tests.
If you're looking to get into this professionally, feel free to contact me if you have any questions and I'll do my best to help.
Our architecture has quickly evolved in that direction however: Higher-order React components mediating almost-declarative store accesses with all the back-end fetching, optimistic updating, etc handled transparently by common store logic. All objects within a store are flattened down into an id -> object immutable map with conventions for indicating a given object is loading, loaded, in-error, etc.
We'll be having another serious look at it soon. It will be interesting to see if we'll have an impedance mismatch between how we've built our data model on the backend such that GraphQL isn't a good abstraction. The idea of being able to declaratively express what you want to have in a given React component without having to write any store logic, etc, is super compelling.
Corel bought it and turned it into a bloated mess of a photo management tool. IMO they should've just killed Draw and rebranded Paint Shop Pro as the new Draw, it was that much better.
Firefox had an amazing plugin called "Ubiquity", which was basically like command line for your browser and you could write custom scripts for it. It was seriously better than anything that exists today. They stopped developing it for some reason. Tab Groups is another feature that's now abandoned, despite being superior to everything else that exists.
Forte Agent (free version) - great text Usenet reader, now abandonware.
Everything not being 4:3 screens. I found it better for programming than everything being cinematic screens.
Back when monitor manufacturers were racing to make better / higher resolution monitors, instead of just leaving it at 1080p / 4k / whatever the current standard good enough for movies is.
The GMail interface before it started auto-converting the textarea to HTML when edited externally.
Console gaming when it Just Worked. Nowadays when I pop in a game it's update this and update that, long loading times etc.
E-Mail before we lost the "text should be text and not goddamn HTML" war.
* products/software without DRM, always-online, analytics, tracking and spy "features" - bad for consumer personal privacy, and prevents second hand market, products cannot be owned anymore, try buying Windows 10, John Deer tractor, Tesla S without that crap
* Cash money: those Davos attendees started a war against consumers - electronic money transfer is useful, yes, but without cash money everything in daily life can be tracked and you can loose everything over night it's just a digital number after all, state wants negative interest rates ... just a matter of a mouse click, a normal consumer would get a kind of a slave, as we learned from cases like "1984" or various real cases like former state East Germany, while wealthy folks have numerous companies in various countries. Some states already started to limit the amount of cash money one is allowed to carry and eliminated entire cash notes like the 500 EURO note. Some probably fall for the propaganda that it's a way to limit criminals - as if those wouldn't use shell companies and electronic money transfer.
* Erosion of the idea of ownership: some like renting things and consume services, fine, but others prefer owning things like a house, a car, a computer device. And with ownership I mean also the possibility to sell the stuff to someone else and using it without an artificial time limit.
Lenovo T410/X210 where still somewhat fine. But these newer ultrabooks nowadays have less powerful specs than 5 year old notebooks. The Lenovo Thinkpad X1 Carbon isn't bad, but a far cry given it's ultrabook less powerful specs than an 5 year old high end notebook. And these shitty keyboard nowadays, give me back the old keyboard layout like grouped F1-F12 key, better placed Home/PgUp/PgDn/End keys, etc. And an 9 cell battery that stand out on the back side - I want back my 15 hour battery life.
Please please produce the retro Thinkpad, as shown on the Lenovo blog - I want to buy one with high end specs, if it is available in 4:3 even better: http://blog.lenovo.com/en/blog/retro-thinkpad-time-machine/
* HP EliteBook 2560p.
Those newer EliteBook 820 have cheap plastic and a very crappy hinge with such a small angle. And the very thick edge around the display looks like the designer has gone completely mad. And the specs are lower than a 5 year old notebook. Bring back the older quality in a smaller form factor, or just offer the older device with up-to-date high end hardware.
* Microsoft IntelliMouse and Comfort Mouse 6000
Very good computer mice. (yes I am aware the later had a hardware bug with the middle mouse click but who cares). Their newer keyboard and mouses are all wireless and all with crappy design - designer gone mad. Very sad story. It get's harder and harder to find a suitable good traditional standard quality mouse and keyboard these days, that were so common 15 years ago (and cheap as well). Not everyone needs a gaming device (expensive and last only like 2 years) nor would like to use ultra cheaply made crap for small hands only. The normal products aren't available anymore as it seems.
I hope it doesn't sound too negative, sadly some devices aren't available in a quality we used to have available in mainstream. On the other side, a lot of other things I haven't mentioned got a lot better than what was available some years ago - but it isn't the topic in this discussion.
So the "tool" to maintain privacy was very controllable by me and nobody would think otherwise.
Any Norton productdBase III
They were one of the fastest environments to build business software in till the early 90s. Then Client/Server and Windows happened. Visual Basic and Delphi occupied the niche with support for SQL based databases. xBase tried playing catch-up but by the time they caught up clunkily to GUI programming, the effort was wasted and the Web came around.
This is how xBase was loved:
This isn't a question or a bug or a complaint. This is just to say that using your prg files from Foxapp, modifying the startup, creating a database, compiling and debugging I created an beautiful working application in 45 minutes today, including the time it took for the client to explain what they wanted in the database. The client was duly impressed, and I marvelled at just how much 2.0 had made programming fun and had increased my potential income. I am now taking on programming jobs that would have been painful in the past, and find that I can afford to do some pro bono work knowing that with Foxpro 2.0 and my distribution package I can whip up a quick database for the church or the school or anybody who just can't afford custom programming. I've been hacking PCs since I bought an Apple at Homebrew Computer Club in Palo Alto from a couple of kids who were building them in a garage. (In those days they were talking about marketing them as a multilevel, like Amway). I've played with a lot of software, ranging from user-hostile to stuff that curls up on your lap and talks dirty in your ear. But Foxpro 2.0 is something special. What you folks have created is an elegant solution. When you finaly go public, may you all cash out as rich as Bill Gates. Please thank all the Fox folks for me. Charles -- "Letter from a FoxPro admirer". FoxTales: Behind the Scenes at Fox Software, Kerry Nietz.
Yahoo Geocities- simply miss it. and also Yahoo in general. My current yahoo mail is chock a block with spam mails. plus their ads.
Xerox Ventura desktop publishing software- that was cool when book publishing was required.
Motorola T90/91 basic mobile phone. superb and handiest phone used. Current Moto is smart but not unbeatable.
Most importantly old BSNL (India) Landline tariffs- you could talk for hours and still the billing would come per call-wise. Simple unbeatable !!
Non- Microsoft Keyboards- here they are out of market. THe MS keyboards go out of tune/get stuck over time.
Softwares that would never needed to update- These days it is a harassment to see every software on my PC requiring to update. Now its gone to mobile phones. God knows what is it that they do in updates.
Tap water- 2 decades ago we would drink water straight from the tap or just plain filtered. Its impossible now. The water is too contaminated and needs added filtration devices at home/work. or bottled water.
Paper bags at the grocery shop. They've vanished giving place to cheap plastic bags. And many products are now using plastic wrappings that would come with paper ones.
A more silent neighbourhood- these days its high intensity horn blaring.
Winamp was light, aesthetic and very good on its design. One feature I still miss is the global hotkeys, you could map Ctrl+Shift+Z to go back one song, on any window you were (hence the 'global'). I used to map the Z-X-C-V-B (the default bindings for Previous/Play/Pause/Stop/Next) to the CTRL+Shift+$key binding, and I felt like a wizard. Then there was a search function, with J, that you could also remap to a global hotkey.
Winamp was so good we should have paid for it to prevent a sale to AOL.
This early Apple ][ ad actually mentions it:
Check out pretty APPLE COMPUTER CO logo designed by Ronald Wayne, on this APPLE-I OPERATION MANUAL:
I think I'll print that out and stick it on the back of my MacBook Pro!
Newton --- "A Mind Forever Voyaging Through Strange Seas of Thought --- Alone."
The "more linuxy" Nokia Android competitor that was released late and dead on arrival (in terms of ecosystem), but was still years ahead of Android in many ways and fundamentally better in others.
A (tiny, but) usable, physical keyboard on a device that lasted _ages_, fit into a suit pocket and was eminently practical. The age of the PDA is long gone (heck, I'm typing this on an iPad mini), but we still haven't caught up with some of its best bits.
ArtGem was a nice spiritual successor but sadly it's gone too: http://www.rlvision.com/artgem_about.asp
Discounting the Newton (which I tested but didn't own), there still isn't anything else that even came close in terms of practical "handwriting", and even though there's an Android keyboard that does Graffiti, ACCESS is sitting on the IP and has done nothing with it.
I'd forego a non-critical bit of my anatomy to have Graffiti on iOS with a decent stylus. Not even the MyScript keyboards come close.
Illustrator still hasn't quite caught up. For any illustration, it's useful to have as few control points as possible. This is particularly useful when making SVGs for the web; it renders faster, and an ability to hand edit the SVG is useful for animation etc. Every font design package has this feature; Illustrator, even now, has nothing that does anything close to the same degree of accuracy. Occasionally they'll roll out an improvement in 'simplify', but I find it staggering that they can't just implement what is a fairly simple feature.
I don't know quite where it went off the rails...
I loved the DiskEditor which enabled me to recover lost files by manipulating the FAT table, hack byte codes to bypass copy protection in the days when copy protection was done by reading in bad sectors in floppy disks.
Norton Commander for the ease of use to navigate file system in DOS days. I use TotalCommander now which is the best $40 I ever spent.
Some websites (author died, they faded away/are not the bleeding edge any more etc.). A good example would be the old Searchlores website (http://search.lores.eu/indexo.htm)...apparently the original domain is now owned by some marketing company. Yikes.
I still find typing on a touchscreen cumbersome, especially entry of special characters is a hassle. This makes managing remote systems or programming very hard to do.
Best ergonomic mouse ever made. Fitted my hand perfectly. The extreme slant looks terrible but works far better than every handed mouse I've used in the 20 years since. There was a matching trackball if you preferred that.
Unlike every modern Logitech mouse made it did not break after a short life. It was thrown away because it was old school marble instead of laser. Lasted years in great condition.
Use that design with modern sensor, sell me one for 150, I'd buy it.
You could download songs in 320kbps mp3 quality, you actually owned the tracks.
You could discover home-made remixes of completely unknown artists, which could happen to be truly amazing, and which then got lost forever after the downfall of the OpenNap servers.
You had an insta-search feature where you typed something in a search box, and the track list actually filtered immediately.
I miss all of this and I would pay so much money (even monthly) if something like that came up again.
Yes, it was illegal, and you have streaming services like Deezer and Spotify today, but try searching for Adele. There's no point if you have to have 2-3 sources to listen to your favourite music. The movie industry is repeating the same fragmentation faults of the music industry. There's still no legal way to stream or download your favourite music and movies.
You have music communities like Soundcloud, but artists need to pay money to make their work public (laughably unaffordable if you're, say, in Romania) and the sheer amount of work went forever extinct, just like what happened to Grooveshark.
You could search your library, and the library would filter your results instantly by the letter you've just typed. This is impossible with today's SPA platforms. Not a single competitor does sub strig filtering, and by the time your AJAX request hits the server, you're already 20ms over the time the results would have been shown in Lopster.
There was a golden time when those Napszter clones were alive, anyone remembering WinMX? I'm delighted Soulseek survived until today, i'll see what's left from the legacy.
Just before everyone and their dog got a "blog" and way before Facebook and Twitter.
Today it would still make sense for server applications, but the C++ port was rather horrible and nobody is still using Pascal :(
Technically, it still exists. But, it's been abandoned for years, so it no longer "exists" than any more than the bytes of any other defunct program.
Sketch is far superior to Fireworks, so it no longer matters, but the abandonment of Fireworks actually caused me to completely stop designing websites, for years. It was too painful to use anything else, so I just gave up on it and started using Bootstrap to "design" sites.
From more recent times there was some nice hardware 5-10 years ago. All netbooks and such. Nokia N900. Simple portable music players, with sole purpose of playing music stored locally on it.
I used it to typeset nearly all of my academic work until I was forced to switch to Word by peer pressure. Adobe made a complete hash of it, and none of those files are readable anymore.
You could freeze the whole system (e.g. game) with the push of a button, increase your lives and resume ...
"A/UX includes a utility called Commando (similar to a tool of the same name included with Macintosh Programmer's Workshop) to assist users with entering Unix commands. Opening a Unix executable file from the Finder opens a dialog box that allows the user to choose command-line options for the program using standard controls such as radio buttons and check boxes, and display the resulting command line argument for the user before executing the command or program."
My 100-50 year old family photos are sharper and better than pictures taken today with phones and cheap cameras. And expensive cameras are expensive and heavy.
At first I was very happy when the so called mirrorless camera appeared, but I was just too optimistic; the good ones are more expensive than an average DSLR, and lenses are still too big. Not to mention that they are full of bullshit software that will stop working in the future and batteries last a day or less. My DSLR battery lasts weeks/months and my film cameras (the ones that need a battery, most don't) last for many years.
Laptops with 4:3 (or 5:4) screens. For large screens (over 27''), I don't care as much about the aspect ratio, but for small screens is matters a lot. I'm looking forward to the ThinkPad Retro, but it will probably be a non-interesting heavy brick. We'll see.
A cordless drill is nice but not very accurate, useful for holes and screws, not for removing waste in joinery.
I feel like AirTable is a worthy spiritual successor today.
A long time ago, some demon soul from hell decided to kill them product lines. The world never was the same, afterwards.
I never do it anymore, but it worked great until I got a PC, a Psion 5, and especially after my first Macbook. Since then I barely write with a pen, and if I do it's cramped.
Also miss all the pre-bittorrent P2P clients.
Though both are still available, not in use.
It had an awesome IDE, debugger, and help.
I want to play doom with it again. No matter what you do, upscaling a low resolution game to high resolution flat display just doesn't look good. Whereas a CRT, even a high end one, could switch to a low resolution mode and look crisp without turning the pixels into huge squares.
I see that "crt shaders" are popular today, but to me they all look like they're trying to replicate the look of a NES hooked up to a shitty old television. It's completely different from a high resolution computer display.
Back in the days, when the service unified different messengers in a single web interface, also providing a handy history search.
It was similar to less, but could show hex data, etc
It would eat any file for breakfast and display/page it without a hitch
Wikipedia says its now open source.
Perfect mix of a bitmap and vector editor for ui and web design. Nothing since comes close, scetch is trying but isn't there yet...
Fireworks ( a image editor for web designers )
Livemesh ( which was way better than one drive, it could sync your entire computer in the cloud ).
It would even backup my SMSes and let me search through them in an online interface. But then MS decided to shut it down within few months of me buying a phone because of this particular feature.
Well, MS does it often.
I'm tire of waiting for browsers to agree on video formats and protocols.
Sometimes a benevolent dictator really is better.
There was a lot to like about webOS in general too. It's too bad they came to market so late and sold to HP.
Also: Google Reader and Google Buzz, the proto-Facebook for me
Pretty sure they got acquired by Google, who are taking engineering in a new direction with a new project named Flutter that uses Dart as the source language, which is totally useless for porting over existing Obj-C code bases. Too bad, so sad.
One example is the data table. I haven't found anything better since, and most are not even comparable
- ASUS MyPal (which I have and it still works) had much better battery life than any of the smartphones I ever owned.
- It had a consistent interface that wasn't a confusing clusterfuck of random shapes and expectations.
- The hardware was durable and extensible through compact flash slot.
- I could install software on it without going to a centralize store or going through some elaborate jailbreak. And while there wasn't a million free apps for it, there were good free apps, and finding them was actually easier than finding something on Google Play.
Although reading that page I see that it still exists!? So maybe it doesn't qualify for this question.
[Edit: I see the dBase/FoxPro family mentioned down below. Same idea, roughly. Also great.]
And just be glad you don't have to use these anymore.
Loading programs from cassette was a pain. A game from tape could take 15-30 mins! Fast-loaders that could speed up loading by a factor of 10 were a godsend in those days.
I'll third or fourth or n'th Turbo Pascal and Turbo C (and a few other Borland products over time). (I know about their corporate issues and pivots, yes.)
TP 3.x: Under 40 KB .COM size (not MB, not .EXE). Blazingly fast WordStar compatible editor and true compiler (created .COM files) in that size.
Had a lot of fun working on it, and created one of my first freelance projects using it (started, somewhat unusually, as a freelancer, and then went on to jobs).
I suppose it still "exists" in that you can download it from the Chrome store, but all traces of its development have been wiped and it'll eventually die away.
Circa 1990, a DOS TSR (remember those?) that when you pressed Alt+H (I think) popped up help for the API call at the cursor (usually OS/2 or Win16).
Did the job well. Worked amazingly fast with slow internet. Very reliable.
Then Google Hangouts happened.
Used it during my time as a typesetter to mass-calculate values based on a scaling factor. Soo much faster than an electronic calculator!Disc calculators have not completely vanished, they are still being made for specific purposes like aviation. But all-purpose disc calculators need to have a huge diameter and smooth mechanics to work nicely and I only seem to find them as antiquities on ebay.
(not that it's not still available, just that I can't justify working on a RISC OS system for the last ... 16 years :) ).
2. Turbo Pascal for Windows (which I guess became Delphi)
3. Full Tilt! Space Cadet Pinball:https://en.wikipedia.org/wiki/Full_Tilt!_Pinball
The tool is still around, but I long ago knuckled under to rich email, and I really like imap, at home and at my provider.
But I so loved the MH environment of separate commands that ran in the terminal, and that you could easily use all the existing unix utilities because your messages were just text files.
The MSP430 is OK but the instruction set isn't as simple.
Made by a company called ThinkFlood that unfortunately has since gone out of business, it was a rack mount box (I had/have the pro) that operates as a centralized, multi-room, IR+Serial+Relay controller. Really simple to get started with, but, amazingly powerful with a built-in Lua scripting engine and an API to remotely control things. Apps on iOS/Android and a fully-featured web interface.
It has been about 2 years and I've still not found anything that I like more than this box to automate my home theatre (I'm still using it).
So I kept the installer and I still have it running on my Windows 8 and 10 boxes.
KPT Bryce (Kai Krause)
Apple Newton handwriting recognition
I also really miss my nt4 system: office 95, delphi 3, coreldraw 5, photoshop 5, netscape 4. Despite having only a 233 mhz cpu and 128 megs of RAM that system seemed more responsive and easier to use than my current pc's, and it did everything i needed it to.
It was my go to for web image editing. As well as prototyping with clickable pdfs.
It was modem/terminal emulation software that Just Worked. It also had a built-in C-like scripting language. I loved it.
I have no idea why they made it wireless, it ate batteries like crazy, but its still the best trackball I've ever owned.
Having the ball at your middle and ring finger gave better control than the thumb driven ones.
You can still get it on places like amazon, but at a ridiculous price, 10-20 times what it originally retailed for.
Now that I look for them, apparently there exists a fork. Might test that out.
dbaseIV and the possibility to create a db application + its menus/gui in short time without having to import 100+ kitchen sinks.
Songza - they had some great curation and introduced me to a lot of new music
Starsiege: TRIBES - while not a tool, the amount of enjoyment I got from this game is rivaled only by Goldeneye and MarioKart with friends on n64
I have never found a similar experience again (Apple has Airdrop, NFC on Android, etc.) but nothing works platform independent.
Yes, I know there was an open-source release. I couldn't get it to work.
The new flat ones don't help with RSI at all.
These days what I want is an MP3 archive in the cloud.Hold my mp3s, not your pre-licensed copies with differentmetadata. Stream my mp3s to any app, with an API. I don't want your mp3 store. I don't want your crappy Spotify clone. I just want my mp3s in the cloud.
I'd pay for this. Anyone else?
Lotus Notes 3.x
It allowed me to play War3 with my friends in a LAN with decent frame rate.
Developer Tools (and the skin-of-developer-tools that is Firebug 2) are markedly inferior. From breakpoint- and file-management to the functional limitations and missing features around dom management... I miss the Firebug that died in FireFox 29.
Here's what I'd like DevTools to do:
* Make a breakpoints view, not one embedded into a massive list of unsorted (or sorted-by-load-date I guess?!) files that changes over time. If that can't be done (or is against the design philosophy of DevTools), letting me choose the sort order would be nice (e.g. recently-viewed files first, or files with breakpoints, etc ..... and uh, remembering those files and/or settings through refreshes would be fantastic... I miss it from Firebug 2). It's nice because after/during refreshes the breakpoint view lets you pull up the file the second it's loaded, instead of scrolling around in the file list until you find it.
* Make it a LOT more obvious when DevTools is stopped at a breakpoint.
* DevTools doesn't handle initial focus the way Firebug does. As in, when you pull up Firebug via the selection icon--oh, DevTools needs that selection icon for the toolbar--it goes straight to the dom node you selected.
* Make DevTools stop crashing. It stops working. Constantly. The console will just stop printing output, and the DOM view just stops displaying HTML, requiring a browser restart. (When this happens, if you, say, pull up the console and type "1" and hit enter, usually the console echos "1" back to you. When you're in this state, it's not echoed back, though, oddly, some script messages still pop in.)
* Make "debugger" start working again. There are some places where--for who knows what reason--both Firebug and DevTools have ignored breakpoints I've put in, and I've been able to get around it in Firebug by explicitly putting in "debugger;" into my code. You definitely know you're in deep kimchi when you need "debugger;".
Also, for one of my websites, it can't load the source. It just shows "eval" as the filenames over and over with nothing in them. Firebug 2 loads it just fine.
If I use the browser too long, the Inspector and Console tabs go blank.
Oh, and DevTools often doesn't honor my breakpoints. They "slide" down to the next line DevTools thinks it can actually stop on. Sometimes, once I restart my browser they'll work again.
For another, as a time-saver I put breakpoints on lines that /will/ be valid when I refresh (saves me from having to refresh the file twice), so it'd be grand if it simply honored the line i clicked rather than "sliding" down to the next valid one.
Later versions were disastrous
Microsoft X6 Keyboard - Fantastic keyboard with removable number pad. Not made any more
I still use it every day, but I won't be able to replace it when it breaks.
VB 6 or earlier, before it got .net-ed.
I was never a user myself, but surprised someone hasn't mentioned Lotus Agenda...
It was free. Now it isn't.
Finder is a joke compared to this tool
But we just had a newborn, so I built a custom skill for us to serve as log of our son's activities. So our primary use is now that.
The first custom skill I wrote that calls out to an API to do CNAM (caller ID) lookups. So when I get calls from a weird number, I can quickly get the corresponding name (if there is one). This was mainly an exercise to see how Alexa/Echo would pronounce various names and abbreviations.
AFAIK Amazon only sells the Echo in the US, and a lot of the functionality is locked to the US, this makes it unusable for certain tasks (like dealing with time, dates, calendars and alarms).
The Echo won't let you change it's timezone to an Australian one (hacks like setting a timezone to one of the US military bases around the world no longer work).
So with the Echo assuming I'm living somewhere in the US, what do I use it for?
- Telling the time. Having said all the above, I do use it for telling the time, but I need to say "Alexa, what's the time in Sydney Australia?"
- Finding out the weather "Alexa, What's the weather like in Sydney Australia?"
- Controlling the Lights. "Alexa turn on the lights?"
- Reporting Revenue from Shopify (I've built a custom app) "Alexa, ask Shopify what were the sales?"
I'd love to hear more from others outside the US as to how they use their Echo!
The kitchen is the perfect spot for it because my phone and tablet are usually in the living room or on their chargers in my bedroom, and Siri doesn't work anywhere near as well in a big, noisy area like a kitchen. The microphone is so much more accurate and reliable than the Apple Watch on my wrist (which doesn't say much, because the Watch is so bad at this sort of thing.)
The TV use is pretty neat since it takes so many clicks to navigate those menus. I'm hoping the echo will integrate natively with Apple TV or Fire TV, it would be sweet to be able to say "Alexa, play the latest Game of Thrones" and have it just start.
Main use cases: * Managing my shopping list (not necessarily for ordering on Amazon) while I'm in the kitchen and/or cooking * Calendar/Newsflash/Weather in the morning * Timer for cooking/workouts * Ordering an Uber (main reason why I use primarily Uber vs. Lyft because there's no Lyft skill right now) * Switching lights on/off (WeMo)
Would use it more if there would be (good/easy to use) skills: * Public transportation arrival/departure times * Controlling my Sonos (I know the workaround but a better integration would be awesome)
- Control the lights, TV, AC, or smart device in the house.
- Is anyone in the swimming pool? (I'm processing CCTV cameras)
- Who's home? (Geo-fencing and OpenWRT Wi-Fi data)
- Where is the people in the house? (I'm doing indoor locationing with RSSI signals)
Is fun and I keep adding cool stuff on it.
Home -> Car -> Work. But I wind up using Echo at home, Siri or OK Google in the car (depending on what I'm doing), and nothing at work.
I use my Echo to play music. I uploaded my music collection to Amazon Music for $25/year and also have some Prime playlists.
I use her to find what day a date is on, like what day is June 16th. (Did this once to double check the end date for something).
I use Echo to check the weather before I leave every morning. I ask the time ALL THE TIME. I use her when I'm cooking for unit conversions. And I've set timers with the Echo quite a few times. I've got one going now actually.
I also got some Philips Hue lights and use Alexa to turn my lights on and off. I want to get a Trackr since it has an Alexa integration so I can find my keys.
I also set up IFTTT and have a trigger for Alexa to call my phone so I can find it when I lose it.
Do I like the Echo? YES. I'm considering giving one as a Christmas present this year.
My 4 year-old loves it. He learned to count to 100 and got a lot better in understanding higher/lower numbers by playing GTN with Alexa.
It quickly became our favorite pastime when outside; we now turns on who'll be Alexa :)
(ps: unfortunately it's buggy as hell. I'm considering developing a new one, just to fix it)
If I have a question which I think a voice assistant could answer, I pick up my phone and use the Google app 100% of the time because it is so much better than Alexa it's not funny. It regularly outperforms my expectations, where Alexa regularly underperforms them.
* Light control through Philips Hue: "Alexa, turn on lamps", "Alexa, dim hallway lights to 50%" * Assistance when cooking: "Alexa, start a 5 minute timer", "Alexa, how many teaspoons are in a tablespoon?", "Alexa how many grams are in an ounce?" * Entertainment control through Logitech Harmony Hub & IFTTT: "Alexa, trigger Netflix", "Alexa, trigger FireTV", "Alexa, trigger shutdown" * Getting ready: "Alexa, how's the weather?", "Alexa, will it rain tomorrow?" * Easy music controls: "Alexa, play some music", "Alexa, play songs by Imagine Dragons", "Alexa turn it [up|down]" * Enabling laziness: * When I wake up but don't want to open my eyes: "Alexa, what time is it?" * When I'm already in bed and want to close lights, TV, etc...: "Alexa trigger naptime"
* Control colors/scenes on my Hue lights: "Alexa, set the scene to warm", "Alexa, set the scene to variety" * Use fine-grained controls on my TV and devices: "Alexa, play Daredevil on Netflix", "Alexa, turn down the TV volume by 5"
I only use it for two things:
Weather and sometimes news in the morning as I'm getting ready.
As a Spotify player that I can control from my sofa / bed / elsewhere through Spotify Connect, so basically a quasi-Sonos.
Other than that, I haven't really found any good uses for it.
It then uses a library to say how long until it is free in a human like way.
You can also ask it to find if any rooms are free in the building, and most importantly if the pool table is in use or not! As well as that, there is even a web cam above the table that counts the balls, and can tell you who is winning!
The microphone is really good and I can talk to it from a room over, so it's the sort of thing I can ask it about the weather as I'm walking to the door to put the leash on the dog and not break my stride.
I wish the Amazon shopping list had a better API, because I'd like to use that list for things outside of the Echo app.
1) Lights - all of my lights are on WeMo switches. They turn on automatically at sunrise (note - they're energy-efficient LEDs), and they turn off automatically at 10:30. Whenever I want them on or off outside of this pattern, I use Alexa.
2) Music - I used to use Chromecast Audio on my speakers, but it took so long to connect - get phone, open spotify, find playlist, connect to speakers over network (after realizing phone wasn't on wifi and had to be reconnected), then hitting play. With Echo, I just say "Play <foo> on Spotify" and it works. This functionality is good for mornings when I'm not specific about music, but does not work well when there is a specific album you want to listen to. (Side note - I also use the sleep timer to automatically turn off music if I'm listening to something before sleep).
3) Alarm - I prefer using Echo over my phone to wake up in the morning.
4) Calendar - I listen to my schedule for the day while getting dressed.
Of note: for a great hardware product, it has terrible software.
My only custom use was to write a WOL task that targets my Steam Machine so I can turn it on without leaving the couch. The machine is a frankenstein, so it doesn't have any fancy IR receiver or whatever people typically use to remotely turn on a game console.
Echo on the other hand is awesome and picks up commands way better and knows more answers. My regular use cases are limited to timers, alarms, listening podcasts and dimming lights with Philips Hue.
I wrote my own skill to return arriving bus schedules. It was surprisingly easy with Lambda and I open sourced the code with a tutorial: https://github.com/jorilallo/muni-alexa-skill Disclaimer: code is somewhat sloppy as I wrote it in ~1h based on Amazon's tutorials :)
When it comes to skills, the Alexa app is horrible: very flaky and buggy, clearly Cortana (not native) and there's basically no discovery for skills. There's some great reddit threads where people list good skills.
I use it mainly for managing smarthome devices, which is great. I control all the lights with it (Phillips Hue), as well as my AC/heating (Sensibo), remote controls (Harmony), outlets, and just about anything on IFTTT too.
It also manages my timers & alarms (which are also linked to my lighting system), music (great speakers on this thing), to-do list, and is useful for other random tasks you might google, e.g. kitchen measurement conversions.
It's really useful to me as is, but will get a lot better once custom skills are allowed to run in the background. It can also be kind of frustrating when Alexa doesn't hear you properly or do what you want, but yelling "ALEXA, SHUT THE FUCK UP!" and having it work, is quite satisfying.
I also updated a Python script that emulates Belkin Wemo devices so I can control HomeAssistant and various http enabled home automation devices around the house. For anyone interested: https://github.com/n8henrie/Fauxmo
As to Siri - I use it slightly more:
- tell my wife I'm on my way. - ask my wife what to buy in the grocery store. - wake me up tomorrow at 5am - delete all alarms
To sum up: since I don't use Google much, Echo is mostly useless to me. I can't do much with it, and getting mostly "Sorry I could not understand your question."
I live near a stadium and traffic is heavily affected by it, so you can ask when is the next game to have an idea of how much traffic is going to be ("Alexa, when is the next <team name> game").
Also, weather. "Alexa, weather forecast".
You can connect it with your google calendar. "Alexa, when is my next event".
You can also order a cab from Uber, order a pizza from Domino, and other things.
In alexa.amazon.com there's a section called "Things to try". That can also answer this question.
- Play specific radio programs or stations
- Play music I've uploaded or stuff on Prime
- Check weather
- Check upcoming calendar appointments
- Ask for definitions/encyclopedia entries (the logic is good ... I once asked how old Reagan was at the beginning of his first term and got the correct range)
- Checking game times or if a local team is playing that day
- Ask about local traffic conditions
I don't use the shopping list feature. I don't like opening the Alexa app, and my wife and I split shopping duties according to destination store.
I've looked at the IFTTT scripts but did not see any that looked appealing or useful for us.
I would love to see phone/messaging capabilities built into the Echo.
Other than that, lots of use from the kitchen. As a timer, to listen to music, control my Hue lighting....
I also coded up a custom Skill to control my Anova via a little Bluetooth proxy I wrote.
* Weather (do I need a jacket or umbrella?)
* Music (I never used Prime Music before)
* Checking how long until my train arrives. This is by far the most useful application for me; I use it every morning. I bought the Echo so that I could develop a Chicago train app (CTA Tracker), but there seems to be one for every major city now.
"Alexa, what's on my calendar?" (Integrated with Google cal)
"Alexa, how is the commute?"
"Alexa, when do the Warriors play next?"
"Alexa, set an alarm for 7:30pm"
"Alexa, how much wood does a woodchuck chuck?"
I tell it to control my Hue lights, and ask it jokes, and occasionally ask it for the weather - though Dark Sky is a lot better for weather data.
So it's not used a ton really.
It seems to work pretty well for my use cases. With alarms and timers, the accuracy is about 100%. With music, it's maybe 70%.
Sleep music on timer at bedtime.
Traffic conditions before I leave for work .
News while I brush my teeth.
Setup a plan to renew on a live card tomorrow, make sure that's working.
Setup tracking on which users visit your cancellation page but don't cancel. Setup a page to view this in your dashboard. Email each one personally and ask them how their experience is going see if they have any questions or have suggestions to improve your app make it more valuable to them.
Adding a required text box on the cancellation page asking why they are leaving is a good way to get feedback.
Personally email every user you can, start with cancellations say "Just reaching out to see if there is a reason you cancelled and are there any improvements I can make to make the application better? Any feedback you can provide would be appreciated".
Next email new signups to see how their experience is going.
Check all your domains, browse through your funnel make sure signups are working nothing is broken on the site.
Test out your app run through with a new account as a user and make sure things are working properly.
Check error logs any issues users could be seeing.
Check your traffic, organic search rank and make sure you haven't fallen out of favor with Google. (Investigate your typical traffic sources/analytics).
Add code to start tracking logins, how users are using your SaaS to see if you can see which users are active or maybe active then drop off. Follow up with them see if you can help.
Good luck turning the ship around.
1. ACQUISITION: Has the number of new clients that you gain gone down significantly ? If yes, look into your current sales and marketing channels. For example, if you used to get a lot of inbound marketing (through search engine etc), check if your search engine rankings has taken a bit hit suddenly. Has google penalized you suddenly ? Have you lost some key backlinks or referrals that were providing you significant traffic and conversions before ? For outbound marketing, have you lost a key resource on your team ?
2. ATTRITION: If you are losing "current" clients at a significantly higher rate, talk to them directly when they cancel. Has something changed in your SAAS suddenly ? Did you drop a major feature ? Has your customer support changed a lot compared to 3 months ago ? Has a new competitor come up or an existing competitor is getting your current clients to join them instead ?
3. BUSINESS DOMAIN: Do you do business in a specific domain that is perhaps seasonal ? Is it possible that you may have a slower business during certain times of the year ? Just throwing this out as well.
Find answers to these questions above and I am sure you will get an idea of where things are going wrong.
Your application may not have changed, but the environment in which it operates may have. Is there a new alternative in that space? Don't limit your attention just to things that look exactly like yours: Consider everything that might conceivably be used instead of it.
Or, are there new legal requirements which your product fails to satisfy? Or, did the legal requirement that necessitated the use of your product disappear?
Also, given that this is recurring revenue, I am assuming you have a customer database, and you know who cancelled subscriptions. Do consider contacting a random sample of them and asking straight up if they would mind telling you why they stopped using it, and how they think you could improve the product to best serve their needs.
Also, order of magnitude would be helpful here: Did 30 customers cancel? 300? 3,000? ... 30,000,000?
First talk to those who are cancelling to find out why. For e.g. add a mandatory field on the cancellation form that asks them to describe why they are quitting you service.
Also, it helps a lot to schedule some calls with customers who left.
Any failing webhooks preventing invoices from being charged?
2 - do you have something like intercom.io installed to message customers based on usage?
3 - call customers who are leaving and ask why? ask if you can fix it (if valid) and ask if you can offer them something to stay
4 - I hope by re-start you do not mean - you stopped marketing. It should never stop and always evolve.
Maybe they are going to something else? Maybe they are not seeing the benefit?
Doing a simple single multiple choice question would give you some more perspective.
2. The automotive industry has a standard for safety critical C code. It's called MISRA C. A few of the rules are stupid, but others will save you worlds of issues. You have to buy the PDF from the committee's website for about 15 bucks, but it's worth reading and mostly following.
3. If you are actually writing medical or flight control software, you cannot depend on a single proccesor or computer. Perfect software is not enough. Airliners have three separate computers, each containing three different processor architecture processors, each processor running code compiled on a different compiler, and all checking each others work. SpaceX runs at least five separate embedded linux computers for any critical systems. These communicate in such a way that they can tolerate even malicious actions by any two computers. Google "byzantine fault tolarance"
Get all the tools. There are free tools like "sparse", a tool Linus wrote for his kernel. There are expensive tools like Coverity. Get them all. Use them all.
Build your code with all the warnings enabled. Use multiple compilers, even if they don't compile for your target.
In factory automation I have only ever seen C, and AFAIK automotive is the same (they seem to be more open to C++, though).
Most of safety-critical development (as I know it -- again, no satelites or nuclear stuff) is documentation, testing and FMEAs. Quite a bit of "patterns" or procedures, as well, like memory testing in the background, redundant variables, cross checks between controllers, plausibility checks etc.
But very, very little focus on saner programming languages.
Of course a lot of safety critical stuff is still written in C or C++. They may not be perfect, but they're not terrible choices.
The summary would be:
Use vanilla C with some rules about things like memory, testing, and recursion. Testing and static analysis are your friends.
Unfortunately, I only know their name and never use it.
The ESP8266 is a low-cost Wi-Fi chip with full TCP/IP stack and microcontroller capability produced by Shanghai-based Chinese manufacturer, Espressif.
Every so often I'll be deeply embedded in a command, and want to go back and edit an earlier part of it. With KB shortcuts I can go to the beginning/end, or forward/back one 'word' at a time, but sometimes it'd be nice to just say 'put the cursor HERE.'
The downside is that GUI stuff is hard to do right, and I'm not really sure I could force myself to complete the job. I just don't like any of the existing (linux) mail-clients.
I want to be able to do some basic stuff quickly without having to search for what I need to copy and paste into the CLI or read a bunch of docs. The gui should make things like converting between formats, cropping, stitching, etc straightforward.
IntelliJ based browsers haven't been slow in a long time, but they're even faster now, just be sure you exclude node_modules and library directories by right clicking them and things will move pretty quickly.
Wait, when you say "web ide", do you mean "to make web projects" or do you mean "web-based ide"?
I think that SourceLair (https://www.sourcelair.com) could fit your needs.
You also get an HTTPS public URL (subdomain) that works out of the box with Node.js, while it integrates with Git and GitHub in order to collaborate and lets you deploy your projects to Heroku with a single click.
You can try it out for free at https://www.sourcelair.com.
Disclaimer: I am one of the people who co-founded and built SourceLair.
Everything else, command line. I used to be the biggest IDE fan ( had my Eclipse kitted out with 4GB allocated, all the hotkeys, etc ), but I don't do Java or AS3 programming anymore and even though sometimes i still find myself missing certain types of autocompletion, I've started to become jaded on the concept of IDEs as the command line is just so much more versatile and memory efficient. Sublime Text and the command line are really all you need these days, unless you're doing C#/C++ ( in which case I'd suggest Visual Studio ) or iphone native (Xcode obvi).
iPhone 6 + Prompt (a SSH client) + tmux + Neovim/Vim + a remote dev server
for Android phones use JuiceSHH instead Prompt
Usually I use a notebook sshing to my dev server but when I am on the go and get good ideas I immediately try them on mobile before getting home. With tmux I am still in the same session having easy access to all windows and panes. Vim's key bindings are the best way to use an editor on a phone anyway. All very satisfying and not much slower. Sometimes when I need to go to bed and still want to play around with the code the same: I tinker a bit more till I fall asleep.
Or today: I read about a new JS NLP library on my phone I want to quickly test: I just start Prompt and type "npm i nlp_compromise", fire up Vim and play around.
I am quite fast with the iPhone keyboard and I think the reason is that I use the keyboard in general without any assistance, so no spellchecking, prediction, etc. Just the plain keyboard and after a while using it like this you get super good and fast (it took some weeks though). The keyboard of the iPhone is also one of its features I like most: it's extremely responsive and never lagging.
Prompt extends the iPhone keyboard well: you get Ctrl, Alt, Tab and more keys nearby and aesthetically very similar which I like. Prompt is quite slick and iPhone's iTerm.
So, it's not about doing entire projects from A to Z on your phone but it can get ultra productive when your are away from your computer and get those 'shower thoughts' you haven't gotten for three hours sitting in front of the screen. Then a phone as a devkit comes quite handy.
You would also probably need to write your own in app keyboard to make typing (),#,',,/ ect easier or buy an external keyboard. Other than my insane idea of FB school I've never tried to be productive on a phone beyond ssh into a remote server to fix something.
My goal was to code offline from my iphone. I was motivated from a trip to Jamaica to chill out. I don't code for work anymore as I have ended up in marketing. But I started coding since I was 4 and I miss it a lot. So I figured it would be fun.
Hopefully this year I will have a Pyra (which actually can double as smartphone) and hopefully I will have progressed with my 'visual IDE'.
Edit: what surprises me is that not more people are working on this; we have more touch devices than anything and more (aspiring) programmers than ever; there is a market and a greater good there.
otherwise, I'll often use a "wifi keyboard" app: https://play.google.com/store/apps/details?id=com.volosyukiv...
I also use Hacker's Keyboard on Android, but on tablets I sometimes don't find it comfortable when I would like to type with my thumbs. Does anyone know a good alternative/solution for tablets?
Some time ago, I ran into a series of posts where someone used an iPad, a bluetooth keyboard and a Linode server to do work. It's not exactly smartphone-"have everything in your pocket" purism, but it's close enough.
These are the 2 blogposts related to that:http://yieldthought.com/post/12239282034/swapped-my-macbook-...http://yieldthought.com/post/31857050698/ipad-linode-1-year-...
It's also nice to see 2 other blogposts of his on the same subject:http://yieldthought.com/post/42450188171/working-in-the-clou...http://yieldthought.com/post/60180703528/microsoft-surface-v...
But there's other issues too that will need to be fixed. When I plug my tablet into my screen Firefox's menu stuff takes about 1/3 of my monitor with no way to adjust the resolution and no way to go fullscreen in the browser.
https://news.ycombinator.com/item?id=11685845 might become pretty awesome, there's a myriad of traditional-ish browser-based IDEs available too.
On another interesting note, it seems the internet continues to be designed around people that just don't know how to type.
The writing experience was decent, and I liked how few distractions I got when writing.
Was even able to do corectures without the bt-keyboard, combination of Vim-touch and thumb-keyboard (that has easier access to braces) made it reasonably possible.
My workflow is essentially to think through the problems im going to encounter, make lists of everything, define naming for things that have to be thought through. (All these things are easy to do on a phone) So when I go to actually write the code I can just reference my document and essentially only write the logic on a computer.
The trouble is the lack of feedback. Pythonista can run the script, but if for example I need to edit a django project I'm out of luck.
With ssh + VIM/Emac this could work, but then I find it harder (and I don't like, don't wanna learn that!) even for basic stuff (specially, without a keyboard). Some people are sucesfully with it.
My dream is that textastic/pythonista or similar integrate SSH and the ability to run commands against a server, and have the source sync on save.
I can listen also to podcasts / video courses.
It works pretty good for looking at on-call issues.
For travel I had to get some work done at a conference and decided to skip my usual stuff try out a larger display. I used an HDMI cable and a hotel TV with my little keyboard and stand. It worked pretty ok!
I used VDI to do business-y stuff, and prompt to do UNIX stuff. It worked well, but I wouldn't want to do it every day. The lack of a good mouse style interface is limiting.
I never thought of the color blind side of it till I read Finnucane's point, but the ability to tweak the colors mostly would solve that I guess.
I also really like that most editors are starting to highlight local, global, class members/parameters/variables all subtly different. It makes identifying them even easier. However, having that type of highlighting doesn't remove the need for good naming (and coding) standards to make it easy to distinguish proper scope etc.
As a side note, if you're looking at PHP malware, which is almost always in a single long, long line, syntax coloring can be quite time consuming.
I use the default dark color scheme on Visual Studio and while the colors are a little muted, they feel easier on the eyes.
As an aside, a potential corporate partner could be Benchmark Education. They focus on literacy K-5th grade.
It is part rumination and part self help. I highly recommend it.
Available in English for free through Project Gutenberg
And for Spanish readers like me, here it is in several electronic formats:
It's about how after WW2 lots of the empires started crumbling and how that affected the smaller countries of the world. It is very well researched, and incredibly interesting.
Finally read the Zones of Thought series by Vernor Vinge. Love his slight twist on physics that allows for for both post-singularity tech and low-tech to exist in the same universe.
The Dark Forest by Cixin Liu (second book in the Remembrance of Earth's Past translated from Mandarin) had a bit of a slow start, but really built up to a good finale.
Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future - Ashlee Vance. Good read and made me really appreciate what Elon has done through financially to get Tesla and SpaceX up.
I like it so far.
This is not my hat: https://www.amazon.co.uk/This-Not-Hat-Jon-Klassen/dp/1406353...
Black dog: https://www.amazon.co.uk/Black-Dog-Levi-Pinfold/dp/184877052...
FArTHER: https://www.amazon.co.uk/FArTHER-Grahame-Baker-Smith/dp/1848... Sadly this book uses a stupid font. Other than that it's lovely.)
Pirate Diary: https://www.amazon.co.uk/Pirate-Diary-Journal-Jake-Carpenter...
I get these from the CILIP Kate Greenaway award. Once you know the name of the writer, or illustrator, or even publisher, you can usually find more good books. http://www.carnegiegreenaway.org.uk/greenaway.php
CILIP is a UK librarian organisation. The US equivalent award is probably something like the Caldecott Medal: http://www.ala.org/alsc/awardsgrants/bookmedia/caldecottmeda...
An interesting big picture look at the world. It questions what we understand and do about work and life.
Great book about the way humans think.
I'm not much of a reader. I like short, concise, non-fiction, and this was perfect! Highly recommended.
If anyone can recommend similar books for me, please do.
It talks about the creation of rogue games (rogue, nethack, adom) and its authors and co-authors.
Well written made me play nethack again. So your productivity will decrease :)
 - http://amzn.to/1spSott
If you have an interest in inequality of wealth and income, particularly how it has evolved over the last hundred years or so in some developed countries, it is certainly worth a read.
A couple of other ones from this year that stand out to me:
Disrupted by Dan "Fake Steve Jobs" Lyons
It's Not The Big That Eat The Small, It's The Fast That Eat The Slow by Jason Jennings
In terms of fiction, this years haul includes:
The Bazaar of Bad Dreams by Stephen King
The Last Mile by David Baldacci
Sapiens by Yuval Noah Harari. This book was an unexpectedly amazing overview of the history, current status and possible future of human beings.
The Emperor of All Maladies by Siddhartha Mukherjee. I put this off because I'm not very interested in medicine. It was a mistake, this is one of the most well written non fiction books I've ever read.
I think it was written in 2014, so it doesn't cover the latest trends in fracking or solar. I didn't know anything about the climate industry coming from a silicon valley background, so this was an ingestible yet detailed primer.
All great reads!
He essentially proved that mergers and acquisitions destroyed jobs. Yes this seems intuitive, but he backed it up with proof.
Large companies are ingrained in their industry, and when you see them in the news, it is usually related to mergers and acquisitions.
So if larger companies do not create jobs, who creates them then?
I would say it is successful startups. Are they net job generators, I do not have any data to prove or disprove that. But I can say that new innovation provides more opportunities for job creation.
1) Use a matching service like interviewing.io or TripleByte to get connected directly with companies. (Effectiveness: Questionable but promising)
2) Use a job listing site like Indeed.com to find positions that you're interested in applying to. (Effectiveness: It works, but is like throwing mud on a wall to see what sticks -- hard and not very lucrative.)
3) Use Indeed / AngelList / whatever to find companies that are hiring, then use LinkedIn or some other method to find the hiring manager directly. Email them directly with your resume and cover letter (since it's effectively a cold-call, make that cover letter damned impressive). (Effectiveness: works great, in my experience)
4) Use your network. Email old bosses and coworkers and let them know you're on the market. If you've left a good impression, they'll usually be more than happy to do whatever they can to get you into good companies. (Effectiveness: fantastic, assuming you have a network in the first place.)
There are tons of other ways, but those are the strategies I've used. In the mean time, study up for your technical interviews. Good luck!
I emailed any technical contact I could find at all the interesting companies in my city. I was following up all these emails with phone calls when I could get a number.
I found a blog article interviewing one of the researchers (call him Bob) at "Company A".
I sent this email that eventually led to my job:
Hello Bob,I've been researching [Company A] and came across this article from [BLOG SITE] that featured some of your work. I'm quite impressed with your assessment of the need for better data analysis tools in the [AREA OF RESEARCH], and the work you get to do in that area interests me. I found from your linkedin profile that part of your current research with the Company A Research Group is on [technical area I talk about below].
My recent PhD work at [University] involved a number of overlaps with your current work, both in technology ([short example]) and modeling physical processes ([short example]).
I am now looking for industry jobs in [City]. The Company A Research Group may be a good fit, but first I would like to learn more about what you do. Can you meet for coffee to discuss?
Best regards, -[my name]
He responded and asked for a resume. After further conversations, it turned out they didn't have room in their group (headcount freeze in their department) but we found another group at the company that needed someone with my skills. I was then "the guy Bob knows" during the interviews (which helped) and landed the job.
Having said that, I have found a couple of ways of finding jobs that I want:
Approach 1. Decide a company that you want to work for. Go to their careers page if they have one and then find a relevant position. Then go to Linkedin and search for "HR <company name>" in linkedin and try to find an HR contact in that company. Send them a short email that you are interested in that specific position. You never know and they may just connect you to the right hiring manager (has happened to me). BUT the trick is that you need to write effective and precise email. Don't send generic "I need a job" type of email.
Approach 2: Go to sites like indeed.com and shortlist a list of relevant jobs you like. They may not provide a direct HR/hiring manager contact but it could be a recruiter. That's ok for starters. Now take some of the keywords from that job posting and run a google search on the exact words. You may be surprised to get a direct listing from a company's career page. Now go back to Approach 1. (Done this as well)
Approach 3: The "good" recruiter can be very useful if you have found one. Then just go through them as it will be worth your time (done this as well)
Rinse and repeat.
Look for job aggregators like Adzuna, Indeed, etc, which scrape all jobs on the web. When you see results, it should be easy to work out which jobs are posted by recruiters, and which have been posted directly by the company.
In my (massively biased) experience, you are better off applying for a position when you've been put forward by a recruiter:
* The recruiter knows what the client's salary range is, and wants you to get paid as much as possible (as the role is commission based) - they'll be able to make sure you're getting a good deal out of the client
* The recruiter is a professional sales person, and will chase the hiring manager for feedback, technical interviews, etc etc, in a way that as a direct candidate you'll come across as too pushy if you do yourself
* The recruiter will genuinely have a good view of other similar jobs you may not have found that you'd be a good match for.
* The recruiter will get much much more candid feedback about you than you'll ever get directly from the client
... and a whole bunch of other factors.
I am interviewing today with a great company, and meeting with another great company on Friday and I have a bunch of leads in the pipeline for next week. Here is my advice:
1) Figure out what companies and specific roles you want to work for.
2) Make sure you have your resume tailored to those roles and make sure you know how to answer the technical questions related to those openings.
3) Reach out to 1st, and 2nd connections to companies that interest you and ask to grab a coffee to learn more about the role.
4) If you are personable and seem like a good fit, they will ask what you are interested in and they will help make introductions. When possible, ask to meet someone else in the company closer to the role you are interested in. For example, if your friend works in sales, but you are in engineering, ask for an intro to someone in engineering. This is important because that other person will be better at vetting you.
5) You will enter the formal interview process with people already liking you and wanting you to succeed. You just walk in, have a good time and answer the technical questions.
6) Negotiate an offer.
6) When you get there, be a good person, help people out, build relationships and do great work. 5 years down the road, you will have more connections and more opportunities.
Don't make the mistake of letting leads come to you. That is how you end up in so/so companies and situations. Go after what you want.
Most agency recruiters are a pain in the ass because they are not actually recruitment professionals. Sounds odd, I know, but having worked for a few firms I can tell you that many will hire SALES people rather than folks who actually want to recruit, let alone have a clue as to what the f*ck it is.
If you want to try and figure if a recruiter is going to be a tool or not, look them up or ask them what their job is. Do the do business development and account management as well as recruit? If so, ask them which half the like better. Should be a neat chat.
Bigger recruitment companies will always claim to be HR Consulting/Service firms in all their media and PR propaganda, when internally, they hammer home that they are sales companies first. I worked for one of the largest recruitment firms in the world and that is EXACTLY how they operate.
Small/mid-sized agencies tend to offer a better candidate experience because their staff aren't focused on KPIs and arbitrary activities to keep their bosses off their backs. Instead, those firms just care about closing business and doing it well so the big firms don't kick the shit out of them.
In general, most recruiters are shit. I've been headhunted more than once and man oh man has it been painful. But I've engaged in the process because the opportunity at hand was worth the nonsense. Not pursuing an opportunity because a recruiter is an idiot is cutting your nose to spite your face.
Generally you probably want to work for people you like and respect. If you know some people like that, then finding out how to reach them on LinkedIn is a good way to let them know you are interested in working with them.
Sometimes they won't be interested in working with you, its a fact of life and you have to let that go. Sometimes they are open to the idea but they don't have any budget. And sometimes they will get you interviewed and move you over right away.
If you are in the "any job but this one" mode, you are at a disadvantage. If you don't know what you want to be doing then people will have a harder time knowing if you would work out well in their position. Its painful when there is a job available but you know it isn't what you really want to be doing, do you suck it up and work there because its a job? do you turn them down? Depending on your financial status it can be a very tough call.
When folks ask me "should I look for a new job?" I have two pieces of advice regardless, one is that you should always be considering new opportunities, and two you should think about what you jobs you like doing while you are not under pressure (say being unemployed) because it helps you be more honest with yourself on what you like and don't like.
Recruiters can sometimes get your name in front of a manager at a company you want to work for when you don't know anyone there. But generally their value is more to hiring managers than the people they represent.
Corporate hiring is a massive shit show and I consider recruiters to be an incredibly useful sanity saving device. People that want to deal with corporations directly, I just have to ask, why in the world would you want to do that? So annoying.
Imagine you worked in any other profession than coding. Having someone else manage your job search is an unimaginable luxury. When I talk to my non-coding friends, and they ask how many hours I've devoted to a job search, they're amazed and jealous when I tell them about my recruiter-enabled workflow.
I interviewed for a position a while back where the person interviewing me at the end asked, "What firm sent you again? Was it Firm A?" when I had been sent by someone with Firm B. I'll also get contacted by recruiters from different firms for the same position.
There have also been a couple cases recently where I've been submitted for a position by a recruiter, interviewed with a company, and got a pass or didn't hear back at all. And then I'll see the position show up a couple weeks later on a site like StackOverflow Careers. I got the impression that a recruiter jumped on an opening they came across and just kind of threw me in there and the company hiring decided they weren't getting much in return for the potential money they'd be laying out. I was pretty well qualified for one of these positions, so I wondered if they wouldn't have been more enthusiastic if there hadn't been a recruiter between us.
My conclusion after about a year of working with a number of recruiters in my area (Southern California) is that the industry is dominated by a few big firms (I refer to CyberCoders as the McDonald's of recruiters, but that may be being too generous) and has a lot of turnover. I suspect they have most their success placing more junior developers in less critical let's-get-this-seat-filled kind of positions. I've come across a few that I would call real professionals. Unfortunately, they always seems to be focused in areas or locations that don't line up with my own.
I still look at a number of recruiters emails each week. But now I only respond if I am convinced that they have an actual working relationship with the company they claim to be representing and aren't just trying to win some race against the rest of the rodentalia out there.
I also put together a page on my wiki for Recruiters to which immediately I refer them any time I am contacted:
This has been helpful in quickly filtering out the most callow practitioners.
We're working on this problem at Paysa , trying to enable employees to find and be alerted about relevant jobs that match your skillset as they become available, in your desired locations, and meeting the pay requirements that you specify.
We're also interested in helping to solve the matching and communication problem, by putting candidates directly in contact with companies that they're interested to work with - in positions that actually match their skillsets, pay their market value, and further their careers.
Check out our salary and experience based jobs search at https://www.paysa.com/jobs, and sign up to receive job alerts as we find new jobs that match your skills/experience and meet your target criteria - around location, and salary expectations.
The comments in this thread are really interesting. I'd love to hear any more feedback/thoughts about what we at Paysa could do to provide the best job matching and communication experience from the candidate side. Feel free to email at zach at paysa.com any time.
I'm at The Muse (YC W12) - I think we have a pretty good selection of jobs as well, especially in NYC/SF: https://www.themuse.com/jobs?job_category%5B%5D=Engineering&...
Feel free to email me too if you're looking for something specific, I'm happy to help. yusuf @ our site's domain.
> I'd rather talk to a company directly.
Why? What benefit do you get from that? You're not like to negotiate a higher salary than you would without the recruiter, and you're not in a better position to get hired either (over the total spend of an employee's lifespan the recruiter commission is a drop in the bucket). Some companies I've worked for place candidates they receive through external recruiters higher than self-selected candidates because they've already presumably gone through some sort of screening process.
A good recruiter will understand what you're looking for and won't put crap in front of you. That doesn't mean you'll get the perfect hand-picked job, and they'll probably challenge you on some of your assumptions, but if you're a .NET developer they're not going to try to get you to take a PHP job.
But here's how I generally go about looking for a new job:
1. Email bosses I've had who I would want to work for again and let them know I'm on the market. Just a quick "Hi _______, I wanted to let you know I'm ready for a change from my current environment. If you hear of anything I'd love to take you out to lunch and discuss the opportunity." LPT: They will buy the lunch 95 out of 100 times :)
2. Email recruiters I've used in the past and send them an updated Word resume, salary/commute requirements, and what I want v. my current job (bigger, smaller, different sector, whatever).
3. If I'm very gung ho I will go on Ladders, Indeed, etc but the above typically hasn't taken very long to find something.
It's the same thing with searching listings on Dice or wherever, especially if you see multiple organizations posting for the same job.
I simply don't see any value add to 99% of the recruiters out there. So many of them just keyword match and are unqualified to actually vet the candidates, and give the clients terrible lists. A company's own HR department can post the listings onto Dice or do LinkedIn searches just like the headhunters do, for FAR lower cost than going through an organization.
I have zero problem with bypassing the headhunters via a bit more web searching.
There are some places where they bring in a huge number of candidates, interview them, and then never hire anyone. For instance, at a local Uni, they had a position open for 2.5 yrs.
If there is a recruiter involved there is a sense of urgency at least.
When I am looking for a new job, I try to think about where I actually want to work. One of the core issues I have with recruiters is that I am a developer to be placed in a development role, when in reality I have a set of wants and needs in a job that I'm sometimes not even aware of myself until I read a description and see the part that sticks out like a sore thumb to me. So, my advice is don't go looking for any old job, find the company/companies you'd like to work for and check what vacancies they have. If none, pay attention to what events etc. people from that company go to and make a point of meeting them.
Also find out if they're hosting any events or speaking at any and attend. The process is a lot easier once you've actually met someone who works there.
Though I'm a developer now I got my last job in Sales/VC when I went to see the founder speak at an event, he intro'd me to the hiring manager who rejected me initially as I didn't have a start-up network (the job was finding start-ups deal-flow for funding). I got that job as I said I could create a network in 3 days and proved it.
I agree with you about the spam. I've been gradually disabling my Linkedin as a result.
The benefit of a recruiter is that you won't have to do the whole "meet for coffee" thing, where the company does an initial check to make sure you don't have any crazy red flags. With a recruiter, you "meet for coffee" once, he vets you (or tells you you have a big red flag), and then does your leg work.
A recruiter is also your negotiator. The money they make is dependant on your salary, so it's in their best interest to get you the highest salary possible. I suck at negotiating, so I really appreciate this aspect of recruiters.
And if you picked the right recruiter and they are open with you, they can really help cut through the bullshit that are most job postings. They'll say things like "This posting says X, but I talked to the CTO and he really just needs someone to take a functional spec and build an interface out of it".
Without a recruiter, you'll need your wits about you, lest you end up being deceived by a flowery job posting. And you'll need to have confidence and a firm understanding of your abilities so you can negotiate a good salary. You'll have to pour through job sites and you'll submit the same application form over and over and over... It's tiring.
Rewind 2 years, looking for a more-legit DB dev job, coming out of a hybrid client-facing analytical role, with somewhat light dev work.
Resume is up in all the usual spots (Indeed, Dice, etc) get a call from a Tech recruiter asking if I was interested in a position paying nearly 2x what I was making. Jumped on it, and less than 24 hours later I was hired. I've come to see now that that was a HUGE red flag. The interviews were non-technical, among many other things.
Fast forward to this last month, workplace is horriffic, no process, no management, all the worst things. But I do have 2 more years exp in DB dev, so it's time to start looking again.
Put resume back up on the usual sites, this time I also put it up on a smaller, more focused site here in CO: builtincolorado.com which is aimed at start-up and post-start-up IT jobs.
Had a few interviews through companies I found there. Tons of calls/emails from recruiters, nothing catches my eye. Found a company thru BiC, and they go through a recruiter for a lot of their tech screening.
This recruiter is completely different than the previous one. Actual assessment testing, recruiters who've working in the field for years. Process took about 5-6 weeks.
So all in all, recruiters aren't always bad, but many are. And like some have pointed out, many have conflicts of interest in trying to just fill positions. The company I was hired by only uses them for tech screening, and doesn't to CTH, which I think helps lessen the conflict of interest, and only uses this recruiting company because they bring quality candidates. The moment they cease providing that, I don't doubt they'd use another screener or do it all themselves.
These people will get to know you, will find out about jobs you might like way before the recruiters do, or before they are posted on job sites, sometimes even before they're announced. They'll know, and want, to let you know about the jobs too, and you'll do the same for them.
This strategy has worked very well for me, and I've built a network of amazing friendly people in the process.
The trick to this strategy is to always be connecting (nod to Glengarry Glen Ross there), before you ever are in need of a job. If you are in need of one and haven't done that, then I'd advise like others have here and try to leverage what network you have.
I ask this as someone who's been dealt that card 10 times in the past few months. I've got a good idea as to what the actual reasons might be, but looking for confirmation. Thanks.
There are a lot of platforms nowadays that help to remove the "middleman" of external recruiters. Underdog.io, Hired, Vettery, InterviewJet, and others. These platforms typically are working to connect companies and candidates together directly by removing the "find and apply to each company individually" type approach. Instead they accept candidate applications, put them through their own internal approval process, and then, if selected, present them to companies to then make the decision if they want to talk to the candidates directly. In my opinion is approach is a much nicer and less stressful process for candidates.
You will be falsely rejected from some companies.
You will be falsely accepted from some companies.
I got my current job by applying on their jobs page.
1) Find a conference that videos presentations in a domain that you are interested in. Apply to companies that represent speakers for topics that you are interested in. (also gives you material to talk about in interview)
2) As you find interesting companies, select the ones that you have never heard of, and find them on sites like linkedin. Use tool to find similar companies (this is useless for large and well known companies).
3) Of the 'match maker' sites I've used, Craigslist is surprisingly good (this may be location specific). Some of my most interesting interviews were from random craigslist jobs.
I would be interested in knowing companies' strategies for handling the flood of applicatants to "HN: Who's Hiring"
I use LinkedIn as a self-advertising tool explicitly listing I am a consultant corp-to-corp which definitely reduces the amount of bullshit.
With 2 of the founders being developers we can relate to the level of recruiter spam in this space and so we created Workshape.io to cut through the noise and make meaningful intorductions between developer and company based on shared requirements.
We have about 200 postings on the site right now spread across the globe, but mainly concentrated in Europe. That said though, we do cater for people seeking remote work + relocation so if you fall under that remit then you may find us even more useful.
Would love for you to check us out and would welcome any feedback.
Then uses sites like indeed.com, venturefizz.com, or apply directly to the company. Use hired.com if you got a nice fancy resume for them to show off, but avoid it if you are strictly entry level.
The troublesome part is that only recruiting companies can get you in to startups that are still in stealth mode or too small to hire someone just for recruiting and hr.
The job posting sites often seem to mix it up and purposely anonymize these job descriptions, but they're pretty lazy. You can google little unique sounding bits of the description and find the actual company.
It might help you in finding some favorable leads.
What's wrong with this? Well, from my perspective it's now basically impossible to land a job without either knowing the people hiring (i.e. networking, something we nerds are bad at) or lining the pockets of some talentless parasite who's found a way to insert himself into a high-value transaction.
The "only work with the ones you like" argument people often respond with completely misses the point. I believe it's based upon a misapprehension of the dynamic - nerds see "agent" in their job title and assume something like a literary agent, someone with incentives aligned with their own who'll pimp them around a variety of potential employers. The truth, however, is that agents aggressively pursue companies for leads (I've been on the hiring side too and had dozens of calls a day) and some actively threaten companies ("use us or we'll poach all your staff") into using their services. The social engineering they use to navigate the corporate phone system to reach decision makers can be quite ingenious. Companies with the backbone to say no are sadly rare, so from the the applicant's side if you see a job advertised and if you want it, you have no choice but to to kiss the agent's ass for an introduction to the employer.
This rent-seeking behaviour generally nets the agent a sum equivalent to the first few months of the applicant's salary or 10-20% of their contract rate for as long as they stay there. The only real service the agent offers in return for this is spamming nerds who they'd like to apply (as happened to the OP) and weeding out obviously bad applicants to save the employer's time.
Since writing that essay I've flat-out refused to have anything to do with recruitment agencies. Internal recruiters are fine (hey, if you're hiring a lot that's totally a specialised job) but I take the use of a recruitment agency as a sign that an employer either 1) gave in to an agency's aggressive sales tactics or 2) has a reputation so poor that putting their name on job ad actively discourages the best candidates.
In short - most recruitment agencies (at least on the London scene) are dishonest, greedy, target-driven parasites. They aren't your friend and the more you feed these people the worse the market gets.
Just say no.
At the very least there should be a way to filter out good recruiters from the bad ones. I hate to say but more like a review system where you can rate your interaction with a recruiter.
Many years ago a recruiter contacted me about a job for a well known Investment Bank, we had the usual bullshit conversation and never got back to me. I applied directly and got a job.
I know it's a bit misaligned with the ask in the thread but thought it could be a good resources for job seekers. Personally got sick of creating pseudo regex's on job search sites.
Same as always, networking :). Go to meet ups, go to conferences, talk at conferences. Do this for a while and your network will grow fast, and you'll be skipping technical interviews even. It's not quite practical for a lot of people but that's the breaks.
I havent gotten a job through them, I'm still 100% through friends/excoworkers, but the process was nice and I did get offers (and a friend did land a job through them).
But as it was mentioned couple of times here: Indeed, Glassdoor, Adzuna are good places to visit as well.
I'm going to publish a React/Aframe version and one with a server tomorrow.
EDIT: probably not tomorrow, but in the next few days for sure :)
If it's something that I can do completely in markdown, then I just hosted on GitHub
If it's a big one. I use Play Framework and React. Host on EC2. Upload is depend on project.
I just use GitHub pages for static project hosting. Surge, or something similar, would probably be more convenient.
Normally I host it on DigitalOcean
Just made myself a homepage like this:
Super duper efficient? Develop on prod.
- HTML: Vanilla
- CSS: Bootstrap 4 (SCSS) + node-sass
- JS: Any framework (ES6) + Rollup + Babel
- Repo: GitLab
- Host: GitLab Pages
- CI: GitLab CI
The Boglehead philosophy gives one a sense of humility in a world that's driven by hype and market timing. If we are to believe that financial markets are more-or-less efficient, then it stands to reason that you won't be able to consistently pick stocks that perform better than market averages. It teaches you how to grow your wealth in the long run by investing in low fee, unmanaged index funds. It also talks about how to invest in a tax-efficient manner and how to spend/invest appropriate amounts of your income. All around its the best primer to finance that I have read.
The One Page Financial Plan  as kokonotu points out is also a good one.
Further more, I'd recommend thinking about what you want to achieve with money. Ramit will tell you to enjoy life and save enough for later, I personally think the amount of money we (can) earn as software engineers can be used to buy a lot more 'free time' than most people think, allowing us to 'retire' (travel the world programming, building open source software, or whatever you like...) way earlier than most people. If you're interested in that kind of think you could have a look into Mr Money Mustache's blog  for instance. (Disclaimer: Some people might think he's a bit extreme, if you're that kind of person just try to pick up some of the good parts/habits and you'll be way ahead of the curve.)
1) Rich Dad, Poor Dad. Look, it's a parable told by the author stretching the truth, and in the 20 years since it was written Kiyosaki has likely done some shady things. But much like Richest Man in Babylon (also told as parables, though more obviously so) it's a good introduction to thinking about money working for you, not the other way around.
2) Money Secrets of the Rich by John Burley (http://www.moneysecretsoftherich.com/). Ignore the link bait title. Unfortunately, it looks like it hasn't been updated in a few years (it pre-dates Obamacare, for example, which if you're in the US possibly negates my next comment).
I found this both practical and relevant - one chapter on tax actually linked me to a form I could submit as a low-income earner (student) which entitled me to a government rebate of $150 - the people at the office I submitted it to hadn't even heard of it, but it paid for the book 5 times over! There are some useful chapters on investing, but most of the value is understanding common traps like car-financing, insurance, spending too much on stuff etc etc with actual website links and so on. I bought a copy for each of my siblings as they started work as well.
Dave hates credit, doesn't think you need a credit score. Suze suggests ways to boost your credit score, and thinks that's important.
Dave says to save up a 6-month emergency fund only after you pay off your debt, Suze says save up an 8-month emergency fund ASAP.
A few other smaller differences. Dave has specific steps you can take, Suze is more general advice.
I'd recommend reading them both and combining their programs into something that works for you.
Dave Ramsey's main book: http://www.amazon.com/The-Total-Money-Makeover-Financial/dp/...
Or the audiobook: http://www.audible.com/pd/Business/The-Total-Money-Makeover-...
Suze Orman's main book: http://www.amazon.com/Money-Class-Create-Future-Deserve/dp/0...
Or the audiobook: http://www.audible.com/pd/Self-Development/The-Money-Class-A...
... Also, if you like Dave Ramsey's style, he has a daily call-in radio show you can listen to for free online/stitcher/itunes
I cant recommend a budgeting one but would recommend bogleheads, as suggested by liamcardenas. Another book worth reading, although heavier is the Intelligent Investor. I read the annotated version and its similar advice to bogleheads. If you really get into investing read Warren Buffetts shareholder letters
As far as books are concerned I'd always fall back on 'The Intelligent Investor' by Ben Graham. Another handy book is 'One up on wall street' Peter Lynch.
Although investment runs concurrently with tax breaks. So if you find a good book informing on where the income tax credits and breaks are allowed etc. it would be handy.
The important thing in spending is to be unrestrained when it comes to a subject close to your heart. The best things come with a price to pay.
The challenge with such a book is that your financial goals change as your life transpires. Ones 'financial journey' through life can take many paths that are some times deliberately chosen and sometimes chosen for you.
There are of course some basics:
- spend less tha you earn
- invest the difference ('in what?'is one of life choice questions!)
- learn what you can, which you are trying to do now!
Everything else is pretty much OK.
The comments sections of most online forums are about useless and I know that places like HN don't stay this way by accident.
I probably read ~500 comments a day on HN.
I actually optimize for the comments, heh. I open HN links in new tabs and then wait a day or two for the discussion to complete before reading through them. So I don't end up refreshing for new comments or re-reading the same ones.
There are a couple downsides to this though: One, I generally miss the window for participation. Two, my browser is perpetually filled with dozens of HN tabs.
Too often comment chains devolve into nitpicking, pedantry, and into off-topic discussion where two people fight tooth and nail for Internet Points.
From a technical perspective I get little or nothing from them, and from a discussion standpoint there's little reason for me to spend my time watching people nitpick each other over things that nobody in the community cares about.
>Please don't post on HN to ask or tell us something (e.g. to ask us questions about Y Combinator, or to ask or complain about moderation). If you want to say something to us, please send it to email@example.com.
This may not specifically fall in that category, but you may still want to email if you don't get your answer here.
- The perfect resume shows that you held nice long positions with very small or no gaps.
- Make it sound like you were somebody important in these positions. Make it feel like you made decisions for the company that were important.
- Side projects are always nice. Shows that you have an interest in your field.
- Leading or line height is good for readability.
- If your resume is more than one page then it better be very impressive and really need to be that long.
- Design is always a plus in everything you do, but can hurt you if done incorrectly.
- Have a few people review your resume for typos.
Although I do think that this is a personal bias, I definitely always notice (and appreciate) when somebody uses LaTex.
I guess it may depend on how new you are to the industry, and how many disconnected projects from your work history you have, but I do suggest having a project section. This way you can list things you've accomplished without needing to associate them with a class or company. I however discourage detailed descriptions of these projects. Titles should be eye caching and be used for inspiration of talking points during the interview. I don't see this on many resumes, but I have gained much benefit during the interview process in having a better idea of what I may be asked.
My experience is likely limited compared to yours. I focused originally on covered calls, with some occasionally speculative short-term bets. I was very successful using Options House for about a year or so. It turned out to be mostly dumb luck and ultimately more or less broke even. After some analysis that wasn't too bad considering all of the commissions I had to pay. I've since re-evaluated my strategy, resigned myself to believing that I'm likely not going to beat the index, and only actively trade with "entertainment levels" of money. The minimum to open an account with Interactive Brokers may be high (or maybe not for you, depending on your situation) but just because you need an amount to deposit doesn't mean you have expose that full amount to whatever strategy you have planned.
Definitely check the numbers (and interface) for yourself. One "gotcha" is the data-access fees (some are waived with activity). My time-horizon for my current strategy is typically in the 3-6 month range so I can't offer much advice on the IB bells and whistle - which are many (Yahoo Finance checked once a day is sufficient for my needs). I currently only use options as protective puts on volatility based short sells.
I hope more people respond since I'm genuinely curious as well!
Quantopian has a pretty active community, but I get the impression that by and large trading is not as open and communal a space as coding is.
She wrote the first compiler which she was assured couldn't be done after already doing it, she rose to the top of a male dominated field and did it on merit, she took a leave from Vasser to join WAVES (womens volunteer corp during WWII) as a junior lieutenant, refused to retire and ended up a Read Admiral.
Ada gets a lot of respect as the 'first' female programmer but Hopper is at least as significant imo.
> The most important thing I've accomplished, other than building the compiler, is training young people. They come to me, you know, and say, 'Do you think we can do this?' I say, "Try it." And I back 'em up. They need that. I keep track of them as they get older and I stir 'em up at intervals so they don't forget to take chances
The king kind of has to be Dennis Ritchie in my mind, I can't think of code that's more influential in general and definitely in my life than C and Unix.
I like Rich Hickey a lot, what he's done and judging from his talks his personality.
More obscure but this guy Fabrice Bellard is an animal, he puts out this insane amount of sophisticated code like, oh btw guys here's a fully working LTE stack.
I'd also extend my admiration for the core rails team as well. A decade plus strong, and they still make beautiful software.
It's a kind of comfort that comes with years of hacking, and the quality of their work is unmistakeable. Look at Vinay Gupta's work on Ethereum. He openly states how much he distrusts Intel and X86 and is doing public speaking to wake others up about this. Also any person working on open hardware, or Trusted platform modules are worth watching.
Other programmers I look up to are:
Its impressive how such brash egoism has allowed him to monetize his hacks and general tinkering. Leaving modesty reserved for the poor and hobbyists taking up space in the garage.
Besides from his talent, I love the fact that he is still working on a project that will never be finished -TAOCP.
I look up to him as a hacker, not an academic, in the way that hackers scratch an itch and write something cool. His itch was typesetting, so he just nonchalantly created tex. Using a methodology (literate programming) he created to scratch a previous itch.
Plus he likes to compose music (great hackers hack across domains)
Jim Butterfield: The very first programmer I looked up to. I learned a lot reading his code.
Michael Tischer: PC Intern author. That book was very influential for me. I have this crazy drive to know how things work and that book explained a lot to me.
Michael Abrash: My assembly language skills owed a lot to his writing.
John Carmack: How could he not be on anyone's list?
 Past tense; I don't write anything in assembly anymore.
If you're reading this and you haven't read Levy's "Hackers", stop reading this and do so.
Also Brendan Gregg. He's really good at what he does, he clearly loves doing it, and everything he learns about doing it he tells everyone else as fast as he can. He's a demonstration of the hacker ethic.
Robert T. Morris
Here is a video where he demonstrates how to open garage doors with a wireless Mattel toy: https://www.youtube.com/watch?v=iSSRaIU9_Vc
He also wrote that one XSS worm for myspace several years ago. Hi Samy, in case you happen to read this ;)
It's worth going back and reading what they wrote/said. Every hacker should know these names.
terminals, version control, NTP... all ugly old things that MUST WORK
A non-technical person screening a technical person is generally not a good idea. It doesn't matter what prepackaged barrage of tests you put them through, or what saas product you make them sign up for. Most engineers know how to sound like they know what they're talking about, and how to craft their past experiences to sound relevant to your position. Only another engineer can tell if all that talk is meaningful or not.
This leaves many startups in a rough position: How does a CEO screen their tech co-founder? How do front-end developers screen a backend guy? And this is where your network comes in. Call in favors, ask around. Find someone who is employed doing the job you're hiring for (or ideally a more senior version of it), and ask them to do the screen for you. Don't give in to the temptation to screen them yourself (if you're not technical), there's really no point in it.
Big companies whiteboard because that's how it started, everyone who works there knows how to whiteboard, and you can argue that it's correlated with skills used in development. They don't have time to pair program. They can afford to throw away people who could be good based on their arbitrary metrics.
Startups can make innovating around hiring a selling point to candidates. They can talk to candidates about what sort of process would best demonstrate their skills and be in their comfort zone. They can look at non traditional candidates based on github accounts or OS contributions. They want people who can deliver.
Google's hiring innovations are more likely to be small steps. By being agile, startups can get ahead of them.
As to what best practices are, behavioral interviews that ask people what they would do in a particular situation are correlated with job skills. So is actual work, so paying someone to work for you, or perhaps even volunteering to help them with something by pairing, may give you insight into them.
If one can read the language, and know what it does, the errors are pretty obvious. If the prospect doesn't know it, they're not able to talk to it, and the bullshit meter goes off pretty quick if they try faking it.
The white board is a terrible way to get a sense of a persons ability to code. Does your design team ask candidates to come in and "design" on the whiteboard? Why would you pull an engineer that far out of context to see what they do.
I have seen interviewers bring in "code samples", sometimes with bugs in them. "Read this and tell me what you think it does" becomes a great question, or what is this for. Syntax highlighted code printed in color may speed this exercise along but isn't required.
References help, but really your calling someone they expect to give them a golden review. Linked in is your friend here, some "outreach" may get you a different perspective than the people they have listed.
B)Short of someone being lazy, or unwilling to learn, there is more than a bit of bullshit in "corporate culture". There have been several occasions in my career where I heard that my immediate boss didn't want to hire me as I would be a "bad culture fit", usually followed by a promotion. Culture is code for "status quo".
Lastly: Talk to your HR department about terminating bad employees after 90 days. No matter what you do, sometimes you just get it wrong, and getting that person out is better than dragging it out.
EDIT: I should have mentioned that rather than focus on "culture" you should be finding out if the person cares about your product.
Good things to check for:
how open minded are they? - Do they stubbornly stick with a certain way of doing things?- How readily will they apply someone elses feedback?- Do they insist on doing things their way?- Do they think all code written by others is crap? - How much do they bristle at someone elses code style vs working with it?
How well can they communicate with non-technical people?- How do they talk about their interactions with product managers/marketing/sales/customer service/etc?- Do they blame any issues on customers or colleagues being "idiots"?
Can they talk through a past problem they solved?Can they talk through the whole context of a problem they solved?- do they understand the customer problem they were solving and why it was important?- can they speak to multiple approaches that were considered and what their drawbacks were? - A great one is, did they go down a wrong path and learn something?
- Some other things to assess are - do they focus on the right problems to solve? Do they have a history of building systems that are more complicated than they need to be? Do they over-optimize areas where its not necessary or do they have a sense of where potential bottlenecks might lie; how to find them; when the right time is to worry about them?
If they can talk through a past problem they solved in detail, thats a super great sign. The more detail they can get into and help you understand, the better. If they just start gushing technical details, theyre either nervous, or they had a very siloed role in developing the solution. I personally prefer engineers who can get invested in the context of a problem.
When it comes to coding in an interview Ive found that very simple coding problems can surface all the info I need about their coding proficiency. - if the problem is simple, theyll be able to just stream the code from their head on either a whiteboard or a machine.- experienced developers will even manage to talk through edge cases and workarounds - if they struggle with this challenge, then theyre not going to do better with a more complicated problem. - for experienced devs Ill want to see that theyre proficient with the syntax of at least one language (if they dont remember a specific method name, thats ok - problems that can be solved by a google search shouldnt be held against them)
- springing a complex coding question in front of them and expecting a perfect solution on the spot is a lot to ask for. Real solutions to complex problems will be debated and built upon by multiple people. If you go through this exercise, focus on how they tackle the discussion itself.
- I avoid brain teasers and puzzles. Theres plenty of good developers who can solve a real-world problem well but suck at solving technical brain teasers.
- In any interview, its important to take notice of how nervous the interviewee is. Some people may be able to handle interviews better than others. When youre nitpicking their answers later on, keep this in mind. Some candidates might blank out on an otherwise simple problem; some might ramble on and seem disorganized. Ive seen too many candidates get turned down because of a few specific details they mishandled due to nerves.
We do 3 things of which the first 2 are standard.
* CV screen* Phone screen, asking what, why, what is missing on CV* Interview -> starting by a presentation done by the candidate, then classic discussion/interview
The 3rd step is what is uncommon, we always ask a potential candidate to present a bit of code. Their own if possible, open source otherwise. The candidate selects the code and makes a small presentation powerpoint style or walk through.
We always learn a lot of this. What code was selected? What do they like/dislike about. Do they have opinions, and do they consider tradeoffs are they willing to read other peoples code?
I think that for us, having some kind of taste in code and be willing to work with and improve code written by others is a crucial part of our job. We can't afford rewrites, we are willing to do migrations.
For the interviewing team it is always nice to have such a small presentation because we always learn something new. It is never a waste of time! The candidates seem to enjoy it too because they have something concrete to talk about. In our very limited sample since doing this we have had less stuttering/sweating by potentials. White board coding just didn't work for us.
Then of course we have the 15 minute selling of the organisation/job to the candidate. No point in interviewing a great candidate and then lose them because you can't sell them on working for you. For that reason one of the developers will be waiting at reception for the candidate, and will walk them in, offer a coffee/thee/water show the conference room and tries to make the candidate as comfortable/relaxed as possible. Key is we try to show to the candidate that we appreciate their time.
For a candidate, you will not spend more than 3 hours total in the process. 30 minutes phone screen. 60 minutes interview with some extra time60 minutes admin/contract details
Between each step there is a go no go decision and we normally make that the same day.
A no-go in the phone call might be 6 years of experience but never used CVS/Git or similar. Interview no-go tends to be voicing out loud that you are not willing to dig into a problem. e.g. DB perf issue, won't touch it DBA job.
Contract issues is when we can't afford you ;(
Of course we hire once every 18 months on average because we are a small team working on a very stable project.
Of course this is under Swiss law so there will be a probationary period but we have not used it in the last 10 years and I hope that continues. There is at will employment here but as in the US what is 'at will' can become a very expensive legal issue if not handled well. Also the negative morale on a small team on letting people go without a clear why is terrible.
Thing is we don't have 100's of candidates nor 10's of positions so what works for us might not work for you.So we tend to get 50 CV's, with 10 potentials, and 2 clear candidates in that pile.
Of yes, we always check at least one of the character references people put on their CV. But never someone in their current work environment (unless we know that will be OK, e.g. people leaving due to fixed term contracts at research institutes)
I think the real selling point is a distraction-free venue for writing, but the e-ink display could be a plus as well.
I know there has been work on faster and color e-ink (etc.) displays, but I don't know that there is much progress toward the point where they would make sense for general workloads.
A review can be found at http://the-digital-reader.com/2015/07/10/one-week-with-dasun...
(Disclaimer: I'm neither affiliated with Dasung nor a customer.)
I guess the majority of users would not want a greyscale display (or at least manufacturers think so).
Both an e-ink screen and an emissive display like an LCD is basically sending light to your eyes. If the brightness, viewing angle, surface reflection, contrast, etc. match between the two, then one cannot be better than the other.
The most practical solution at least for now is to use emissive displays with wide viewing angle, anti-reflective coatings, matte finish, and with appropriately adjusted brightness, contrast, and also font sizes. All of these seemingly small factors matter.
Try this experiment: Apply a white background on the emissive screen, and now put a blank printer paper in the front of half of the screen. If the screen looks too bright as compared to the paper (good chance it will), you need to get its brightness down still more!
I cannot find anymore, but there was a post on Hacker News of someone making an LCD image look indistinguishable from a printed photo in a frame.